Personal recommended shareable config for eslint.
It turns on all the possible errors rules within eslint based on my own JS styleguide.
Use it as is or as a foundation for your own config. You can extend or clone and change.
npm install -D @radum/eslint-config
This package includes the following configurations:
- @radum/eslint-config - The base code style guide.
- @radum/eslint-config/node - To be used in addition to "@radum/eslint-config" configuration by projects that use Node.
- @radum/eslint-config/jsdoc - To be used in addition to "@radum/eslint-config" configuration to enable JSDoc.
- @radum/eslint-config/avajs - To be used in addition to "@radum/eslint-config" configuration by projects that use AVA.
- @radum/eslint-config/jest - To be used in addition to "@radum/eslint-config" configuration by projects that use jest.
- @radum/eslint-config/react - To be used in addition to "@radum/eslint-config" configuration by projects that react React.
If you've installed @radum/eslint-config
locally within your project, just set your eslint config to:
{
"extends": "@radum/eslint-config",
"parserOptions": {
"ecmaVersion": 12,
"sourceType": "module"
},
"env": {
"browser": true,
"es2021": true,
"node": false
}
}
or if you are working on a Node script:
{
"extends": [
"@radum/eslint-config"
"@radum/eslint-config/node"
],
"parserOptions": {
"ecmaVersion": 12,
"sourceType": "module"
},
"env": {
"browser": false,
"es2021": true,
"node": true
}
}
NOTE: The config doesn't specify the parser options or the environment, allowing you to set them based on your current setup.
The ESLint file name for ESM or CJS project should be different:
JavaScript - use .eslintrc.js and export an object containing your configuration.
JavaScript (ESM) - use .eslintrc.cjs when running ESLint in JavaScript packages that specify "type":"module" in their package.json. Note that ESLint does not support ESM configuration at this time.
If you've globally installed @radum/eslint-config using the -g flag, then you'll need to use the absolute path to @radum/eslint-config in your config e.g.
{
"extends": "/absolute/path/to/@radum/eslint-config"
}
You can also simply use the globally installed configuration name instead of the absolute path:
{
"extends": "@radum/eslint-config"
}
Simply add a "rules" key to your config, then add your overrides and additions there.
For example, to change the comma-dangle rule to off:
{
"extends": "@radum/eslint-config",
// Always define the `parserOptions` and/or the `env` settings to tailor the settings for your environment.
"rules": {
"comma-dangle": "off",
}
}
- Sublime Text 3:
- Vim:
- Emacs: Flycheck supports ESLint with the javascript-eslint checker.
- Eclipse Orion: ESLint is the default linter
- Eclipse IDE: Tern ESLint linter
- TextMate 2: ESLint Bundle
- Atom: linter-eslint
- IntelliJ IDEA, RubyMine, WebStorm, PhpStorm, PyCharm, AppCode, Android Studio, 0xDBE: ESLint Plugin
- Visual Studio Code: ESLint Extension
- Brackets: Included and Brackets ESLint
More integration tools can be found here https://eslint.org/docs/user-guide/integrations
Find eslint rules that are not configured in your eslint config. This is useful to see what else is new and what is deprecated or updated.
Running this in your root folder will show the list.
npx eslint-find-rules
More info here https://github.com/sarbbottam/eslint-find-rules
This config is heavily inspired by the following configs and tools: