Cloud Four's ESLint configuration. This exports itself as a "super-plugin" because of a limitation of ESLint.
The way this works is that it requires all of the plugin dependencies, and exports them from this plugin under a prefix.
The plugins that this exposes are:
n
(maintained fork of originaleslint-plugin-node
)import
standard
promise
unicorn
jsdoc
@typescript-eslint
To override settings for any of these plugins, you must prefix the configuration
with cloudfour/
, because the plugins are exposed through this "super-plugin".
{
"extends": ["plugin:@cloudfour/recommended"],
"rules": {
"@cloudfour/promise/no-native": "off"
}
}
In addition to the recommended
configuration, @cloudfour/eslint-plugin
also re-exports typescript-eslint's disable-type-checked
configuration. This configuration disables any rules that depend on typescript-eslint's typescript integration.
npm install --save-dev @cloudfour/eslint-plugin eslint prettier
Add this to your package.json
:
"scripts": {
"check-lint": "eslint . && prettier --check .",
"lint": "eslint --fix . && prettier --write ."
},
"eslintConfig": {
"extends": "plugin:@cloudfour/recommended"
},
"prettier": {
"singleQuote": true
}
npm run check-lint
This command will attempt to automatically fix lint errors. Note that not all lint errors can be fixed this way, so be prepeared to fix any remaining errors by hand.
npm run lint
This config relies on using a version of eslint installed locally to your project. If you also have eslint installed globally, it's possible to run into conflicts. To avoid any problems, either:
- Just use the
npm run check-lint
andnpm run lint
scripts, which will run the local version of eslint. - Or, if you prefer to run eslint by hand, use npx, which will run the local version of eslint. eg,
npx eslint '**/*.js'