biomejs/pre-commit
GitHub: biomejs/pre-commit
为 Biome 代码工具链提供 pre-commit 钩子,让代码格式化、lint 检查和导入整理在每次提交前自动执行。
Stars: 77 | Forks: 8
# pre-commit 钩子
本仓库提供了用于 [pre-commit](https://pre-commit.com/) 的 [Biome](https://biomejs.dev) 钩子。
以下内容假设您已经[安装了 pre-commit](https://pre-commit.com/index.html#install) 并在您的仓库中运行了 `pre-commit install`。
## 使用 Biome 的 pre-commit 钩子
Biome 提供了四个钩子:
| 钩子 `id` | 描述 |
| -------------- | ------------------------------------------------------------ |
| `biome-ci` | 检查格式,检查导入是否已组织,并进行 lint |
| `biome-check` | 对提交的文件进行格式化、组织导入、lint 并应用安全的修复 |
| `biome-format` | 对提交的文件进行格式化 |
| `biome-lint` | 对提交的文件进行 lint 并应用安全的修复 |
例如,如果您想使用 `biome-check` 钩子,
请将以下 pre-commit 配置添加到项目根目录下名为 `.pre-commit-config.yaml` 的文件中:
```
repos:
- repo: https://github.com/biomejs/pre-commit
rev: v2.4.14 # Use the sha / tag you want to point at
hooks:
- id: biome-check
```
## 结合本地 pre-commit 钩子使用 Biome
如果 Biome 已作为 `npm` 包安装在您的本地仓库中,
那么在更新 Biome 时,同时更新 `package.json` 和 `.pre-commit-config.yaml` 可能会是一项负担。
您可以指定自己的[本地钩子](https://pre-commit.com/index.html#repository-local-hooks),而不是使用所提供的 Biome 钩子。
例如,如果您使用 `npm`,可以在 `.pre-commit-config.yaml` 中编写以下钩子:
```
repos:
- repo: local
hooks:
- id: local-biome-check
name: biome check
entry: npx biome check --write --files-ignore-unknown=true --no-errors-on-unmatched
language: system
types: [text]
files: "\\.(jsx?|tsx?|c(js|ts)|m(js|ts)|d\\.(ts|cts|mts)|jsonc?|css|svelte|vue|astro|graphql|gql)$"
```
pre-commit 的 `files` 选项是可选的,
因为 Biome 能够忽略未知文件(使用选项 `--files-ignore-unknown=true`)。
标签:Biome, Cilium, CMS安全, Git Hooks, JavaScript, Lint, NPM, Pre-commit, SOC Prime, TypeScript, 代码格式化, 代码规范, 前端工具, 可视化界面, 安全插件, 开发工具, 数据可视化, 网络调试, 自动化, 错误基检测, 静态代码分析