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