Configs
This preset is modular. You can keep defaults, disable specific modules, or enable optional ones.
How to Read This Page
- "Auto" means enabled by dependency/file detection.
- "Default On" means enabled unless you set it to
false. - "Optional" means disabled until you enable it explicitly.
Auto or Default-On Modules
| Config | Purpose | Activation |
|---|---|---|
| JavaScript | Base JS rules | Default On |
| TypeScript | TS lint rules | Auto (TypeScript installed) |
| Vue | Vue SFC lint rules | Auto (Vue installed) |
| JSON/JSONC | JSON and JSONC | Default On |
| Markdown | Markdown and code blocks | Default On |
| YAML | YAML files | Default On |
| TOML | TOML files | Default On |
| Gitignore | Respect .gitignore | Default On |
| Ignores | Baseline ignores | Default On |
| Node | Node rules | Default On |
| Import X | Import/export safety | Default On |
| Unicorn | Code quality rules | Default On |
| Perfectionist | Sorting rules | Default On |
| Antfu | Antfu plugin rules | Default On |
| ESLint Comments | Lint directive comments | Default On |
| Command | Command comments | Default On |
| Test | Test file rules | Auto (Vitest installed) |
| UnoCSS | Utility class linting | Auto (UnoCSS installed) |
| Prettier | Prettier bridge | Auto (Prettier installed) |
| Oxfmt | Oxfmt bridge | Auto (oxfmt installed) |
Optional Modules (Default Off)
| Config | Purpose | Enable |
|---|---|---|
| Astro | Astro files | astro: true |
| Svelte | Svelte files | svelte: true |
| SVGO | SVG linting | svgo: true |
| HTML | HTML linting | html: true |
| Pinia | Pinia rules | pinia: true |
| PNPM | Workspace package checks | pnpm: true |
| ESLint Plugin | For plugin authors | eslintPlugin: true |
| Unused Imports | Cleanup helpers | unusedImports: true |
Minimal Usage
js
import { defineESLintConfig } from '@ntnyq/eslint-config'
export default defineESLintConfig()Enable and Disable Modules
js
import { defineESLintConfig } from '@ntnyq/eslint-config'
export default defineESLintConfig({
astro: true,
svgo: true,
jsdoc: false,
unicorn: false,
})Per-Module Options
js
import { defineESLintConfig } from '@ntnyq/eslint-config'
export default defineESLintConfig({
typescript: {
tsconfigPath: './tsconfig.json',
overrides: {
'@typescript-eslint/no-unused-vars': 'warn',
},
},
vue: {
overrides: {
'vue/multi-word-component-names': 'off',
},
},
})Full Type Interface
Next Step
Open any config page from the sidebar to see:
- Plugins used
- Option definitions
- Example overrides
- Source implementation link