ESLint v7.0.0 版本發布

我們剛剛推送了 ESLint v7.0.0,這是 ESLint 的主要版本升級。此版本新增了一些新功能,並修復了先前版本中發現的幾個錯誤。此版本也包含一些重大變更,因此請仔細閱讀以下內容。

重點摘要

7.0.0 版本中有幾項重大變更。我們建立了一份遷移指南,以說明重大變更並描述如何升級。

停止支援 Node.js v8

Node.js 8 已於 2019 年 12 月終止生命週期 (EOL),我們在此版本中正式停止對其的支援。

核心規則變更

  • 核心中的十個 Node.js/CommonJS 規則已被棄用,並移至 eslint-plugin-node 外掛程式。
  • 已更新多個規則以識別 bigint 字面值,並預設對更多情況發出警告。
  • eslint:recommended 已使用一些新規則進行更新:no-dupe-else-ifno-import-assignno-setter-return

改善開發者體驗

  • 預設忽略模式已更新。ESLint 將不再預設忽略 .eslintrc.jsbower_components/*。此外,現在預設會忽略巢狀的 node_modules 目錄。
  • ESLint 現在將對副檔名不是 .js 的檔案執行 lint,如果這些檔案已在 overrides[].files 中明確定義 - 無需使用 --ext 旗標!
  • ESLint 現在支援在指令註解中加入描述,因此像是停用註解之類的事情現在可以清楚地記錄下來!
  • 已將額外的驗證新增至 RuleTester 類別,以改善在外掛程式中測試自訂規則的功能。
  • ESLint 現在將相對於入口組態檔解析外掛程式。這表示位於專案外部的共用組態檔現在可以與它們需要的外掛程式放在一起。
  • 從 ESLint v7 開始,使用 --config path/to/a-config 和 --ignore-path path/to/a-ignore CLI 旗標傳遞給 ESLint 的組態檔和忽略檔,將從目前的工作目錄而不是檔案位置解析。這允許使用者使用共用外掛程式,而無需直接在其專案中安裝它們。

新的 ESLint 類別

  • CLIEngine 類別提供一個同步 API,它會阻礙諸如平行 linting、在可共用組態/解析器/外掛程式/格式器中支援 ES 模組,以及新增視覺化顯示 linting 執行進度的功能等特性的實作。新的 ESLint 類別提供一個非同步 API,ESLint 核心現在將在未來使用它。CLIEngine 將在可預見的未來保留在核心中,但可能會在未來的重大版本中移除。

重大變更

新功能

增強功能

錯誤修正

文件

依賴升級

  • 8d1b4db 建置:7.0.0-rc.0 的變更日誌更新 (ESLint Jenkins)
  • 2531b80 建置:7.0.0-alpha.3 的變更日誌更新 (ESLint Jenkins)
  • 2e8f193 建置:7.0.0-alpha.2 的變更日誌更新 (ESLint Jenkins)
  • e9f1073 建置:7.0.0-alpha.1 的變更日誌更新 (ESLint Jenkins)
  • c8c1b2b 建置:7.0.0-alpha.0 的變更日誌更新 (ESLint Jenkins)
  • 4e16957 建置:更新瀏覽器建置 (#12693) (Toru Nagashima)
  • 827259e 建置:eslint-config-eslint 發布的 package.json 更新 (ESLint Jenkins)

雜項

最新的 ESLint 新聞、案例研究、教學和資源。

Evolving flat config with extends
5 分鐘閱讀

使用 extends 演進扁平化設定

您的 eslint.config.js 檔案現在可以使用 extends 來簡化您的設定。

ESLint v9.22.0 released
1 分鐘閱讀

ESLint v9.22.0 已發布

我們剛剛推送了 ESLint v9.22.0,這是 ESLint 的次要版本升級。此版本新增了一些新功能並修正了先前版本中發現的幾個錯誤。

ESLint v9.21.0 released
2 分鐘閱讀

ESLint v9.21.0 已發布

我們剛剛推送了 ESLint v9.21.0,這是 ESLint 的次要版本升級。此版本新增了一些新功能並修正了先前版本中發現的幾個錯誤。