Да, после долгого времени я вернулся :)

Поэтому в большинстве случаев у нас возникает проблема: почему наши друзья фиксируют файлы с такими ошибками, как

  1. линтинг не делается.
  2. без надлежащего отступа.
  3. и бла-бла-бла.

Итак, для этого мы можем настроить некоторые хуки в git, поэтому, когда кто-то работает с какими-либо файлами и пытается зафиксировать, то сначала ему нужно устранить все ошибки, после чего он может зафиксировать это, качество кода также улучшится.

Требование:

поэтому для этого нам нужно установить 2 пакета в наших зависимостях для разработчиков.

  1. хаски (npm install husky –save-dev)
  2. lint-staged (npm install lint-staged –save-dev)

Настройка:

Итак, в нашем файле package.json нам нужно настроить, как показано ниже. Здесь я беру две конфигурации для Tslint и для Eslint. Как и большую часть времени, мы работаем в angular.js и react.js ;). Я предполагаю, что все мои файлы в папке src.

для TSlint

поэтому для этого нам нужно дополнительно установить пакет tslint, как указано ниже в devDependencies

{ "name": "test tslint", "version": "0.0.0", "private": true, "dependencies": { //your dependencies }, "devDependencies": { "husky": "^3.0.3", "lint-staged": "^9.2.1", "tslint": "^5.8.0" }, "husky": { "hooks": { "pre-commit": "lint-staged" } } , "lint-staged": { "{src}/**/*.{js,ts}": [ "tslint -c tslint.json", "git add" ] } }

для ESlint

поэтому для этого нам нужно дополнительно установить пакет eslint, как указано ниже в devDependencies

{ "name": "test tslint", "private": true, "dependencies": { //your dependencies }, "devDependencies": { "husky": "^3.0.3", "lint-staged": "^9.2.1", "eslint": "^5.16.0", }, "husky": { "hooks": { "pre-commit": "lint-staged" } }, "lint-staged": { "**/{src,lib}/**/*.{js,jsx}": [ "eslint --fix", "git add" ] } }

подробнее см. https://tech-blog.maddyzone.com/javascript/lint-files-before-commit

Пожалуйста, дайте свои комментарии и предложения ниже.

Спасибо.