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#
 
 
 
 
