This version of eslint-webpack-plugin only supports webpack 5. For the webpack 4, see the2.x branch.
This plugin usesESlint to find and fix problems in your JavaScript code during the Webpack build process.
To begin, you'll need to installeslint-webpack-plugin:
npm install eslint-webpack-plugin --save-devor
yarn add -D eslint-webpack-pluginor
pnpm add -D eslint-webpack-plugin[!NOTE]
You also need to install
eslint >= 8from npm, if you haven't already:
npm install eslint --save-devor
yarn add -D eslintor
pnpm add -D eslintThen add the plugin to your webpack configuration. For example:
const ESLintPlugin=require("eslint-webpack-plugin");module.exports={// ... plugins:[newESLintPlugin(options)],// ...};You can passESLint Node.js API options.
[!NOTE]
The config option you provide will be passed to the
ESLintclass.This is a different set of options than what you'd specify inpackage.jsonoreslint.config.js(since ESLint v9.0.0, formerly.eslintrc).See theESlint docs for more details.
[!WARNING]
In eslint-webpack-plugin version 1 the options were passed to the now-deprecatedCLIEngine.
cachetypecache=boolean;trueThe cache is enabled by default to decrease execution time.
cacheLocationtypecacheLocation=string;node_modules/.cache/eslint-webpack-plugin/.eslintcacheSpecify the path to the cache location. Can be a file or a directory.
configTypetypeconfigType="flat"|"eslintrc";flatSpecify the type of configuration to use with ESLint.
eslintrc is the classic configuration format available in most ESLint versions.flat is the new format introduced in ESLint 8.21.0.The new configuration format is explained in itsown documentation.
contexttypecontext=string;compiler.contextBase directory for linting.
eslintPathtypeeslintPath=string;eslintPath toeslint instance that will be used for linting.
If theeslintPath is a folder like a official ESlint, or specify aformatter option, now you don't have to installeslint.
extensionstypeextensions=string|string[];'js'Specify file extensions that should be checked.
excludetypeexclude=string|string[];'node_modules'Specify the files/directories to exclude. Must be relative tooptions.context.
resourceQueryExcludetyperesourceQueryExclude= RegExp| RegExp[];[]Specify the resource query to exclude.
filestypefiles=string|string[];nullSpecify directories, files, or globs. Must be relative tooptions.context.Directories are traversed recursively looking for files matchingoptions.extensions.File and glob patterns ignoreoptions.extensions.
fixtypefix=boolean;falseWill enableESLint autofix feature.
Be careful: this option will modify source files.
formattertypeformatter=|string|(( results:import("eslint").ESLint.LintResult[], data?:import("eslint").ESLint.LintResultData|undefined,)=>string);'stylish'Accepts a function that receives an array of ESLint messages (object) as its argument and must return a string as output.
You can use officialESlint formatters.
lintDirtyModulesOnlytypelintDirtyModulesOnly=boolean;falseLint only changed files, skipping initial lint on build start.
threadstypethreads=boolean|number;falseWill run lint tasks across a thread pool. The pool size is automatic unless you specify a number.
By default the plugin will auto adjust error reporting depending on eslint errors/warnings counts.
You can still force this behavior by usingemitErrororemitWarning options:
emitErrortypeemitError=boolean;trueThe errors found will always be emitted, to disable set tofalse.
emitWarningtypeemitWarning=boolean;trueThe warnings found will always be emitted, to disable set tofalse.
failOnErrortypefailOnError=boolean;trueWill cause the module build to fail if any errors are found, to disable set tofalse.
failOnWarningtypefailOnWarning=boolean;falseWill cause the module build to fail if any warnings are found, if set totrue.
quiettypequiet=boolean;falseWill process and report errors only and ignore warnings, if set totrue.
outputReporttypeoutputReport=|boolean|{ filePath?:string|undefined; formatter?:|(|string|(( results:import("eslint").ESLint.LintResult[], data?:import("eslint").ESLint.LintResultData|undefined,)=>string))|undefined;};falseWrite ESLint results to a file, for example a checkstyle xml file for use for reporting on Jenkins CI.
formatter for the output file.if none is passed in the default/configured formatter will be used.We welcome all contributions!
If you're new here, please take a moment to review our contributing guidelines.