问题标签 [lint-staged]

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 投票
1 回答
1568 浏览

node.js - 预提交挂钩不起作用 | 赫斯基和 Lintstaged

我正在尝试将 typescript 预提交 Husky 钩子与 LintStaged 一起使用,但是当我进行提交时,预提交脚本没有运行,我只是在提交后收到常见的 git 响应。 git 提交响应

.huskyrc.json

}

.lintstagedrc.json

}

我的文件结构

文件结构图片

我究竟做错了什么?

0 投票
0 回答
242 浏览

prettier - lint-staged 不添加 prettier 修改的文件

我正在运行 lint-staged (v11.0.0) 作为我通过 Husky (v4.3.8) 的预提交挂钩的一部分。我的 lint-staged 执行 eslint (v7.27.0) 和 Prettier (v2.3.0)。但是,在 Prettier 运行之后,“美化”文件不会添加到提交中。

Prettier 在 lint-staged 过程中修改的文件如何自动添加到提交中?

0 投票
1 回答
671 浏览

eslint - 如何配置 lint-staged 以运行 eslint 和更漂亮的脚本

我有这个设置:

问题是无论 glob 匹配什么文件,prettier 都会运行,prettier 也会在所有文件上双重运行并重写所有文件两次。

0 投票
1 回答
343 浏览

git - “测试”的 husky 预提交钩子未完成

嗨,我安装了husky&以便为暂存文件提供&lint-stage的预提交钩子。linttests

当我转到 时,预提交挂钩起作用,git commit -m 'something'并触发了命令。

到目前为止,我在文件方面拥有的是:


.husky/pre-commit

.package.json

当 i git commit ..,(2 个文件,1 个 *.test.ts * 和 1 个 *.ts)时,它会启动linter& the test,但测试永远不会完成,除非我打破它(ctrl+c)。

  • * .test.ts文件,其中有错误。

在此处输入图像描述

只有当我打破它时,我才会在屏幕上看到错误:

在此处输入图像描述

我还注意到lint-staged:,当我git commit..

最初我是这样的:

它变成了这样:

欢迎对我错过的配置提供任何帮助。

0 投票
0 回答
46 浏览

reactjs - 为什么我在赫斯基(反应)中收到此错误?

我英语说的不好。请再说一遍。

我想在使用 husky & lint-staged 提交之前应用“更漂亮”。

所以我安装了'husky@4'、'lint-staged'、'prettier'。

我的 package.json 是

但是,当我提交时,我收到以下错误:

我已经设置了环境变量并重新启动。

如果我在 cmd 中键入“节点”,节点运行良好。

但为什么会弹出这个错误?

0 投票
0 回答
295 浏览

git - 由于 linting 错误(husky + lint-staged)导致提交失败时,挂起的 git 更改会丢失

我有一个使用 git 和 Visual Studio Code 的 Angular 应用程序。我设置了 ESLint 并使用 huskylint-staged在预提交挂钩中运行,因此无法提交带有 linting 错误的更改。

当我第一次设置它时,失败提交中的未决更改就会消失,我了解到它们正在被隐藏:https ://stackoverflow.com/a/60335168/11991371 。

我不明白为什么它会默认隐藏我的更改,而不是让我纠正掉毛错误并再次尝试提交。坦率地说,这似乎很奇怪。遇到它的每个开发人员都会感到恐慌。所以我添加了--no-stash标志,所以它不会那样做。

/.husky/预提交:

但现在我偶然发现了另一个问题案例。脚步:

  1. 对文件进行更改并意外留下 linting 错误。
  2. 暂存此文件。
  3. 在同一个文件中进行另一个更改(但不要暂存它)。
  4. 尝试提交分阶段的更改。它将由于 linting 错误而失败,并且第二次更改将丢失

如果您碰巧打开了文件,您可以通过 IDE 中的“撤消”恢复您的更改,但这是一个大问题。 如何防止由于拒绝提交而丢失工作,同时又不会自动隐藏工作?

0 投票
0 回答
208 浏览

reactjs - lint-staged prettier write 没有结束

我在 React (TypeScript) 项目中使用 Husky 和 ​​lint-staged。我的文件如下所示:

package.json

pre-commit

lint-staged.config.js

问题是更漂亮的脚本yarn fix-format:staged永远不会结束。即使我将它放在顶部,它也会继续运行。

在此处输入图像描述

如果我将 lint-stage 设置移动到package.json如下所示,则yarn check-types失败并出现错误:Cannot use JSX unless the '--jsx' flag is provided.

package.json

任何人都可以帮我吗?

0 投票
1 回答
58 浏览

reactjs - Lint Staged 不访问子文件夹

我正在运行npx lint-staged命令并注意到如果我有以下树:

并且无法在子文件夹中找到文件eslintprettier

如何让舞台在它的所有子文件夹和文件上运行?

在此处输入图像描述

.lintstagedrc.json

✖ 更漂亮——检查:

✖ eslint:

0 投票
0 回答
32 浏览

git - 使用 lint-staged 来检查这个提交是否可以构建?

使用 husky 和 ​​lint-staged 时,是否可以检查预提交中的暂存版本?

有点像这样?

如果我尝试这个,即使提交的内容应该构建,我也会收到构建错误,它说它找不到“页面”目录。这是因为它试图仅构建暂存文件吗?

也许我正在尝试做一些不可能的事情。我只是想防止在 CI 构建管道上检查失败的代码。

谢谢 :)

0 投票
0 回答
41 浏览

lerna - 如何在提交的文件上运行 Lerna 命令

问题

我正在使用 husky、lint staged 和 lerna 对最近使用这个提交的包中的文件运行一些测试 yarn run lerna run --concurrency 1 --stream prepush --since HEAD --exclude-dependents 当我在 pre-commit 挂钩中使用此命令时,它在暂存文件上完美运行。但我需要使用相同的命令对已提交的苍蝇运行测试。

我想运行一些与推送前最近更改的文件相关的测试

当前行为

当前的行为是,当我在提交的文件上运行上述命令时,我得到了这个 msg lerna success run No packages found with the lifecycle script 'prepush'

所以我的问题是:有没有办法在提交的文件上或在推送之前运行 lerna 命令?任何帮助表示赞赏。