JSPM

eslint-pre-commit-diff

1.0.4
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 363
  • Score
    100M100P100Q94197F
  • License ISC

Eslint only the changed lines in the commit

Package Exports

  • eslint-pre-commit-diff

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (eslint-pre-commit-diff) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Библиотека для проверки изменненых кусков кода с помощью ESLint

Установка

npm i eslint-pre-commit-diff -D

Использование

В package.json нужно добавить поле

    "scripts": {
        "preCommitLinter": "node node_modules/eslint-pre-commit-diff --folder app"
    }
    // ...
    "pre-commit": {
        "run": ["preCommitLinter"]
    }

На вход принимаются 2 параметра:

--folder - Название папки, которое должно присутствовать в пути до файла. @default: ''

--file-type - Какой тип файлов нужно проверять. @default: '.js'

История

В одном из проектов нужно было внедрить линтер для проверки кодстайла. Но как выяснилось было много разработчиком и еще больше легаси кода. Ошибок линтер находил больше 500к, руками править долго, а автофиксер не подходил из-за старых и объемных кусков кода. Поскольку разработчиков много, а времени на мерджреквесты не всегда найти для тщательной проверки, решили выбрать такой вариант: Перед коммитов проверять изменненый/новй код разработчика и не давать ему сделать коммит, пока он не поправит его по оговоренным правилам.

Краткое описание

Используется библиотека pre-commit для вызова функции проверки. Она собирает все измененные файлы в данный момент, прогоняет их через eslint и оставляет только те куски кода, которые были изменены, что упрощает головную боль разработчикам и снимает её с кодревью.