问题标签 [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.
jestjs - 没有找到测试用例 Jest
我在lint-staged
插件方面遇到了一个奇怪的问题。它之前工作正常。
所以问题是当我运行npm run test
它时会生成覆盖率报告。
"test": "cross-env CI=true react-scripts test --coverage",
但是当我使用husky
pre-commit 运行相同的命令并且lint-staged
它不起作用时。当我检查控制台时,我发现它正在针对已修改的文件运行。
有明显区别
当我跑
npm run test
它运行
cross-env CI=true react-scripts test --coverage
当npm run test
被 husky 和 lint-staged 调用时
它被称为
cross-env CI=true react-scripts test --coverage "/Users/carlos/Desktop/portal/src/container/Auth/Login.page.js"
之后附加了文件路径--covrage
这是我的包 JSON 配置。
注意:当我使用 lint-staged 时,只有当我使用pre-commit:npm run test
它工作正常时才会发生这种情况。
git - 如何使用 Husky 预提交挂钩访问提交消息?
我的沙哑脚本:
假设我正在做一个git commit -m "I want that text"
. 如何在 shell 脚本中访问我的提交消息?我试图在 shell 脚本中回显 $HUSKY_GIT_PARAMS 和 $HUSKY_GIT_STDIN 但没有成功
git - 如何让 Visual Studio Code 在提交之前保存文件中的更改?
我经常提交,然后注意到我正在处理的文件之一没有保存,因此被排除在提交之外。
我用 Husky 建立了我当前的项目,并在提交或推送之前进行了自动化测试 / linting。
这是当前的 Husky 设置,只是为了让您了解脚本可以适合的位置。
有什么方法可以让 Visual Studio 或 Husky 保存所有打开的文件预提交?
husky - Yorkie git 钩子总是以“未找到”而失败
我正在使用 yorkie 2.0.0,并且无法在我的 git 挂钩中运行任何自定义 shell 脚本。我的目录结构如下所示:
我的 package.json 有这个 gitHooks 部分:
该commit-msg
文件绝对是可执行的,这是ls -l
行:
创建提交时,我得到以下输出:
我尝试了各种不同的目录结构,但从未找到。我已将 package.json 中的 gitHook 脚本更改为类似ls .githooks
的内容,然后文件就会显示出来。
到底是怎么回事?为什么yorkie找不到我的文件?
(我用 husky 标记了这个,因为 yorkie 是 husky 的一个分支,变化很小,并且没有 yorkie 标签。这里的问题可能不是 yorkie 特有的)
node.js - 运行 npm install .nvmrc 会填充看似随机的节点版本
npm install
从我的项目运行会在./node_modules/sockjs-client/.nvmrc下创建一个指向6.14.2.nvmrc
的文件。关于我的本地安装的一些信息:
nvm --version
: 0.34.0npm --version
: 6.4.1node --version
: v11.3.0nvm ls
-> v11.3.0
v12.10.0
系统默认 -> 11.3.0 (-> v11.3.0)
节点 -> stable (-> v12.10.0) (默认)
stable -> 12.10 (-> v12.10.0) (默认)
iojs -> N/A (默认)
不稳定 -> N/A (默认)
lts/* -> lts/dubnium (-> N/A)
lts/argon -> v4.9.1 (-> N/A)
lts/硼 -> v6.17.1 (-> N/A)
lts/碳 -> v8.16.1 (-> N/A)
lts/dubnium -> v10.16.3 (-> N/A)
问题与我的 git 钩子有关,如下所示:当我尝试从命令行提交时,我没有任何问题。节点版本被适当识别,我可以成功提交。
但是,从其他 UI 环境(IntelliJ、SmartGit)来看,git 挂钩失败并显示以下内容:
当我删除node_modules
文件夹和.nvmrc
子文件夹中包含的文件时,我可以通过 IntelliJ 和 SmartGit 再次成功提交。我的 IntelliJ 节点配置如下:
我的假设是 IntelliJ 和 SmartGit 使用这个错误填充的.nvmrc
文件中指定的 nvm 版本。我对节点版本管理——或者事实上节点本身——不是很熟悉——所以我可能会问以下问题来解释这种不一致:
- 文件是如何
.nvmrc
创建的?在哪个阶段,什么定义了它的内容? - 除了
nvm ls
- 我想知道一些过时的节点版本是否会驱动.nvmrc
这个超级旧的6.14.2版本的人口之外,还有其他方法可以识别我机器上的所有可用节点版本。
这是我的 PATH 的内容,因为这在 IntelliJ 中已解决
我在 Ubuntu 18.10 上运行它
node.js - 提交时如何获得 git commit 消息?
提交时如何获得 git commit 消息?我用哈士奇。
我已经尝试在准备提交消息时获取提交消息。
打包
推文-git/index.js
标准输出将未定义。请帮忙,谢谢
git - 带条件的 Git 预推送配置
我们的项目目录中有项目的服务器和客户端部分。
结构看起来像
在项目中,我们使用 husky 库启用了 git pre-push 脚本。pre-push 脚本仅运行 react_ui 文件夹中的 package.json 脚本,包括 linting、测试等。
问题是脚本在每次推送到服务器时都会运行,即使只更改了 java_server 文件。
所以问。只有在 react_ui/ 中的文件发生更改时,我才能以它运行的方式配置预推送挂钩吗?
javascript - 手动运行一个 husky git 钩子(不使用 git 命令触发它)
我正在设置一个节点项目,husky
并且我希望手动运行一个 git-hook 脚本,而不必在 git 中触发它。
例子:
我的 package.json 有以下内容:
如果我运行npm run precommit
,则lint-staged
挂钩步骤会运行,而提交实际上不会发生在 git 中。
这可能吗?
reactjs - 如何使用 husky precommit 捕获未使用的变量
在我的 react/typescript 项目中,我对 tslint 使用了 no-unused-variable规则。因此,如果没有未使用的变量或导入,它将阻止提交。现在它说,它已被弃用并在 tsconfig 文件中使用noUnusedLocals和 **noUnusedParameters* 。
我是这样用的。
}
现在未使用的变量被突出显示为警告,但预提交无法捕获它们。
我怎样才能解决这个问题?