A JSHint loader module for webpack. Runs JSHint on JavaScript files in a bundle at build-time.
This module requires a minimum of Node v6.9.0 and Webpack v4.0.0.
To begin, you'll need to install jshint-loader
:
$ npm install jshint-loader --save-dev
Then add the loader to your webpack
config. For example:
// webpack.config.js module.exports = { module: { rules: [ { test: /.js/, enforce: 'pre', exclude: /node_modules/, use: [ { loader: `jshint-loader`, options: {...options} } ] } ] } }
And run webpack
via your preferred method.
All valid JSHint options are valid on this object, in addition to the custom loader options listed below:
delete options.; delete options.; delete options.;
Type: Boolean
Default: undefined
Instructs the loader to emit all JSHint warnings and errors as webpack errors.
Type: Boolean
Default: undefined
Instructs the loader to cause the webpack build to fail on all JSHint warnings and errors.
Type: Function
Default: undefined
A function used to format and emit JSHint warnings and errors.
By default, jshint-loader
will provide a default reporter.
However, if you prefer a custom reporter, pass a function under the reporter
property in jshint
options. (see usage above)
The reporter function will be passed an array of errors/warnings produced by JSHint with the following structure:
[ { id: [string, usually '(error)'], code: [string, error/warning code], reason: [string, error/warning message], evidence: [string, a piece of code that generated this error] line: [number] character: [number] scope: [string, message scope; usually '(main)' unless the code was eval'ed] [+ a few other legacy fields that you don't need to worry about.] }, // ... // more errors/warnings ]
The reporter function will be excuted with the loader context as this
. You may emit messages using this.emitWarning(...)
or this.emitError(...)
. See webpack docs on loader context.
Note: JSHint reporters are not compatible with JSHint-loader! This is due to the fact that reporter input is only processed from one file; not multiple files. Error reporting in this manner differs from traditional reporters for JSHint since the loader plugin (i.e. JSHint-loader) is executed for each source file; and thus the reporter is executed for each file.
The output in webpack CLI will usually be:
... WARNING in ./path/to/file.js <reporter output> ...
`
Please take a moment to read our contributing guidelines if you haven't yet done so.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4