Less Terrible Coffeelint Loader
This was originally a fork of coffeelint-loader, but it had some deficiencies. When I tried to fix them, I ended up replacing the whole thing.
I'm using this for an internal project at the company I work for, so don't expect this to work in the general case. While it may technically have support for some features, I have not tested all of them. PRs are welcome, however.
Usage
Apply the Coffeelint loader as pre/postLoader in your webpack configuration:
moduleexports =module:preLoaders:test: /\.coffee$/ // include .coffee filesexclude: /node_modules/loader: "less-terrible-coffeelint-loader"// more options in the optional coffeelint objectcoffeelint:// any coffeelint option http://www.coffeelint.com/#options// i. e.camel_case_classes: 'error'// coffeelint to not interrupt the compilation// if you want any file with coffeelint errors to fail// set failOnErrors to truefailOnErrors: false// same as failOnErrors but will throw an exception for// warnings as wellfailOnWarns: false// custom reporter function{this;}
Custom reporter
By default, less-terrible-coffeelint-loader
will provide a default reporter.
However, if you prefer a custom reporter, pass a function under the reporter
key in coffeelint
options. (see usage above)
The reporter function will be passed the array returned from coffeelint.lint
as well as a boolean indicating whether you should emitError
or emitWarning
:
reporter; // emitErrors
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.
The output in the Webpack CLI will usually be:
...
WARNING in ./path/to/file.js
<reporter output>
...
License
MIT (http://www.opensource.org/licenses/mit-license.php)