oxlint 入門:ESLint より50倍速いJSリンターをnpxで試す
設定なしでもすぐ動かせます。
npx oxlint@latest src/
これだけでプロジェクトの JavaScript / TypeScript ファイルを静的解析できます。インストール不要で試せるので、既存プロジェクトへの導入ハードルが低いのが特徴です。
oxlint とは
oxlint は Oxc(JavaScript Oxidation Compiler) プロジェクトが開発する JavaScript / TypeScript 向けのリンターです。Rust 製で、ESLint と比べて 50〜100 倍速いとされています。
| 項目 | oxlint | ESLint |
|---|---|---|
| 実装言語 | Rust | JavaScript |
| 速度 | 50〜100倍速い | ベースライン |
| 設定 | 不要(ゼロコンフィグ) | 要設定 |
| プラグイン | 限定的 | 豊富 |
| TypeScript | ビルトイン対応 | @typescript-eslint が必要 |
大規模なコードベースでも数秒以内に解析が終わるため、CI や pre-commit フックでの利用に適しています。
インストール
プロジェクトに追加する場合は npm install でインストールします。
# npm npm install --save-dev oxlint # pnpm pnpm add -D oxlint
package.json にスクリプトを追加しておくと便利です。
{ "scripts": { "lint": "oxlint src/" } }
基本の使い方
解析を実行する
# src/ 以下を解析 npx oxlint src/ # カレントディレクトリ以下を解析 npx oxlint . # 特定のファイルだけ npx oxlint src/index.ts
出力例:
× [typescript] no-unused-vars: 'foo' is defined but never used ╭─[src/index.ts:3:7] 3 │ const foo = 'bar'; ╰──
自動修正
--fix フラグで自動修正できます。
npx oxlint --fix src/
設定ファイル(.oxlintrc.json)
プロジェクトルートに .oxlintrc.json を置くとルールを細かく設定できます。
{ "rules": { "no-unused-vars": "error", "no-console": "warn", "eqeqeq": "error" } }
特定のファイルをスキップしたい場合は ignorePatterns を使います。
{ "ignorePatterns": ["dist/", "node_modules/", "*.test.ts"], "rules": { "no-unused-vars": "error" } }
TypeScript プラグインを有効にする
TypeScript 固有のルール(@typescript-eslint 相当)を使う場合はプラグインを指定します。
{ "plugins": ["typescript"], "rules": { "typescript/no-explicit-any": "warn", "typescript/no-unused-vars": "error" } }
ESLint と併用する
oxlint は ESLint の代替ではなく、高速プレチェックとして ESLint と組み合わせて使えます。処理の重い型チェックルール(@typescript-eslint/no-floating-promises など)は ESLint に任せ、oxlint は軽量ルールを高速に実行するという使い方です。
# CI 上での組み合わせ例 oxlint src/ && eslint src/
oxlint が通らない場合は ESLint まで到達しないため、フィードバックが早くなります。
Biome との使い分け
どちらも Rust 製の高速ツールですが、用途が異なります。
| ツール | 特徴 | 向いているケース |
|---|---|---|
| oxlint | リントのみ。ESLint ルールとの互換性重視 | ESLint からの段階的移行・既存ルールを維持したい |
| Biome | リント+フォーマットの一体型 | 新規プロジェクト・ESLint + Prettier をまとめて置き換えたい |
Biome については「Biome lint で console.log を残したい時の3つの対処法」も参照してください。
よく使うコマンドまとめ
| コマンド | 説明 |
|---|---|
npx oxlint src/ |
src/ 以下を解析(インストール不要) |
npx oxlint . |
カレントディレクトリ以下を解析 |
npx oxlint --fix src/ |
自動修正 |
npx oxlint --deny-warnings src/ |
警告もエラーとして扱う |
npx oxlint --quiet src/ |
エラーのみ表示(警告を非表示) |
TypeScript ESLint の flat config 設定については「TypeScript ESLint 設定入門:flat config で型チェックを有効にする」も参照してください。