【问题标题】:Husky error on precommit: npm ERR! missing script: pre-commit预先提交时出现赫斯基错误:npm ERR!缺少脚本:预提交
【发布时间】:2021-06-28 23:29:17
【问题描述】:

我正在使用最新版本的纱线。我正在尝试在我的项目中设置 Husky。

文件.huskyrc.json

{
  "hooks": {
    "pre-commit": "lint-staged",
    "pre-push": "npm run test:noWatch"
  }
}

文件lintstagedrc.json

{
  "src/**/*.{js,ts,jsx,tsx}": ["yarn lint"],
  "*.json": ["prettier --write"]
}

文件package.json

{
...
  "scripts": {
    "start": "expo start",
    "android": "expo start --android",
    "ios": "expo start --ios",
    "web": "expo start --web",
    "eject": "expo eject",
    "test": "jest --watchAll",
    "lint": "eslint . --ext .ts,.tsx,.js,.jsx,.json --max-warnings 0",
    "lint:fix": "eslint . --ext .ts,.tsx,.js,.jsx,.json --fix",
    "prettier-format": "prettier --config .prettierrc '**/*.{json,js,jsx,ts,tsx,css,scss,md}' --write"
  },
...
{

错误:

npm ERR! missing script: pre-commit

如果我将此添加到package.json 上的脚本中:

"pre-commit": "yarn prettier-format && yarn lint",

然后它运行这两个命令,但是所有其他文件的配置呢?我的意思是,如果我运行 pre-commit 脚本,它只运行那些 prettier-format 和 yarn lint 命令,但它们的其余部分?

这是我读到的https://javascript.plainenglish.io/husky-lint-staged-on-a-react-typescript-project-automate-validation-before-submitting-your-code-8d388e63be70,但他从未提及预提交脚本。

【问题讨论】:

    标签: javascript json npm husky yarnpkg-v2


    【解决方案1】:

    对不起。直到看到我的另一个项目,我才知道发生了什么,忘记在package.json 中添加这个简单的行:

    {
    ...
      scripts: {
         "pre-commit": "lint-staged",
      }
    ...
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-10-14
      • 1970-01-01
      • 2017-08-09
      • 2017-03-06
      • 2012-02-09
      • 2020-10-16
      相关资源
      最近更新 更多