设置 CI 和其他集成
您可以——也应该——设置 CI 管道运行 Oxlint,并在 lint 错误时使构建失败。
本页面还介绍您可能需要的其他集成,如 git 预提交钩子。
CI
这些说明假设您已经通过将 oxlint 添加到 package.json 的 devDependencies 在项目中设置好了 Oxlint,并且仓库中已经有 oxlint 配置文件。
GitHub Actions
首先,如果还没有 lint 脚本,请在 package.json 中添加:
{
"scripts": {
"lint": "oxlint"
}
}然后创建 .github/workflows/oxlint.yml:
name: Lint
on:
pull_request:
push:
branches: [main]
permissions: {}
jobs:
oxlint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v6
with:
node-version: lts/*
cache: pnpm
# 或者在这里使用 npm install / yarn install
- run: pnpm install --frozen-lockfile
- run: pnpm run lint或者,您可以使用 github 格式选项输出,以获得更好的警告/错误注释:
{
"scripts": {
"lint:github": "oxlint --format=github"
}
}GitLab CI
如果您使用 GitLab CI,可以通过 --format=gitlab 和 GitLab 的代码质量功能设置 Oxlint,以便在合并请求中获得 lint 违规的内联注释。
要设置此功能,您可以在 package.json 中添加脚本以输出 gitlab 格式并保存到文件:
{
"scripts": {
"lint:gitlab": "oxlint --format=gitlab > gitlab-oxlint-report.json"
}
}然后在 .gitlab-ci.yml 中添加作业,运行脚本并将报告上传为代码质量产物:
oxlint:
image: node:lts
stage: test
before_script:
# 或者在这里使用 pnpm install / yarn install
- npm install
script:
- npm run lint:gitlab
artifacts:
reports:
codequality:
# 这是相对于您的仓库根目录,如果您的仓库结构不同或将报告放在其他位置,请调整
- gitlab-oxlint-report.json如果您不想使用代码质量功能,可以在 CI 作业中直接运行 oxlint 而不使用 --format=gitlab。
如果您想使用类型感知规则,应确保启用它们,并考虑缓存 node_modules 以加快依赖安装速度。
Git 钩子
lint-staged
对于使用 lint-staged 的 JS/TS 项目,您可以将 oxlint 设置为预提交钩子:
{
"lint-staged": {
"*.{js,jsx,ts,tsx,mjs,cjs}": "pnpm run lint"
}
}要在安装依赖时自动安装 git 钩子,可以考虑使用 husky。
pre-commit
如果您使用 pre-commit 管理 git 钩子,可以这样设置 Oxlint:
repos:
- repo: https://github.com/oxc-project/mirrors-oxlint
rev: v0.0.0
hooks:
- id: oxlint
verbose: true将 v0.0.0 替换为最新版本。
其他集成
Unplugin
通过第三方包支持 Unplugin
Vite 插件
通过第三方包支持 Vite 插件