问题标签 [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.
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 运行的示例配置。
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 的正确设置是什么?
lint - 使用 Husky 推送提交时如何防止 console.log
所以......我什至不完全确定我hooks
是否在工作,但这是我目前的设置。我正在使用"husky": "7.0.4"
和"lint-staged": "12.1.2"
。
我pre-commit
的 on.husky
看起来像这样
我package.json
有这个
我不完全确定从哪里开始能够获得一个允许我检测console.log()
我的staged
/pushed
文件的钩子。
javascript - Prettier 格式化一个 json 文件
我有一个未格式化的json
文件,它存储在我的应用程序中,结构如下
我正在使用husky
并lint-staged
在预提交时使用 prettier 和 linting。配置驻留在我package.json
的如下
但是由于某种原因,abc.json
当我将代码推送到 github 时,文件永远不会被格式化。我错过了什么?
typescript - 无法在 monorepo 中运行 lint-staged + eslint
每当我尝试在提交时使用 lint-staged 运行 eslint 时,我都会收到有关 parserOptions.project 的以下错误:
对于简单的 Node JS 后端 + React 前端,我有以下项目结构。每个模块都有自己的 eslint+tsconfig 并且它们都扩展了基础模块。该项目是在每个中设置的,与错误所暗示的不同。当我正常运行 eslint 时,它的行为符合预期。
tsconfig-base.json
.eslintrc-base.js
服务器、客户端、共享中的.eslintrc.js
服务器、客户端、共享中的tsconfig.json看起来有点像这样
包.json
有谁知道是什么原因造成的?任何帮助将非常感激!请让我知道缺少任何信息。我也乐于接受更好的做事方式。
我尝试为每个模块运行不同的 lint-stage 命令,指定特定的 eslintrc.js 无济于事。
非常感谢
git - 覆盖范围的玩笑不会在 lint-staged 阶段失败
我已经用 jest 配置了 lint-staged:
我还有以下jest.config.js
配置文件:
据我所知,像我在 lint-staged 阶段尝试的方式运行 jest 应该失败,原因有两个:1. 在 lint-staged 阶段检查的文件没有测试文件 2. 覆盖率应该因为 0% 结果而失败。我已将其配置为阈值 90%。
但是,当运行git commit ...
lint-staged 开始时,我得到:
它没有失败。为什么?
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
它工作正常,但生成一个没有文件扩展名的具有单个数字的文件
这个文件的内容是
我必须手动删除文件,以免有人误推。有人知道为什么会发生这种情况以及如何防止这种情况发生吗?
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 时,缓存文件不会出现。
那么还有其他解决方案还是我错过了什么?