wiz-develop's ESLint rules as an extensible shared config.
Warning
As of now, it does not work with eslint 9 as most plugins haven't updated yet. Please stay with eslint 8.57.0!
Important
Only ESM and ESLint FlatConfig
npm install --save-dev @wiz-develop/eslint-config eslint
Within your ESLint config file (eslint.config.js
):
import { essentials } from '@wiz-develop/eslint-config';
export default [...essentials];
If you need TypeScript Support:
-import { essentials } from '@wiz-develop/eslint-config';
+import { essentials, typescript } from '@wiz-develop/eslint-config';
export default [
...essentials,
+ ...typescript,
];
Must be added after essentials
.
We also provide various other rule sets that you can configure to suit your project.
import { essentials, jsdoc, node, typescript } from '@wiz-develop/eslint-config';
export default [...essentials, ...jsdoc, ...node, ...typescript];
Rule set | Summary | Dependencies |
---|---|---|
essentials |
Contains basic, import, and promise recommended rules | eslint eslint-plugin-promise eslint-plugin-import eslint-plugin-unicorn |
jsdoc |
Contains JSDoc recommended rules | eslint-plugin-jsdoc |
node |
Contains Node.js recommended rules | eslint-plugin-n |
typescript |
Contains TypeScript recommended rules | @typescript-eslint/eslint-plugin @typescript-eslint/parser |
vue |
Contains Vue recommended rules | eslint-plugin-vue vue-eslint-parser |
nuxt |
Contains Nuxt and Vue recommended rules | @nuxt/eslint-config |
If you use Prettier to format your code, you must disable any rules in @wiz-develop/eslint-config/essentials
that conflict with Prettier.
npm install --save-dev eslint-config-prettier
Within your ESLint config file:
import { essentials, typescript } from '@wiz-develop/eslint-config';
+import prettier from 'eslint-config-prettier';
export default [
...essentials,
...typescript,
+ prettier,
];
By adding the prettier
configuration to extends
in the ESLint configuration, you can disable all rules in essentials
that conflict with Prettier.
@wiz-develop/eslint-config contains various plugins related to different rule sets. Therefore, users don't need to install them separately. If you have installed them in your existing configuration, we recommend uninstalling them.
npm uninstall eslint-plugin-promise eslint-plugin-import eslint-plugin-unicorn \
eslint-plugin-jsdoc \
eslint-plugin-n \
@typescript-eslint/eslint-plugin @typescript-eslint/parser \
eslint-plugin-vue vue-eslint-parser \
@nuxt/eslint-config
- Increment major version: Changed error rules.
- Increment minor version: Changed warn rules.
- Increment patch version: Not changed error and warn rules.
Open source licensed as MIT.
eslint.config.mjs
import { createConfigForNuxt, essentials } from '@wiz-develop/eslint-config';
import prettier from 'eslint-config-prettier';
export default createConfigForNuxt({}, [prettier]).prepend(...essentials);