我正在为新项目使用 NestJs 。
我正在使用此命令添加所有文件。 git add .
当我在添加所有文件后提交时,赫斯基阻止提交并显示此错误。
[文件路径] /。spec.ts'未包含在项目中。
husky>预提交挂钩失败(添加--no-verify绕过)
我隐式添加了文件,但是仍然抛出该错误。
我的tsconfig.json文件
{
"compilerOptions": {
"module": "commonjs",
"declaration": false,
"noImplicitAny": false,
"removeComments": true,
"noLib": false,
"allowSyntheticDefaultImports": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es6",
"sourceMap": true,
"allowJs": true,
"outDir": "./dist",
"baseUrl": "./src",
"lib": ["dom", "es2018", "esnext"]
},
"include": ["src/**/*"],
"exclude": ["node_modules", "**/*.spec.ts"]
}
这就是我在package.json文件中添加沙哑命令的方式
"scripts": {
"lint": "tslint -p tsconfig.json -c tslint.json",
},
"husky": {
"hooks": {
"pre-commit": "lint-staged",
"post-commit": "git push origin HEAD"
}
},
"lint-staged": {
"*.ts": [
"tslint -p tsconfig.json -c tslint.json",
"git add"
]
},
答案 0 :(得分:0)
是因为tsconfig.json文件的"**/*.spec.ts"
属性中有exclude
作为值,您的预提交钩子失败了吗?
您可以像这样编辑文件并对其进行测试:
{
"compilerOptions": {
"module": "commonjs",
"declaration": false,
"noImplicitAny": false,
"removeComments": true,
"noLib": false,
"allowSyntheticDefaultImports": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es6",
"sourceMap": true,
"allowJs": true,
"outDir": "./dist",
"baseUrl": "./src",
"lib": ["dom", "es2018", "esnext"]
},
"include": ["src/**/*"],
"exclude": ["node_modules"]
}
答案 1 :(得分:0)
如果您使用的是Windows操作系统,则应在package.json中包含的钩子脚本应 格式如下
"husky": {
"hooks": {
"pre-push": "set CI=true&&npm test"
}
},
对于其他操作系统,请使用以下代码段
"husky": {
"hooks": {
"pre-push": "CI=true npm test"}},
有关以下内容的更多信息: https://facebook.github.io/create-react-app/docs/running-tests#on-your-own-environment