Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

vecchp/lint-diff

Open more actions menu
 
 

Repository files navigation

lint-diff

Build Status

💅 Run eslint only in the changed parts of the code

Why

ESLint is a great tool to enforce code style in your code, but it has some limitations: it can only lint entire files. When working with legacy code, we often have to make changes to very large files (which would be too troublesome to fix all lint errors)and thus it would be good to lint only the lines changed and not the entire file.

lint-diff receives a commit range and uses ESLint to lint the changed files and filter only the errors introduced in the commit range (and nothing more).

State of the art

  • lint-staged is a similar tool that lints only the staged changes. It's very helpful for adding a precommit hook, but it cannot be used to enforce the styleguide on a Continuous Integration service like Travis, because the changes are already commited.

Usage

  1. Install it:
$ npm install lint-diff
  1. Install eslint and add your eslint configuration file.

  2. Use it:

# This will lint the last commit
$ lint-diff HEAD^..HEAD

Examples

  1. Lint the last 3 commits:
$ lint-diff HEAD~3..HEAD
  1. Lint local changes that are not yet commited (similar to what lint-staged do):
$ lint-diff HEAD
# or
$ lint-diff
  1. Lint all commits from a build in Travis:
# This environment variable will be available in any Travis build
$ lint-diff $TRAVIS_COMMIT_RANGE

About

💅 Run eslint only in the changed parts of the code

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • JavaScript 100.0%
Morty Proxy This is a proxified and sanitized view of the page, visit original site.