🧊

Gruntでタスク名が被ってしまったら

これ、実行されないんですね。
そしてエラーでもなんでもなく何もせず終わる・・!

こういうことです

module.exports = function(grunt) {

  grunt.initConfig({
    uglify: {
      // ….
    }
  });

  grunt.loadNpmTasks('grunt-contrib-uglify');

  grunt.registerTask('uglify', ['uglify']); // <- これがダメ
};

まあこのケースの場合は、registerTaskしなくても、

grunt uglify

で実行できるので、もとより何も問題ではないかもですが。
タスク増えてきて、なんやかんやまとめて書いておきたいなーって時あるじゃないですかー。

回避するには

grunt.renameTask() ってのがあるらしいですよ。

参考:gruntjs - How can I load two grunt tasks with the same name? - Stack Overflow

module.exports = function(grunt) {

  grunt.initConfig({
    uglifyCopy: { // [1] 別名にして
      // ….
    }
  });

  grunt.loadNpmTasks('grunt-contrib-uglify');

  // [2] リネームして逃して
  grunt.renameTask('uglify', 'uglifyCopy');

  grunt.registerTask('uglify', ['uglifyCopy']); // <- これなら動く
};

THE☆不毛(・ω<)
まぁ名前がかぶらなければ何も問題はないんですけど・・・w