[{"data":1,"prerenderedAt":36},["ShallowReactive",2],{"post-introduction-to-oxlint":3},{"id":4,"createdAt":5,"updatedAt":6,"publishedAt":6,"revisedAt":6,"title":7,"body":8,"categories":9,"author":11,"thumbnail":24,"ogpImage":28},"introduction-to-oxlint","2026-06-15T01:47:59.092Z","2026-06-18T04:14:38.564Z","ESLint互換で乗り換えも安心、超高速Rust製JavaScriptリンター「Oxlint」入門","\u003Cp>JavaScriptのツールチェーンを取り巻く環境が、ここ数年で大きく変わりつつあります。ESLintやPrettierが長年にわたって開発現場を支えてきた一方で、Rustで書かれた高速なツール群が急速に存在感を増しています。\u003C\u002Fp>\u003Cp>その中でも特に注目を集めているのが、Oxcプロジェクトが開発するリンター「\u003Ca href=\"https:\u002F\u002Foxc.rs\u002Fdocs\u002Fguide\u002Fusage\u002Flinter.html\" target=\"_blank\" rel=\"noopener noreferrer\">Oxlint\u003C\u002Fa>」です。2023年12月のアナウンス以来、開発が急速に進み、2025年6月にはv1.0の安定版がリリースされました。Shopify、Airbnb、メルセデスベンツといった大企業での採用事例も報告されています。\u003C\u002Fp>\u003Cp>この記事では、Oxlintを初めて聞いた方からOxlintをESLintからの乗り換え候補として検討している方までに向けて、Oxcプロジェクト全体の概要からOxlintの基本的な使い方、既存ツールとの比較、乗り換え方法までを整理します。\u003C\u002Fp>\u003Cdiv class=\"iframely-embed\">\u003Cdiv class=\"iframely-responsive\" style=\"height: 140px; padding-bottom: 0;\">\u003Ca href=\"https:\u002F\u002Foxc.rs\u002Fdocs\u002Fguide\u002Fusage\u002Flinter.html\" data-iframely-url=\"https:\u002F\u002Fiframely.net\u002Fapi\u002Fiframe?card=small&amp;url=https%3A%2F%2Foxc.rs%2Fdocs%2Fguide%2Fusage%2Flinter.html&amp;key=c271a3ec77ff4aa44d5948170dd74161\">\u003C\u002Fa>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cscript async src=\"https:\u002F\u002Fiframely.net\u002Fembed.js\" charset=\"utf-8\">\u003C\u002Fscript>\u003Cp>\u003C\u002Fp>\u003Cdiv class=\"iframely-embed\">\u003Cdiv class=\"iframely-responsive\" style=\"height: 140px; padding-bottom: 0;\">\u003Ca href=\"https:\u002F\u002Fwww.oxcjs.com\u002Fguide\u002Fprojects.html\" data-iframely-url=\"https:\u002F\u002Fiframely.net\u002Fapi\u002Fiframe?card=small&amp;url=https%3A%2F%2Fwww.oxcjs.com%2Fja%2Fguide%2Fprojects.html&amp;key=c271a3ec77ff4aa44d5948170dd74161\">\u003C\u002Fa>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cscript async src=\"https:\u002F\u002Fiframely.net\u002Fembed.js\" charset=\"utf-8\">\u003C\u002Fscript>\u003Ch2 id=\"h8cb6b96822\">Oxcとは\u003C\u002Fh2>\u003Ch3 id=\"h43100da149\">ツール群の概要\u003C\u002Fh3>\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.oxcjs.com\u002F\" target=\"_blank\" rel=\"noopener noreferrer\">Oxc\u003C\u002Fa>（Oxidation Compiler）は、JavaScriptおよびTypeScript向けの高性能ツール群をRustで実装するオープンソースプロジェクトです。Vue.jsやViteの作者であるEvan Youが設立した\u003Ca href=\"https:\u002F\u002Fvoidzero.dev\u002F\" target=\"_blank\" rel=\"noopener noreferrer\">VoidZero\u003C\u002Fa>のもとで開発されており、Vite 8からデフォルトバンドラーとなったRolldownにもOxcのパーサーや変換機能が利用されています。\u003C\u002Fp>\u003Cp>Oxcが提供するツールは以下の通りです。\u003C\u002Fp>\u003Cul>\u003Cli>\u003Cstrong>Parser\u003C\u002Fstrong>：JavaScript \u002F TypeScript向けのASTパーサー\u003C\u002Fli>\u003Cli>\u003Cstrong>Linter（Oxlint）\u003C\u002Fstrong>：JavaScript \u002F TypeScript向けの高速リンター\u003C\u002Fli>\u003Cli>\u003Cstrong>Formatter（Oxfmt）\u003C\u002Fstrong>：Prettier互換のコードフォーマッター\u003C\u002Fli>\u003Cli>\u003Cstrong>Transformer\u003C\u002Fstrong>：TypeScript、JSX、モダンJavaScriptの変換ツール\u003C\u002Fli>\u003Cli>\u003Cstrong>Minifier\u003C\u002Fstrong>：プロダクション向けのミニファイアー\u003C\u002Fli>\u003Cli>\u003Cstrong>Resolver\u003C\u002Fstrong>：モジュール解決ツール\u003C\u002Fli>\u003C\u002Ful>\u003Cp>各ツールは共通のASTと内部コンポーネントを共有しており、ツール間での整合性の高さと、個別利用、組み合わせ利用の両方が可能な設計になっています。\u003C\u002Fp>\u003Cdiv class=\"iframely-embed\">\u003Cdiv class=\"iframely-responsive\" style=\"height: 140px; padding-bottom: 0;\">\u003Ca href=\"https:\u002F\u002Foxc.rs\" data-iframely-url=\"https:\u002F\u002Fiframely.net\u002Fapi\u002Fiframe?card=small&amp;url=https%3A%2F%2Foxc.rs%2F&amp;key=c271a3ec77ff4aa44d5948170dd74161\">\u003C\u002Fa>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cscript async src=\"https:\u002F\u002Fiframely.net\u002Fembed.js\" charset=\"utf-8\">\u003C\u002Fscript>\u003Ch3 id=\"hb63345e8da\">OxlintとOxfmtの位置づけ\u003C\u002Fh3>\u003Cp>Oxlintは、ESLintの代替として設計されたリンターです。2025年6月にv1.0の安定版がリリースされており、本記事執筆時点で最も成熟したOxcのツールです。\u003C\u002Fp>\u003Cp>Oxfmtは、Prettier互換のフォーマッターです。2025年12月にアルファ版、2026年2月にベータ版がリリースされましたが、執筆時点ではまだ開発途上のため、本記事ではOxfmtの詳細な解説は対象外とし、Oxlintを中心に取り上げます。\u003C\u002Fp>\u003Ch2 id=\"h141a95c509\">ESLint、Biome、Oxlintの比較\u003C\u002Fh2>\u003Cp>Oxlintを評価する前に、比較対象となる既存ツールの特徴を整理しておきましょう。\u003C\u002Fp>\u003Ch3 id=\"h8f3aaee66b\">ESLint\u003C\u002Fh3>\u003Cp>\u003Ca href=\"https:\u002F\u002Feslint.org\u002F\" target=\"_blank\" rel=\"noopener noreferrer\">ESLint\u003C\u002Fa>は、JavaScriptエコシステムで長年デファクトスタンダードとして使われてきたリンターです。最大の強みはプラグインエコシステムの豊富さです。eslint-plugin-react、eslint-plugin-import、typescript-eslintなど、数千を超えるプラグインが公開されており、あらゆるプロジェクトのニーズに対応できる柔軟性を持っています。\u003C\u002Fp>\u003Cp>一方で、JavaScriptで実装されているためにパフォーマンスの限界があること、設定ファイルの複雑さ（とくにv8からv9へのflat config移行）、多くのプラグインを組み合わせた場合の起動時間の増大といった課題もあります。\u003C\u002Fp>\u003Ch3 id=\"h46edb004c3\">Biome\u003C\u002Fh3>\u003Cp>\u003Ca href=\"https:\u002F\u002Fbiomejs.dev\u002Fja\u002F\" target=\"_blank\" rel=\"noopener noreferrer\">Biome\u003C\u002Fa>はRome projectの後継として誕生したツールで、リンターとフォーマッターを一体で提供します。Rustで書かれており、ESLintよりも高速に動作します。「ワンツールで完結する」という設計思想のもと、設定を最小限に抑えたい場合に選ばれることが多いツールです。\u003C\u002Fp>\u003Cp>ただし、ESLintプラグインとの互換性はなく、独自のルールセットを持つため、ESLintユーザーにとっては乗り換え時の差分が大きい場合もあります。\u003C\u002Fp>\u003Ch3 id=\"h165c92a1b0\">Oxlint\u003C\u002Fh3>\u003Cp>OxlintもRustで実装された高速なリンターです。ESLintとの互換性を重視して設計されており、ESLintのルールセット、プラグイン体系との親和性が高いことが特徴です。v1.0時点では500以上のルールをビルトインで提供しており、現在も継続的にルールが追加されています。\u003C\u002Fp>\u003Cp>ゼロコンフィグで即座に使い始められる点も特徴の一つで、設定なしで実行するだけでも有用なフィードバックが得られます。設定が必要な場合は\u003Ccode>.oxlintrc.json\u003C\u002Fcode>を使います。この形式はESLintのレガシー設定（\u003Ccode>.eslintrc.json\u003C\u002Fcode>）形式をベースにしたJSONであるため、ESLintに慣れた開発者にとって学習コストが低くなっています。\u003C\u002Fp>\u003Ctable>\u003Ctbody>\u003Ctr>\u003Cth colspan=\"1\" rowspan=\"1\">\u003Cp>\u003C\u002Fp>\u003C\u002Fth>\u003Cth colspan=\"1\" rowspan=\"1\">\u003Cp>ESLint\u003C\u002Fp>\u003C\u002Fth>\u003Cth colspan=\"1\" rowspan=\"1\">\u003Cp>Biome\u003C\u002Fp>\u003C\u002Fth>\u003Cth colspan=\"1\" rowspan=\"1\">\u003Cp>Oxlint\u003C\u002Fp>\u003C\u002Fth>\u003C\u002Ftr>\u003Ctr>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>実装言語\u003C\u002Fp>\u003C\u002Ftd>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>JavaScript\u003C\u002Fp>\u003C\u002Ftd>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>Rust\u003C\u002Fp>\u003C\u002Ftd>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>Rust\u003C\u002Fp>\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>役割\u003C\u002Fp>\u003C\u002Ftd>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>リンター\u003C\u002Fp>\u003C\u002Ftd>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>リンター＋フォーマッター\u003C\u002Fp>\u003C\u002Ftd>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>リンター\u003C\u002Fp>\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>パフォーマンス\u003C\u002Fp>\u003C\u002Ftd>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>基準\u003C\u002Fp>\u003C\u002Ftd>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>ESLintより高速\u003C\u002Fp>\u003C\u002Ftd>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>\u003Ca href=\"https:\u002F\u002Foxc.rs\u002Fdocs\u002Fguide\u002Fbenchmarks.html#linter\" target=\"_blank\" rel=\"noopener noreferrer\">ESLintの50〜100倍\u003C\u002Fa>\u003C\u002Fp>\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>ESLintプラグイン互換性\u003C\u002Fp>\u003C\u002Ftd>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>◎ ネイティブ対応\u003C\u002Fp>\u003C\u002Ftd>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>✕ 非対応\u003C\u002Fp>\u003C\u002Ftd>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>○ アルファ段階で対応中\u003C\u002Fp>\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>ビルトインルール数\u003C\u002Fp>\u003C\u002Ftd>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>膨大（プラグイン込み）\u003C\u002Fp>\u003C\u002Ftd>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>約500\u003C\u002Fp>\u003C\u002Ftd>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>700以上（現在も増加中）\u003C\u002Fp>\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>ゼロコンフィグ\u003C\u002Fp>\u003C\u002Ftd>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>✕\u003C\u002Fp>\u003C\u002Ftd>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>○\u003C\u002Fp>\u003C\u002Ftd>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>◎\u003C\u002Fp>\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>設定形式\u003C\u002Fp>\u003C\u002Ftd>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>\u003Ccode>eslint.config.js\u003C\u002Fcode>\u003C\u002Fp>\u003C\u002Ftd>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>\u003Ccode>biome.json\u003C\u002Fcode>\u003C\u002Fp>\u003C\u002Ftd>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>\u003Ccode>.oxlintrc.json\u003C\u002Fcode>\u003C\u002Fp>\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>安定性\u003C\u002Fp>\u003C\u002Ftd>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>安定（長年の実績）\u003C\u002Fp>\u003C\u002Ftd>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>安定\u003C\u002Fp>\u003C\u002Ftd>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>v1.0安定版（2025年6月〜）\u003C\u002Fp>\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>TypeScript型情報を使うルール\u003C\u002Fp>\u003C\u002Ftd>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>◎ 対応\u003C\u002Fp>\u003C\u002Ftd>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>一部対応\u003C\u002Fp>\u003C\u002Ftd>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>△ アルファ（2025年8月〜）\u003C\u002Fp>\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003Ch2 id=\"h37b2492e25\">Oxlintの基本的な導入方法\u003C\u002Fh2>\u003Ch3 id=\"hd8d793506b\">インストール\u003C\u002Fh3>\u003Cp>Oxlintはnpm、yarn、pnpmのいずれでもインストールできます。設定なしですぐに試したい場合は、\u003Ccode>npx\u003C\u002Fcode>を使う方法が手軽です。\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-shell\"># npxで試す（インストール不要）\nnpx oxlint@latest\n\n# プロジェクトへのインストール\nnpm install -D oxlint\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch3 id=\"h620f315be5\">実行方法\u003C\u002Fh3>\u003Cp>インストール後、以下のコマンドでカレントディレクトリ以下のファイルをリントできます。\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-shell\">npx oxlint .\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>設定なしでも動作しますが、プロジェクトのルートに\u003Ccode>.oxlintrc.json\u003C\u002Fcode>を置くことで詳細なカスタマイズが可能です。\u003C\u002Fp>\u003Ch3 id=\"h7e45e89c6e\">設定ファイル（.oxlintrc.json）\u003C\u002Fh3>\u003Cp>\u003Ccode>.oxlintrc.json\u003C\u002Fcode>を使って、ルールの有効化、無効化やプラグインの指定ができます。なお、JSONの代わりにTypeScriptで記述する\u003Ccode>oxlint.config.ts\u003C\u002Fcode>もサポートされています（同一ディレクトリで両方を併用することはできません）。\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-json\">{\n  &quot;plugins&quot;: [&quot;react&quot;, &quot;import&quot;],\n  &quot;rules&quot;: {\n    &quot;no-unused-vars&quot;: &quot;error&quot;,\n    &quot;react\u002Fjsx-uses-react&quot;: &quot;off&quot;\n  }\n}\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>ルールのカテゴリ単位で一括管理することもできます。\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-json\">{\n  &quot;categories&quot;: {\n    &quot;correctness&quot;: &quot;deny&quot;,\n    &quot;suspicious&quot;: &quot;warn&quot;\n  }\n}\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>カテゴリには \u003Ccode>correctness\u003C\u002Fcode>（バグにつながる問題）、\u003Ccode>suspicious\u003C\u002Fcode>（怪しい書き方）、\u003Ccode>pedantic\u003C\u002Fcode>（厳格なスタイル）などがあります。\u003C\u002Fp>\u003Ch3 id=\"h4ae82ef30a\">自動修正\u003C\u002Fh3>\u003Cp>\u003Ccode>--fix\u003C\u002Fcode>オプションを使うと、修正可能な問題を自動的に修正します。\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-shell\">npx oxlint --fix .\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch2 id=\"h96181db3fd\">ESLintからの乗り換え\u003C\u002Fh2>\u003Cp>Oxlintへの乗り換えは、段階的に進めることが可能です。\u003C\u002Fp>\u003Ch3 id=\"h47316d4f13\">ステップ1：まずOxlintを並走させる\u003C\u002Fh3>\u003Cp>既存のESLint設定はそのままに、Oxlintを追加で実行する方法から始めましょう。\u003Ccode>eslint-plugin-oxlint\u003C\u002Fcode>を使うと、OxlintがカバーしているルールをESLint側で無効化することで、重複した警告を防げます。\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-shell\">npm install -D eslint-plugin-oxlint\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>\u003Ccode>eslint.config.js\u003C\u002Fcode>に以下を追加します。この無効化設定が他のルール設定に上書きされないよう、\u003Ccode>eslint-plugin-oxlint\u003C\u002Fcode>は配列の\u003Cstrong>最後\u003C\u002Fstrong>に配置するのがポイントです。\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-javascript\">import oxlint from &quot;eslint-plugin-oxlint&quot;;\n\nexport default [\n  \u002F\u002F 既存の設定（他のプラグインなど）\n  ...oxlint.configs[&quot;flat\u002Frecommended&quot;], \u002F\u002F oxlintは配列の最後に置く\n];\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>CIや開発環境では、Oxlintを先に実行することで高速なフィードバックループを得られます。\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-shell\">npx oxlint . &amp;&amp; npx eslint .\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch3 id=\"h0fa9158811\">ステップ2：設定を移行する\u003C\u002Fh3>\u003Cp>\u003Ccode>@oxlint\u002Fmigrate\u003C\u002Fcode>を使うと、既存のESLintのflat config形式の設定ファイルをOxlintの設定に変換できます。\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-shell\">npx @oxlint\u002Fmigrate\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch3 id=\"h3d2dac4cea\">ステップ3：ESLintを完全に置き換える\u003C\u002Fh3>\u003Cp>移行に問題がなければ、ESLintを削除してOxlintだけで運用します。ただし、カスタムプラグインやOxlintがまだ対応していないルールがある場合は、後述するJSプラグイン機能を活用するか、一時的に並走状態を維持しながら段階的に移行することをおすすめします。\u003C\u002Fp>\u003Cdiv class=\"iframely-embed\">\u003Cdiv class=\"iframely-responsive\" style=\"height: 140px; padding-bottom: 0;\">\u003Ca href=\"https:\u002F\u002Foxc.rs\u002Fdocs\u002Fguide\u002Fusage\u002Flinter\u002Fmigrate-from-eslint.html\" data-iframely-url=\"https:\u002F\u002Fiframely.net\u002Fapi\u002Fiframe?card=small&amp;url=https%3A%2F%2Foxc.rs%2Fdocs%2Fguide%2Fusage%2Flinter%2Fmigrate-from-eslint.html&amp;key=c271a3ec77ff4aa44d5948170dd74161\">\u003C\u002Fa>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cscript async src=\"https:\u002F\u002Fiframely.net\u002Fembed.js\" charset=\"utf-8\">\u003C\u002Fscript>\u003Ch2 id=\"hb05c8540a9\">周辺ツールとプラグイン\u003C\u002Fh2>\u003Ch3 id=\"h354ebc9334\">ESLintプラグインとの互換性\u003C\u002Fh3>\u003Cp>Oxlintは、JavaScriptで書かれたESLintプラグインをそのまま実行するJS Plugins機能を提供しています。2026年3月にアルファ版がリリースされており、OxlintのプラグインAPIはESLint v9以降と互換性があります。多くの既存ESLintプラグインは修正なしで動作します。\u003C\u002Fp>\u003Cp>\u003Ccode>.oxlintrc.json\u003C\u002Fcode>にjsPluginsフィールドを追加してプラグインを指定します。\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-json\">{\n  &quot;jsPlugins&quot;: [&quot;eslint-plugin-your-plugin&quot;],\n  &quot;rules&quot;: {\n    &quot;your-plugin\u002Fsome-rule&quot;: &quot;error&quot;\n  }\n}\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>ただし、JS Plugins機能はまだアルファ段階であることに注意が必要です。TypeScript型情報を必要とするルールへの対応など、一部のAPIはまだ実装途上です。\u003C\u002Fp>\u003Cdiv class=\"iframely-embed\">\u003Cdiv class=\"iframely-responsive\" style=\"height: 140px; padding-bottom: 0;\">\u003Ca href=\"https:\u002F\u002Foxc.rs\u002Fdocs\u002Fguide\u002Fusage\u002Flinter\u002Fjs-plugins.html\" data-iframely-url=\"https:\u002F\u002Fiframely.net\u002Fapi\u002Fiframe?card=small&amp;url=https%3A%2F%2Foxc.rs%2Fdocs%2Fguide%2Fusage%2Flinter%2Fjs-plugins.html&amp;key=c271a3ec77ff4aa44d5948170dd74161\">\u003C\u002Fa>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cscript async src=\"https:\u002F\u002Fiframely.net\u002Fembed.js\" charset=\"utf-8\">\u003C\u002Fscript>\u003Ch3 id=\"h191b365e82\">ビルトインプラグイン\u003C\u002Fh3>\u003Cp>Oxlintは現在700以上のルールをビルトインで提供しています（v1.0時点では500以上で、その後も継続的に追加されています）。ESLintのプラグインエコシステムに相当するルールの多くが、追加インストールなしで利用できます。対応しているプラグインカテゴリの例は以下の通りです。\u003C\u002Fp>\u003Cul>\u003Cli>\u003Ccode>react\u003C\u002Fcode>（eslint-plugin-react相当）\u003C\u002Fli>\u003Cli>\u003Ccode>import\u003C\u002Fcode>（eslint-plugin-import相当）\u003C\u002Fli>\u003Cli>\u003Ccode>jsx-a11y\u003C\u002Fcode>（eslint-plugin-jsx-a11y相当）\u003C\u002Fli>\u003Cli>\u003Ccode>jest\u003C\u002Fcode>、\u003Ccode>vitest\u003C\u002Fcode>（テストフレームワーク向けルール）\u003C\u002Fli>\u003Cli>\u003Ccode>unicorn\u003C\u002Fcode>（eslint-plugin-unicorn相当）\u003C\u002Fli>\u003Cli>\u003Ccode>jsdoc\u003C\u002Fcode>（eslint-plugin-jsdoc相当）\u003C\u002Fli>\u003C\u002Ful>\u003Cdiv class=\"iframely-embed\">\u003Cdiv class=\"iframely-responsive\" style=\"height: 140px; padding-bottom: 0;\">\u003Ca href=\"https:\u002F\u002Foxc.rs\u002Fdocs\u002Fguide\u002Fusage\u002Flinter\u002Fplugins.html\" data-iframely-url=\"https:\u002F\u002Fiframely.net\u002Fapi\u002Fiframe?card=small&amp;url=https%3A%2F%2Foxc.rs%2Fdocs%2Fguide%2Fusage%2Flinter%2Fplugins.html&amp;key=c271a3ec77ff4aa44d5948170dd74161\">\u003C\u002Fa>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cscript async src=\"https:\u002F\u002Fiframely.net\u002Fembed.js\" charset=\"utf-8\">\u003C\u002Fscript>\u003Ch3 id=\"h0a2a074679\">エディタ拡張\u003C\u002Fh3>\u003Cp>Oxc公式のVS Code拡張が提供されており、Visual Studio Marketplaceからインストールできます。JavaScript、TypeScriptファイルのエラーハイライトやインライン診断がエディタ上で確認できます。Open VSX Registryにも対応しているため、VS Code互換のエディタ（CursorやVSCodiumなど）でも利用可能です。\u003C\u002Fp>\u003Cp>また、Zed、coc.nvim、IntelliJプラグインへの対応も進んでいます。\u003C\u002Fp>\u003Cdiv class=\"iframely-embed\">\u003Cdiv class=\"iframely-responsive\" style=\"height: 140px; padding-bottom: 0;\">\u003Ca href=\"https:\u002F\u002Foxc.rs\u002Fdocs\u002Fguide\u002Fusage\u002Flinter\u002Feditors.html\" data-iframely-url=\"https:\u002F\u002Fiframely.net\u002Fapi\u002Fiframe?card=small&amp;url=https%3A%2F%2Foxc.rs%2Fdocs%2Fguide%2Fusage%2Flinter%2Feditors.html&amp;key=c271a3ec77ff4aa44d5948170dd74161\">\u003C\u002Fa>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cscript async src=\"https:\u002F\u002Fiframely.net\u002Fembed.js\" charset=\"utf-8\">\u003C\u002Fscript>\u003Ch3 id=\"h6a1287eeb6\">CI、Gitフックとの連携\u003C\u002Fh3>\u003Cp>Oxlintの高速な実行速度は、CIやGitフックとの相性が良いです。\u003Ccode>package.json\u003C\u002Fcode>に\u003Ccode>lint\u003C\u002Fcode>スクリプトを追加しておけば、GitHub Actionsなどから手軽に呼び出せます。\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-json\">{\n  &quot;scripts&quot;: {\n    &quot;lint&quot;: &quot;oxlint&quot;\n  }\n}\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>エラーや警告をプルリクエスト上にインラインのアノテーションとして表示したい場合は、\u003Ccode>--format=github\u003C\u002Fcode>オプションを使います。GitLab CI向けには\u003Ccode>--format=gitlab\u003C\u002Fcode>オプションも用意されています。\u003C\u002Fp>\u003Cp>Gitフックとして使う場合は、\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Flint-staged\u002Flint-staged\" target=\"_blank\" rel=\"noopener noreferrer\">lint-staged\u003C\u002Fa>と組み合わせると、コミット前に変更されたファイルだけを対象にリントできます。\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-json\">{\n  &quot;lint-staged&quot;: {\n    &quot;*.{js,jsx,ts,tsx,mjs,cjs}&quot;: &quot;oxlint&quot;\n  }\n}\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>\u003Ca href=\"https:\u002F\u002Ftypicode.github.io\u002Fhusky\u002F\" target=\"_blank\" rel=\"noopener noreferrer\">husky\u003C\u002Fa>や\u003Ca href=\"https:\u002F\u002Fpre-commit.com\u002F\" target=\"_blank\" rel=\"noopener noreferrer\">pre-commit\u003C\u002Fa>などのフック管理ツールと組み合わせるのが一般的です。具体的なセットアップ手順は公式のCIガイドを参照してください。\u003C\u002Fp>\u003Cdiv class=\"iframely-embed\">\u003Cdiv class=\"iframely-responsive\" style=\"height: 140px; padding-bottom: 0;\">\u003Ca href=\"https:\u002F\u002Foxc.rs\u002Fdocs\u002Fguide\u002Fusage\u002Flinter\u002Fci.html\" data-iframely-url=\"https:\u002F\u002Fiframely.net\u002Fapi\u002Fiframe?card=small&amp;url=https%3A%2F%2Foxc.rs%2Fdocs%2Fguide%2Fusage%2Flinter%2Fci.html&amp;key=c271a3ec77ff4aa44d5948170dd74161\">\u003C\u002Fa>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cscript async src=\"https:\u002F\u002Fiframely.net\u002Fembed.js\" charset=\"utf-8\">\u003C\u002Fscript>\u003Ch2 id=\"ha214098e44\">まとめ\u003C\u002Fh2>\u003Cp>Oxlintは、ESLintとの高い互換性を保ちながら、大幅なパフォーマンス改善を提供するRust製リンターです。v1.0の安定版がリリースされており、実際の大規模コードベースでの実績も積み上がっています。\u003C\u002Fp>\u003Cp>ゼロコンフィグで即座に試せることや、ESLintとの並走による段階的な移行が可能な点は、既存プロジェクトへの導入ハードルを下げる大きな要素です。一方で、JSプラグイン機能がアルファ段階であることや、独自のカスタムルールに強く依存しているプロジェクトでは移行前の検証が必要になる場合もあります。\u003C\u002Fp>\u003Cp>まずは\u003Ccode>npx oxlint@latest\u003C\u002Fcode>でお手持ちのプロジェクトを試してみることから始めると、乗り換えの判断材料が得られるでしょう。\u003C\u002Fp>\u003Ch2 id=\"h44e51f96ce\">参考資料\u003C\u002Fh2>\u003Cul>\u003Cli>\u003Ca href=\"https:\u002F\u002Foxc.rs\u002F\" target=\"_blank\" rel=\"noopener noreferrer\">Oxc公式サイト\u003C\u002Fa>\u003C\u002Fli>\u003Cli>\u003Ca href=\"https:\u002F\u002Foxc.rs\u002Fblog\u002F2025-06-10-oxlint-stable.html\" target=\"_blank\" rel=\"noopener noreferrer\">Oxlint v1.0 Stableアナウンス\u003C\u002Fa>\u003C\u002Fli>\u003Cli>\u003Ca href=\"https:\u002F\u002Foxc.rs\u002Fblog\u002F2026-03-11-oxlint-js-plugins-alpha\" target=\"_blank\" rel=\"noopener noreferrer\">Oxlint JS Plugins Alpha\u003C\u002Fa>\u003C\u002Fli>\u003Cli>\u003Ca href=\"https:\u002F\u002Foxc.rs\u002Fblog\u002F2025-12-01-oxfmt-alpha.html\" target=\"_blank\" rel=\"noopener noreferrer\">Oxfmt Alpha アナウンス\u003C\u002Fa>\u003C\u002Fli>\u003Cli>\u003Ca href=\"https:\u002F\u002Foxc.rs\u002Fblog\u002F2026-02-24-oxfmt-beta\" target=\"_blank\" rel=\"noopener noreferrer\">Oxfmt Beta アナウンス\u003C\u002Fa>\u003C\u002Fli>\u003C\u002Ful>",[10],"フロントエンド",[12],{"id":13,"createdAt":14,"updatedAt":15,"publishedAt":14,"revisedAt":16,"name":17,"job":18,"avatar":19,"profile":22,"xId":23,"githubId":23},"koyama","2024-02-14T00:43:53.323Z","2024-03-20T13:41:39.499Z","2024-03-15T13:16:51.910Z","小山 樹人","フロントエンドエンジニア",{"url":20,"height":21,"width":21},"https:\u002F\u002Fimages.microcms-assets.io\u002Fassets\u002F2e326e11eb0942a5ad843f163281c5af\u002F74ad15c43b6042fe899472eb640b7db8\u002Fkoyama_202310.jpg",512,"静岡県出身。大学卒業後、桑沢デザイン研究所の夜間部でグラフィックデザインを学ぶ。専門誌や教育系の出版物を中心に、約10年間DTP制作の仕事に携わる。Webのフロントエンド開発の分野に興味を持ち、2023年に世路庵に入社。\nデザインと開発の両面からものづくりに携わっていきたい。","yamageji",{"url":25,"height":26,"width":27},"https:\u002F\u002Fimages.microcms-assets.io\u002Fassets\u002F2e326e11eb0942a5ad843f163281c5af\u002F92078bd427344bd38e5cd8b2b2b265b3\u002Fintroduction-to-oxlint.png",720,1280,{"fieldId":29,"type":30,"image":32},"ogpImage",[31],"タイプ2（タイトル＋画像）",{"url":33,"height":34,"width":35},"https:\u002F\u002Fimages.microcms-assets.io\u002Fassets\u002F2e326e11eb0942a5ad843f163281c5af\u002F30ede70998b4497ea7203a19af1a8f0c\u002Fog-introduction-to-oxlint.png",630,1200,1781756165723]