webappengine
Version:
A web application server that can host multiple web apps running with Node.js.
52 lines (40 loc) • 1.3 kB
JavaScript
import _ from 'lodash';
import gulp from 'gulp';
import requireDir from 'require-dir';
import runSequence from 'run-sequence';
const loadGulpTasks = () => {
// Require all tasks in gulp/tasks, including subfolders
const tasks = requireDir('./gulp/tasks', { recurse: true });
// Get environment, for environment-specific activities
const env = process.env.NODE_ENV || 'production';
_.each(tasks, (task, relativePath) => {
if (_.isObject(task) && _.isFunction(task.default)) {
task = task.default;
}
console.assert(_.isFunction(task),
'gulp/tasks/%s: module\'s export is not a function', relativePath);
task({ env: env, watch: false });
});
};
loadGulpTasks();
gulp.task('default', ['prod']);
gulp.task('prod', ['production']);
gulp.task('dev', ['development']);
gulp.task('development', (callback) => {
process.env.NODE_ENV = 'development';
runSequence(
'clean',
['app:build-dev', 'web:build-dev'],
['app:dist', 'web:dist'],
callback
);
});
gulp.task('production', (callback) => {
process.env.NODE_ENV = 'production';
runSequence(
'clean',
['app:build-prod', 'web:build-prod'],
['app:dist', 'web:dist'],
callback
);
});