Skip to content

CI およびその他の統合の設定

ビルドにリントエラーが含まれる場合はビルドを失敗させるように、CI パイプラインで Oxlint を実行するよう設定することをお勧めします(そしてすべきです)。

このページでは、リポジトリのプルリクエストでのリント違反のインライン注釈を得るために、GitLab の Code Quality 機能 と組み合わせて使用できる --format=gitlab オプションなど、その他の統合についても紹介しています。

CI

これらの手順は、package.jsonoxlint を開発依存関係として追加し、リポジトリ内に既に Oxlint 設定ファイルがある前提で進めます。

GitHub Actions

まず、package.jsonlint スクリプトがなければ、以下の通り追加してください:

package.json
json
{
  "scripts": {
    "lint": "oxlint"
  }
}

次に .github/workflows/oxlint.yml ファイルを作成します:

.github/workflows/oxlint.yml
yaml
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 形式で出力することも可能です:

package.json
json
{
  "scripts": {
    "lint:github": "oxlint --format=github"
  }
}

GitLab CI

GitLab CI を使用している場合、--format=gitlab を使用して、マージリクエスト内のリント違反に対してインライン注釈を得られるように、GitLab の Code Quality 機能 と連携できます。

これを設定するには、package.jsongitlab 形式で出力し、ファイルに保存するスクリプトを追加します。例:

package.json
json
{
  "scripts": {
    "lint:gitlab": "oxlint --format=gitlab > gitlab-oxlint-report.json"
  }
}

その後、.gitlab-ci.yml にジョブを追加して、スクリプトを実行し、レポートを Code Quality 資産としてアップロードします:

.gitlab-ci.yml
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

Code Quality 機能を使用しない場合は、単に CI ジョブ内で --format=gitlab を使わず、Oxlint を実行すれば十分です。

型対応ルールを使用したい場合は、それらが有効になっていることを確認し、依存関係のインストールを高速化するために node_modules のキャッシュを検討してください。

Git フック

lint-staged

JavaScript/TypeScript プロジェクトで lint-staged を使用している場合、以下の通り pre-commit フックとして Oxlint を実行するように設定できます:

package.json
json
{
  "lint-staged": {
    "*.{js,jsx,ts,tsx,mjs,cjs}": "pnpm run lint"
  }
}

依存関係のインストール時に自動的に git フックをインストールするには、husky を併用することを検討してください。

pre-commit

pre-commit を使って git フックを管理している場合、以下のように Oxlint を設定できます:

.pre-commit-config.yaml
yaml
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 プラグインは、サードパーティパッケージ を通じてサポートされています。