国产av一二三区|日本不卡动作网站|黄色天天久久影片|99草成人免费在线视频|AV三级片成人电影在线|成年人aV不卡免费播放|日韩无码成人一级片视频|人人看人人玩开心色AV|人妻系列在线观看|亚洲av无码一区二区三区在线播放

網(wǎng)易首頁(yè) > 網(wǎng)易號(hào) > 正文 申請(qǐng)入駐

ESLint v10 發(fā)布,但有開發(fā)者已經(jīng)在考慮換 Biome 了

0
分享至


作者 | Daniel Curtis

譯者 | 田橙

廣泛使用的 JavaScript 和 TypeScript 代碼檢查工具 ESLint 發(fā)布了 10 版本,這是自引入 flat config 配置體系以來最重要的一次更新。該版本完成了多年逐步推進(jìn)的架構(gòu)調(diào)整,移除了長(zhǎng)期棄用的 API,并帶來一系列面向插件作者和 monorepo 團(tuán)隊(duì)的開發(fā)體驗(yàn)改進(jìn)。

v10 中最關(guān)鍵的變化,是徹底移除了舊版 eslintrc 配置系統(tǒng)。自 v9 起,flat config(eslint.config.js)已成為 默認(rèn)配置方式,但舊格式仍可通過 LegacyESLint 使用。如今,這一兼容層已完全刪除。Linter 上的 defineParser()、defineRule()、defineRules() 和 getRules() 方法均被移除,shouldUseFlatConfig() 也將始終返回 true。仍在使用 .eslintrc 文件的團(tuán)隊(duì),在升級(jí)前必須完成遷移。

官方提供的遷移工具可以簡(jiǎn)化這一過程:

npx @eslint/migrate-config .eslintrc.json

該命令會(huì)生成一個(gè) eslint.config.mjs 文件,開發(fā)者可以在此基礎(chǔ)上進(jìn)行審查和調(diào)整。官方 遷移指南 中詳細(xì)列出了所有重大變更,DEV Community 上也有第三方實(shí)踐文章對(duì)升級(jí)步驟進(jìn)行了更細(xì)致的說明。

在配置體系清理之外,v10 還改變了 ESLint 查找配置文件的方式。不再?gòu)漠?dāng)前工作目錄開始查找,而是從每個(gè)被 lint 文件所在的目錄向上查找。這一變化對(duì)于 monorepo 場(chǎng)景尤為重要,不同子包可以擁有各自的規(guī)則配置,同時(shí)也更符合開發(fā)者的直覺預(yù)期。

JSX 引用追蹤是另一個(gè)重要更新。此前,ESLint 并不會(huì)將 JSX 中的標(biāo)識(shí)符識(shí)別為變量引用,這會(huì)導(dǎo)致 no-unused-vars 等規(guī)則產(chǎn)生誤報(bào):僅在 JSX 中使用的組件會(huì)被錯(cuò)誤標(biāo)記為“未使用”。過去需要借助如 @eslint-react/jsx-uses-vars 這類插件進(jìn)行修復(fù),如今已不再需要。

RuleTester API 也得到了增強(qiáng),新增 requireMessage、requireLocation 和 requireData 等斷言選項(xiàng)。這些能力使插件作者能夠編寫更嚴(yán)格的測(cè)試,確保規(guī)則行為與提示信息保持一致。同時(shí),測(cè)試失敗時(shí)的堆棧信息現(xiàn)在會(huì)包含出錯(cuò)用例的索引和文件位置,從而減少在大型規(guī)則測(cè)試集中定位問題的時(shí)間。

在運(yùn)行環(huán)境方面,Node.js 支持范圍調(diào)整為 ^20.19.0 || ^22.13.0 || >=24,完全移除了對(duì) v21.x 和 v23.x 的支持。eslint:recommended 配置也進(jìn)行了更新,新增了一些規(guī)則,這意味著升級(jí)后,現(xiàn)有代碼庫(kù)中可能會(huì)出現(xiàn)新的 lint 報(bào)告。

生態(tài)兼容性方面也出現(xiàn)了一些問題。eslint-plugin-react 在 GitHub issue 中指出,其 peerDependencies 尚未聲明支持 ESLint 10,導(dǎo)致不少 React 開發(fā)者在安裝時(shí)遇到?jīng)_突。類似問題也出現(xiàn)在 eslint-config-next 上,該配置是 Next.js 默認(rèn)提供的 ESLint 配置,截至 2026 年 3 月仍未解決。

社區(qū)反饋也反映出一定的遷移成本。在 Reddit r/javascript 的討論中,有開發(fā)者表示:

老實(shí)說,flat config 的理念是好的,但遷移體驗(yàn)很糟糕。每個(gè)插件對(duì) flat config 的支持都不太一樣,基本就是不停試錯(cuò)。

與此同時(shí),JavaScript 工具鏈的競(jìng)爭(zhēng)也在持續(xù)加劇?;?Rust 的替代方案,如 Biome 和 Oxlint,正憑借更高的性能逐步獲得關(guān)注。有開發(fā)者在 Reddit 中表示:

我已經(jīng)轉(zhuǎn)到 Biome 了,規(guī)則覆蓋可能不到 100%,但大概 95% 已經(jīng)夠用,性能優(yōu)勢(shì)足以彌補(bǔ) ESLint 的開銷。

根據(jù) Oxc 官方基準(zhǔn)測(cè)試,Oxlint 在不同 CPU 核心數(shù)下可實(shí)現(xiàn)比 ESLint 快 50 到 100 倍的 lint 速度,而 Biome 則將 lint 和格式化整合在同一個(gè)工具中。不過,這類工具的權(quán)衡點(diǎn)在于規(guī)則覆蓋度,目前仍無(wú)法完全匹配 ESLint 的完整生態(tài)。

ESLint 是一個(gè)開源、可擴(kuò)展的 JavaScript 和 TypeScript 代碼檢查工具,由 Nicholas C. Zakas 于 2013 年創(chuàng)建,目前由 OpenJS Foundation 維護(hù),采用 MIT 許可證,每周 npm 下載量超過 1.2 億次。

在 v10 發(fā)布后,10.0.1 和 10.0.3 已陸續(xù)發(fā)布用于修復(fù)問題,10.1.0 也已于 2026 年 3 月 20 日上線。

https://www.infoq.com/news/2026/04/eslint-10-release/

聲明:本文為 InfoQ 翻譯,未經(jīng)許可禁止轉(zhuǎn)載。

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點(diǎn)推薦
廣告使用“清朝長(zhǎng)辮”被指辱華,法國(guó)品牌Lemaire致歉

廣告使用“清朝長(zhǎng)辮”被指辱華,法國(guó)品牌Lemaire致歉

南方都市報(bào)
2026-04-26 20:40:18
男子一身名牌坐地鐵,被指像成功人士,網(wǎng)友:再有錢也怕堵車

男子一身名牌坐地鐵,被指像成功人士,網(wǎng)友:再有錢也怕堵車

丫頭舫
2026-04-27 17:39:57
38歲王思聰近照認(rèn)不出!滿頭白發(fā)穿睡衣度假,駝背顯老像 50 歲

38歲王思聰近照認(rèn)不出!滿頭白發(fā)穿睡衣度假,駝背顯老像 50 歲

橙星文娛
2026-04-27 14:17:09
2-3!3-3!瘋狂一夜,亞特蘭大爆大冷,拉齊奧補(bǔ)時(shí)絕平,曼聯(lián)險(xiǎn)勝

2-3!3-3!瘋狂一夜,亞特蘭大爆大冷,拉齊奧補(bǔ)時(shí)絕平,曼聯(lián)險(xiǎn)勝

足球狗說
2026-04-28 05:07:09
“酩酊大醉”不讀míng dīng dà zuì了,正確讀音是什么?

“酩酊大醉”不讀míng dīng dà zuì了,正確讀音是什么?

未央看點(diǎn)
2026-04-27 22:13:40
從排隊(duì)入籍到集體觀望?美國(guó)入籍申請(qǐng)?bào)E降,綠卡人群態(tài)度變了?

從排隊(duì)入籍到集體觀望?美國(guó)入籍申請(qǐng)?bào)E降,綠卡人群態(tài)度變了?

紐約時(shí)間
2026-04-28 02:29:16
看完女排最新集訓(xùn),心里五味雜陳!別說里約,連倫敦周期都比不上

看完女排最新集訓(xùn),心里五味雜陳!別說里約,連倫敦周期都比不上

金毛愛女排
2026-04-28 00:00:04
Deepseek,光通信之后的下一個(gè)主升浪

Deepseek,光通信之后的下一個(gè)主升浪

靜姐的財(cái)富第六感
2026-04-26 22:31:06
淚目 趙心童曬兒時(shí)與丁俊暉合照:偶像暉哥讓我加油 你也要加油啊

淚目 趙心童曬兒時(shí)與丁俊暉合照:偶像暉哥讓我加油 你也要加油啊

風(fēng)過鄉(xiāng)
2026-04-27 06:15:09
有的人為了當(dāng)官,把老婆送給領(lǐng)導(dǎo)睡

有的人為了當(dāng)官,把老婆送給領(lǐng)導(dǎo)睡

斜杠人生
2026-04-28 00:00:04
金價(jià):大家不用等候了!不出意外,金價(jià)可能將歷史重演!

金價(jià):大家不用等候了!不出意外,金價(jià)可能將歷史重演!

殘夢(mèng)重生來
2026-04-28 04:40:09
不到72小時(shí),俞敏洪再迎兩大壞消息,主播集體辭職只是“開胃菜”

不到72小時(shí),俞敏洪再迎兩大壞消息,主播集體辭職只是“開胃菜”

阿廢冷眼觀察所
2026-04-28 00:24:36
皮蛋再次成為關(guān)注對(duì)象!研究發(fā)現(xiàn):高血脂吃皮蛋,身體或有6改善

皮蛋再次成為關(guān)注對(duì)象!研究發(fā)現(xiàn):高血脂吃皮蛋,身體或有6改善

健康科普365
2026-04-25 09:27:08
七萬(wàn)匹東洋大馬的覆滅:國(guó)民黨三年敗光日本四十五年心血

七萬(wàn)匹東洋大馬的覆滅:國(guó)民黨三年敗光日本四十五年心血

小莜讀史
2026-04-26 22:44:33
特朗普轉(zhuǎn)發(fā)“中印是人間地獄”,印度痛批低俗,中方態(tài)度耐人尋味

特朗普轉(zhuǎn)發(fā)“中印是人間地獄”,印度痛批低俗,中方態(tài)度耐人尋味

線裝史冊(cè)
2026-04-28 02:38:29
東南亞隱藏的“電詐大佬”,一個(gè)個(gè)正在浮出水面

東南亞隱藏的“電詐大佬”,一個(gè)個(gè)正在浮出水面

現(xiàn)實(shí)的聲音
2026-04-27 20:36:14
大姑子一家9口住進(jìn)來,老公說他5200養(yǎng)活全家足夠,我?guī)夯啬锛?>
    </a>
        <h3>
      <a href=麥子情感故事
2026-04-27 21:34:15
沒人再提激光雷達(dá)數(shù)量?直擊北京車展:今年智能駕駛“卷”什么

沒人再提激光雷達(dá)數(shù)量?直擊北京車展:今年智能駕駛“卷”什么

時(shí)代周報(bào)
2026-04-26 18:14:26
涉黃被傳喚,馬斯克出事了

涉黃被傳喚,馬斯克出事了

營(yíng)銷頭版
2026-04-27 14:42:14
中國(guó)排協(xié)官宣!16點(diǎn)30分,女排訓(xùn)練將直播,第二批球員恐揭曉

中國(guó)排協(xié)官宣!16點(diǎn)30分,女排訓(xùn)練將直播,第二批球員恐揭曉

跑者排球視角
2026-04-27 23:48:17
2026-04-28 05:28:49
InfoQ incentive-icons
InfoQ
有內(nèi)容的技術(shù)社區(qū)媒體
12309文章數(shù) 51863關(guān)注度
往期回顧 全部

科技要聞

DeepSeek V4上線三天,第一批實(shí)測(cè)出來了

頭條要聞

坐在特朗普身邊親歷槍擊案的女記者 身份非常不一般

頭條要聞

坐在特朗普身邊親歷槍擊案的女記者 身份非常不一般

體育要聞

人類馬拉松"破二"新紀(jì)元,一場(chǎng)跑鞋軍備競(jìng)賽

娛樂要聞

黃楊鈿甜為“耳環(huán)風(fēng)波”出鏡道歉:謠言已澄清

財(cái)經(jīng)要聞

Meta 140億收購(gòu)Manus遭中國(guó)發(fā)改委否決

汽車要聞

不那么小眾也可以 smart的路會(huì)越走越寬

態(tài)度原創(chuàng)

本地
家居
房產(chǎn)
藝術(shù)
公開課

本地新聞

云游中國(guó)|逛世界風(fēng)箏都 留學(xué)生探秘中國(guó)傳統(tǒng)文化

家居要聞

江景風(fēng)格 流動(dòng)的秩序

房產(chǎn)要聞

信號(hào)!海南商業(yè)版圖,迎來大變局!

藝術(shù)要聞

他的油畫筆觸粗獷又細(xì)膩,透著一種不可言說的美!

公開課

李玫瑾:為什么性格比能力更重要?

無(wú)障礙瀏覽 進(jìn)入關(guān)懷版