@@ -9,9 +9,6 @@ const postcss = require("gulp-postcss");
9
9
const autoprefixer = require ( "autoprefixer" ) ;
10
10
const cssnano = require ( "cssnano" ) ;
11
11
12
- const _ = require ( "lodash" ) ;
13
- const through = require ( "through2" ) ;
14
-
15
12
const webpack = require ( "webpack" ) ;
16
13
const webpackStream = require ( "webpack-stream" ) ;
17
14
@@ -22,29 +19,24 @@ const gitDescribe = require("git-describe").gitDescribe;
22
19
23
20
const download = require ( "gulp-download" ) ;
24
21
25
- const fs = require ( "fs" ) ;
26
- const path = require ( "path" ) ;
27
-
28
- gulp . task ( "default" , [ "watch" ] ) ;
29
-
30
- gulp . task ( "compile" , [ "compile:web" ] ) ;
31
- gulp . task ( "compile:web" , [
32
- "compile:scripts:web" ,
33
- "compile:styles" ,
34
- "html:web" ,
35
- "assets" ,
36
- "version:write" ,
37
- ] ) ;
38
- gulp . task ( "compile:dev" , [
39
- "compile:scripts:dev" ,
40
- "compile:styles" ,
41
- "html:dev" ,
42
- "assets" ,
43
- ] ) ;
22
+ gulp . task ( "env:set-release" , function ( cb ) {
23
+ gitDescribe ( __dirname , { match : null } ) . then ( function ( gitInfo ) {
24
+ var release = gitInfo . semverString ;
25
+ if ( ! release ) {
26
+ throw Error ( "Unable to determine release" ) ;
27
+ }
28
+ gutil . log ( "Setting JOUST_RELEASE to" , gutil . colors . green ( release ) ) ;
29
+ process . env . JOUST_RELEASE = release ;
30
+ cb ( ) ;
31
+ } ) ;
32
+ } ) ;
44
33
45
- gulp . task ( "compile:scripts" , [ "compile:scripts:web" ] ) ;
34
+ gulp . task ( "version:write" , gulp . series ( "env:set-release" , function ( ) {
35
+ const version = process . env . JOUST_RELEASE ;
36
+ return gfile ( "VERSION" , version , { src : true } ) . pipe ( gulp . dest ( "dist/" ) ) ;
37
+ } ) ) ;
46
38
47
- gulp . task ( "compile:scripts:web" , [ "env:set-release" ] , function ( ) {
39
+ gulp . task ( "compile:scripts:web" , gulp . series ( "env:set-release" , function ( ) {
48
40
const config = require ( "./webpack.config.js" ) ;
49
41
config . entry = { joust : config . entry . joust } ; // remove all bundles but joust
50
42
config . target = "web" ;
@@ -72,7 +64,9 @@ gulp.task("compile:scripts:web", ["env:set-release"], function() {
72
64
. src ( "ts/run.ts" )
73
65
. pipe ( webpackStream ( config , webpack ) )
74
66
. pipe ( gulp . dest ( "dist/" ) ) ;
75
- } ) ;
67
+ } ) ) ;
68
+
69
+ gulp . task ( "compile:scripts" , gulp . series ( "compile:scripts:web" ) ) ;
76
70
77
71
gulp . task ( "compile:scripts:dev" , function ( ) {
78
72
return gulp
@@ -107,116 +101,59 @@ gulp.task("compile:styles", function() {
107
101
. pipe ( livereload ( ) ) ;
108
102
} ) ;
109
103
110
- gulp . task ( "env:set-release" , function ( cb ) {
111
- gitDescribe ( __dirname , { match : null } ) . then ( function ( gitInfo ) {
112
- var release = gitInfo . semverString ;
113
- if ( ! release ) {
114
- throw Error ( "Unable to determine release" ) ;
115
- }
116
- gutil . log ( "Setting JOUST_RELEASE to" , gutil . colors . green ( release ) ) ;
117
- process . env . JOUST_RELEASE = release ;
118
- cb ( ) ;
119
- } ) ;
120
- } ) ;
121
-
122
- gulp . task ( "version:write" , [ "env:set-release" ] , function ( ) {
123
- const version = process . env . JOUST_RELEASE ;
124
- return gfile ( "VERSION" , version , { src : true } ) . pipe ( gulp . dest ( "dist/" ) ) ;
125
- } ) ;
126
-
127
- gulp . task ( "html" , [ "html:dev" ] ) ;
128
-
129
104
gulp . task ( "html:dev" , function ( ) {
130
105
return gulp . src ( "html/**/*.html" ) . pipe ( gulp . dest ( "dist/" ) ) ;
131
106
} ) ;
132
-
133
107
gulp . task ( "html:web" , function ( ) {
134
108
return gulp . src ( "html/index.html" ) . pipe ( gulp . dest ( "dist/" ) ) ;
135
109
} ) ;
110
+ gulp . task ( "html" , gulp . series ( "html:dev" ) ) ;
136
111
137
112
gulp . task ( "assets" , function ( ) {
138
113
return gulp . src ( "assets/**/*.*" ) . pipe ( gulp . dest ( "dist/assets/" ) ) ;
139
114
} ) ;
140
115
141
- gulp . task ( "watch" , [ "watch:styles" , "watch:html" , "watch:assets" ] , function ( ) {
142
- livereload . listen ( ) ;
143
- gutil . log (
144
- gutil . colors . yellow (
145
- "Warning: not compiling or watching TypeScript files" ,
146
- ) ,
147
- ) ;
148
- gutil . log ( gutil . colors . yellow ( 'Use "webpack --watch -d" for development' ) ) ;
116
+ gulp . task ( "enums:download" , function ( ) {
117
+ return download ( "https://api.hearthstonejson.com/v1/enums.d.ts" ) . pipe ( gulp . dest ( "ts/" ) ) ;
149
118
} ) ;
150
119
151
- gulp . task ( "watch:styles" , [ "compile:styles" ] , function ( ) {
152
- return gulp . watch ( [ "less/**/*.less" ] , [ "compile:styles" ] ) ;
153
- } ) ;
120
+ gulp . task ( "compile:web" , gulp . parallel (
121
+ "compile:scripts:web" ,
122
+ "compile:styles" ,
123
+ "html:web" ,
124
+ "assets" ,
125
+ "version:write" ,
126
+ ) ) ;
154
127
155
- gulp . task ( "watch:html" , [ "html" ] , function ( ) {
156
- return gulp . watch ( [ "html/**/*.html" ] , [ "html" ] ) ;
157
- } ) ;
128
+ gulp . task ( "compile" , gulp . series ( "compile:web" ) ) ;
158
129
159
- gulp . task ( "watch:assets" , [ "assets" ] , function ( ) {
160
- return gulp . watch ( [ "assets/**/*.*" ] , [ "assets" ] ) ;
161
- } ) ;
130
+ gulp . task ( "compile:dev" , gulp . parallel (
131
+ "compile:scripts:dev" ,
132
+ "compile:styles" ,
133
+ "html:dev" ,
134
+ "assets" ,
135
+ ) ) ;
162
136
163
- gulp . task ( "enums" , function ( ) {
164
- gutil . log (
165
- gutil . colors . red (
166
- '"enums" has been split up in "enums:download" (preferred) and "enums:generate" (legacy)' ,
167
- ) ,
168
- ) ;
169
- } ) ;
137
+ gulp . task ( "watch:styles" , gulp . series ( "compile:styles" , function ( ) {
138
+ return gulp . watch ( [ "less/**/*.less" ] , gulp . series ( "compile:styles" ) ) ;
139
+ } ) ) ;
170
140
171
- gulp . task ( "enums:download" , function ( ) {
172
- download ( "https://api.hearthstonejson.com/v1/enums.d.ts" ) . pipe (
173
- gulp . dest ( "ts/" ) ,
174
- ) ;
175
- } ) ;
141
+ gulp . task ( "watch:html" , gulp . series ( "html" , function ( ) {
142
+ return gulp . watch ( [ "html/**/*.html" ] , gulp . series ( "html" ) ) ;
143
+ } ) ) ;
176
144
177
- gulp . task ( "enums:download:json" , function ( ) {
178
- download ( "https://api.hearthstonejson.com/v1/enums.json" ) . pipe (
179
- gulp . dest ( "./" ) ,
180
- ) ;
181
- } ) ;
145
+ gulp . task ( "watch:assets" , gulp . series ( "assets" , function ( ) {
146
+ return gulp . watch ( [ "assets/**/*.*" ] , gulp . series ( "assets" ) ) ;
147
+ } ) ) ;
182
148
183
- gulp . task ( "enums:generate:download" , [ "enums:download:json" , "enums:generate" ] ) ;
149
+ gulp . task ( "watch" , gulp . parallel ( "watch:styles" , "watch:html" , "watch:assets" , function ( ) {
150
+ livereload . listen ( ) ;
151
+ gutil . log (
152
+ gutil . colors . yellow (
153
+ "Warning: not compiling or watching TypeScript files" ,
154
+ ) ,
155
+ ) ;
156
+ gutil . log ( gutil . colors . yellow ( 'Use "webpack --watch -d" for development' ) ) ;
157
+ } ) ) ;
184
158
185
- gulp . task ( "enums:generate" , function ( ) {
186
- return gulp
187
- . src ( process . env . ENUMS_JSON || "enums.json" )
188
- . pipe (
189
- through . obj ( function ( file , encoding , callback ) {
190
- gutil . log (
191
- "Reading enums from" ,
192
- gutil . colors . magenta ( file . path ) ,
193
- ) ;
194
- var json = String ( file . contents ) ;
195
- var out =
196
- "// this file was automatically generated by `gulp enums`\n" ;
197
- out +=
198
- "// enums.json can be obtained from https://api.hearthstonejson.com/v1/enums.json\n" ;
199
- var enums = JSON . parse ( json ) ;
200
- _ . each ( enums , function ( keys , name ) {
201
- out += "\nexport const enum " + name + " {\n" ;
202
- foo = [ ] ;
203
- _ . each ( keys , function ( value , key ) {
204
- foo . push ( "\t" + key + " = " + value ) ;
205
- } ) ;
206
- out += foo . join ( ",\n" ) + "\n" ;
207
- out += "}\n" ;
208
- gutil . log (
209
- "Found enum" ,
210
- '"' + gutil . colors . cyan ( name ) + '"' ,
211
- "with" ,
212
- gutil . colors . magenta ( foo . length , "members" ) ,
213
- ) ;
214
- } ) ;
215
- file . path = "enums.d.ts" ;
216
- file . contents = new Buffer ( out ) ;
217
- gutil . log ( "Writing to" , gutil . colors . magenta ( file . path ) ) ;
218
- callback ( null , file ) ;
219
- } ) ,
220
- )
221
- . pipe ( gulp . dest ( "ts/" ) ) ;
222
- } ) ;
159
+ gulp . task ( "default" , gulp . series ( "watch" ) ) ;
0 commit comments