1
1
const gulp = require ( "gulp" ) ;
2
2
const eslint = require ( 'gulp-eslint' ) ;
3
3
const tslint = require ( "gulp-tslint" ) ;
4
- const gutil = require ( "gulp-util" ) ;
4
+ const PluginError = require ( 'plugin-error' ) ;
5
+ const log = require ( 'fancy-log' ) ;
5
6
const ts = require ( "gulp-typescript" ) ;
6
7
const sourcemaps = require ( "gulp-sourcemaps" ) ;
7
8
const webpack = require ( "webpack" ) ;
8
- const runSequence = require ( 'run-sequence' ) ;
9
9
const del = require ( 'del' ) ;
10
-
11
10
const fs = require ( "fs" ) ;
12
11
const fsp = require ( 'fs-plus' ) ;
13
12
const path = require ( "path" ) ;
14
13
const childProcess = require ( "child_process" ) ;
14
+ const argv = require ( 'minimist' ) ( process . argv . slice ( 2 ) ) ;
15
15
16
16
//...
17
17
gulp . task ( "tslint" , ( ) => {
@@ -30,33 +30,35 @@ gulp.task("eslint", () => {
30
30
gulp . task ( "html-webpack" , ( done ) => {
31
31
const config = require ( "./src/views/webpack.config.js" ) ;
32
32
config . context = `${ __dirname } /src/views` ;
33
+ config . mode = argv . mode ? argv . mode : 'production' ;
33
34
return webpack ( config , ( err , stats ) => {
34
35
const statsJson = stats . toJson ( ) ;
35
36
if ( err || ( statsJson . errors && statsJson . errors . length ) ) {
36
37
statsJson . errors . forEach ( webpackError => {
37
- gutil . log ( gutil . colors . red ( `Error (webpack): ${ webpackError } ` ) ) ;
38
+ log . error ( `Error (webpack): ${ webpackError } ` ) ;
38
39
} ) ;
39
40
40
- throw new gutil . PluginError ( 'webpack' , JSON . stringify ( err || statsJson . errors ) ) ;
41
+ throw new PluginError ( 'webpack' , JSON . stringify ( err || statsJson . errors ) ) ;
41
42
}
42
- gutil . log ( '[webpack]' , stats . toString ( ) ) ;
43
+ log ( '[webpack]' , stats . toString ( ) ) ;
43
44
done ( ) ;
44
45
} ) ;
45
46
} ) ;
46
47
47
48
gulp . task ( "node_modules-webpack" , ( done ) => {
48
49
const config = require ( "./webpack.config.js" ) ;
49
50
config . context = `${ __dirname } ` ;
51
+ config . mode = argv . mode ? argv . mode : 'production' ;
50
52
return webpack ( config , ( err , stats ) => {
51
53
const statsJson = stats . toJson ( ) ;
52
54
if ( err || ( statsJson . errors && statsJson . errors . length ) ) {
53
55
statsJson . errors . forEach ( webpackError => {
54
- gutil . log ( gutil . colors . red ( `Error (webpack): ${ webpackError } ` ) ) ;
56
+ log . error ( `Error (webpack): ${ webpackError } ` ) ;
55
57
} ) ;
56
58
57
- throw new gutil . PluginError ( 'webpack' , JSON . stringify ( err || statsJson . errors ) ) ;
59
+ throw new PluginError ( 'webpack' , JSON . stringify ( err || statsJson . errors ) ) ;
58
60
}
59
- gutil . log ( '[webpack]' , stats . toString ( ) ) ;
61
+ log ( '[webpack]' , stats . toString ( ) ) ;
60
62
done ( ) ;
61
63
} ) ;
62
64
} ) ;
@@ -92,7 +94,8 @@ gulp.task("genAikey", (done) => {
92
94
fs . writeFileSync ( "package.json" , JSON . stringify ( packageJson , null , 2 ) + "\n" ) ;
93
95
done ( ) ;
94
96
} else {
95
- gutil . log ( "Skipping genAiKey" ) ;
97
+ log ( "Skipping genAiKey" ) ;
98
+ done ( ) ;
96
99
}
97
100
} ) ;
98
101
@@ -124,35 +127,31 @@ gulp.task("test", (done) => {
124
127
} ) ;
125
128
126
129
child . stdout . on ( "data" , ( data ) => {
127
- gutil . log ( data . toString ( ) . trim ( ) ) ;
130
+ log ( data . toString ( ) . trim ( ) ) ;
128
131
} ) ;
129
132
130
133
child . stderr . on ( "data" , ( data ) => {
131
- gutil . log ( gutil . colors . red ( data . toString ( ) . trim ( ) ) ) ;
134
+ log . error ( data . toString ( ) . trim ( ) ) ;
132
135
} ) ;
133
136
134
137
child . on ( "error" , ( error ) => {
135
- gutil . log ( gutil . colors . red ( error ) ) ;
138
+ log . error ( error ) ;
136
139
} ) ;
137
140
138
141
child . on ( "exit" , ( code ) => {
139
142
restoreExtensionDependencies ( ) ;
140
143
if ( code === 0 ) {
141
144
done ( ) ;
142
145
} else {
143
- gutil . log ( "exit code: " + code ) ;
146
+ log . error ( "exit code: " + code ) ;
144
147
done ( code ) ;
145
148
}
146
149
} ) ;
147
150
} ) ;
148
151
149
- gulp . task ( "build" , ( done ) => {
150
- return runSequence ( "clean" , "ts-compile" , "html-webpack" , "node_modules-webpack" , "copyVendor" , done ) ;
151
- } ) ;
152
+ gulp . task ( "build" , gulp . series ( "clean" , "ts-compile" , "html-webpack" , "node_modules-webpack" , "copyVendor" ) ) ;
152
153
153
- gulp . task ( "build_without_view" , ( done ) => {
154
- return runSequence ( "clean" , "ts-compile" , done ) ;
155
- } ) ;
154
+ gulp . task ( "build_without_view" , gulp . series ( "clean" , "ts-compile" ) ) ;
156
155
157
156
gulp . task ( "watch" , ( ) => {
158
157
gulp . watch ( [ "./src/**/*" , "./test/**/*" , "!./src/views/**/*" ] , [ "ts-compile" ] ) ;
0 commit comments