@asd14/eslint-config
v15.2.0
Published
ASD14's reusable ESLint configurations
Readme
@asd14/eslint-config
ASD14's reusable ESLint configurations.
Installation
npm install --save-dev @asd14/eslint-config eslint@^9 prettier@^3 typescript@^5NOTE:
eslint,prettierandtypescriptare peerDependencies
Exports
| Entrypoint | Description |
| ---------------------------- | ----------------------------------------------------- |
| @asd14/eslint-config/node | Node.js source files config |
| @asd14/eslint-config/react | TypeScript + React source files combo config |
| @asd14/eslint-config/ts | TypeScript + Node.js source files combo config |
| @asd14/eslint-config/nx | NX module boundary configs (strict + relaxed for dev) |
All environment configs re-export commonIgnores array and devConfig for
convenience.
Usage
import { tsConfig, commonIgnores, devConfig } from "@asd14/eslint-config/ts"
const SRC_FILES = ["src/**/*.ts"]
const TEST_FILES = ["src/**/*.test.ts"]
const DEV_FILES = ["eslint.config.js"]
/** @type {import("eslint").Linter.Config[]} */
export default [
{ ignores: [...commonIgnores] },
{
...tsConfig,
files: [...SRC_FILES]
},
{
...tsConfig,
...devConfig,
files: [...TEST_FILES, ...DEV_FILES],
rules: { ...tsConfig.rules, ...devConfig.rules }
}
]With NX
Compose the NX boundary configs into your source and dev entries.
import { tsConfig, commonIgnores, devConfig } from "@asd14/eslint-config/ts"
import { nxConfig, nxDevConfig } from "@asd14/eslint-config/nx"
const SRC_FILES = ["src/**/*.ts"]
const TEST_FILES = ["src/**/*.test.ts"]
const DEV_FILES = ["eslint.config.js"]
/** @type {import("eslint").Linter.Config[]} */
export default [
{ ignores: commonIgnores },
{
...tsConfig,
files: [...SRC_FILES],
plugins: { ...tsConfig.plugins, ...nxConfig.plugins },
rules: { ...tsConfig.rules, ...nxConfig.rules }
},
{
...tsConfig,
...devConfig,
files: [...TEST_FILES, ...DEV_FILES],
plugins: { ...tsConfig.plugins, ...nxDevConfig.plugins },
rules: {
...tsConfig.rules,
...devConfig.rules,
...nxDevConfig.rules
}
}
]License
MIT
