GithubHelp home page GithubHelp logo

isabella232 / eslint-webpack-plugin Goto Github PK

View Code? Open in Web Editor NEW

This project forked from webpack-contrib/eslint-webpack-plugin

0.0 0.0 0.0 2.08 MB

A ESLint plugin for webpack

License: MIT License

JavaScript 100.00%

eslint-webpack-plugin's Introduction

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.

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: false

Will always return errors, if set to true.

emitWarning

  • Type: Boolean
  • Default: false

Will always return warnings, if set to true.

failOnError

  • Type: Boolean
  • Default: false

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

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

eslint-webpack-plugin's People

Contributors

cap-bernardito avatar evilebottnawi avatar jsg2021 avatar lkummer avatar n-rodriguez avatar ricardogobbosouza avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.