ESLint vs Oxlint: CIのリンターにはどちらを選ぶ?
Oxlintは非常に高速なRust製リンターで、ESLintは膨大なルールとプラグインのエコシステムを持つ拡張可能な標準です。
ESLintは何千ものコミュニティ製ルールとプラグインを持つ、定番のJavaScript/TypeScriptリンターです。Oxlint(Oxcプロジェクトの一部)は速度に特化したRustベースのリンターで、大規模なコードベースでは桁違いに高速に動作することがよくあります。
| ESLint | Oxlint | |
|---|---|---|
| 実装 | JavaScript | Rust |
| 速度 | 遅い(プラグインのオーバーヘッド) | 非常に速い |
| ルール / プラグインのエコシステム | 巨大 | 小さめ、拡大中 |
| カスタムプラグイン | 成熟 | 限定的 / 発展途上 |
| 典型的な役割 | フル機能のリンター | 高速な一次パスのリンター |
CIでは
Oxlintは大規模なコードベースをESLintより劇的に高速にlintできるため、高速なCIゲートやpre-commitチェックとして魅力的です。ESLintはカバレッジで勝ります。フレームワークのルール、アクセシビリティ、importの並び順、型認識のルール、カスタムプラグインなどです。よくあるパターンは、高速な一次パスとしてOxlintを実行し、OxlintがまだカバーしていないルールのためにESLintを残すことです。
移行の手間
Oxlint単独に頼る前に、有効にしているESLintのプラグインとルールを監査しましょう。多くのチームはESLintを完全に置き換えるのではなく、ESLintと並行してOxlintを段階的に採用します。特に型認識やカスタムのルールが重要な場合はそうです。
結論
非常に高速なlintゲートが欲しく、ルール要件が基本的または既にカバーされている: Oxlint。幅広いプラグイン/型認識のエコシステムに依存している: ESLintを残す(または両方を実行)。ESLintを外す前にルールのカバレッジを確認しましょう。
関連ガイド
ESLint vs Biome: Which Linter for CI?ESLint vs Biome for CI: lint speed, rule coverage, config, and all-in-one tooling. Which linter keeps your pi…
Prettier vs dprint: Which Formatter for CI?Prettier vs dprint for CI: format speed, plugins, compatibility, and config. Which code formatter keeps your…
How to Speed Up GitHub Actions: 9 High-Impact TacticsMake GitHub Actions faster: caching, parallelization, test splitting, Docker layer caching, slimmer images, a…