API Reference

Sub-Configs

Import and compose individual ESLint flat config factories from @eienjs/eslint-config/configs.

All underlying configuration factories used by eienjs() are exported from the @eienjs/eslint-config/configs subpath. You can import them individually to build a custom flat config from scratch.

Importing Sub-Configs

eslint.config.js
import { combine } from '@eienjs/eslint-config';
import {
  ignores,
  javascript,
  stylistic,
  typescript,
} from '@eienjs/eslint-config/configs';

export default combine(
  ignores(),
  javascript(),
  typescript({
    tsconfigPath: 'tsconfig.json',
  }),
  stylistic(),
);

Available Sub-Configs

FunctionNamed Config BlocksDescription
ignores(userIgnores?, shouldIgnoreTypescript?)eienjs/ignoresGlobal file ignore patterns based on GLOB_EXCLUDE.
javascript(options?)eienjs/javascript/setup, eienjs/javascript/rulesCore JavaScript rules, globals, and unused-imports.
comments()eienjs/eslint-comments/rulesBest practices for eslint-disable comments.
command()eienjs/command/rulesCode Mod micro-commands in comments via eslint-plugin-command.
perfectionist(options)eienjs/perfectionist/setupNatural sorting for imports and exports.
node()eienjs/node/rulesNode.js rules via eslint-plugin-n.
jsdoc(options?)eienjs/jsdoc/rulesJSDoc comment rules via eslint-plugin-jsdoc.
imports(options?)eienjs/imports/rulesImport rules via eslint-plugin-import-lite and eslint-plugin-antfu.
unicorn(options?)eienjs/unicorn/setup, eienjs/unicorn/rulesUnicorn rules with snake_case filename convention.
typescript(options?)eienjs/typescript/*TypeScript parser, strict rules, type-aware rules, and erasable-syntax-only.
stylistic(options?)eienjs/stylistic/rulesFormatting rules via @stylistic/eslint-plugin (also exports StylisticConfigDefaults).
regexp(options?)eienjs/regexp/rulesRegular expression rules via eslint-plugin-regexp.
test(options?)eienjs/test/setup, eienjs/test/rulesVitest and no-only-tests rules for test files.
vue(options?)eienjs/vue/setup, eienjs/vue/rules, eienjs/vue/composables-disablesVue 3 SFC parser, processor, and rules.
astro(options?)eienjs/astro/setup, eienjs/astro/rulesAstro component parser and rules.
adonisjs(options?)eienjs/adonisjs/*AdonisJS plugin rules, Inertia rules, and directory-level disables.
nuxt(options?)eienjs/nuxt/*Nuxt plugin rules, single-root checks, and config sorting.
jsonc(options?)eienjs/jsonc/setup, eienjs/jsonc/rulesJSON, JSONC, and JSON5 parser and rules.
sortPackageJson()eienjs/sort/package-jsonDeterministic key and dependency sorting for package.json.
sortTsconfig()eienjs/sort/tsconfig-jsonDeterministic key sorting for tsconfig.json.
pnpm(options)eienjs/pnpm/*package.json and pnpm-workspace.yaml catalog and settings validation.
yaml(options?)eienjs/yaml/setup, eienjs/yaml/rulesYAML parser and formatting rules.
toml(options?)eienjs/toml/setup, eienjs/toml/rulesTOML parser and formatting rules.
markdown(options?)eienjs/markdown/*Markdown GFM linting and fenced code block processor.
formatters(options?, stylistic?)eienjs/formatter/*Prettier formatting for CSS/SCSS/Less, HTML, XML, SVG, Markdown, and Astro.
disables()eienjs/disables/*Relaxed rules for scripts, CLI files, bin/, .d.ts files, and CommonJS files.