问题标签 [husky]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
53614 浏览

angular - husky > pre-commit hook 失败(添加 --no-verify 绕过)

突然,我给git commit.

在此处输入图像描述

我不知道我做错了什么。我也试过git clean命令。有人遇到过类似的问题吗?

0 投票
0 回答
3051 浏览

githooks - 如何在不阻塞提交的情况下使用 husky 和 ​​lint-staged 运行“stylelint --fix”

我正在使用 husky 和 ​​lint-staged 使用此配置在我的 sass 文件上运行“stylelint --fix”

和 PhpStorm 阻止我的提交告诉我:

Commit failed with error, 0 file committed, 4 files failed to commit: test lintstaged husky > pre-commit (node v12.18.4) ⚠ Some of your tasks use `git add` command. Please remove it from the config since all modifications made by tasks will be automatically added to the git commit index. [STARTED] Preparing... [SUCCESS] Preparing... [STARTED] Running tasks... [STARTED] Running tasks for resources/sass/*.scss [STARTED] stylelint --fix [FAILED] stylelint --fix [FAILED] [FAILED] stylelint --fix [FAILED] [SUCCESS] Running tasks... [STARTED] Applying modifications... [SKIPPED] Skipped because of errors from tasks. [STARTED] Reverting to original state because of errors... [SUCCESS] Reverting to original state because of errors... [STARTED] Cleaning up... [SUCCESS] Cleaning up... ✖ stylelint --fix: resources/sass/_custom.scss 614:1 ✖ Unexpected duplicate selector "body", first used at line 116 no-duplicate-selectors 974:11 ✖ Unexpected unknown type selector "readonly" selector-type-no-unknown 988:1 ✖ Unexpected duplicate selector "body", first used at line 116 no-duplicate-selectors 1313:1 ✖ Unexpected duplicate selector ".btn.clear", first used at line 418 no-duplicate-selectors husky > pre-commit hook failed (add --no-verify to bypass)

我在文档上读到使用命令“--no-verify”它会跳过“stylelint --fix”,但我想运行“stylelint --fix”来修复stylelint可以修复的错误并跳过防止犯罪。

换句话说,我想修复可以自动修复的错误并提交,即使有来自 stylelint 的警告。

有可能这样做吗?

0 投票
2 回答
17237 浏览

javascript - 加载规则“@typescript-eslint/dot-notation”时出错

今天我运行 eslint,两个脚本

当我运行时npm run eslint// 没问题 当我运行时npm run lint-staged// 这是错误的

lint-staged 的​​结果;

包装内 lint-staged

发生了什么事?

0 投票
1 回答
326 浏览

angular - GITHook Husky Angular

在我们的 Angular 应用程序中,我们希望在将代码推送到 GIT 之前运行“ng test”。所以这样做我们集成了 husky for GIT hook。

package.json,下面提到"git-hook": "npm run test-headless"

我只想在所有测试用例成功执行的情况下将代码推送给代表,但目前即使测试用例失败,代码推送也在发生。

0 投票
1 回答
1406 浏览

git - 通过覆盖“检测到 CI,跳过 Git 挂钩安装”在 Jenkins 管道作业中安装 husky git 挂钩

我正在尝试使用husky安装 git hooks 作为 Jenkins 管道作业的一部分。

我已将此添加到 Jenkins 工作中:

但是当作业运行时,我在 Jenkins 输出中看到了这一点:

...并且.git/hooks/precommit永远不会创建挂钩文件。

故障排除研究笔记:

  • husky v4 文档中,它说“默认情况下,Husky 不会安装在 CI 服务器上”。我找不到任何有关如何覆盖该默认行为的文档。

  • 搜索 repo 代码时,我什至在代码中找不到“检测到 CI,跳过 Git 挂钩安装”字符串 。

  • 我在 2017 年的 husky repo 中发现了一个问题,开发人员解释了为什么 husky 不在 CI 中安装,但没有解释如何覆盖它,而是表示他们有兴趣了解在 CI 中运行 husky 的用例(暗示至少在 2017 年没有办法覆盖)。

  • 在 2019 年 6 月的这篇文中,作者暗示 husky 根本无法在 CI 中运行,它使用is-ci来检测它是否在 CI 服务器上运行。在此处is-ci的 husky 文档中提到,他们建议使用它来检测 husky 是否在 CI 中运行并用于禁用它。但是,我遇到的行为是 husky 已经不在 CI 中运行。我尝试过设置Jenkins 工作,但没有效果。HUSKY=0HUSKY=1

0 投票
2 回答
755 浏览

node.js - npm 错误!使用 husky 和 ​​lint-staged 编码 EJSONPARSE npm install

我的package.json可以在没有husky​​lint-staged 的​​情况下工作,但不能与它们一起工作。它在说:

我在package.json中添加的是...

"husky": { "hooks": { "pre-commit": "npm run test && prettier --write", "pre-push": "npm run test && prettier --write" } }, "lint-staged ": {​​​​​​​​“*.{​​​​​​​​​ts,tsx}​​​​​​​​​”:[“更漂亮--write”,“git add” ] }​​​​​​​​​</p>

一些用户要求我上传整个package.json,所以这里是代码......

0 投票
3 回答
6581 浏览

git - Husky v5 不创建 Git 钩子

我已经在我的应用程序中安装了 Husky v5,我想在提交时运行该lint-staged命令。

我遵循了入门文档,但在我的 git 配置文件中没有创建 .git/hooks/pre-commit 文件。

所以,当我提交时,钩子没有运行,提交直接通过,没有被 lint-staged 检查。

我试过跑步yarn add -D husky@nextnpm i -D husky@next。我还尝试删除 node_modules 和 npm 重建。

.husky/预提交

包.json

0 投票
1 回答
432 浏览

pre-commit-hook - 使用 Husky 时出现预提交错误“找不到模块 - npx-cli.js”

我正在尝试运行一个 pre-commit 挂钩,该挂钩使用 husky 和 ​​stylelint 检查我的风格,但是当我尝试提交文件时 GitKracken 失败。日志内容如下:

我正在运行 npm version: 6.13.4和 node version: 12.14.1。根据我的研究,npx 已经与 npm 一起安装在超过 5 个左右的任何版本中。我也尝试过全局安装 npx ,但无法安装声明文件已存在。

我确定这是一个路径问题,或者我可能错误地使用了 husky,但我想看看是否有人知道我为什么在让它工作时遇到问题。感谢您提供的任何见解。

包.json

0 投票
1 回答
542 浏览

git - 预提交挂钩检查源 lint(未暂存)

git hooks 的想法是防止提交错误的源代码。我husky用于此目的。这是我的设置:

如果存在 lint 错误,它会阻止提交。这是场景:

  1. 开发人员编写了错误的代码(例如x==y应该x===y从 lint 的角度来看)
  2. 他使用这些命令:git add .并且git commit -m "msg here"失败了。因为 lint 失败了。
  3. 他更正了源代码。但他没有再做git add .一次,而是使用了这个命令git commit -m "msg here":这次 lint 没有失败,因为在源代码中一切都很好,并且ng lint成功了。但实际上,他正在提交之前添加的先前版本。

知道如何防止这种情况吗?

0 投票
1 回答
3778 浏览

git - 赫斯基钩子不在 Lerna monorepo 中运行

我正在开发一个 MonoRepo,我试图自动化的最后一件事是我对代码提交的所有 linting/formatting。

目前我的大部分配置都在根文件夹中,我正在将它们扩展到包中。如果我npm run precommit根目录中运行,我可以看到我的包被成功检查。

当我暂存并提交代码时出现问题,哈士奇钩子不运行并且提交通过而没有成功进行检查

文件夹结构

根包.json

每个包里面都有这个脚本