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
| Function | Named Config Blocks | Description |
|---|---|---|
ignores(userIgnores?, shouldIgnoreTypescript?) | eienjs/ignores | Global file ignore patterns based on GLOB_EXCLUDE. |
javascript(options?) | eienjs/javascript/setup, eienjs/javascript/rules | Core JavaScript rules, globals, and unused-imports. |
comments() | eienjs/eslint-comments/rules | Best practices for eslint-disable comments. |
command() | eienjs/command/rules | Code Mod micro-commands in comments via eslint-plugin-command. |
perfectionist(options) | eienjs/perfectionist/setup | Natural sorting for imports and exports. |
node() | eienjs/node/rules | Node.js rules via eslint-plugin-n. |
jsdoc(options?) | eienjs/jsdoc/rules | JSDoc comment rules via eslint-plugin-jsdoc. |
imports(options?) | eienjs/imports/rules | Import rules via eslint-plugin-import-lite and eslint-plugin-antfu. |
unicorn(options?) | eienjs/unicorn/setup, eienjs/unicorn/rules | Unicorn 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/rules | Formatting rules via @stylistic/eslint-plugin (also exports StylisticConfigDefaults). |
regexp(options?) | eienjs/regexp/rules | Regular expression rules via eslint-plugin-regexp. |
test(options?) | eienjs/test/setup, eienjs/test/rules | Vitest and no-only-tests rules for test files. |
vue(options?) | eienjs/vue/setup, eienjs/vue/rules, eienjs/vue/composables-disables | Vue 3 SFC parser, processor, and rules. |
astro(options?) | eienjs/astro/setup, eienjs/astro/rules | Astro 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/rules | JSON, JSONC, and JSON5 parser and rules. |
sortPackageJson() | eienjs/sort/package-json | Deterministic key and dependency sorting for package.json. |
sortTsconfig() | eienjs/sort/tsconfig-json | Deterministic 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/rules | YAML parser and formatting rules. |
toml(options?) | eienjs/toml/setup, eienjs/toml/rules | TOML 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. |
