-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgulpfile.js
84 lines (69 loc) · 2.17 KB
/
gulpfile.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
'use strict';
const gulp = require('gulp'),
isDevelopment = false, // (! process.env.NODE_ENV) || ('development' === process.env.NODE_ENV),
DIR_DEST = 'dist',
DIR_TESTS = 'tests',
SRC_CSS = 'app/scss/**/*.scss',
SRC_JS = 'app/js/**/*.js',
TASK_BUILD = 'build',
TASK_CSS = 'css',
TASK_JS = 'js',
TASK_LIVE = 'live',
TASK_SERVE = 'serve',
TASK_WATCH = 'watch';
function lazyRequireTask(taskName, options) {
const path = './tasks/' + taskName.replace(/:/g, '-');
options = options || {};
options.taskName = taskName;
options.isDevelopment = isDevelopment;
gulp.task(taskName, function(callback) {
let task = require(path).call(this, options);
return task(callback);
});
}
lazyRequireTask(TASK_CSS, {
src: SRC_CSS,
dest: DIR_DEST,
});
lazyRequireTask(TASK_CSS + ':min', {
src: SRC_CSS,
dest: DIR_DEST,
});
lazyRequireTask(TASK_JS, {
src: SRC_JS,
dest: DIR_DEST,
});
lazyRequireTask(TASK_JS + ':build', {
src: SRC_JS,
dest: DIR_DEST,
});
lazyRequireTask(TASK_JS + ':hint', {
src: SRC_JS,
});
lazyRequireTask(TASK_JS + ':lint', {
src: SRC_JS,
dest: DIR_DEST,
cacheFilePath: process.cwd() + '/tmp/lintCache.json',
});
lazyRequireTask(TASK_JS + ':min', {
src: SRC_JS,
dest: DIR_DEST,
});
// gulp.task(TASK_BUILD, gulp.parallel(TASK_CSS, TASK_CSS + ':min', gulp.series(TASK_JS + ':lint', TASK_JS, TASK_JS + ':min')));
// gulp.task(TASK_BUILD, gulp.parallel(TASK_CSS, TASK_CSS + ':min', TASK_JS + ':build'));
gulp.task(TASK_BUILD, gulp.series(TASK_JS, TASK_JS + ':min'));
lazyRequireTask(TASK_SERVE, {
server: {
// baseDir: '.',
index: DIR_TESTS + '/index.html',
},
});
gulp.task(TASK_WATCH, function() {
gulp.watch(SRC_CSS, gulp.parallel(TASK_CSS, TASK_CSS + ':min'));
// gulp.watch(SRC_JS, gulp.series(TASK_JS + ':lint', TASK_JS, TASK_JS + ':min'));
gulp.watch(SRC_JS, gulp.parallel(TASK_JS + ':build'));
});
gulp.task(TASK_LIVE, gulp.parallel(TASK_WATCH, TASK_SERVE));
gulp.task('dev', gulp.series(TASK_BUILD, TASK_LIVE));
gulp.task('default', function() {
});