我正在尝试添加预钩,如果有任何代码失败的问题,commit.what是实现它的正确方法。
tslint.sh
#!/bin/sh
sh ./npm-install.sh
if [ $? -ne 0 ]; then
echo "npm-install error, exiting.."
exit 1
fi
echo "Running ts lint"
npm run lint
if [ $? -ne 0 ]; then
echo "Unit tests error, exiting.."
exit 1
fi发布于 2018-07-03 14:27:20
我有一个成功的经验来实现这一点:
husky tslint指定git hooklint-staged =>在git中运行暂存文件的命令(因此不需要对所有文件运行husky)参考资料:
在package.json中,在husky字段中指定lint-staged和pre-commit:
"dependencies": ...,
"devDependencies": ...,
"scripts" ...,
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
},
"lint-staged": {
"*.ts": [ // target to all typescript files in staged stage in git
"npm run lint", // your lint command
"git add"
]
}发布于 2018-07-03 04:51:11
这里有一种方法:https://www.npmjs.com/package/pre-commit
预提交是git的一个预提交钩子安装程序。它将确保您的npm测试(或其他指定的脚本)通过后,您才能提交更改。这些都在您的package.json中方便地进行了配置。
发布于 2018-07-03 13:45:13
package.json:
{
"name": "app name",
"version": "0.1.0",
"license": "MIT",
"author": "author",
"contributors": [
],
"description": "...",
"scripts": {
"ng": "ng",
"precommit": "lint-staged"
},
...,
"lint-staged": {
"*.{ts,js,sccs,json}": [
"ng lint app-name --fix",
"./node_modules/.bin/prettier --write",
"git add"
]
},
"dependencies": {
...
},
"devDependencies": {
...
"lint-staged": "^7.2.0",
"prettier": "^1.13.5",
"ts-node": "^6.1.2",
"tslint": "^5.10.0",
"typescript": "2.7.2"
}
}https://stackoverflow.com/questions/51141949
复制相似问题