`lint-staged` 教程

lint-staged 教程

lint-staged🚫💩 — Run linters on git staged files项目地址:https://gitcode.com/gh_mirrors/li/lint-staged

1. 项目目录结构及介绍

lint-staged 是一个用于在 Git 暂存区的文件上运行 Linters 的工具,帮助你在提交代码前确保其符合规范。典型的项目结构包括以下几个核心部分:

lint-staged/
├── CHANGELOG.md
├── CONTRIBUTING.md
├── index.js        // 主入口文件,实现核心功能
├── lib/             // 内部库文件
├── package.json     // 项目元数据,包括依赖、脚本等
└── README.md        // 项目说明文档

index.js 文件是项目的主逻辑入口点,处理配置加载和任务执行。

2. 项目启动文件介绍

lint-staged 通常作为一个开发时的依赖,集成在你的项目中,配合如 husky 这样的 Git 钩子管理工具一起使用。因此,它并不直接启动,而是通过以下步骤进行集成:

  1. 安装:在你的项目目录下运行 npm install --save-dev lint-staged husky
  2. 配置:在 package.json 中添加 lint-staged 配置。
  3. 配置 Git 钩子:在 package.json 中或者单独的 .husky 目录下配置 pre-commit 钩子。

例如,在 package.json 中的 scripts 字段,你可以加入如下脚本:

{
  "scripts": {
    "precommit": "lint-staged"
  },
  "lint-staged": {
    "*.js": ["eslint --fix", "git add"]
  }
}

这样,在每次提交时,lint-staged 会自动对所有改动的 .js 文件执行 eslint --fixgit add

3. 项目配置文件介绍

格式支持

lint-staged 允许在以下地方定义配置:

  • package.json 文件内的 lint-staged 属性。
  • .lintstagedrc 文件,可以是 JSON、YAML 或者 JS 格式。
  • lint-staged.config.{mjs,cjs} 文件,支持 ESM 或 CommonJS 格式。

示例配置

配置文件的基本格式是一个对象,其中键是匹配文件的 glob 模式,值是对这些文件应用的命令列表:

// package.json 示例
{
  "lint-staged": {
    "*.js": ["eslint --fix", "git add"],
    "*.css": ["stylelint --fix", "git add"]
  }
}

在上面的例子中,所有 JavaScript 文件(*.js)将在提交时先通过 ESLint 进行修复,然后将更改添加回暂存区。同样的,CSS 文件将使用 stylelint 处理。

如果你需要更复杂的配置,比如忽略某些文件,可以在任务本身中配置,或者使用函数过滤文件后再传递给 linter。

现在,你已经了解了如何配置和使用 lint-staged 来自动化你的代码质量检查流程。记得集成后,每次提交都会变得更加有序且符合编码规范。

lint-staged🚫💩 — Run linters on git staged files项目地址:https://gitcode.com/gh_mirrors/li/lint-staged

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

惠悦颖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值