CI 및 기타 통합 설정
CI 파이프라인에서 Oxlint를 돌리고 린트 오류 시 빌드가 실패하도록 두는 것이 좋습니다.
Git pre-commit 훅 등 다른 통합도 함께 다룹니다.
CI
package.json의 devDependencies에 oxlint를 추가했고, 저장소에 Oxlint 설정이 있다고 가정합니다.
GitHub Actions
먼저 package.json에 lint 스크립트가 없다면 추가합니다.
{
"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
# alternatively use npm install / yarn install here
- run: pnpm install --frozen-lockfile
- run: pnpm run lint대안으로 GitHub 형식 출력을 쓰면 경고/오류 주석이 더 잘 붙습니다.
{
"scripts": {
"lint:github": "oxlint --format=github"
}
}GitLab CI
GitLab CI에서는 oxlint --format=gitlab과 코드 품질(Code Quality)을 쓰면 MR에 인라인 주석을 달 수 있습니다.
package.json에 GitLab 형식을 파일로 남기는 스크립트를 추가합니다.
{
"scripts": {
"lint:gitlab": "oxlint --format=gitlab > gitlab-oxlint-report.json"
}
}.gitlab-ci.yml에 작업을 추가해 스크립트를 실행하고 리포트를 Code Quality 아티팩트로 올립니다.
oxlint:
image: node:lts
stage: test
before_script:
# alternatively use pnpm install / yarn install here
- npm install
script:
- npm run lint:gitlab
artifacts:
reports:
codequality:
# This is relative to your repository root, so adjust if your repo has a different structure or you put the report in a different location
- gitlab-oxlint-report.json코드 품질 기능을 쓰지 않으면 CI 작업에서 --format=gitlab 없이 oxlint만 실행하면 됩니다.
타입 인지 규칙을 쓰려면 설정에서 켜야 하며, node_modules 캐시로 설치 시간을 줄이는 것도 고려하세요.
Git 훅
lint-staged
lint-staged를 쓰는 JS/TS 프로젝트에서는 pre-commit 예시는 다음과 같습니다.
{
"lint-staged": {
"*.{js,jsx,ts,tsx,mjs,cjs}": "pnpm run lint"
}
}의존성 설치 시 훅을 자동 설치하려면 husky도 함께 쓰세요.
pre-commit
pre-commit으로 훅을 관리한다면:
repos:
- repo: https://github.com/oxc-project/mirrors-oxlint
rev: v0.0.0
hooks:
- id: oxlint
verbose: truev0.0.0을 최신 버전으로 바꿉니다.
기타 통합
Unplugin
서드파티 패키지로 지원합니다.
Vite 플러그인
서드파티 패키지로 지원합니다.