12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- #!/usr/bin/env node
- 'use strict';
- require('colorful').colorful();
- require('colorful').isatty = true;
- const gulp = require('gulp');
- const program = require('commander');
- program.on('--help', () => {
- // eslint-disable-next-line no-console
- console.log(' Usage:'.to.bold.blue.color);
- // eslint-disable-next-line no-console
- console.log();
- });
- 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) {
- program.help();
- } else {
- // eslint-disable-next-line no-console
- console.log('scripts run', task);
- require('./gulpfile');
- runTask(task);
- }
|