npm install --save-dev eslint eslint-config-ui-core
Because of this issue: eslint/eslint#3458 (current inability for sharable configs) to supply their dependencies you will also need to:
npm install --save-dev \
babel-eslint \
eslint-config-airbnb \
eslint-plugin-import \
eslint-plugin-react
Edit your package.json
For client-side projects (only one supported at the moment)
"eslintConfig": {
"extends": "ssense/client"
}
/client
specializations are that it permits browser globals, requires the react
plugin.
We can preview all linting errors from the command line by running:
./node_modules/.bin/eslint **
We can also run it with --fix, which should fix most of the problems:
./node_modules/.bin/eslint ** --fix
Or even better we can add a script to package.json which runs this for us:
"lint": "eslint 'app/**'",
"lint:fix": "eslint 'app/**' --fix",
In this particular case, we are validating everything inside our /app folder
airbnb-base
https://github.com/airbnb/javascript[↗]
We extend the AirBnB rules for historical reasons. Our configuration will continue to evolve and may not be based on it one day if we eventually disable or adjust too much of it via overrides.
Provides rules that help prevent import bugs and enforces style.
React specific linting rules for ESLint
This section contains documentation about certain (not all) rules we enforce. Each rule section contains rationale and pass/fail examples. Over time we will complete exhaustive documentation. So far we have focused on significant deviations from our AirBnB inheritance.
(..@todo)