An ESLint Shareable Config for web application development using node.js + react
Uses recommended rules from eslint
the following plugins:
- import
- json
- jsx-a11y
- eslint-plugin-node
- eslint-plugin-promise
- eslint-plugin-react
- eslint-plugin-security
- eslint-plugin-sonarjs
Install as devDependencies the following packages:
npm install --save-dev @figify/eslint-config eslint-plugin-promise eslint-plugin-import eslint-plugin-node eslint-plugin-json eslint-plugin-jsx-a11y eslint-plugin-react eslint-plugin-security eslint-plugin-sonarjs
or if using npm 5+ use the shortcut:
npx install-peerdeps --dev @figify/eslint-config
then create an .eslintrc.json file with
{
extends: "@figify"
}
In order not to be bothered by the no unsupported features rule from the node plugin, I add in the folder containing React code another .eslintrc.json file with
{
"rules": {
"node/no-unsupported-features/es-syntax": "off"
}
}
The node plugin will complain for any unpublished require statement if the dependency is in devDependencies.
From this issue comment:
{
"overrides": [{
"files": "**/*.test.js",
"rules": {
"node/no-unpublished-require": 0,
"node/no-missing-require": 0
}
}]
}
npm test
MIT. Copyright (c) Kyriakos Chatzidimitriou.