eslint-config-takeaway v0.1.2
You can find this repo on NPM and you should use NPM to install it.
Only clone this repo if you want to contribute.
Installation
npm install --save-dev eslint-config-takeaway eslint
and create a file called .eslintrc.yaml in the root of the project folder with these contents:
extends: "takeaway"You now have a locally installed eslint in node_modules/.bin/.
It can be run with ./node_modules/.bin/eslint
or add it to your PATH like this:
PATH=$PATH:./node_modules/.bin/
and then you can just run the eslint command in your project folder.
Note that a globally installed eslint will not work because it won't find the config module. Also installing global modules is very unsafe.
Running linter
You can run the linter with eslint -c .eslintrc.yaml .
Check ESLint documentation for more information.
IDE integration
Atom
Install the linter-eslint plugin. It should work without any change in configuration.
Other
IDE missing? Contributions are welcomed.
Precommit hook
Install the pre-commit NPM package: npm install --save-dev pre-commit which sets up hooks automatically.
Update your package.json to include these changes:
"scripts": {
"lint-js": "LIST=`git diff-index --name-only HEAD | grep \\.js$`; if [ \"$LIST\" ]; then node node_modules/eslint/bin/eslint.js -c .eslintrc.yaml $LIST; fi"
},
"pre-commit": [
"lint-js"
],ESLint should now run before every commit and automatically lint .js files.
Rules
Rules are based on a combination of StandardJS and this ES6 addition.
Our rules are slightly different in the following points:
Major points
- Line length: 120 characters
- No semicolons
- 2 space indentation
- Use single quotes
Minor points
- Each variable should have its own keyword. (So no
const foo, bar) - No short-hand operators like
n++orn+=1should be used. Usen = n + 1instead. For loops are the exception, sofor (let i = 0; i < 10; i++)is still allowed. else / elseifmust be placed after the previous closing bracket on the same line.