grunt-wait
Delay the grunt build chain with callbacks
Getting Started
This plugin requires Grunt>=0.4.0
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-wait --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-wait');
The "wait" task
Overview
In your project's Gruntfile, add a section namedwait
to the data object passed into grunt.initConfig()
.grunt.initConfig({
wait: {
options: {
delay: 500
},
pause: {
options: {
before : function(options) {
console.log('pausing %dms', options.delay);
},
after: function() {
console.log('pause end');
}
}
},
random: {
options: {
delay: 10,
after: function() {
console.log('gamble');
return Math.random() < 0.05 ? false : true;
}
}
}
}
})
Options
options.delay
Type:number
Default value: 0
Wait duration in milliseconds.
Internaly uses
setTimeout()
, the maximum delay is 2147483647 milliseconds (about 24 days).options.before
Type:function(options)
Default value: nullCalled before timer starts, with the options object as parameter.
- Return nothing (or
undefined
) to start the delay. - Return
true
to skip delay and proceed toafter()
and/or next grunt task. - Return
false
to skip delay and proceed to the next grunt task without callingafter()
. - Return a
string
to use as warning and fail grunt.
options.after
Type:function(options)
Default value: nullCalled after timer ends, with the options object as parameter.
- Return nothing (or
undefined
) proceed to next grunt task. - Return a
number
to use as next delay and wait another round. - Return
true
to wait another round. - Return
false
to fail grunt. - Return a
string
to use as warning and fail grunt.