CI e integrações
Configure a pipeline para rodar o Oxlint e falhar quando houver erro de lint.
Também cobrimos hooks Git e integrações relacionadas.
CI
Assume oxlint em devDependencies, script de lint e arquivo de config no repositório.
GitHub Actions
Script lint no package.json:
json
{
"scripts": {
"lint": "oxlint"
}
}Arquivo .github/workflows/oxlint.yml:
yaml
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
- run: pnpm install --frozen-lockfile
- run: pnpm run lintOu use --format=github para annotations no GitHub:
json
{
"scripts": {
"lint:github": "oxlint --format=github"
}
}GitLab CI
Com --format=gitlab e Code Quality aparecem anotações nos MR.
json
{
"scripts": {
"lint:gitlab": "oxlint --format=gitlab > gitlab-oxlint-report.json"
}
}yml
oxlint:
image: node:lts
stage: test
before_script:
- npm install
script:
- npm run lint:gitlab
artifacts:
reports:
codequality:
- gitlab-oxlint-report.jsonSem Code Quality, rode só oxlint no job.
Se usar regras com tipos (type-aware), habilite-as na config/cache de node_modules conforme o projeto.
Hooks Git
lint-staged
json
{
"lint-staged": {
"*.{js,jsx,ts,tsx,mjs,cjs}": "pnpm run lint"
}
}Husky instala hooks na instalação.
pre-commit
Com pre-commit:
yaml
repos:
- repo: https://github.com/oxc-project/mirrors-oxlint
rev: v0.0.0
hooks:
- id: oxlint
verbose: trueSubstitua rev pela versão publicada atual.
Outras integrações
Unplugin
unplugin-oxlint (terceiros).
Plugin Vite
vite-plugin-oxlint (terceiros).