0.1.2 • Published 9 years ago

eslint-config-takeaway v0.1.2

Weekly downloads
-
License
ISC
Repository
-
Last release
9 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.