跳至內容

Oxlint 正式發佈

我們很高興地宣布 oxlint 現已正式發佈!這個里程碑代表我們的團隊有能力迅速處理和分類問題。

Oxlint 是一個 JavaScript 程式碼檢查工具,旨在預設情況下無需任何設定即可捕獲錯誤或無用的程式碼。

如何使用

在這個階段,oxlint 不打算完全取代 ESLint;當 ESLint 的速度成為您工作流程中的瓶頸時,它可以作為一個增強工具。

為了獲得更快的反饋循環,我們建議在您的 lint-staged 或 CI 設定中,於 ESLint 之前執行 oxlint,因為它只需幾秒鐘即可在大型程式碼庫上執行。

要在您的 JavaScript / TypeScript 程式碼庫中測試 oxlint,只需在您的儲存庫的根目錄執行以下指令

sh
$ npx oxlint@latest
sh
$ pnpm dlx oxlint@latest
sh
$ yarn dlx oxlint@latest
sh
$ bunx oxlint@latest
sh
$ deno run npm:oxlint@latest

或者,請參考安裝指南以獲取詳細說明。

設計

比 ESLint 快 50-100 倍

在真實場景中,Shopify 回報他們原本需要 75 分鐘的 CI ESLint 執行時間,現在只需 10 秒。

來自 Shopify DX 和 Preact 創始人 Jason Miller 的說法

oxlint 對於 Shopify 來說是一個巨大的勝利。我們之前的程式碼檢查設定需要執行 75 分鐘,因此我們在 CI 中將其分散到 40 多個工作者中。

相比之下,oxlint 在單個工作者上檢查相同的程式碼庫只需約 10 秒,而且輸出更容易理解。

當我們遷移時,我們甚至發現了一些被我們舊設定隱藏或跳過的錯誤!

效能提升的主要原因在於 Oxlint 是專為效能而設計的,使用 Rust 和平行處理作為關鍵因素。

程式碼檢查以確保正確性

Oxlint 預設為識別錯誤、多餘或令人困惑的程式碼 — 優先考慮正確性,而不是不必要的吹毛求疵規則(分類為 perfsuspiciouspedanticstyle),這些規則預設為停用。

易於使用

設定新的 JavaScript / TypeScript 程式碼庫變得越來越複雜。您的工具之間很可能遇到相容性問題,這可能會導致數小時的浪費。

這就是我們將 oxlint 設計成開箱即用的零設定的原因;甚至不需要 Node.js。大多數調整都可以透過命令列進行,並且目前正在開發從 ESLint 設定檔讀取設定的功能。

增強的診斷

理解程式碼檢查工具的訊息可能具有挑戰性。Oxlint 旨在簡化這一點,方法是找出根本原因並提供有用的訊息 — 無需閱讀冗長的規則文件,節省寶貴的時間。

vscode 儲存庫中執行 oxlint -D perf

合併的規則

Oxlint 尚未提供外掛程式系統,但我們正在積極整合來自 TypeScript、React、Jest、Unicorn、JSX-a11y 和 Import 等常用外掛程式的規則。

我們認識到外掛程式在 JavaScript 生態系統中的重要性,並且也在研究基於 DSL 的外掛程式系統。

但是,您可能會喜歡獨立的程式碼檢查工具 — 無需管理外掛程式依賴項清單、瀏覽相容性問題,或者由於版本限制而採用分支外掛程式


程式碼檢查愉快,並祝您佳節愉快!

要開始使用,請按照安裝指南進行操作,詳細了解oxc 專案,或在Hacker News上討論。

根據 MIT 許可發佈。