Skip to content

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

ConfigPurposeActivation
JavaScriptBase JS rulesDefault On
TypeScriptTS lint rulesAuto (TypeScript installed)
VueVue SFC lint rulesAuto (Vue installed)
JSON/JSONCJSON and JSONCDefault On
MarkdownMarkdown and code blocksDefault On
YAMLYAML filesDefault On
TOMLTOML filesDefault On
GitignoreRespect .gitignoreDefault On
IgnoresBaseline ignoresDefault On
NodeNode rulesDefault On
Import XImport/export safetyDefault On
UnicornCode quality rulesDefault On
PerfectionistSorting rulesDefault On
AntfuAntfu plugin rulesDefault On
ESLint CommentsLint directive commentsDefault On
CommandCommand commentsDefault On
TestTest file rulesAuto (Vitest installed)
UnoCSSUtility class lintingAuto (UnoCSS installed)
PrettierPrettier bridgeAuto (Prettier installed)
OxfmtOxfmt bridgeAuto (oxfmt installed)

Optional Modules (Default Off)

ConfigPurposeEnable
AstroAstro filesastro: true
SvelteSvelte filessvelte: true
SVGOSVG lintingsvgo: true
HTMLHTML lintinghtml: true
PiniaPinia rulespinia: true
PNPMWorkspace package checkspnpm: true
ESLint PluginFor plugin authorseslintPlugin: true
Unused ImportsCleanup helpersunusedImports: 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