跳至內容

Oxlint 導入外掛 Alpha 版

我們很高興宣布 oxlint --import-plugin 的 alpha 版本發布,這是 eslint-plugin-import 的移植版本。

此移植旨在解決所有與 eslint-plugin-import 相關的已知問題

此版本包含哪些內容?

如果您的專案使用 ESM(ECMAScript 模組),則此 alpha 版本預期可以運作。

如果需要透過 tsconfig.compilerOptions.paths 使用路徑別名(例如 @/foo),則可以使用 --tsconfig 選項

npx oxlint@latest --tsconfig ./tsconfig.json --import-plugin

透過 npx oxlint@latest --import-plugin 預設啟用的規則為

可以透過 npx oxlint@latest --import-plugin -D rule-name 選擇性啟用的規則為

這些規則也有所改進;例如,no-cycle 規則的診斷已得到改進

  ⚠ eslint-plugin-import(no-cycle): Dependency cycle detected
    ╭─[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: These paths form a cycle:
        -> ../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

這不是一個很長的功能列表,但由於當前生態系統的複雜性,實施這些規則並確保它們正常運作需要大量的努力。

在過去的六個月裡,我們利用業餘時間工作,並成功完成了 --import-plugin 正常運作的所有先決條件

我如何提供協助?

如果您是專案維護者(又稱配置工程師),並且沒有時間或精力來更新 ESLint 及其所有外掛程式,您可以效法 @brooooooklyn 的做法,並在他所有專案中以 oxlint 取代 ESLint

如果您是開源愛好者並願意提供協助,請在 Discord 上與我們交談,查看 linter 產品計畫和進度問題,或透過 提議延後的新的規則 來提供協助。

如果您是工程經理,或者願意將您的專案遷移到 oxlint(具有 330 條規則且持續增加中),以降低基礎設施成本,您可以考慮贊助,以便我們可以優先處理您的專案。

請記住,oxlint 目前是由社群驅動的,我相信只要有足夠的資源,我們可以在未來幾個月內讓 --import-plugin 正式發布。


要開始使用 oxlint,請按照安裝指南操作,或了解更多關於 oxc 專案 的資訊。

以 MIT 授權發布。