This is eslint-rspack-plugin which works only with rspack . Fork from the eslint-webpack-plugin.
This plugin uses eslint
to find and fix problems in your JavaScript code
To begin, you'll need to install eslint-rspack-plugin
:
npm install eslint-rspack-plugin --save-dev
or
yarn add -D eslint-rspack-plugin
or
pnpm add -D eslint-rspack-plugin
Note:
You also need to install
eslint >= 8
from npm, if you haven't already:
npm install eslint --save-dev
or
yarn add -D eslint
or
pnpm add -D eslint
Then add the plugin to your webpack config. For example:
const ESLintPlugin = require('eslint-rspack-plugin');
module.exports = {
// ...
plugins: [new ESLintPlugin(options)],
// ...
};
You can pass eslint options.
Note
The config option you provide will be passed to the
ESLint
class. This is a different set of options than what you'd specify inpackage.json
or.eslintrc
. See the eslint docs for more details.
Warning:
In eslint-webpack-plugin version 1 the options were passed to the now deprecated CLIEngine.
- Type:
type cache = boolean;
- Default:
true
The cache is enabled by default to decrease execution time.
- Type:
type cacheLocation = string;
- Default:
node_modules/.cache/eslint-webpack-plugin/.eslintcache
Specify the path to the cache location. Can be a file or a directory.
- Type:
type context = string;
- Default:
compiler.context
A string indicating the root of your files.
- Type:
type eslintPath = string;
- Default:
eslint
Path to eslint
instance that will be used for linting. If the eslintPath
is a folder like a official eslint, or specify a formatter
option. now you don't have to install eslint
.
- Type:
type extensions = string | Array<string>;
- Default:
'js'
Specify extensions that should be checked.
- Type:
type exclude = string | Array<string>;
- Default:
'node_modules'
Specify the files and/or directories to exclude. Must be relative to options.context
.
- Type:
type resourceQueryExclude = RegExp | Array<RegExp>;
- Default:
[]
Specify the resource query to exclude.
- Type:
type files = string | Array<string>;
- Default:
null
Specify directories, files, or globs. Must be relative to options.context
.
Directories are traversed recursively looking for files matching options.extensions
.
File and glob patterns ignore options.extensions
.
- Type:
type fix = boolean;
- Default:
false
Will enable ESLint autofix feature.
Be careful: this option will change source files.
- Type:
type formatter = string| (
results: Array<import('eslint').ESLint.LintResult>,
data?: import('eslint').ESLint.LintResultData | undefined
) => string
- Default:
'stylish'
Accepts a function that will have one argument: an array of eslint messages (object). The function must return the output as a string. You can use official eslint formatters.
- Type:
type lintDirtyModulesOnly = boolean;
- Default:
false
Lint only changed files, skip lint on start.
- Type:
type threads = boolean | number;
- Default:
false
Will 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 using emitError
or emitWarning
options:
- Type:
type emitError = boolean;
- Default:
true
The errors found will always be emitted, to disable set to false
.
- Type:
type emitWarning = boolean;
- Default:
true
The warnings found will always be emitted, to disable set to false
.
- Type:
type failOnError = boolean;
- Default:
true
Will cause the module build to fail if there are any errors, to disable set to false
.
- Type:
type failOnWarning = boolean;
- Default:
false
Will cause the module build to fail if there are any warnings, if set to true
.
- Type:
type quiet = boolean;
- Default:
false
Will process and report errors only and ignore warnings, if set to true
.
- Type:
type outputReport =
| boolean
| {
filePath?: string | undefined;
formatter?:
| (
| string
| ((
results: Array<import('eslint').ESLint.LintResult>,
data?: import('eslint').ESLint.LintResultData | undefined
) => string)
)
| undefined;
};
- Default:
false
Write the output of the errors to a file, for example a checkstyle xml file for use for reporting on Jenkins CI.
The filePath
is an absolute path or relative to the webpack config: output.path
.
You can pass in a different formatter
for the output file,
if none is passed in the default/configured formatter will be used.