@cailiao/prettier-eslint-webpack-plugin

0.1.5 • Public • Published

Prettier Eslint Webpack Plugin

Webpack 4 plugin for prettier-eslint

描述(Description)

基于 eslint-webpack-plugin 2.x 拓展的 prettier-eslint-webpack-plugin,输出的格式化结果以 eslint 规则为主,prettier 规则为辅,如若两者冲突,将以 eslint 输出为最终结果。

注意: 配置同 eslint-webpack-plugin. 开启 fix 设置 即开启 prettier-eslint 格式化,只有 eslint 语法错误提示, prettier 没有提示。支持.vue文件,需配置相关 eslint 插件。

开始使用

npm install @cailiao/prettier-eslint-webpack-plugin@latest --save-dev

注意: 如果报依赖缺失需要自行安装 eslint >= 8 (暂未兼容 eslint 7 及以下) prettier >= 2:

npm install eslint@8 prettier@2 --save-dev

webpack配置示例:

const PrettierEslintPlugin = require('@cailiao/prettier-eslint-webpack-plugin');

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

以下信息来自 eslint-webpack-plugin 2.x

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 don't 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 traversed 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.

Readme

Keywords

none

Package Sidebar

Install

npm i @cailiao/prettier-eslint-webpack-plugin

Weekly Downloads

4

Version

0.1.5

License

ISC

Unpacked Size

21.3 kB

Total Files

4

Last publish

Collaborators

  • cailiao