You'll first need to install ESLint:
$ npm i eslint --save-dev
$ npm install eslint-plugin-only-warn --save-dev
Note: If you installed ESLint globally (using the
-g flag) then you must also install
only-warn to the plugins section of your
.eslintrc configuration file:
--max-warnings=0 to the lint script in your package.json.
"lint": "eslint --max-warnings=0 ...",
This will make eslint cli report an errorcode which can be detected in git hook or CI pipeline.
Why only warnings?
- Don't waste time thinking or discussing about if it should be an error or a warning, focus on enabling of disabling a rule
- Warnings look different in editors, this allows you to quickly see that some tweaking is required, but your code still runs (eslint rules generally don't block the code from executing and fatal errors are still reported as error)
- Prevents noise, disallowing warnings to be committed in a codebase prevents clutter in the output of eslint (use special eslint comments for the instances when you need an exception to the rules)