JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 5317246
  • Score
    100M100P100Q195062F
  • License MIT

A ESLint plugin for webpack

Package Exports

  • eslint-webpack-plugin

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (eslint-webpack-plugin) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

npm node deps tests coverage chat size

eslint-webpack-plugin

A ESLint plugin for webpack

About plugin

The plugin was born with the purpose of solving some problems of the eslint-loader.

eslint-webpack-plugin eslint-loader
Easy configuration ✔️ ✖️
Generate unique an output report ✔️ ✖️
Using cache directly from eslint ✔️ ✖️
Lint only changed files ✔️ ✖️

Migrate from eslint-loader

The loader eslint-loader will be deprecated soon, please use this plugin instead.

Before:

module.exports = {
  // ...
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        loader: 'eslint-loader',
        options: {
          // eslint options (if necessary)
        },
      },
    ],
  },
  // ...
};

After:

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

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

Install

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

Note: You also need to install eslint >= 7 from npm, if you haven't already:

npm install eslint --save-dev

Usage

In your webpack configuration:

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

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

Options

You can pass eslint options.

Note that the config option you provide will be passed to the ESLint class. This is a different set of options than what you'd specify in package.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.

context

  • Type: String
  • Default: compiler.context

A string indicating the root of your files.

eslintPath

  • Type: 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 dont have to install eslint.

extensions

  • Type: String|Array[String]
  • Default: 'js'

Specify extensions that should be checked.

exclude

  • Type: String|Array[String]
  • Default: 'node_modules'

Specify the files and/or directories to exclude. Must be relative to options.context.

files

  • Type: String|Array[String]
  • Default: null

Specify directories, files, or globs. Must be relative to options.context. Directories are traveresed recursively looking for files matching options.extensions. File and glob patterns ignore options.extensions.

fix

  • Type: Boolean
  • Default: false

Will enable ESLint autofix feature.

Be careful: this option will change source files.

formatter

  • Type: String|Function
  • 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.

lintDirtyModulesOnly

  • Type: Boolean
  • Default: false

Lint only changed files, skip lint on start.

threads

  • Type: Boolean | Number
  • Default: false

Will run lint tasks across a thread pool. The pool size is automatic unless you specify a number.

Errors and Warning

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:

emitError

  • Type: Boolean
  • Default: true

The errors found will always be emitted, to disable set to false.

emitWarning

  • Type: Boolean
  • Default: true

The warnings found will always be emitted, to disable set to false.

failOnError

  • Type: Boolean
  • Default: true

Will cause the module build to fail if there are any errors, to disable set to false.

failOnWarning

  • Type: Boolean
  • Default: false

Will cause the module build to fail if there are any warnings, if set to true.

quiet

  • Type: Boolean
  • Default: false

Will process and report errors only and ignore warnings, if set to true.

outputReport

  • Type: Boolean|Object
  • 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.

Changelog

Changelog

License

MIT