Skip to content

lint-staged/lint-staged

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

22 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

lint-staged

Lint JS and CSS files staged by git

Motivation

Linting makes more sense when running before commiting you code into repository. In this case you can ensure no πŸ’© is going put into it and enforce styles. This repsitory contains shell scrtips that run ESLint, Stylelint, JSCS and Flow against only currently staged files.

Installation

npm install --save-dev lint-staged

Install and setup your linters just like you would do normally. Add appropriate .eslintrc and .stylelintrc etc. configs (see ESLint and Stylelint docs if you need help here).

Adding pre-commit hooks

To start linting, you have to install a pre-commit hook:

  1. npm install --save-dev pre-commit
  2. Add "eslint-staged": "eslint-staged" to scripts section of package.json (if you want to lint your JS)
  3. Add "stylelint-staged": "stylelint-staged" to scripts section of package.json (if you want to lint your CSS)
  4. ...
  5. Add pre-commit": [ "eslint-staged", "stylelint-staged" ] to package.json

Example package.json

{
  "name": "My project",
  "version": "0.0.1",
  "scripts": {
    "eslint-staged": "eslint-staged",
    "stylelint-staged": "stylelint-staged"
  },
  "pre-commit": [ "eslint-staged", "stylelint-staged" ]
  "devDependencies: {}
}