やりたいこと
- grunt向けにしか提供されていないタスクをgulpから実行したい (つらい)
- 例: ElectronアプリのWindows版インストーラをつくる grunt-electron-installer)
やり方1 - gulp-grunt
gulp-grunt という、gruntタスクをgulpから実行できるようにするツールを使う。
Gruntfile.js
は別に用意する。
gulpfile.js
require("gulp-grunt")(gulp);
gulp.task("some-task", ["grunt-<gruntのタスク名>"]);
やり方2 - gruntのAPIを直接叩く
gruntのAPIをgulpfile内で直接叩いてタスクを実行する。
こちらのほうが自由度が高い。
gulpfile.js
var gulp = require("gulp");
grunt.task.init = function() {};
// Gruntfile.jsっぽいこと
grunt.initConfig({
// タスク設定...
});
grunt.loadNpmTasks("<npmのタスク>");
gulp.task("some-task", function (done) {
grunt.tasks(["<gruntのタスク名>"], {}, done);
});