Oxlint Import プラグイン アルファ版
oxlint --import-plugin のアルファリリースを発表できることを大変嬉しく思います。これは eslint-plugin-import の移植版です。
この移植版は、eslint-plugin-import に関連する既知のすべての問題を解決することを目指しています:
- パフォーマンス — 特定のルールを有効にした場合、実行時間が1分以上になる
- 依存関係のサイズ — 188個の依存関係が合計30M
- 後方互換性 — Node.js v4.0.0 をサポートする必要性
- 依存関係の互換性 —
eslint-plugin-import-xに置き換える必要性 - ESLint v9 へのアップグレード
リリースには何が含まれていますか?
このアルファリリースは、プロジェクトが ESM(ECMAScript Modules)を使用している場合、正常に動作すると予想されます。
tsconfig.compilerOptions.paths を通じてパスエイリアス(例:@/foo)が必要な場合は、--tsconfig オプションを使用できます:
npx oxlint@latest --tsconfig ./tsconfig.json --import-pluginnpx oxlint@latest --import-plugin でデフォルトで有効化されるルールは以下の通りです:
npx oxlint@latest --import-plugin -D rule-name により個別に有効化できるルールは以下の通りです:
- no-named-as-default
- no-named-as-default-member
- no-self-import
- no-duplicates
- no-amd
- no-default-export
- no-cycle
また、これらのルールに対して改善も行われています。たとえば、no-cycle ルールの診断メッセージが向上しました:
⚠ eslint-plugin-import(no-cycle): 依存関係のサイクルが検出されました
╭─[apps/web/playwright/lib/fixtures.ts:13:42]
12 │ import { createPaymentsFixture } from "../fixtures/payments";
13 │ import { createBookingPageFixture } from "../fixtures/regularBookings";
· ─────────────────────────────
14 │ import { createRoutingFormsFixture } from "../fixtures/routingForms";
╰────
help: これらのパスがサイクルを形成しています:
-> ../fixtures/regularBookings - apps/web/playwright/fixtures/regularBookings.ts
-> ./users - apps/web/playwright/fixtures/users.ts
-> ../lib/testUtils - apps/web/playwright/lib/testUtils.ts
-> ./fixtures - apps/web/playwright/lib/fixtures.ts機能のリストは長くありませんが、現在のエコシステムの複雑さのため、これらのルールを実装し、正しく動作することを保証するには多くの努力が必要です。
過去6ヶ月間、私たち(チーム)は時間の許す限り作業を進め、--import-plugin を動作させるために必要なすべての前提条件を確実に完了してきました:
- モジュール解決用の resolver
- 処理対象のファイルを並列で最大限に処理するための小さな "ランタイム"
- インポート/エクスポート情報を格納するための
ModuleRecordデータ構造、およびその対応する ビルダー
どうやって協力できますか?
プロジェクトのメンテナーや(いわゆる)設定エンジニアであり、ESLint およびすべてのプラグインの更新に時間やエネルギーが割けない場合、@brooooooklyn のように、彼のすべてのプロジェクトで ESLint を oxlint に置き換える ことも検討してください。
オープンソース愛好家であり、支援したいと考えている場合、discord で私たちと話しましょう。リンター製品計画と進捗に関する課題 を確認するか、新たなルールの提案 を通じて支援してください。
エンジニアリングマネージャーの方、またはインフラコストを抑えるためにプロジェクトを oxlint(現在330ルール以上、拡張中)へ移行したいと考えている場合、スポンサーシップ を検討することで、私たちが貴社のプロジェクトを優先的に取り組むようになります。
oxlint は現時点ではコミュニティ主導であることを思い出してください。十分なリソースがあれば、今後数ヶ月以内に --import-plugin を一般公開できると確信しています。
oxlint を使い始めるには、インストールガイド に従うか、oxc プロジェクト についてさらに詳しく学びましょう。

