@@ -21,7 +21,6 @@ var gulpUtil = require('gulp-util');
2121var header = require ( 'gulp-header' ) ;
2222var packageData = require ( './package.json' ) ;
2323var rename = require ( 'gulp-rename' ) ;
24- var runSequence = require ( 'run-sequence' ) ;
2524var StatsPlugin = require ( 'stats-webpack-plugin' ) ;
2625var through = require ( 'through2' ) ;
2726var UglifyJsPlugin = require ( 'uglifyjs-webpack-plugin' ) ;
@@ -127,118 +126,153 @@ var buildDist = function(opts) {
127126 } ) ;
128127} ;
129128
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 ( ) )
154219 . 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+ ) ,
187224 )
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 (
238273 'check-dependencies' ,
239274 '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