Oxlint 是 OXC 工具集的其中一個工具,用于捕獲錯誤或無用的代碼,作用和 ESLint 類似。
OXC 是字節跳動出品的一個用 Rust 編寫的 JavaScript 高性能工具集合,該項目的重點在于構建 JavaScript 的基本編譯器工具:解析器、linter、格式化程序、轉譯器、壓縮器和解析器。此外,OXC 還為 Rspack、Rolldown 和 Ezno 等新興 JavaScript 工具提供支持。
現階段,oxlint 無意完全取代 ESLint;當 ESLint 的緩慢成為工作流程中的瓶頸時,它可以作為增強功能。
系統要求:oxlint 專為 darwin-arm64、darwin-x64、linux-arm64、linux-x64、win32-arm64 和 win32-x64 構建。
Oxc Github:https://github.com/oxc-project/oxc。
Oxlint 的特新如下:
下面來詳細看看這些特性。
在現實場景中,Shopify 報告稱,他們的 75 CI 分鐘 ESLint 運行現在只需 10 秒。大部分性能提升源于 Oxlint 專門針對性能而設計,利用 Rust 和并行處理作為關鍵因素。
Oxlint 默認識別錯誤、冗余或令人困惑的代碼 ,優先考慮正確性而不是不必要的挑剔規則(分類為 perf、suspicious、pedantic 或 style),默認情況下禁用。
Oxlint 默認識別代碼中的錯誤、冗余或令人困惑的部分。它的設計原則是優先考慮代碼正確性,而不是過度挑剔的規則。Oxlint 將問題分類為 perf(性能)、suspicious(可疑)、pedantic(追求細節)或 style(風格),默認情況下這些規則是禁用的。
Oxlint 的設計目標之一是提供零配置的開箱即用體驗,以減少設置新的 JavaScript/TypeScript 代碼庫時可能遇到的兼容性問題。它甚至不需要 Node.js 環境來運行,并且可以從現有的 ESLint 配置文件中讀取當前項目的配置,簡化了調整和集成的過程。
理解代碼檢查工具的消息可能會很具有挑戰性。Oxlint 的目標是通過準確定位根本原因并提供有用的提示來簡化此過程,從而消除了閱讀冗長規則文檔的需求,節省時間。
在 VSCode代碼庫中運行 oxlint -D perf:
Oxlint 當前尚未提供插件系統,但團隊正在積極整合來自流行插件(例如 TypeScript、React、Jest、Unicorn、JSX-a11y和Import)的規則。
Oxc 團隊深知在 JavaScript 生態系統中插件的重要性,并且正在研究基于DSL的插件系統。
不過,用戶也可能會喜歡一個獨立的代碼檢查工具,它無需管理插件依賴列表,避免兼容性問題,或因版本限制而使用分叉插件。
直接在存儲庫的根目錄運行 oxlint:
npx oxlint@latest
可以通過以下命令來獲取規則列表:
npx oxlint@latest --rules
可以通過以下命令來獲取配置說明:
npx oxlint@latest --help
Oxc 提供了 VS Code 插件供開發者使用:
插件下載:https://marketplace.visualstudio.com/items?itemName=oxc.oxc-vscode。
那在真實應用中的效果怎么樣呢,下面來看看一些體驗反饋。
Vue.js 的作者尤雨溪表示,在對 Vue 3 的代碼庫進行測試時,測試了約 200 條規則 + 約 590 個文件,在 50 毫秒內就完成了,再次運行僅用了 30 毫秒。
Moonrepo 的創建者表示,oxlint(和 oxc 工具)真是太瘋狂了。不僅在性能上,而且在操控性上。依靠 Rust 是一個不錯的選擇!
Preact 的作者表示,oxlint 對 Shopify 來說是一個巨大的勝利,之前的 linting 需要 75 分鐘才能運行,因此將其分散到 CI 中的 40 多個 worker 中。相比之下,oxlint 在單個 worker 上檢查相同的代碼庫大約需要 10 秒,并且輸出更容易解釋。
本文鏈接:http://www.tebozhan.com/showinfo-26-48729-0.html前端新玩具來了,速度快的驚人
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com