@cailiao/prettier-eslint-webpack-plugin
v0.1.5
Published
prettier-eslint的webpack插件
Downloads
9
Readme
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.