1 |
|
2 | 'use strict';
|
3 |
|
4 | var gulp = require('gulp');
|
5 | var colors = require('ansi-colors');
|
6 | var path = require('path');
|
7 |
|
8 | var taskLog = require('./log/task-log');
|
9 | var error = require('./log/error');
|
10 | var rainbow = require('./log/rainbow');
|
11 |
|
12 | var typescript = require('./tasks/typescript');
|
13 | var javascript = require('./tasks/javascript');
|
14 | var wxts = require('./tasks/wxts');
|
15 | var wxss = require('./tasks/wxss');
|
16 | var json = require('./tasks/json');
|
17 | var wxml = require('./tasks/wxml');
|
18 | var image = require('./tasks/image');
|
19 | var npm = require('./tasks/npm');
|
20 | var copy = require('./tasks/copy');
|
21 | var clean = require('./tasks/clean');
|
22 |
|
23 | const $config = require('./config').default;
|
24 |
|
25 | exports.$gulp = gulp;
|
26 |
|
27 |
|
28 |
|
29 | exports.$execute = function (tasks) {
|
30 | $config.src = path.normalize($config.src);
|
31 | $config.dist = path.normalize($config.dist);
|
32 | gulp.series(tasks)(function (err) {
|
33 | if (err) {
|
34 | console.error(JSON.stringify(err));
|
35 | throw err;
|
36 | }
|
37 | });
|
38 | }
|
39 |
|
40 |
|
41 | gulp.task('typescript', typescript.build($config));
|
42 | gulp.task('javascript', javascript.build($config, ['js']));
|
43 | gulp.task('js', gulp.parallel('typescript', 'javascript'));
|
44 |
|
45 | gulp.task('wxts', wxts.build($config));
|
46 | gulp.task('wxjs', javascript.build($config, ['wxs']));
|
47 | gulp.task('wxs', gulp.parallel('wxts', 'wxjs'));
|
48 |
|
49 | gulp.task('wxss', wxss.build($config));
|
50 | gulp.task('wxml', wxml.build($config));
|
51 | gulp.task('json', json.build($config));
|
52 | gulp.task('image', image.build($config));
|
53 | gulp.task('copy', copy.build($config));
|
54 | gulp.task('npm', npm.build($config));
|
55 |
|
56 |
|
57 | gulp.task('typescript-watch', typescript.watch($config));
|
58 | gulp.task('javascript-watch', javascript.watch($config, ['js']));
|
59 | gulp.task('js-watch', gulp.parallel('typescript-watch', 'javascript-watch'));
|
60 |
|
61 | gulp.task('wxts-watch', wxts.watch($config));
|
62 | gulp.task('wxjs-watch', javascript.watch($config, ['wxs']));
|
63 | gulp.task('wxs-watch', gulp.parallel('wxts-watch', 'wxjs-watch'));
|
64 |
|
65 | gulp.task('wxss-watch', wxss.watch($config));
|
66 | gulp.task('wxml-watch', wxml.watch($config));
|
67 | gulp.task('json-watch', json.watch($config));
|
68 | gulp.task('image-watch', image.watch($config));
|
69 | gulp.task('copy-watch', copy.watch($config));
|
70 | gulp.task('npm-watch', npm.watch($config));
|
71 |
|
72 | gulp.task('clean', clean.build($config));
|
73 |
|
74 |
|
75 | gulp.task('compile', gulp.series(
|
76 | taskLog(rainbow("↓↓↓↓↓↓"), 'start compile:', colors.cyan.bold.underline($config.src), '→', colors.green.bold.underline($config.dist), rainbow("↓↓↓↓↓↓")),
|
77 | gulp.parallel('js', 'wxs', 'wxss', 'wxml', 'json', 'image', 'copy', 'npm'),
|
78 | taskLog(rainbow("↑↑↑↑↑↑"), colors.greenBright.bold('√ All compilation tasks done!'), rainbow("↑↑↑↑↑↑"))
|
79 | ))
|
80 |
|
81 | gulp.task('build', gulp.series('clean', 'compile'));
|
82 |
|
83 | gulp.task('watch', gulp.series(
|
84 | gulp.parallel('js-watch', 'wxs-watch', 'wxss-watch', 'wxml-watch', 'json-watch', 'image-watch', 'copy-watch', 'npm-watch'),
|
85 | taskLog(rainbow('All watching tasks started ...')))
|
86 | );
|
87 |
|
88 |
|
89 | gulp.task('dev', gulp.series('build', 'watch'));
|
90 |
|
91 | gulp.on('error', console.trace);
|
92 | gulp.on('error', error('gulp'));
|
93 |
|