'use strict'; // modules > 3rd party const _ = require('lodash'); // modules > gulp const gulp = require('gulp'); global.ENV = process.env.NODE_ENV || 'development'; global.PWD = process.env.PWD; const args = process.argv.slice(2); // use tasks from arguments list if present, otherwise use tasks from // configuration (environment specific) let tasks = args.length > 0 ? args : require('./config').tasks; // only require used tasks _.flatten(tasks, true).forEach((task) => require('./tasks/' + task)); tasks = tasks.map((task) => { if (Array.isArray(task)) { return gulp.parallel(...task); } return task; }); // set up the 'default' task to use runSequence to run all tasks gulp.task('default', gulp.series(...tasks));