
Да, после долгого времени я вернулся :)
Поэтому в большинстве случаев у нас возникает проблема: почему наши друзья фиксируют файлы с такими ошибками, как
- линтинг не делается.
- без надлежащего отступа.
- и бла-бла-бла.
Итак, для этого мы можем настроить некоторые хуки в git, поэтому, когда кто-то работает с какими-либо файлами и пытается зафиксировать, то сначала ему нужно устранить все ошибки, после чего он может зафиксировать это, качество кода также улучшится.
Требование:
поэтому для этого нам нужно установить 2 пакета в наших зависимостях для разработчиков.
- хаски (npm install husky –save-dev)
- 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
Пожалуйста, дайте свои комментарии и предложения ниже.
Спасибо.