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 | exports.$config = {
|
24 | release: false,
|
25 | src: 'src',
|
26 | dist: 'dist',
|
27 | assets: 'assets',
|
28 | exclude: '',
|
29 | copy: '',
|
30 | tsconfig: 'tsconfig.json',
|
31 | var: {
|
32 | }
|
33 | };
|
34 | exports.$gulp = gulp;
|
35 |
|
36 |
|
37 |
|
38 | exports.$execute = function (tasks) {
|
39 | exports.$config.src = path.normalize(exports.$config.src);
|
40 | exports.$config.dist = path.normalize(exports.$config.dist);
|
41 | gulp.series(tasks)(function (err) {
|
42 | if (err) {
|
43 | console.error(JSON.stringify(err));
|
44 | throw err;
|
45 | }
|
46 | });
|
47 | }
|
48 |
|
49 |
|
50 | gulp.task('typescript', typescript.build(exports.$config));
|
51 | gulp.task('javascript', javascript.build(exports.$config, ['js']));
|
52 | gulp.task('js', gulp.parallel('typescript', 'javascript'));
|
53 |
|
54 | gulp.task('wxts', wxts.build(exports.$config));
|
55 | gulp.task('wxjs', javascript.build(exports.$config, ['wxs']));
|
56 | gulp.task('wxs', gulp.parallel('wxts', 'wxjs'));
|
57 |
|
58 | gulp.task('wxss', wxss.build(exports.$config));
|
59 | gulp.task('wxml', wxml.build(exports.$config));
|
60 | gulp.task('json', json.build(exports.$config));
|
61 | gulp.task('image', image.build(exports.$config));
|
62 | gulp.task('copy', copy.build(exports.$config));
|
63 | gulp.task('npm', npm.build(exports.$config));
|
64 |
|
65 |
|
66 | gulp.task('typescript-watch', typescript.watch(exports.$config));
|
67 | gulp.task('javascript-watch', javascript.watch(exports.$config, ['js']));
|
68 | gulp.task('js-watch', gulp.parallel('typescript-watch', 'javascript-watch'));
|
69 |
|
70 | gulp.task('wxts-watch', wxts.watch(exports.$config));
|
71 | gulp.task('wxjs-watch', javascript.watch(exports.$config, ['wxs']));
|
72 | gulp.task('wxs-watch', gulp.parallel('wxts-watch', 'wxjs-watch'));
|
73 |
|
74 | gulp.task('wxss-watch', wxss.watch(exports.$config));
|
75 | gulp.task('wxml-watch', wxml.watch(exports.$config));
|
76 | gulp.task('json-watch', json.watch(exports.$config));
|
77 | gulp.task('image-watch', image.watch(exports.$config));
|
78 | gulp.task('copy-watch', copy.watch(exports.$config));
|
79 | gulp.task('npm-watch', npm.watch(exports.$config));
|
80 |
|
81 | gulp.task('clean', clean.build(exports.$config));
|
82 |
|
83 |
|
84 | gulp.task('compile', gulp.series(
|
85 | taskLog(rainbow("↓↓↓↓↓↓"), 'start compile:', colors.cyan.bold.underline(exports.$config.src), '→', colors.green.bold.underline(exports.$config.dist), rainbow("↓↓↓↓↓↓")),
|
86 | gulp.parallel('js', 'wxs', 'wxss', 'wxml', 'json', 'image', 'copy', 'npm'),
|
87 | taskLog(rainbow("↑↑↑↑↑↑"), colors.greenBright.bold('√ All compilation tasks done!'), rainbow("↑↑↑↑↑↑"))
|
88 | ))
|
89 |
|
90 | gulp.task('build', gulp.series('clean', 'compile'));
|
91 |
|
92 | gulp.task('watch', gulp.series(
|
93 | gulp.parallel('js-watch', 'wxs-watch', 'wxss-watch', 'wxml-watch', 'json-watch', 'image-watch', 'copy-watch', 'npm-watch'),
|
94 | taskLog(rainbow('All watching tasks started ...')))
|
95 | );
|
96 |
|
97 |
|
98 | gulp.task('dev', gulp.series('build', 'watch'));
|
99 |
|
100 | gulp.on('error', console.trace);
|
101 | gulp.on('error', error('gulp'));
|
102 |
|