|
|
|
@ -13,6 +13,28 @@ program.on('--help', () => {
|
|
|
|
|
|
|
|
|
|
program.parse(process.argv); |
|
|
|
|
|
|
|
|
|
function runTask(toRun) { |
|
|
|
|
const metadata = { task: toRun }; |
|
|
|
|
// Gulp >= 4.0.0 (doesn't support events)
|
|
|
|
|
const taskInstance = gulp.task(toRun); |
|
|
|
|
if (taskInstance === undefined) { |
|
|
|
|
gulp.emit('task_not_found', metadata); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
const start = process.hrtime(); |
|
|
|
|
gulp.emit('task_start', metadata); |
|
|
|
|
try { |
|
|
|
|
taskInstance.apply(gulp); |
|
|
|
|
metadata.hrDuration = process.hrtime(start); |
|
|
|
|
gulp.emit('task_stop', metadata); |
|
|
|
|
gulp.emit('stop'); |
|
|
|
|
} catch (err) { |
|
|
|
|
err.hrDuration = process.hrtime(start); |
|
|
|
|
err.task = metadata.task; |
|
|
|
|
gulp.emit('task_err', err); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const task = program.args[0]; |
|
|
|
|
|
|
|
|
|
if (!task) { |
|
|
|
@ -22,5 +44,5 @@ if (!task) {
|
|
|
|
|
|
|
|
|
|
require('./gulpfile'); |
|
|
|
|
|
|
|
|
|
gulp.start(task); |
|
|
|
|
runTask(task); |
|
|
|
|
} |
|
|
|
|