UNPKG

1.04 kBJavaScriptView Raw
1#!/usr/bin/env node
2
3'use strict';
4
5require('colorful').colorful();
6require('colorful').isatty = true;
7const gulp = require('gulp');
8const program = require('commander');
9
10program.on('--help', () => {
11 console.log(' Usage:'.to.bold.blue.color);
12 console.log();
13});
14
15program.parse(process.argv);
16
17function runTask(toRun) {
18 const metadata = { task: toRun };
19 // Gulp >= 4.0.0 (doesn't support events)
20 const taskInstance = gulp.task(toRun);
21 if (taskInstance === undefined) {
22 gulp.emit('task_not_found', metadata);
23 return;
24 }
25 const start = process.hrtime();
26 gulp.emit('task_start', metadata);
27 try {
28 taskInstance.apply(gulp);
29 metadata.hrDuration = process.hrtime(start);
30 gulp.emit('task_stop', metadata);
31 gulp.emit('stop');
32 } catch (err) {
33 err.hrDuration = process.hrtime(start);
34 err.task = metadata.task;
35 gulp.emit('task_err', err);
36 }
37}
38
39const task = program.args[0];
40
41if (!task) {
42 program.help();
43} else {
44 console.log('scripts run', task);
45
46 require('./gulpfile');
47
48 runTask(task);
49}