The ESLint shareable config designed for my personal projects.
Use it as is or as a foundation for your own configuration file.
Install the package and eslint
in your project:
npm i -D eslint @koshikishi/eslint-config
This config bundles the following plugins and uses additional rules from them:
- @stylistic/eslint-plugin to replace deprecated formatting rules
- eslint-plugin-check-file to enforce a consistent naming pattern
- eslint-plugin-n for Node.js related rules
All plugins are direct dependencies and will be installed automatically.
This config is designed to validate Vanilla JS and Node.js projects and only supports flat (eslint.config.js
) configuration files.
For validating your Vanilla JS project use the default config:
import config from '@koshikishi/eslint-config';
import globals from 'globals';
export default [
...config,
{
languageOptions: {
globals: globals.browser,
},
},
];
For validating your Node.js project use the node
config:
import config from '@koshikishi/eslint-config/node';
import globals from 'globals';
export default [
...config,
{
languageOptions: {
globals: globals.node,
},
},
];
Add a rules
key to your config, then add your overrides and additions there.
For example, to add the no-eval
rule and turn off the no-console
rule:
import config from '@koshikishi/eslint-config';
import globals from 'globals';
export default [
...config,
{
languageOptions: {
globals: globals.browser,
},
rules: {
'no-eval': 'error',
'no-console': 'off',
},
},
];
You can also override the additional rules from plugins:
import config from '@koshikishi/eslint-config/node';
import globals from 'globals';
export default [
...config,
{
languageOptions: {
globals: globals.node,
},
rules: {
'@stylistic/quotes': ['error', 'double'],
'n/file-extension-in-import': 'off',
},
},
];
- Install the ESLint extension for VS Code.
- Install
eslint
and this config in your project following the Installation section. - Add an ESLint configuration file (
eslint.config.js
) and extend it with this shareable config following the Usage section.
Note: since support for the flat config system in VS Code ESLint extension is still experimental, you may need to enable it using the eslint.experimental.useFlatConfig
setting.