UNPKG

1.3 kBJavaScriptView Raw
1import _ from 'lodash';
2import gulp from 'gulp';
3import requireDir from 'require-dir';
4import runSequence from 'run-sequence';
5
6const loadGulpTasks = () => {
7 // Require all tasks in gulp/tasks, including subfolders
8 const tasks = requireDir('./gulp/tasks', { recurse: true });
9
10 // Get environment, for environment-specific activities
11 const env = process.env.NODE_ENV || 'production';
12
13 _.each(tasks, (task, relativePath) => {
14 if (_.isObject(task) && _.isFunction(task.default)) {
15 task = task.default;
16 }
17
18 console.assert(_.isFunction(task),
19 'gulp/tasks/%s: module\'s export is not a function', relativePath);
20
21 task({ env: env, watch: false });
22 });
23};
24
25loadGulpTasks();
26
27gulp.task('default', ['prod']);
28gulp.task('prod', ['production']);
29gulp.task('dev', ['development']);
30
31gulp.task('development', (callback) => {
32 process.env.NODE_ENV = 'development';
33
34 runSequence(
35 'clean',
36 ['app:build-dev', 'web:build-dev'],
37 ['app:dist', 'web:dist'],
38 callback
39 );
40});
41
42gulp.task('production', (callback) => {
43 process.env.NODE_ENV = 'production';
44
45 runSequence(
46 'clean',
47 ['app:build-prod', 'web:build-prod'],
48 ['app:dist', 'web:dist'],
49 callback
50 );
51});