EslintWebpackPlugin

免責聲明: EslintWebpackPlugin 是由社群成員維護的第三方套件,它可能沒有與 webpack 相同的支援、安全政策或授權,且並非由 webpack 維護。

npm node tests coverage discussion size

此版本的 eslint-webpack-plugin 僅適用於 webpack 5。對於 webpack 4,請參閱 2.x 分支

此外掛程式使用 eslint 在您的 JavaScript 程式碼中尋找並修正問題

開始使用

首先,您需要安裝 eslint-webpack-plugin

npm install eslint-webpack-plugin --save-dev

yarn add -D eslint-webpack-plugin

pnpm add -D eslint-webpack-plugin

注意:

如果您尚未安裝,您還需要從 npm 安裝 eslint >= 8

npm install eslint --save-dev

yarn add -D eslint

pnpm add -D eslint

然後將外掛新增至 webpack 設定。例如

const ESLintPlugin = require('eslint-webpack-plugin');

module.exports = {
  // ...
  plugins: [new ESLintPlugin(options)],
  // ...
};

選項

您可以傳遞 eslint 選項

注意

您提供的設定選項將傳遞給 ESLint 類別。這是一組與您在 package.json.eslintrc 中指定的選項不同的選項。請參閱 eslint 文件 以取得更多詳細資訊。

警告:

在 eslint-webpack-plugin 版本 1 中,選項會傳遞給現在已棄用的 CLIEngine

快取

  • 類型
type cache = boolean;
  • 預設值:true

預設啟用快取以減少執行時間。

快取位置

  • 類型
type cacheLocation = string;
  • 預設值:node_modules/.cache/eslint-webpack-plugin/.eslintcache

指定快取位置的路徑。可以是檔案或目錄。

設定類型

  • 類型
type configType = "flat" | "eslintrc";
  • 預設值:eslintrc

指定要與 ESLint 搭配使用的設定類型。

  • eslintrc 是大多數 ESLint 版本中可用的經典設定格式。
  • flat 是 ESLint 8.21.0 中引入的新格式。

新的設定格式在其 專屬文件 中說明。

由於此設定格式被視為實驗性質,因此在 ESLint 8 中未在主 ESLint 模組中匯出。您需要將 eslintPath 設定為 eslint/use-at-your-own-risk,才能讓此設定格式運作。

內容

  • 類型
type context = string;
  • 預設:compiler.context

指示檔案根目錄的字串。

eslintPath

  • 類型
type eslintPath = string;
  • 預設:eslint

將用於 linting 的 eslint 實例路徑。如果 eslintPath 是資料夾,例如官方 eslint,或指定 formatter 選項。現在您不必安裝 eslint

extensions

  • 類型
type extensions = string | Array<string>;
  • 預設:'js'

指定應檢查的副檔名。

exclude

  • 類型
type exclude = string | Array<string>;
  • 預設:'node_modules'

指定要排除的檔案和/或目錄。必須與 options.context 相對。

resourceQueryExclude

  • 類型
type resourceQueryExclude = RegExp | Array<RegExp>;
  • 預設:[]

指定要排除的資源查詢。

files

  • 類型
type files = string | Array<string>;
  • 預設:null

指定目錄、檔案或 glob。必須與 options.context 相對。目錄會遞迴搜尋符合 options.extensions 的檔案。檔案和 glob 模式會忽略 options.extensions

fix

  • 類型
type fix = boolean;
  • 預設:false

將啟用 ESLint 自動修正功能

請小心:此選項將變更原始檔。

formatter

  • 類型
type formatter = string| (
  results:  Array<import('eslint').ESLint.LintResult>,
  data?: import('eslint').ESLint.LintResultData | undefined
) => string
  • 預設:'stylish'

接受具有一個參數(eslint 訊息陣列(物件))的函式。函式必須傳回輸出字串。您可以使用官方 eslint 格式化程式

lintDirtyModulesOnly

  • 類型
type lintDirtyModulesOnly = boolean;
  • 預設:false

僅檢查已變更的檔案,在開始時略過檢查。

threads

  • 類型
type threads = boolean | number;
  • 預設:false

將在執行緒池中執行檢查工作。除非您指定數字,否則池大小會自動調整。

錯誤和警告

預設情況下,外掛程式會根據 eslint 錯誤/警告計數自動調整錯誤回報。您仍可以使用 emitError emitWarning 選項強制執行此行為。

emitError

  • 類型
type emitError = boolean;
  • 預設值:true

找到的錯誤將永遠發出,若要停用,請設定為 false

emitWarning

  • 類型
type emitWarning = boolean;
  • 預設值:true

找到的警告將永遠發出,若要停用,請設定為 false

failOnError

  • 類型
type failOnError = boolean;
  • 預設值:true

如果出現任何錯誤,將導致模組建置失敗,若要停用,請設定為 false

failOnWarning

  • 類型
type failOnWarning = boolean;
  • 預設:false

如果出現任何警告,將導致模組建置失敗,如果設定為 true 的話。

quiet

  • 類型
type quiet = boolean;
  • 預設:false

如果設定為 true,將僅處理和回報錯誤,並忽略警告。

outputReport

  • 類型
type outputReport =
  | boolean
  | {
      filePath?: string | undefined;
      formatter?:
        | (
            | string
            | ((
                results: Array<import('eslint').ESLint.LintResult>,
                data?: import('eslint').ESLint.LintResultData | undefined,
              ) => string)
          )
        | undefined;
    };
  • 預設:false

將錯誤輸出寫入檔案,例如 checkstyle xml 檔案,以供 Jenkins CI 回報使用。

filePath 是絕對路徑或相對於 webpack 設定:output.path。你可以傳入不同的 formatter 給輸出檔案,如果沒有傳入,將會使用預設/設定的 formatter。

變更記錄

變更紀錄

授權

MIT