The main adaptation we've made is to downgrade non-critical rules to 'warn' level, to prevent linting recommendations from blocking app development (eg. in Create React App projects, where any error results in a red screen).
Pre-commit hooks and CI processes should use ESLint's
--max-warnings=0 flag to ensure that lint warnings don't make it into production code.
Using the lint rules in a new package
Run the following:
Note: this produces and runs a command like the following:
yarn add @dangerfarms/eslint-config-df eslint@^#.#.# eslint-plugin-jsx-a11y@^#.#.# eslint-plugin-import@^#.#.# eslint-plugin-react@^#.#.#, pinning the versions to the supported ones.
"@dangerfarms/eslint-config-df"to your project's ESLint config
.eslintrc, under the
eslintscript to your
Usage with git hooks
yarn add husky lint-staged
package.jsonwith the following root keys.
TODO: maybe we can automate this, and have a single bootstrapping command to install default ESLint config, git hooks, etc on a new project.
Modifying the rules
You can clone this project if you'd like to update the rules.
For local development with
yarn the following might be helpful.
Now you can modify
eslint-config-df-base in place, and run ESLint against
project to see the effects. This allows manual testing of the ESLint rules against a particular project without having to publish a new version.