共享設定
若要共享您的 ESLint 設定,請建立可共享的設定檔。您可以將您的可共享設定檔發布到 npm,以便其他人可以下載並在他們的 ESLint 專案中使用它。
本頁說明如何建立和發布可共享的設定檔。
建立可共享的設定檔
可共享的設定檔僅僅是匯出設定物件或陣列的 npm 套件。首先,像平常一樣建立一個 Node.js 模組。
雖然您可以隨意命名套件,但我們建議使用以下慣例之一,使您的套件更容易識別
- 以
eslint-config-
開頭,例如eslint-config-myconfig
。 - 對於 npm 作用域模組,請使用
@scope/eslint-config
命名或前綴模組,例如@scope/eslint-config
或@scope/eslint-config-myconfig
。
在您的模組中,從模組的 main
入口點檔案匯出可共享的設定檔。預設的主要入口點是 index.js
。例如
// index.js
export default [
{
languageOptions: {
globals: {
MyGlobal: true
}
},
rules: {
semi: [2, "always"]
}
}
];
由於 index.js
檔案只是 JavaScript,您可以從檔案讀取這些設定,或動態產生它們。
發布可共享的設定檔
一旦您的可共享設定檔準備就緒,您可以將其發布到 npm 以與他人共享。我們建議在 package.json
檔案中使用 eslint
和 eslintconfig
關鍵字,以便其他人可以輕鬆找到您的模組。
您應該在 package.json
中使用 peerDependencies 欄位宣告您對 ESLint 的依賴性。為了確保未來相容性,建議使用 “>=” 範圍語法來宣告依賴性,並使用最低要求的 ESLint 版本。例如
{
"peerDependencies": {
"eslint": ">= 9"
}
}
如果您的可共享設定檔依賴外掛程式或自訂解析器,您應該在您的 package.json
中將這些套件指定為 dependencies
。
使用可共享的設定檔
若要使用可共享的設定檔,請在 eslint.config.js
檔案內匯入套件並將其新增到匯出的陣列中,如下所示
// eslint.config.js
import myconfig from "eslint-config-myconfig";
export default [
...myconfig
];
覆寫來自可共享設定檔的設定
您可以透過在匯入可共享設定檔後,直接將設定新增到您的 eslint.config.js
檔案中,來覆寫來自可共享設定檔的設定。例如
// eslint.config.js
import myconfig from "eslint-config-myconfig";
export default [
...myconfig,
// anything from here will override myconfig
{
rules: {
"no-unused-vars": "warn"
}
}
];
共享多個設定檔
由於可共享的設定檔只是 npm 套件,您可以從同一個套件匯出任意數量的設定檔。除了使用 package.json
中的 main
條目指定預設設定檔之外,您還可以透過在您的 npm 套件中新增一個新檔案,然後從您的 eslint.config.js
檔案中引用它,來指定其他可共享的設定檔。
例如,您可以在您的 npm 套件的根目錄中建立一個名為 my-special-config.js
的檔案,並匯出一個設定檔,例如
// my-special-config.js
export default {
rules: {
quotes: [2, "double"]
}
};
然後,假設您正在使用套件名稱 eslint-config-myconfig
,您可以透過以下方式存取額外的設定檔
// eslint.config.js
import myconfig from "eslint-config-myconfig";
import mySpecialConfig from "eslint-config-myconfig/my-special-config.js";
export default [
...myconfig,
mySpecialConfig,
// anything from here will override myconfig and mySpecialConfig
{
rules: {
"no-unused-vars": "warn"
}
}
];