gulp-coffeelint
CoffeeLint plugin for gulp 3.
Usage
First, install gulp-coffeelint
as a development dependency:
npm install --save-dev gulp-coffeelint
Then, add it to your gulpfile.js
:
var gulp = ;var coffeelint = ; gulp;
API
coffeelint([optFile,] [opt,] [literate,] [rules])
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.
optFile
Type: String
Absolute path of a json
file containing options for coffeelint
.
opt
Type: Object
Options you wish to send to coffeelint
. If optFile
is given, this will be ignored.
literate
Type: Boolean
Are we dealing with Literate CoffeeScript?
rules
Type: Array[Function]
Default: []
Add custom rules to coffeelint
.
Results
Adds the following properties to the file
object:
filecoffeelintsuccess = true; // if no errors were found, false otherwisefilecoffeelinterrorCount = 0; // number of errors returned by `coffeelint`filecoffeelintwarningCount = 0; // number of warnings returned by `coffeelint`filecoffeelintresults = ErrorReport Object; // instance of `Coffeelint::ErrorReport` , see https://github.com/clutchski/coffeelint/blob/master/src/error_report.coffeefilecoffeelintopt = {}; // the options used by `coffeelint`filecoffeelintliterate = false; // you guessed it
Reporters
name
Type: String
, Function
Default: 'coffeelint-stylish'
CoffeeLint reporters
Built-in
You can choose any CoffeeLint reporter when you call
gulp
External
Let's use coffeelint-stylish as an example. External modules can be referenced either as the reporter's constructor function or as its module name.
var stylish = ; gulp
-- OR --
gulp
Any module following the CoffeeLint Reporter module format should work. These modules have a constructor accepting a CoffeeLint::ErrorReport Object
, and provide a publish
function.
Fail and FailOnWarning Reporters
Do you want the task to fail when a CoffeeLint error or warning happens? gulp-coffeelint includes fail
and failOnWarning
reporters for this.
This example will log the errors using the stylish reporter, then fail if CoffeeLint was not a success.
gulp
Custom Reporters
Specify your own downstream Reporter for CoffeeLint results.
var coffeelint = ; var myReporter = { { thiserrorReport = errorReport; } MyReporterprototype { var hasError = thiserrorReport; if hasError return console; return console; } return MyReporter;}; gulp;
Contributing
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.