版本

功能旗標

ESLint 將實驗性和未來重大變更置於功能旗標之後發布,讓使用者可以選擇加入他們想要的行為。旗標用於以下情況

  1. 當某個功能是實驗性的,尚未準備好為所有人啟用時。
  2. 當某個功能是重大變更,將在下一個主要版本中正式合併時,但使用者可以在下一個主要版本之前選擇加入該行為。

旗標前綴

旗標的前綴表示其狀態

  • unstable_ 表示該功能是實驗性的,並且實作方式可能會在功能穩定之前變更。這是一個「使用風險自負」的功能。
  • v##_ 表示該功能已穩定,將在下一個主要版本中提供。例如,v10_some_feature 表示這是一個重大變更,將在 ESLint v10.0.0 中正式發布。這些旗標會在每個主要版本中移除,並且進一步使用它們會擲回錯誤。

如果功能是非重大變更,則功能可能會從不穩定狀態轉變為預設啟用,而無需主要版本發布。

以下政策適用於 unstable_ 旗標。

  • 當功能穩定時
    • 如果預設啟用該功能會是重大變更,則會新增一個新的 v##_ 旗標作為啟用狀態,而 unstable_ 旗標會變成停用狀態。進一步使用 unstable_ 旗標會自動啟用 v##_ 旗標,但會發出警告。
    • 否則,該功能預設為啟用,且 unstable_ 旗標會變成停用狀態。進一步使用 unstable_ 旗標會發出警告。
  • 如果功能被放棄,則 unstable_ 旗標會變成停用狀態。進一步使用它會擲回錯誤。
  • 所有停用的 unstable_ 旗標都會在每個主要版本中移除,並且進一步使用它們會擲回錯誤。

啟用旗標

以下旗標目前可在 ESLint 中使用。

旗標 描述
unstable_config_lookup_from_file從正在檢查的檔案中查找 `eslint.config.js`。

停用旗標

以下旗標曾經使用過,但不再啟用。

旗標 描述 停用原因
unstable_ts_config啟用 TypeScript 設定檔。此功能現在預設為啟用。

如何使用功能旗標

由於功能旗標是嚴格選擇加入的,因此您需要手動啟用您想要的旗標。

使用 CLI 啟用功能旗標

在命令列上,您可以使用 --flag 選項指定功能旗標。您可以指定任意數量的旗標

npm

npx eslint --flag flag_one --flag flag_two file.js 

yarn

yarn dlx eslint --flag flag_one --flag flag_two file.js 

pnpm

pnpm dlx eslint --flag flag_one --flag flag_two file.js 

bun

bunx eslint --flag flag_one --flag flag_two file.js 

使用 API 啟用功能旗標

當使用 API 時,您可以將 flags 陣列傳遞給 ESLintLinter 類別

const { ESLint, Linter } = require("eslint");

const eslint = new ESLint({
    flags: ["flag_one", "flag_two"]
});

const linter = new Linter({
    flags: ["flag_one", "flag_two"]
});

在 VS Code 中啟用功能旗標

若要在適用於編輯器的 VS Code ESLint 擴充功能中啟用旗標,請在您的 settings.json 檔案的 eslint.options 設定中指定您想要的旗標

{
  "eslint.options": { "flags": ["flag_one", "flag_two"] }
}

若要在適用於檢查工作的 VS Code ESLint 擴充功能中啟用旗標,請指定 eslint.lintTask.options 設定

{
  "eslint.lintTask.options": "--flag flag_one --flag flag_two ."
}
變更語言