问题标签 [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 回答
56 浏览

elixir - lint-staged 用于 elixir/phoenix 项目

一个 lint 文件如何使用 , 等进行提交,而不是项目中的所有mix credo文件mix format

在 JavaScript 生态系统中,这是通过lint-staged和完成的husky。Elixir 的 husky 包版本名为git_hooks,但我没有发现任何类似于 lint-staged 的​​东西。

是否存在一个 elixir 包来实现我在提交 elixir 文件时仅运行 lint 命令的目标?

我在 config/dev.ex 中使用 git_hook 运行的示例配置。

0 投票
1 回答
560 浏览

javascript - 如何为 Vue 项目设置 lint-staged?

我使用 Vue CLI 创建了一个新的 Vue3 应用程序,并为我的 linter 配置选择了 Prettier。我想使用 commitlint、husky 和 ​​lint-staged 来验证提交消息并在推送之前对代码进行 lint。

我做了什么

基于https://commitlint.js.org/#/guides-local-setup我用 husky 设置 commitlint

基于https://github.com/okonet/lint-staged#installation-and-setup我设置了 lint-staged

在 package.json 我替换

问题

将项目中的README.md文件修改为

并尝试提交我收到以下错误消息

它应该做什么

仅修复已修改的文件。linter 知道它能够修复的文件(js、ts、vue、html,...)。

当有一个修改过的降价文件时,我打开终端并运行时没有错误npm run lint。但是在此设置中使用 lint-staged 时确实会出错"*": "npm run lint"

lint-staged 仅对“lintable”文件进行 lint 的正确设置是什么?

0 投票
0 回答
104 浏览

lint - 使用 Husky 推送提交时如何防止 console.log

所以......我什至不完全确定我hooks是否在工作,但这是我目前的设置。我正在使用"husky": "7.0.4""lint-staged": "12.1.2"

pre-commit的 on.husky看起来像这样

package.json有这个

我不完全确定从哪里开始能够获得一个允许我检测console.log()我的staged/pushed文件的钩子。

0 投票
0 回答
224 浏览

javascript - Prettier 格式化一个 json 文件

我有一个未格式化的json文件,它存储在我的应用程序中,结构如下

我正在使用huskylint-staged在预提交时使用 prettier 和 linting。配置驻留在我package.json的如下

但是由于某种原因,abc.json当我将代码推送到 github 时,文件永远不会被格式化。我错过了什么?

0 投票
1 回答
81 浏览

git - `npx mrm@2 lint-staged` 崩溃并显示 `Error: .git can't be found (...)`

我正在尝试按照更漂亮的文档中的说明设置 lint-staged 。
当我运行时npx mrm@2 lint-staged,我收到以下错误:

我按照错误中的链接并相应地更改了脚本部分package.json

运行时我仍然遇到相同的错误npx mrm@2 lint-staged。我该怎么做才能让 lint-staged 运行?

我的项目结构:

0 投票
0 回答
8 浏览

typescript - 无法在 monorepo 中运行 lint-staged + eslint

每当我尝试在提交时使用 lint-staged 运行 eslint 时,我都会收到有关 parserOptions.project 的以下错误:

lint-staged 错误

对于简单的 Node JS 后端 + React 前端,我有以下项目结构。每个模块都有自己的 eslint+tsconfig 并且它们都扩展了基础模块。该项目是在每个中设置的,与错误所暗示的不同。当我正常运行 eslint 时,它的行为符合预期。

项目结构

tsconfig-base.json

.eslintrc-base.js

服务器、客户端、共享中的.eslintrc.js

服务器、客户端、共享中的tsconfig.json看起来有点像这样

包.json

有谁知道是什么原因造成的?任何帮助将非常感激!请让我知道缺少任何信息。我也乐于接受更好的做事方式。

我尝试为每个模块运行不同的 lint-stage 命令,指定特定的 eslintrc.js 无济于事。

非常感谢

0 投票
0 回答
15 浏览

git - 覆盖范围的玩笑不会在 lint-staged 阶段失败

我已经用 jest 配置了 lint-staged:

我还有以下jest.config.js配置文件:

据我所知,像我在 lint-staged 阶段尝试的方式运行 jest 应该失败,原因有两个:1. 在 lint-staged 阶段检查的文件没有测试文件 2. 覆盖率应该因为 0% 结果而失败。我已将其配置为阈值 90%。

但是,当运行git commit ...lint-staged 开始时,我得到:

它没有失败。为什么?

0 投票
1 回答
28 浏览

vue.js - 设置 lint-staged 会生成一个带有数字的文件,其中包含有关已安装软件包的信息

我正在创建一个新的 Vue 项目npm init vue@latest并选择所有内容(Eslint with Prettier)

我正在使用以下设置

  • 操作系统:Win11
  • 节点:v17.4
  • npm:v8.4

通过 PowerShell 创建新项目后,我打开 Visual Studio Code 并使用其终端窗口。


我在 VSC 中使用 PowerShell、CMD 和 Git Bash 尝试了以下操作


我想使用lint-staged,基于我运行的文档,npx mrm@2 lint-staged它工作正常,但生成一个没有文件扩展名的具有单个数字的文件

在此处输入图像描述

这个文件的内容是

我必须手动删除文件,以免有人误推。有人知道为什么会发生这种情况以及如何防止这种情况发生吗?

0 投票
1 回答
29 浏览

vue.js - lint-staged 在提交时生成新的 .eslintcache 文件

我正在创建一个新的 Vue 项目npm init vue@latest并选择所有内容(Eslint with Prettier)

我正在使用以下设置

  • 操作系统:Win11
  • 节点:v17.4
  • npm:v8.4

我设置了 lint-staged via npx mrm@2 lint-staged。出于测试目的,我在src目录中添加了一个新文件

提交新文件时,linter 按预期修复代码样式。但之后我必须手动删除生成的.eslintcache文件。

较早的帖子说我应该添加

*.eslintcache

.gitignore文件。但是我将生成的.gitignore文件与从 Vue CLI 生成的文件进行了比较,两者都没有这一行。使用 Vue CLI 时,缓存文件不会出现。

那么还有其他解决方案还是我错过了什么?