CoffeeLint plugin for gulp 3.
First, install gulp-coffeelint
as a development dependency:
npm install --save-dev gulp-coffeelint
Then, add it to your gulpfile.js
:
var gulp = require('gulp');
var coffeelint = require('gulp-coffeelint');
gulp.task('lint', function () {
gulp.src('./src/*.coffee')
.pipe(coffeelint())
.pipe(coffeelint.reporter())
});
All arguments are optional. By default gulp-coffeelint
will walk up the directory tree looking for a coffeelint.json
(per file, i.e. dirname) or a package.json
that has a coffeelintConfig
object (as the cli does). Also, .litcoffee
and .coffee.md
files will be treated as Literate CoffeeScript.
Type: String
Absolute path of a json
file containing options for coffeelint
.
Type: Object
Options you wish to send to coffeelint
. If optFile
is given, this will be ignored.
Type: Boolean
Are we dealing with Literate CoffeeScript?
Type: Array[Function]
Default: []
Add custom rules to coffeelint
.
Type: Boolean
Should we use coffeelint-cjsx
instead of coffeelint
?
Adds the following properties to the file
object:
file.coffeelint.success = true; // if no errors were found, false otherwise
file.coffeelint.errorCount = 0; // number of errors returned by `coffeelint`
file.coffeelint.warningCount = 0; // number of warnings returned by `coffeelint`
file.coffeelint.results = []; // `coffeelint` results, see http://www.coffeelint.org/#api
file.coffeelint.opt = {}; // the options used by `coffeelint`
file.coffeelint.literate = false; // you guessed it
Assuming you would like to make use of those pretty results we have after piping through coffeelint()
there are some bundled reporters at your service.
Type: String
Default: 'default'
Possible Values: 'default'
, 'fail'
, 'failOnWarning'
-
The
'default'
reporter uses coffeelint-stylish to output a pretty report to the console. See usage example above. -
If you would like your stream to
emit
anerror
(e.g. to fail the build on a CI server) when errors are found, use the'fail'
reporter. -
If you want it to throw an error on both warnings and errors, use the
'failOnWarning'
reporter
This example will log errors and warnings using the coffeelint-stylish reporter, then fail if coffeelint
was not a success.
.pipe(coffeelint())
.pipe(coffeelint.reporter())
.pipe(coffeelint.reporter('fail'))
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using gulp and npm-test. Plus, make sure to adhere to these commit message conventions.