预提交挂钩失败

时间:2019-01-08 01:30:02

标签: git tslint nestjs husky

我正在为新项目使用 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"
    ]
  },

2 个答案:

答案 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