Creating a '--force' task in Grunt
Sometimes you might need to use '--force' with Grunt when building or testing your app .
If you use this option like this for example "grunt server --force", the --force option will be applied to all Grunt tasks.
But normally you would like to apply the '--force' option for some grunt tasks but leave other tasks in the sequence without the '--force' option.
The way I do this is 'wrapping' the task I want to use '--force' between two other tasks that will set the '--force' option ON and OFF.
Here it is the code:
grunt.registerTask('forceOn', 'turns the --force option ON',
function() {
if ( !grunt.option( 'force' ) ) {
grunt.config.set('forceStatus', true);
grunt.option( 'force', true );
}
});
grunt.registerTask('forceOff', 'turns the --force option Off',
function() {
if ( grunt.config.get('forceStatus') ) {
grunt.option( 'force', false );
}
});
You can then wrap the task you want to use '--force' with these two tasks, like this:
grunt.task.run([
'clean:server',
'replace',
'forceOn', <-- turn the --force ON
'concurrent:server', <-- this task will use the --force option
'forceOff', <-- turn the --force OFF
'connect:livereload', <-- all the remaining tasks won't use --force
'open',
'watch'
]);
Written by Denison Luz
Related protips
1 Response
exactly what i searched for! thanks!
over 1 year ago
·
Have a fresh tip? Share with Coderwall community!
Post
Post a tip
Best
#Grunt
Authors
Sponsored by #native_company# — Learn More
#native_title#
#native_desc#