load-common-gulp-tasks
Load common gulp tasks and configs so you don't need to redefine them for every module
Supplies a common interface to the following gulp modules:
- gulp-mocha
- gulp-jshint
- gulp-istanbul
- gulp-istanbul-enforcer
- gulp-plato
- gulp-help
- gulp-nice-package
- gulp-shrinkwrap
Available Tasks
gulp help
for available tasks. Right now these are the default tasks:
Debug Tests
You can debug your mocha tests using a tool like node-inspector
combined with the gulp test-debug
target
Basic Usage
// gulpfile.jsvar gulp = ;
Options
load-common-gulp-tasks
tries to assume smart defaults but also attempts to be very configurable.
Each option can be overridden by passing an options
object as the second parameter,
e.g. require('load-common-gulp-tasks')(gulp, options);
options.istanbul
Type: Object
Default:
includeUntested: true
See here for all available options
options.istanbulWriteReports
Type: Object
Default:
dir: './target/coverage'
See here for all available options
options.istanbulEnforcer
Type: Object
Default:
thresholds: statements: 80 branches: 70 lines: 80 functions: 80 coverageDirectory: './target/coverage' rootDirectory: ''
See here for all available options
options.paths
Type: Object
Default:
lint: './*.js' './lib/**/*.js' './test/**/*.js' felint: './content/**/*.js' cover: './lib/**/*.js' test: './test/**/*.js'
Glob paths used by the associated targets
options.jshintrc.server
Type: String
Default: node_modules/load-common-gulp-tasks/lint/.jshintrc
.jshintrc
file to use when running gulp lint
target
options.jshintrc.client
Type: String
Default: node_modules/load-common-gulp-tasks/felint/.jshintrc
.jshintrc
file to use when running gulp felint
target
options.complexity.destDir
Type: String
Default: ./target/complexity
Report destination.
options.complexity.options
Type: Object
Default: {}
Options passed to complexity-report.
options.showStreamSize
Type: Boolean
Default: false
Optionally show the gulp stream size of each task
options.nicePackage.spec
Type: String
Default: npm
spec option for package.json-validator
options.nicePackage.options
Type: Object
Default:
warnings: false recommendations: false
spec option for package.json-validator
options.mocha
Type: Object
Default:
timeout: 2000 reporter: 'dot'
These options are passed to gulp-mocha in testing tasks.
If a timeout
option is given, it will also be used as a default value
for options.mochaWatch
, used in 'watching' test tasks.
See here for all available options
options.mochaWatch
Type: Object
Default:
timeout: 2000 // overriden by options.mocha.timeout if present reporter: 'min' growl: true
If a timeout
option is not given here, but in options.mocha, it will be used here. These options are passed to gulp-mocha when used in 'watching' tests.
See here for all available options Note: some options, like growl
, remain undocumented.
Advanced Usage
To override default tasks or create new ones, simply define them after calling require('load-common-gulp-tasks')(gulp);
in your gulpfile.js
, e.g.
var gulp = sass = sassFiles = './lib/*/sass/*.scss' options; // ------------------------// custom coverage settings// ------------------------options = istanbulEnforcer: thresholds: statements: 83 // higher than default branches: 59 // lower than default // lines not defined. use default functions: 58 ; // ------------------------// load common tasks// ------------------------gulp options; // ------------------------// custom tasks// ------------------------gulp; gulp;