lint-staged -> Use with husky for automatic linting on git commit
Notes
This is a work in progress and should be thought of as organic, rather than static. It is as much a tool to decide what the style should be as it is an enforcement and declaration of that style.
If something should never be in your code, it is an error, regardless of the severity of the issue.
If something probably shouldn't be in your code, but might just require extra oversight from the programmer, the rule should produce a warning. The programmer should then insert a comment to remove the error, or adjust the code accordingly. See the eslint docs for details.
You should add rules here where possible, not in individual projects.
Usage
Make sure you have eslint installed and initialised: npm --save-dev i eslint/yarn add --dev eslint
This packagage assumes you are using githooks to run linting (hence the fact that husky and elint-staged are dependencies, although they do not technically need to be implemented).
If you add to your package.json as specified above, you'll have automatic linting taken care of for you on each commit, for the files you are commiting only.
Flow
If you have flow installed, you will also need to run yarn add --dev eslint-plugin-flowtype.
You will then need to add the following to your .eslintrc.js: