Skip to content

core/src

Defined in: packages/core/src/types.ts:36

Enum for specialized ESLint extensions and strict rule sets

A11y: "a11y"

Defined in: packages/core/src/types.ts:41

Accessibility (a11y) rules for JSX and Vue

AstroDoctor: "astro-doctor"

Defined in: packages/core/src/types.ts:46

Astro Doctor performance, accessibility, security, and best-practice rules

BestPractices: "best-practices"

Defined in: packages/core/src/types.ts:52

Built-in best-practice rules: no-console, no-alert, cyclomatic complexity, max nesting depth. No extra dependencies required.

Biome: "biome"

Defined in: packages/core/src/types.ts:57

Disables formatting rules that conflict with Biome

Boundaries: "boundaries"

Defined in: packages/core/src/types.ts:62

Import boundary rules for common app, workspace, and generated-code edges.

Compat: "compat"

Defined in: packages/core/src/types.ts:67

Browser compatibility checks against the project browserslist

DeMorgan: "de-morgan"

Defined in: packages/core/src/types.ts:72

Simplifies negated logical expressions (De Morgan’s laws)

Depend: "depend"

Defined in: packages/core/src/types.ts:77

Suggests lighter or native alternatives to heavy dependencies

Node: "node"

Defined in: packages/core/src/types.ts:82

Node.js rules from eslint-plugin-n for server-side codebases

NoOnlyTests: "no-only-tests"

Defined in: packages/core/src/types.ts:87

Prevents test.only / describe.only from being committed

Oxlint: "oxlint"

Defined in: packages/core/src/types.ts:92

Disables rules already covered by Oxlint for hybrid linting setups

Perfectionist: "perfectionist"

Defined in: packages/core/src/types.ts:93

Regexp: "regexp"

Defined in: packages/core/src/types.ts:94

Security: "security"

Defined in: packages/core/src/types.ts:95

Sonarjs: "sonarjs"

Defined in: packages/core/src/types.ts:96

Unicorn: "unicorn"

Defined in: packages/core/src/types.ts:98


Defined in: packages/core/src/types.ts:104

Enum for linting non-JS/TS file formats

Css: "css"

Defined in: packages/core/src/types.ts:105

Graphql: "graphql"

Defined in: packages/core/src/types.ts:106

Html: "html"

Defined in: packages/core/src/types.ts:107

Jsonc: "jsonc"

Defined in: packages/core/src/types.ts:108

Markdown: "markdown"

Defined in: packages/core/src/types.ts:109

Mdx: "mdx"

Defined in: packages/core/src/types.ts:110

PackageJson: "package-json"

Defined in: packages/core/src/types.ts:111

Toml: "toml"

Defined in: packages/core/src/types.ts:112

Yaml: "yaml"

Defined in: packages/core/src/types.ts:113


Defined in: packages/core/src/types.ts:119

Enum for application-level runtime dependencies and styling

AiSdk: "ai-sdk"

Defined in: packages/core/src/types.ts:120

Autogen: "autogen"

Defined in: packages/core/src/types.ts:121

Drizzle: "drizzle"

Defined in: packages/core/src/types.ts:122

GoogleGenAi: "google-genai"

Defined in: packages/core/src/types.ts:123

I18next: "i18next"

Defined in: packages/core/src/types.ts:124

Langchain: "langchain"

Defined in: packages/core/src/types.ts:125

LlamaIndex: "llamaindex"

Defined in: packages/core/src/types.ts:126

Mastra: "mastra"

Defined in: packages/core/src/types.ts:127

Mcp: "mcp"

Defined in: packages/core/src/types.ts:128

MikroOrm: "mikro-orm"

Defined in: packages/core/src/types.ts:129

OpenAiAgents: "openai-agents"

Defined in: packages/core/src/types.ts:130

Prisma: "prisma"

Defined in: packages/core/src/types.ts:131

Sequelize: "sequelize"

Defined in: packages/core/src/types.ts:132

Stencil: "stencil"

Defined in: packages/core/src/types.ts:133

Storybook: "storybook"

Defined in: packages/core/src/types.ts:134

Tailwind: "tailwind"

Defined in: packages/core/src/types.ts:135

TanstackQuery: "tanstack-query"

Defined in: packages/core/src/types.ts:136

TanstackRouter: "tanstack-router"

Defined in: packages/core/src/types.ts:137

Turbo: "turbo"

Defined in: packages/core/src/types.ts:138

Typeorm: "typeorm"

Defined in: packages/core/src/types.ts:139

Zod: "zod"

Defined in: packages/core/src/types.ts:140


Defined in: packages/core/src/types.ts:146

Enum for Next.js mode options

AppRouter: "app-router"

Defined in: packages/core/src/types.ts:147

Pages: "pages"

Defined in: packages/core/src/types.ts:148


Defined in: packages/core/src/types.ts:154

Enum for named presets

All: "all"

Defined in: packages/core/src/types.ts:157

All configs + all optionals

App: "app"

Defined in: packages/core/src/types.ts:160

Browser application defaults with TypeScript and Prettier

Basic: "basic"

Defined in: packages/core/src/types.ts:163

Core JS config only

Browser: "browser"

Defined in: packages/core/src/types.ts:166

Core + TS + Browser runtime

CI: "ci"

Defined in: packages/core/src/types.ts:169

CI-oriented defaults with strict severities

Library: "library"

Defined in: packages/core/src/types.ts:172

TypeScript package/library defaults for published packages

Monorepo: "monorepo"

Defined in: packages/core/src/types.ts:175

Monorepo-friendly defaults for mixed workspaces

Node: "node"

Defined in: packages/core/src/types.ts:178

Core + TS + Node runtime

Worker: "worker"

Defined in: packages/core/src/types.ts:181

Core + TS + Worker runtime


Defined in: packages/core/src/types.ts:187

Enum for runtime environment presets

Browser: "browser"

Defined in: packages/core/src/types.ts:190

Only Browser globals (window, document, etc.)

Bun: "bun"

Defined in: packages/core/src/types.ts:193

Bun runtime globals

Cloudflare: "cloudflare"

Defined in: packages/core/src/types.ts:196

Cloudflare Workers globals

Deno: "deno"

Defined in: packages/core/src/types.ts:199

Deno runtime globals

Node: "node"

Defined in: packages/core/src/types.ts:202

Only Node.js globals (process, __dirname, etc.)

Universal: "universal"

Defined in: packages/core/src/types.ts:205

Both Node.js and Browser globals (default)

Worker: "worker"

Defined in: packages/core/src/types.ts:208

Service Worker and Fetch API globals for edge runtimes


Defined in: packages/core/src/types.ts:214

Enum for settings options in ESLint

NoDefaultIgnores: "no-default-ignores"

Defined in: packages/core/src/types.ts:217

Disable the built-in default ignore globs (dist, build, coverage, etc.).

NoGeneratedCodeIgnores: "no-generated-code-ignores"

Defined in: packages/core/src/types.ts:220

Disable generated-code ignore globs.

NoGitignore: "no-gitignore"

Defined in: packages/core/src/types.ts:223

Disable automatic .gitignore-based ignores.


Defined in: packages/core/src/types.ts:229

Enum for testing frameworks and environments

Cypress: "cypress"

Defined in: packages/core/src/types.ts:230

Jest: "jest"

Defined in: packages/core/src/types.ts:231

JestDom: "jest-dom"

Defined in: packages/core/src/types.ts:232

Playwright: "playwright"

Defined in: packages/core/src/types.ts:233

TestingLibrary: "testing-library"

Defined in: packages/core/src/types.ts:234

Vitest: "vitest"

Defined in: packages/core/src/types.ts:235


Defined in: packages/core/src/types.ts:241

Enum for integrating external standalone utilities

Command: "command"

Defined in: packages/core/src/types.ts:242

Cspell: "cspell"

Defined in: packages/core/src/types.ts:243

Docker: "docker"

Defined in: packages/core/src/types.ts:244

GithubActions: "github-actions"

Defined in: packages/core/src/types.ts:245

Jsdoc: "jsdoc"

Defined in: packages/core/src/types.ts:246

Nx: "nx"

Defined in: packages/core/src/types.ts:247

Pnpm: "pnpm"

Defined in: packages/core/src/types.ts:248

Prettier: "prettier"

Defined in: packages/core/src/types.ts:249

Swagger: "swagger"

Defined in: packages/core/src/types.ts:250

Defined in: packages/core/src/feature.ts:9

Stable extension point used by optional feature packs.

Feature packs own their dependency-specific factories while the composer only understands this small, ecosystem-agnostic contract.

category: ConfigFeatureCategory

Defined in: packages/core/src/feature.ts:10

create: () => ConfigArray | Promise<ConfigArray>

Defined in: packages/core/src/feature.ts:11

ConfigArray | Promise<ConfigArray>

id: string

Defined in: packages/core/src/feature.ts:12

order: number

Defined in: packages/core/src/feature.ts:13

optional phase?: ConfigFeaturePhase

Defined in: packages/core/src/feature.ts:14


Defined in: packages/core/src/types.ts:256

Controls automatic project detection by category.

optional extensions?: boolean

Defined in: packages/core/src/types.ts:257

optional formats?: boolean

Defined in: packages/core/src/types.ts:258

optional frameworks?: boolean

Defined in: packages/core/src/types.ts:259

optional libraries?: boolean

Defined in: packages/core/src/types.ts:260

optional nextMode?: boolean

Defined in: packages/core/src/types.ts:261

optional projects?: boolean

Defined in: packages/core/src/types.ts:262

optional runtime?: boolean

Defined in: packages/core/src/types.ts:263

optional testing?: boolean

Defined in: packages/core/src/types.ts:264

optional tools?: boolean

Defined in: packages/core/src/types.ts:265

optional typescript?: boolean

Defined in: packages/core/src/types.ts:266


Defined in: packages/core/src/types.ts:398

ESLint configuration interface

optional autoFrameworks?: boolean

Defined in: packages/core/src/types.ts:404

Enables installed optional framework configs detected from dependencies. Disable this when you want manual framework control only.

optional detectedFrameworks?: DetectedFrameworkName[]

Defined in: packages/core/src/types.ts:410

Frameworks detected from package.json by detectProjectOptions(). In v3, defineConfig() enables detected framework configs when their optional packages are installed.

optional detection?: boolean | DetectionOptions

Defined in: packages/core/src/types.ts:416

Enables or disables automatic project detection by category. Use false to disable all detection, or an object for granular control.

optional detectRootDir?: string

Defined in: packages/core/src/types.ts:422

Root directory used for automatic project detection. Defaults to process.cwd().

optional extensions?: ExtensionOption[]

Defined in: packages/core/src/types.ts:425

List of specialized ESLint rules and extensions

optional features?: Partial<Record<OptionalConfigName, boolean>>

Defined in: packages/core/src/types.ts:432

Simple optional-config switchboard. Enables or disables entries from extensions, formats, libraries, testing, and tools using their string names. integrations is an alias for the same map.

optional formats?: FormatOption[]

Defined in: packages/core/src/types.ts:435

Additional non-JS/TS file formats to lint

optional formatting?: FormattingOptions

Defined in: packages/core/src/types.ts:438

Formatting preferences inherited by workspace projects. Prettier and local overrides take precedence.

optional frameworks?: object

Defined in: packages/core/src/types.ts:447

Framework and library specific configurations.

Set a framework to true to load its installed @santi020k/eslint-config-* package, or pass a config array/factory when you need to override the package config.

optional angular?: ImportedFramework

optional astro?: ImportedFramework

optional expo?: ImportedFramework

optional hono?: ImportedFramework

optional lit?: ImportedFramework

optional nest?: ImportedFramework

optional next?: ImportedFramework

optional nuxt?: ImportedFramework

optional preact?: ImportedFramework

optional qwik?: ImportedFramework

optional react?: ImportedFramework

optional react-router?: ImportedFramework

React Router v7 framework mode, including projects migrated from Remix.

optional slidev?: ImportedFramework

optional solid?: ImportedFramework

optional svelte?: ImportedFramework

optional tanstack-start?: ImportedFramework

TanStack Start (React/Solid full-stack framework).

optional vite?: ImportedFramework

optional vue?: ImportedFramework

optional ignores?: string[]

Defined in: packages/core/src/types.ts:478

Extra global ignore globs (flat config ignores only, no files). Patterns are relative to ESLint’s working directory, like a manual ignore block. Not merged from presets or detection. For projects entries, patterns are not auto-prefixed with the subproject path; use repo-root-relative globs when needed.

optional integrations?: Partial<Record<OptionalConfigName, boolean>>

Defined in: packages/core/src/types.ts:483

Use features instead. This alias is scheduled for removal in v4.

optional libraries?: LibraryOption[]

Defined in: packages/core/src/types.ts:485

optional nextMode?: NextModeOption

Defined in: packages/core/src/types.ts:488

Next.js specific routing mode

optional optionMergeStrategy?: "merge" | "replace"

Defined in: packages/core/src/types.ts:495

Controls how explicit arrays/frameworks combine with auto-detected and preset values.

  • merge (default): union detected + preset + explicit values
  • replace: explicit values fully replace detected/preset values

optional preset?: PresetOption

Defined in: packages/core/src/types.ts:498

High-level configuration preset

optional projectDefaults?: ProjectConfigOptions

Defined in: packages/core/src/types.ts:505

Defaults inherited by every entry in projects. Project-level values override scalar defaults while arrays and option maps merge unless that project uses optionMergeStrategy: 'replace'.

optional projects?: Record<string, ProjectConfigOptions>

Defined in: packages/core/src/types.ts:511

Package-aware subproject configuration for monorepos. Each key is a workspace-relative folder and each value is scoped to that folder.

optional root?: string

Defined in: packages/core/src/types.ts:519

Absolute project root used consistently for dependency detection, TypeScript, Tailwind, subprojects, and .gitignore.

In editor-sensitive configs, pass import.meta.dirname.

optional runtime?: RuntimeOption

Defined in: packages/core/src/types.ts:522

Runtime environment preset (Node, Browser, Universal)

optional settings?: SettingOption[]

Defined in: packages/core/src/types.ts:525

List of global settings and behavioral flags

optional strict?: StrictMode

Defined in: packages/core/src/types.ts:533

Severity profile.

  • false / recommended: keep recommended severities
  • true / ci: promote warnings to errors
  • pedantic: promote warnings and enable built-in best-practice rules

optional tailwind?: false | TailwindOptions

Defined in: packages/core/src/types.ts:539

Tailwind CSS plugin options. Providing an object enables the Tailwind integration, while false disables auto-detected Tailwind support.

optional testing?: TestingOption[]

Defined in: packages/core/src/types.ts:542

List of testing frameworks and testing environments

optional testingFiles?: Partial<Record<"cypress" | "jest" | "jest-dom" | "playwright" | "testing-library" | "vitest", string[]>>

Defined in: packages/core/src/types.ts:553

File globs for test integrations when the defaults do not match your project.

For example, set testingFiles.playwright to the folder that contains your Playwright specs when it differs from the built-in e2e, functional, Playwright-named, and Playwright-config defaults. Generic tests/** files are intentionally not treated as Playwright-owned because they may belong to Vitest or Jest.

optional tools?: ToolOption[]

Defined in: packages/core/src/types.ts:556

List of integrations for external standalone tools

optional tsconfigRootDir?: string

Defined in: packages/core/src/types.ts:562

Root directory of the project. Required if multiple candidate TSConfigRootDirs are present.

optional typescript?: boolean | TypeScriptMode | TypeScriptOptions

Defined in: packages/core/src/types.ts:565

Enable TypeScript support with optional settings

optional workspacePrefixes?: string[]

Defined in: packages/core/src/types.ts:579

Monorepo / workspace package scope prefixes that should sort in their own import group, before external npm packages.

Passed to createImportGroups and applied to simple-import-sort/imports automatically — no manual rule override needed.

/* sort between internal app code and external npm packages
defineConfig({ workspacePrefixes: ['@acme'] })

Defined in: packages/core/src/types.ts:302

Opt-in stylistic preferences; correctness rules remain unchanged.

optional arrowParens?: "always" | "as-needed"

Defined in: packages/core/src/types.ts:303

optional commaDangle?: "always-multiline" | "never"

Defined in: packages/core/src/types.ts:304

optional quotes?: "double" | "single"

Defined in: packages/core/src/types.ts:305

optional semi?: boolean

Defined in: packages/core/src/types.ts:306


Defined in: packages/core/src/rules.ts:35

Options for createImportGroups.

optional workspacePrefixes?: string[]

Defined in: packages/core/src/rules.ts:47

Workspace / monorepo package prefixes that should sort with internal code rather than external npm packages.

They are placed in their own group before the external npm packages group.

// Treat @acme/ui, @acme/shared, etc. as internal
createImportGroups({ workspacePrefixes: ['@acme'] })

Defined in: packages/core/src/types.ts:309

optional cwd?: string

Defined in: packages/core/src/types.ts:315

Working directory used to resolve Tailwind and its entry point. Defaults to detectRootDir, which keeps package-scoped monorepo configs stable.

optional detectComponentClasses?: boolean

Defined in: packages/core/src/types.ts:322

Detect exact standalone selectors and static utilities reachable through the CSS import graph, Astro component-local styles, and supported utilities from explicitly configured Tailwind plugins. Defaults to true.

optional entryPoint?: string

Defined in: packages/core/src/types.ts:323

optional ignore?: string[]

Defined in: packages/core/src/types.ts:324

optional noUnknownClasses?: false | "error" | "off" | "warn"

Defined in: packages/core/src/types.ts:325


Defined in: packages/core/src/types.ts:338

optional mode?: TypeScriptMode

Defined in: packages/core/src/types.ts:339

optional project?: string | boolean | string[]

Defined in: packages/core/src/types.ts:340

optional projectService?: boolean | { allowDefaultProject?: string[]; defaultProject?: string; loadTypeScriptPlugins?: boolean; maximumDefaultProjectFileMatchCount_THIS_WILL_SLOW_DOWN_LINTING?: number; }

Defined in: packages/core/src/types.ts:341

optional tsconfigRootDir?: string

Defined in: packages/core/src/types.ts:347

optional untypedFiles?: false | string[]

Defined in: packages/core/src/types.ts:356

TypeScript files that should receive syntax-only linting even when the project uses type-aware mode. Config files are included by default because they commonly live outside an application’s tsconfig.

Set to false to require type information for every TypeScript file.

ConfigFeatureCategory = "extension" | "format" | "library" | "testing" | "tool"

Defined in: packages/core/src/feature.ts:17


ConfigFeaturePhase = "config" | "finalizer"

Defined in: packages/core/src/feature.ts:24


ConfigInput = false | null | TSESLint.FlatConfig.Config | TSESLint.FlatConfig.ConfigArray | undefined

Defined in: packages/core/src/config-helpers.ts:91


DetectedFrameworkName = "angular" | "astro" | "expo" | "hono" | "lit" | "nest" | "next" | "nuxt" | "preact" | "qwik" | "react" | "react-router" | "slidev" | "solid" | "svelte" | "tanstack-start" | "vite" | "vue"

Defined in: packages/core/src/types.ts:375

Framework names that can be auto-detected by detectProjectOptions. The composer enables these automatically when the matching optional config package is installed.


ExtensionName = `${Extension}`

Defined in: packages/core/src/types.ts:268


ExtensionOption = Extension | ExtensionName

Defined in: packages/core/src/types.ts:269


FlatConfigArray = TSESLint.FlatConfig.ConfigArray

Defined in: packages/core/src/types.ts:585

Type alias for ESLint flat config array


FormatName = `${Format}`

Defined in: packages/core/src/types.ts:270


FormatOption = Format | FormatName

Defined in: packages/core/src/types.ts:271


ImportedFramework = ((options?) => FlatConfigArray | Promise<FlatConfigArray>) | FlatConfigArray | true | { default: ((options?) => FlatConfigArray | Promise<FlatConfigArray>) | FlatConfigArray; }

Defined in: packages/core/src/types.ts:594

Type for framework option values: true enables the optional v3 config, or pass a config array, a factory function (sync or async, like the lazy framework factories exported from @santi020k/eslint-config-basic), or an imported module with a default export. Any other value throws a descriptive TypeError (see resolveFramework in @santi020k/eslint-config-basic).


LibraryName = `${Library}`

Defined in: packages/core/src/types.ts:272


LibraryOption = Library | LibraryName

Defined in: packages/core/src/types.ts:273


NextModeName = `${NextMode}`

Defined in: packages/core/src/types.ts:274


NextModeOption = NextMode | NextModeName

Defined in: packages/core/src/types.ts:275


NormalizedStrictMode = "ci" | "pedantic" | "recommended"

Defined in: packages/core/src/compose.ts:5


OptionalBucket = "extensions" | "formats" | "libraries" | "testing" | "tools"

Defined in: packages/core/src/config-helpers.ts:81


OptionalConfigMap = Partial<Record<OptionalConfigName, boolean>>

Defined in: packages/core/src/types.ts:282

Simple opt-in/opt-out map for optional configs. Keys match the public enum string values, so both features: { zod: true } and libraries: [Library.Zod] resolve to the same underlying config.


OptionalConfigName = ExtensionName | FormatName | LibraryName | TestingName | ToolName

Defined in: packages/core/src/types.ts:283


PresetName = `${Preset}`

Defined in: packages/core/src/types.ts:289


PresetOption = Preset | PresetName

Defined in: packages/core/src/types.ts:290


ProjectConfigOptions = Omit<EslintConfigOptions, "projectDefaults" | "projects">

Defined in: packages/core/src/types.ts:600


RuntimeName = `${Runtime}`

Defined in: packages/core/src/types.ts:291


RuntimeOption = Runtime | RuntimeName

Defined in: packages/core/src/types.ts:292


SettingName = `${Setting}`

Defined in: packages/core/src/types.ts:293


SettingOption = Setting | SettingName

Defined in: packages/core/src/types.ts:294


StrictMode = "ci" | "pedantic" | "recommended" | boolean

Defined in: packages/core/src/types.ts:299

Severity profiles for teams adopting the config progressively.


TestingName = `${Testing}`

Defined in: packages/core/src/types.ts:328


TestingOption = Testing | TestingName

Defined in: packages/core/src/types.ts:330


ToolName = `${Tool}`

Defined in: packages/core/src/types.ts:332


ToolOption = Tool | ToolName

Defined in: packages/core/src/types.ts:334


TypeScriptMode = "off" | "strict" | "syntax" | "type-aware"

Defined in: packages/core/src/types.ts:336

const __detectionInternals: object

Defined in: packages/core/src/utils/detection.ts:645

Internal detection helpers exposed for focused unit tests. Do not use these in application code.

clearDetectionCache: () => void

void

collectAllDependencies: (pkg) => DependencyMap

PackageJson

DependencyMap

createDefaultOptions: () => EslintConfigOptions

EslintConfigOptions

createRuntimeSetter: (options) => (runtime) => void

EslintConfigOptions

(runtime) => void

dedupe: <T>(values) => T[]

T

T[] = \[\]

T[]

detectExtensions: (allDeps) => Extension[]

DependencyMap

Extension[]

detectFormats: (allDeps, detectRootDir) => Format[]

DependencyMap

string

Format[]

detectFrameworks: (allDeps, detectRootDir, setRuntime) => DetectedFrameworkName[] | undefined

DependencyMap

string

(runtime) => void

DetectedFrameworkName[] | undefined

detectLibraries: (allDeps) => Library[]

DependencyMap

Library[]

detectNextMode: (allDeps, detectRootDir) => NextMode | undefined

DependencyMap

string

NextMode | undefined

detectProjects: (pkg, detectRootDir) => NonNullable<EslintConfigOptions["projects"]>

PackageJson

string

NonNullable<EslintConfigOptions["projects"]>

detectRuntime: (allDeps, detectRootDir, _detectedFrameworks, setRuntime, frameworkHasSetRuntime) => void

DependencyMap

string

DetectedFrameworkName[] | undefined

(runtime) => void

boolean = false

void

detectTesting: (allDeps) => Testing[]

DependencyMap

Testing[]

detectTools: (allDeps, detectRootDir) => Tool[]

DependencyMap

string

Tool[]

detectTypescript: (detectRootDir) => boolean | TypeScriptMode | TypeScriptOptions | undefined

string

boolean | TypeScriptMode | TypeScriptOptions | undefined

parsePnpmWorkspacePatterns: (detectRootDir) => string[]

string

string[]

pathExists: (path) => boolean

string

boolean

resolvePreset: (options) => Preset

EslintConfigOptions

Preset


const coreConfig: TSESLint.FlatConfig.ConfigArray

Defined in: packages/core/src/index.ts:163

Core JavaScript ESLint configuration (Universal runtime by default) This is included by default in all configurations


const DEFAULT_IGNORES: string[]

Defined in: packages/core/src/config-helpers.ts:22


const GENERATED_CODE_IGNORES: string[]

Defined in: packages/core/src/config-helpers.ts:60


const GLOB_ASTRO: string[]

Defined in: packages/core/src/types.ts:13


const GLOB_JS: string[]

Defined in: packages/core/src/types.ts:6

Global file patterns for JavaScript-compatible files


const GLOB_JS_TS: string[]

Defined in: packages/core/src/types.ts:10


const GLOB_JS_TS_ALL: string[]

Defined in: packages/core/src/types.ts:15


const GLOB_SLOT: string[]

Defined in: packages/core/src/types.ts:14


const GLOB_SVELTE: string[]

Defined in: packages/core/src/types.ts:12


const GLOB_TS: string[]

Defined in: packages/core/src/types.ts:8


const GLOB_VIRTUAL_TS: string[]

Defined in: packages/core/src/types.ts:17


const GLOB_VUE: string[]

Defined in: packages/core/src/types.ts:11


const groups: string[][]

Defined in: packages/core/src/rules.ts:145

Default import sort groups used by the core config. Export allows downstream packages and end users to reference or extend them.


const OPTIONAL_BUCKETS: object

Defined in: packages/core/src/config-helpers.ts:83

readonly extensions: Extension[]

readonly formats: Format[]

readonly libraries: Library[]

readonly testing: Testing[]

readonly tools: Tool[]


const ReactConfigKeys: readonly ["react", "next", "expo", "react-router"]

Defined in: packages/core/src/types.ts:363

Array of configurations that require React Note: These are now used internally for auto-detection and globals


const rules: TSESLint.Linter.RulesRecord

Defined in: packages/core/src/rules.ts:149


const TAILWIND_ENTRYPOINT_CANDIDATES: string[]

Defined in: packages/core/src/config-helpers.ts:72

applyArrayControls(controls, detected): object

Defined in: packages/core/src/config-helpers.ts:291

Required<DetectionOptions>

EslintConfigOptions

object

detectedFrameworks: DetectedFrameworkName[] | undefined

extensions: ExtensionOption[] | undefined

formats: FormatOption[] | undefined

libraries: LibraryOption[] | undefined

testing: TestingOption[] | undefined

tools: ToolOption[] | undefined


applyDetectionControls(detected, detection, defaults?): EslintConfigOptions

Defined in: packages/core/src/config-helpers.ts:308

EslintConfigOptions

boolean | DetectionOptions | undefined

Partial<Required<DetectionOptions>>

EslintConfigOptions


applyFeatureDisables<T>(values, options, bucket): T[]

Defined in: packages/core/src/config-helpers.ts:144

T extends string

T[]

EslintConfigOptions | undefined

OptionalBucket

T[]


applyScalarControls(controls, detected): object

Defined in: packages/core/src/config-helpers.ts:300

Required<DetectionOptions>

EslintConfigOptions

object

nextMode: NextModeOption | undefined

preset: PresetOption | undefined

projects: Record<string, ProjectConfigOptions> | undefined

runtime: RuntimeOption | undefined

typescript: boolean | TypeScriptMode | TypeScriptOptions | undefined


applyStrictMode(configs, strict): ConfigArray

Defined in: packages/core/src/compose.ts:32

Applies strict mode by promoting all ‘warn’ rules to ‘error’.

ConfigArray

boolean | NormalizedStrictMode | undefined

ConfigArray


applyStrictProfileDefaults(extensions, strict): Extension[]

Defined in: packages/core/src/config-helpers.ts:323

Extension[]

StrictMode | undefined

Extension[]


createCoreConfig(runtime?): ConfigArray

Defined in: packages/core/src/index.ts:72

Creates the core config with the specified runtime globals

Runtime = Runtime.Universal

ConfigArray


createGitignoreConfig(rootDir?): ConfigArray

Defined in: packages/core/src/settings/gitignore.ts:10

Creates an ESLint ignore block from the .gitignore at rootDir.

string = ...

ConfigArray


createImportGroups(options?): string[][]

Defined in: packages/core/src/rules.ts:71

Creates the groups array for simple-import-sort/imports.

Group ordering (each becomes its own import section):

  1. Side effects — polyfills, reflect-metadata, zone.js
  2. Node built-ins — node:fs and legacy fs
  3. Framework virtual modules — Vite virtual:, Astro astro:, SvelteKit $app/$env/$lib, Nuxt #imports
  4. Internal UI / presentation layer — components/, @/pages/, etc.
  5. Internal application / logic layer — store/, @/hooks/, etc.
  6. Style imports — .css, .scss, .sass, @/styles/theme.css, ./Button.module.css
  7. Workspace packages (when workspacePrefixes is set) — @acme/shared
  8. External npm packages — react, @tanstack/query
  9. Remaining internal aliases — @/, ~/, #, custom extras
  10. Parent-relative imports — ../
  11. Same-directory relative imports — ./

Why internal layers and styles come before externals: Bare internal paths like components/Button and bare CSS like theme.css match ^@?\w. Placing these groups first ensures correct classification before falling through to the npm packages group.

ImportGroupOptions = {}

string[][]


createModuleLoader(resolveFn): <T>(specifier) => Promise<T>

Defined in: packages/core/src/lazy.ts:8

(specifier) => string

<T>(specifier) => Promise<T>


detectProjectOptions(detectRootDir?): EslintConfigOptions

Defined in: packages/core/src/utils/detection.ts:673

Automatically detects project settings based on package.json content

string = ...

Root directory used for dependency/file detection (defaults to process.cwd())

EslintConfigOptions

Detected ESLint configuration options


findTailwindEntryPoint(rootDir): string | undefined

Defined in: packages/core/src/config-helpers.ts:367

string

string | undefined


flattenConfigInputs(configs): ConfigArray

Defined in: packages/core/src/config-helpers.ts:98

ConfigInput[]

ConfigArray


getFeatureEntries(options, bucket, enabled): string[]

Defined in: packages/core/src/config-helpers.ts:132

EslintConfigOptions | undefined

OptionalBucket

boolean

string[]


getGlobalsForRuntime(runtime?): GlobalsConfig | undefined

Defined in: packages/core/src/index.ts:22

Returns the appropriate globals for the given runtime option

Runtime = Runtime.Universal

GlobalsConfig | undefined


getStrictMode(explicitStrict, presetStrict): StrictMode | undefined

Defined in: packages/core/src/config-helpers.ts:318

StrictMode | undefined

StrictMode | undefined

StrictMode | undefined


hasReactConfig(options?): boolean

Defined in: packages/core/src/utils/index.ts:9

Checks if the provided EslintConfigOptions includes any React-specific configurations.

EslintConfigOptions

ESLint configuration options.

boolean

True if any React configuration is detected, false otherwise.


hasTsconfig(rootDir): boolean

Defined in: packages/core/src/config-helpers.ts:332

string

boolean


isOptionalBucketValue(bucket, value): boolean

Defined in: packages/core/src/config-helpers.ts:127

OptionalBucket

string

boolean


mergeArrayOption<T>(detectedValues, presetValues, explicitValues, strategy): T[]

Defined in: packages/core/src/config-helpers.ts:106

T

T[]

T[] | undefined

T[] | undefined

"merge" | "replace"

T[]


mergeFrameworkOption(detectedFrameworks, presetFrameworks, explicitFrameworks, strategy): object

Defined in: packages/core/src/config-helpers.ts:173

Record<string, ImportedFramework>

Record<string, ImportedFramework> | undefined

Record<string, ImportedFramework> | undefined

"merge" | "replace"

optional angular?: ImportedFramework

optional astro?: ImportedFramework

optional expo?: ImportedFramework

optional hono?: ImportedFramework

optional lit?: ImportedFramework

optional nest?: ImportedFramework

optional next?: ImportedFramework

optional nuxt?: ImportedFramework

optional preact?: ImportedFramework

optional qwik?: ImportedFramework

optional react?: ImportedFramework

optional react-router?: ImportedFramework

React Router v7 framework mode, including projects migrated from Remix.

optional slidev?: ImportedFramework

optional solid?: ImportedFramework

optional svelte?: ImportedFramework

optional tanstack-start?: ImportedFramework

TanStack Start (React/Solid full-stack framework).

optional vite?: ImportedFramework

optional vue?: ImportedFramework


mergeOptionalBucket<T>(bucket, detectedValues, presetValues, explicitValues, options, strategy): T[]

Defined in: packages/core/src/config-helpers.ts:154

T extends string

OptionalBucket

T[]

T[] | undefined

T[] | undefined

EslintConfigOptions | undefined

"merge" | "replace"

T[]


mergeProjectOptions(defaults, project): ProjectConfigOptions

Defined in: packages/core/src/config-helpers.ts:223

Applies shared monorepo defaults to one project configuration. Scalar values are overridden by the project, while arrays and option maps inherit and merge unless the project selects the replace strategy.

ProjectConfigOptions

ProjectConfigOptions

ProjectConfigOptions


normalizeStrictMode(strict): NormalizedStrictMode

Defined in: packages/core/src/compose.ts:7

boolean | NormalizedStrictMode | undefined

NormalizedStrictMode


patchImportGroups(allConfigs, workspacePrefixes): ConfigArray

Defined in: packages/core/src/config-helpers.ts:441

ConfigArray

string[]

ConfigArray


patchImportGroupsConfig(config, workspacePatterns): Config

Defined in: packages/core/src/config-helpers.ts:406

Config

string[]

Config


resolveConfigFeatures(features, selected, phase?): Promise<ConfigArray>

Defined in: packages/core/src/feature.ts:26

ConfigFeature[]

Iterable<string>

ConfigFeaturePhase = 'config'

Promise<ConfigArray>


resolveDetectionOptions(detection, defaults?): Required<DetectionOptions>

Defined in: packages/core/src/config-helpers.ts:257

boolean | DetectionOptions | undefined

Partial<Required<DetectionOptions>> = {}

Required<DetectionOptions>


resolveTsconfigRootDir(rootDir, typescript, explicitRootDir): string | undefined

Defined in: packages/core/src/config-helpers.ts:357

string

boolean | TypeScriptMode | TypeScriptOptions | undefined

string | undefined

string | undefined


resolveTypescriptOptions(typescript): false | TypeScriptOptions & object

Defined in: packages/core/src/config-helpers.ts:340

boolean | TypeScriptMode | TypeScriptOptions | undefined

false | TypeScriptOptions & object


scopeConfigToProject(config, projectPath): Config

Defined in: packages/core/src/config-helpers.ts:387

Config

string

Config


scopeFilePattern(projectPath, pattern): unknown

Defined in: packages/core/src/config-helpers.ts:371

string

unknown

unknown


toUniqueArray<T>(values): T[]

Defined in: packages/core/src/config-helpers.ts:20

T

T[]

T[]

Did this page help?

Your answer stays in this browser. Share details on GitHub to help improve the docs.