CI およびその他の統合の設定
ビルドにリントエラーが含まれる場合はビルドを失敗させるように、CI パイプラインで Oxlint を実行するよう設定することをお勧めします(そしてすべきです)。
このページでは、リポジトリのプルリクエストでのリント違反のインライン注釈を得るために、GitLab の Code Quality 機能 と組み合わせて使用できる --format=gitlab オプションなど、その他の統合についても紹介しています。
CI
これらの手順は、package.json に oxlint を開発依存関係として追加し、リポジトリ内に既に Oxlint 設定ファイルがある前提で進めます。
GitHub Actions
まず、package.json に lint スクリプトがなければ、以下の通り追加してください:
{
"scripts": {
"lint": "oxlint"
}
}次に .github/workflows/oxlint.yml ファイルを作成します:
name: リント
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 の Code Quality 機能 と連携できます。
これを設定するには、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:
# あるいはここで pnpm install / yarn install を使用する
- npm install
script:
- npm run lint:gitlab
artifacts:
reports:
codequality:
# これはリポジトリのルートからの相対パスです。リポジトリ構造が異なる場合や、レポートを別の場所に配置した場合は調整してください
- gitlab-oxlint-report.jsonCode Quality 機能を使用しない場合は、単に CI ジョブ内で --format=gitlab を使わず、Oxlint を実行すれば十分です。
型対応ルールを使用したい場合は、それらが有効になっていることを確認し、依存関係のインストールを高速化するために node_modules のキャッシュを検討してください。
Git フック
lint-staged
JavaScript/TypeScript プロジェクトで lint-staged を使用している場合、以下の通り pre-commit フックとして 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: truev0.0.0 を最新バージョンに置き換えてください。
その他の統合
Unplugin
Unplugin は、サードパーティパッケージ を通じてサポートされています。
Vite プラグイン
Vite プラグインは、サードパーティパッケージ を通じてサポートされています。
