Options Reference
Complete reference for all configuration options.
Project Configuration
type
Project type: 'app' or 'lib'.
- Type:
'app' | 'lib' - Default:
'app' - Description: Determines strictness of rules. Libraries have stricter rules.
export default eslintConfig({
type: 'lib', // Stricter rules for libraries
})autoDetect
Enable automatic framework detection.
- Type:
boolean - Default:
true - Description: Automatically detect frameworks from package.json
export default eslintConfig({
autoDetect: true, // Default
})Framework Options
typescript
TypeScript support configuration.
- Type:
boolean | TypeScriptOptions - Default:
true
// Boolean
export default eslintConfig({
typescript: true,
})
// With options
export default eslintConfig({
typescript: {
typeAware: true,
tsconfigPath: './tsconfig.json',
overridesTypeAware: {
'ts/no-floating-promises': 'warn',
},
},
})vue
Vue.js support configuration.
- Type:
boolean | VueOptions - Default:
'auto'
// Boolean (auto-detect version)
export default eslintConfig({
vue: true,
})
// With options
export default eslintConfig({
vue: {
vueVersion: 3,
a11y: true,
stylistic: true,
},
})react
React support configuration.
- Type:
boolean | ReactOptions - Default:
false
NOTE
Auto-detection is disabled by default to avoid Vue and React both activating in hoisted monorepos. Set to true to enable, or 'auto' to restore the old auto-detect behavior.
// Boolean
export default eslintConfig({
react: true,
})
// With options
export default eslintConfig({
react: {
reactCompiler: true,
rsc: true,
},
})svelte
Svelte support configuration.
- Type:
boolean - Default:
false
NOTE
Auto-detection is disabled by default to avoid conflicts with Vue in hoisted monorepos. Set to true to enable, or 'auto' to restore the old auto-detect behavior.
export default eslintConfig({
svelte: true,
})solid
SolidJS support configuration.
- Type:
boolean - Default:
false
NOTE
Auto-detection is disabled by default to avoid conflicts with Vue in hoisted monorepos. Set to true to enable, or 'auto' to restore the old auto-detect behavior.
export default eslintConfig({
solid: true,
})nextjs
Next.js support configuration.
- Type:
boolean - Default:
'auto'
export default eslintConfig({
nextjs: true,
react: true,
})nuxt
Nuxt support configuration.
- Type:
boolean - Default:
'auto'
export default eslintConfig({
nuxt: true,
vue: true,
})angular
Angular support configuration.
- Type:
boolean - Default:
'auto'
export default eslintConfig({
angular: true,
typescript: true,
})astro
Astro support configuration.
- Type:
boolean - Default:
'auto'
export default eslintConfig({
astro: true,
})unocss
UnoCSS support configuration.
- Type:
boolean - Default:
'auto'
export default eslintConfig({
unocss: true,
})Formatting Options
stylistic
Stylistic formatting configuration.
- Type:
boolean | StylisticOptions - Default:
true
// Boolean
export default eslintConfig({
stylistic: true,
})
// With options
export default eslintConfig({
stylistic: {
indent: 2,
quotes: 'single',
semi: false,
trailingComma: 'always-multiline',
},
})prettier
Prettier integration configuration.
- Type:
boolean | PrettierOptions - Default:
false - Note: Must disable
stylisticwhen using Prettier
// Boolean
export default eslintConfig({
prettier: true,
stylistic: false,
})
// With options
export default eslintConfig({
prettier: {
printWidth: 100,
semi: false,
singleQuote: true,
},
stylistic: false,
})Feature Options
gitignore
Read .gitignore patterns.
- Type:
boolean - Default:
true
export default eslintConfig({
gitignore: true,
})Library-backed git semantics
Since v6.6.0, .gitignore handling is backed by eslint-config-flat-gitignore, which provides correct git semantics (root-anchoring, nested .gitignore files). Only .gitignore files are read — .git/info/exclude is no longer consulted.
Removed git utilities
parseGitignore, findGitignore, and getGitignorePatterns (from src/utils/git.ts) were removed in v7.0.0 (deprecated since v6.6.0). Use the built-in gitignore option (enabled by default) instead.
ignores
Custom ignore patterns.
- Type:
string[] | ((defaults: string[]) => string[]) - Default: Built-in ignores
// Array
export default eslintConfig({
ignores: ['**/dist/**', '**/custom/**'],
})
// Function
export default eslintConfig({
ignores: (defaults) => [...defaults, '**/custom/**'],
})command
Relax rules for command-line scripts.
- Type:
boolean - Default:
true
Applies to: scripts/**, bin/**, cli/**, tasks/**, tools/**
export default eslintConfig({
command: true,
})disables
Relax rules in config files.
- Type:
boolean - Default:
true
export default eslintConfig({
disables: true,
})sortPackageJson
Auto-sort package.json.
- Type:
boolean - Default:
true
export default eslintConfig({
sortPackageJson: true,
})sortTsconfig
Auto-sort tsconfig.json.
- Type:
boolean - Default:
true
export default eslintConfig({
sortTsconfig: true,
})Language Support Options
jsonc
JSON/JSONC support.
- Type:
boolean | JsoncOptions - Default:
true
export default eslintConfig({
jsonc: true,
})yaml
YAML support.
- Type:
boolean - Default:
true
export default eslintConfig({
yaml: true,
})markdown
Markdown support.
- Type:
boolean - Default:
true
export default eslintConfig({
markdown: true,
})toml
TOML support.
- Type:
boolean - Default:
true
export default eslintConfig({
toml: true,
})Code Quality Options
imports
Import/export rules.
- Type:
boolean - Default:
true
export default eslintConfig({
imports: true,
})unicorn
Unicorn rule set.
- Type:
boolean - Default:
true
export default eslintConfig({
unicorn: true,
})perfectionist
Import/export sorting.
- Type:
boolean - Default:
true
export default eslintConfig({
perfectionist: true,
})regexp
Regular expression rules.
- Type:
boolean - Default:
true
export default eslintConfig({
regexp: true,
})jsdoc
JSDoc validation.
- Type:
boolean - Default:
true
export default eslintConfig({
jsdoc: true,
})comments
ESLint directive comment rules.
- Type:
boolean - Default:
true
export default eslintConfig({
comments: true,
})Additional Options
test
Test file support.
- Type:
boolean - Default:
true
export default eslintConfig({
test: true,
})node
Node.js rules.
- Type:
boolean - Default:
true
export default eslintConfig({
node: true,
})pnpm
pnpm workspace support.
- Type:
boolean - Default:
false
export default eslintConfig({
pnpm: true,
})jsx
JSX support with optional a11y.
- Type:
boolean | JsxOptions - Default:
false
export default eslintConfig({
jsx: {
a11y: true,
},
})formatters
External formatters for non-JS files.
- Type:
FormattersOptions - Default:
false
export default eslintConfig({
formatters: {
css: 'prettier',
html: 'prettier',
markdown: 'prettier',
},
})rules
Custom rule overrides.
- Type:
Rules - Default:
{}
export default eslintConfig({
rules: {
'no-console': 'off',
'@stylistic/semi': ['error', 'always'],
},
})extends
Additional flat configs to extend.
- Type:
TypedFlatConfigItem[] - Default:
[]
import someConfig from 'some-eslint-config'
export default eslintConfig({
extends: [someConfig],
})