@@ -21,7 +21,6 @@ var gulpUtil = require('gulp-util');
21
21
var header = require ( 'gulp-header' ) ;
22
22
var packageData = require ( './package.json' ) ;
23
23
var rename = require ( 'gulp-rename' ) ;
24
- var runSequence = require ( 'run-sequence' ) ;
25
24
var StatsPlugin = require ( 'stats-webpack-plugin' ) ;
26
25
var through = require ( 'through2' ) ;
27
26
var UglifyJsPlugin = require ( 'uglifyjs-webpack-plugin' ) ;
@@ -127,118 +126,153 @@ var buildDist = function(opts) {
127
126
} ) ;
128
127
} ;
129
128
130
- gulp . task ( 'clean' , function ( ) {
131
- return del ( [ paths . dist , paths . lib ] ) ;
132
- } ) ;
133
-
134
- gulp . task ( 'modules' , function ( ) {
135
- return gulp
136
- . src ( paths . src )
137
- . pipe ( babel ( babelOptsJS ) )
138
- . pipe ( flatten ( ) )
139
- . pipe ( gulp . dest ( paths . lib ) ) ;
140
- } ) ;
141
-
142
- gulp . task ( 'flow' , function ( ) {
143
- return gulp
144
- . src ( paths . src )
145
- . pipe ( babel ( babelOptsFlow ) )
146
- . pipe ( flatten ( ) )
147
- . pipe ( rename ( { extname : '.js.flow' } ) )
148
- . pipe ( gulp . dest ( paths . lib ) ) ;
149
- } ) ;
150
-
151
- gulp . task ( 'css' , function ( ) {
152
- return ( gulp
153
- . src ( paths . css )
129
+ gulp . task (
130
+ 'clean' ,
131
+ gulp . series ( function ( ) {
132
+ return del ( [ paths . dist , paths . lib ] ) ;
133
+ } ) ,
134
+ ) ;
135
+
136
+ gulp . task (
137
+ 'modules' ,
138
+ gulp . series ( function ( ) {
139
+ return gulp
140
+ . src ( paths . src )
141
+ . pipe ( babel ( babelOptsJS ) )
142
+ . pipe ( flatten ( ) )
143
+ . pipe ( gulp . dest ( paths . lib ) ) ;
144
+ } ) ,
145
+ ) ;
146
+
147
+ gulp . task (
148
+ 'flow' ,
149
+ gulp . series ( function ( ) {
150
+ return gulp
151
+ . src ( paths . src )
152
+ . pipe ( babel ( babelOptsFlow ) )
153
+ . pipe ( flatten ( ) )
154
+ . pipe ( rename ( { extname : '.js.flow' } ) )
155
+ . pipe ( gulp . dest ( paths . lib ) ) ;
156
+ } ) ,
157
+ ) ;
158
+
159
+ gulp . task (
160
+ 'css' ,
161
+ gulp . series ( function ( ) {
162
+ return (
163
+ gulp
164
+ . src ( paths . css )
165
+ . pipe (
166
+ through . obj ( function ( file , encoding , callback ) {
167
+ var contents = file . contents . toString ( ) ;
168
+ var replaced = contents . replace (
169
+ // Regex based on MakeHasteCssModuleTransform: ignores comments,
170
+ // strings, and URLs
171
+ / \/ \* .* ?\* \/ | ' (?: \\ .| [ ^ ' ] ) * ' | " (?: \\ .| [ ^ " ] ) * " | u r l \( [ ^ ) ] * \) | ( \. (?: p u b l i c \/ ) ? [ \w - ] * \/ { 1 , 2 } [ \w - ] + ) / g,
172
+ function ( match , cls ) {
173
+ if ( cls ) {
174
+ return cls . replace ( / \/ / g, '-' ) ;
175
+ } else {
176
+ return match ;
177
+ }
178
+ } ,
179
+ ) ;
180
+ replaced = replaced . replace (
181
+ // MakeHasteCssVariablesTransform
182
+ / \b v a r \( ( [ \w - ] + ) \) / g,
183
+ function ( match , name ) {
184
+ var vars = {
185
+ 'fig-secondary-text' : '#9197a3' ,
186
+ 'fig-light-20' : '#bdc1c9' ,
187
+ } ;
188
+ if ( vars [ name ] ) {
189
+ return vars [ name ] ;
190
+ } else {
191
+ throw new Error ( 'Unknown CSS variable ' + name ) ;
192
+ }
193
+ } ,
194
+ ) ;
195
+ file . contents = Buffer . from ( replaced ) ;
196
+ callback ( null , file ) ;
197
+ } ) ,
198
+ )
199
+ . pipe ( concatCSS ( 'Draft.css' ) )
200
+ // Avoid rewriting rules *just in case*, just compress
201
+ . pipe ( cleanCSS ( { advanced : false } ) )
202
+ . pipe ( header ( COPYRIGHT_HEADER , { version : packageData . version } ) )
203
+ . pipe ( gulp . dest ( paths . dist ) )
204
+ ) ;
205
+ } ) ,
206
+ ) ;
207
+
208
+ gulp . task (
209
+ 'dist' ,
210
+ gulp . series ( 'modules' , 'css' , function ( ) {
211
+ var opts = {
212
+ debug : true ,
213
+ output : 'Draft.js' ,
214
+ } ;
215
+ return gulp
216
+ . src ( './lib/Draft.js' )
217
+ . pipe ( buildDist ( opts ) )
218
+ . pipe ( derequire ( ) )
154
219
. pipe (
155
- through . obj ( function ( file , encoding , callback ) {
156
- var contents = file . contents . toString ( ) ;
157
- var replaced = contents . replace (
158
- // Regex based on MakeHasteCssModuleTransform: ignores comments,
159
- // strings, and URLs
160
- / \/ \* .* ?\* \/ | ' (?: \\ .| [ ^ ' ] ) * ' | " (?: \\ .| [ ^ " ] ) * " | u r l \( [ ^ ) ] * \) | ( \. (?: p u b l i c \/ ) ? [ \w - ] * \/ { 1 , 2 } [ \w - ] + ) / g,
161
- function ( match , cls ) {
162
- if ( cls ) {
163
- return cls . replace ( / \/ / g, '-' ) ;
164
- } else {
165
- return match ;
166
- }
167
- } ,
168
- ) ;
169
- replaced = replaced . replace (
170
- // MakeHasteCssVariablesTransform
171
- / \b v a r \( ( [ \w - ] + ) \) / g,
172
- function ( match , name ) {
173
- var vars = {
174
- 'fig-secondary-text' : '#9197a3' ,
175
- 'fig-light-20' : '#bdc1c9' ,
176
- } ;
177
- if ( vars [ name ] ) {
178
- return vars [ name ] ;
179
- } else {
180
- throw new Error ( 'Unknown CSS variable ' + name ) ;
181
- }
182
- } ,
183
- ) ;
184
- file . contents = Buffer . from ( replaced ) ;
185
- callback ( null , file ) ;
186
- } ) ,
220
+ gulpif (
221
+ '*.js' ,
222
+ header ( COPYRIGHT_HEADER , { version : packageData . version } ) ,
223
+ ) ,
187
224
)
188
- . pipe ( concatCSS ( 'Draft.css' ) )
189
- // Avoid rewriting rules *just in case*, just compress
190
- . pipe ( cleanCSS ( { advanced : false } ) )
191
- . pipe ( header ( COPYRIGHT_HEADER , { version : packageData . version } ) )
192
- . pipe ( gulp . dest ( paths . dist ) ) ) ;
193
- } ) ;
194
-
195
- gulp . task ( 'dist' , [ 'modules' , 'css' ] , function ( ) {
196
- var opts = {
197
- debug : true ,
198
- output : 'Draft.js' ,
199
- } ;
200
- return gulp
201
- . src ( './lib/Draft.js' )
202
- . pipe ( buildDist ( opts ) )
203
- . pipe ( derequire ( ) )
204
- . pipe (
205
- gulpif ( '*.js' , header ( COPYRIGHT_HEADER , { version : packageData . version } ) ) ,
206
- )
207
- . pipe ( gulp . dest ( paths . dist ) ) ;
208
- } ) ;
209
-
210
- gulp . task ( 'dist:min' , [ 'modules' ] , function ( ) {
211
- var opts = {
212
- debug : false ,
213
- output : 'Draft.min.js' ,
214
- } ;
215
- return gulp
216
- . src ( './lib/Draft.js' )
217
- . pipe ( buildDist ( opts ) )
218
- . pipe (
219
- gulpif ( '*.js' , header ( COPYRIGHT_HEADER , { version : packageData . version } ) ) ,
220
- )
221
- . pipe ( gulp . dest ( paths . dist ) ) ;
222
- } ) ;
223
-
224
- gulp . task ( 'check-dependencies' , function ( ) {
225
- return gulp . src ( 'package.json' ) . pipe ( gulpCheckDependencies ( ) ) ;
226
- } ) ;
227
-
228
- gulp . task ( 'watch' , function ( ) {
229
- gulp . watch ( paths . src , [ 'modules' ] ) ;
230
- } ) ;
231
-
232
- gulp . task ( 'dev' , function ( ) {
233
- gulp . watch ( paths . src , [ 'modules' , 'dist' ] ) ;
234
- } ) ;
235
-
236
- gulp . task ( 'default' , function ( cb ) {
237
- runSequence (
225
+ . pipe ( gulp . dest ( paths . dist ) ) ;
226
+ } ) ,
227
+ ) ;
228
+
229
+ gulp . task (
230
+ 'dist:min' ,
231
+ gulp . series ( 'modules' , function ( ) {
232
+ var opts = {
233
+ debug : false ,
234
+ output : 'Draft.min.js' ,
235
+ } ;
236
+ return gulp
237
+ . src ( './lib/Draft.js' )
238
+ . pipe ( buildDist ( opts ) )
239
+ . pipe (
240
+ gulpif (
241
+ '*.js' ,
242
+ header ( COPYRIGHT_HEADER , { version : packageData . version } ) ,
243
+ ) ,
244
+ )
245
+ . pipe ( gulp . dest ( paths . dist ) ) ;
246
+ } ) ,
247
+ ) ;
248
+
249
+ gulp . task (
250
+ 'check-dependencies' ,
251
+ gulp . series ( function ( ) {
252
+ return gulp . src ( 'package.json' ) . pipe ( gulpCheckDependencies ( ) ) ;
253
+ } ) ,
254
+ ) ;
255
+
256
+ gulp . task (
257
+ 'watch' ,
258
+ gulp . series ( function ( ) {
259
+ gulp . watch ( paths . src , [ 'modules' ] ) ;
260
+ } ) ,
261
+ ) ;
262
+
263
+ gulp . task (
264
+ 'dev' ,
265
+ gulp . series ( function ( ) {
266
+ gulp . watch ( paths . src , [ 'modules' , 'dist' ] ) ;
267
+ } ) ,
268
+ ) ;
269
+
270
+ gulp . task (
271
+ 'default' ,
272
+ gulp . series (
238
273
'check-dependencies' ,
239
274
'clean' ,
240
- [ 'modules' , 'flow' ] ,
241
- [ 'dist' , 'dist:min' ] ,
242
- cb ,
243
- ) ;
244
- } ) ;
275
+ gulp . parallel ( 'modules' , 'flow' ) ,
276
+ gulp . parallel ( 'dist' , 'dist:min' ) ,
277
+ ) ,
278
+ ) ;
0 commit comments