grunt-task-hooker

0.1.10 • Public • Published

grunt-task-hooker

NPM Version

Add pre-execution and post-execution "hooks" to grunt task, see issues/542.

Install

npm install grunt-task-hooker --save-dev

Usage

// Gruntfile.js
module.exports = function (grunt) {
 
  // Don't forget to pass "grunt" object into the function!!!
  require('grunt-task-hooker')(grunt);
 
  grunt.initConfig({
    clean: {
      src: {},
      dist: {}
    }
  });
 
  grunt.registerTask('build', [...]);
 
  // pre hook without description
  grunt.hookTask('build', 'clean:dist');
 
  // pre hook multi task
  grunt.hookTask(['build', 'dev'], 'clean:dist');
 
  // post hook with description
  grunt.hookTask('clean:src', 'post clean src', function() {
    const done = this.async();
    setTimeout(function() {
      done();
    }, false);
  }, true);
 
  // hook multi-type task
  grunt.hookTask('clean', 'pre clean all', function() {
    console.log('do something before all clean tasks');
  });
 
  // hook replace task
  grunt.hookTask('clean', 'ignore task clean', function() {
    console.log('replace original clean task');
  }, 'replace');
 
  // grunt.hookTask(taskName, desc, task, where);
  // where:
  // undefined/false => pre
  // true => post
  // pre/post/replace
 
  // unhook all hooks
  grunt.unhookTask('clean');
 
  // unhook multi hooks
  grunt.unhookTask(['clean', 'build']);
 
  // unhook all pre hooks
  grunt.unhookTask('build', 'pre');
 
  // unhook all post hooks
  grunt.unhookTask('build', 'post');
};

License

The MIT License (MIT)

Readme

Keywords

Package Sidebar

Install

npm i grunt-task-hooker

Weekly Downloads

0

Version

0.1.10

License

MIT

Unpacked Size

7.66 kB

Total Files

4

Last publish

Collaborators

  • kingback
  • shiftj