0.1.2 • Published 10 years ago

eslint-config-takeaway v0.1.2

Weekly downloads
-
License
ISC
Repository
-
Last release
10 years ago

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++ or n+=1 should be used. Use n = n + 1 instead. For loops are the exception, so for (let i = 0; i < 10; i++) is still allowed.
  • else / elseif must be placed after the previous closing bracket on the same line.