@@ -165,18 +165,17 @@ function getTmpJsPath(locale) {
165165 * @return {!Array<string> } The list of generated task names.
166166 */
167167function repeatTaskForAllLocales ( taskName , dependencies , operation ) {
168- const tasks = [ ] ;
169- ALL_LOCALES . forEach ( ( locale ) => {
168+ return ALL_LOCALES . map ( ( locale ) => {
170169 // Convert build-js-$ to build-js-fr, for example.
171170 const replaceTokens = ( name ) => name . replace ( / \$ / g, locale ) ;
172-
173171 const localeTaskName = replaceTokens ( taskName ) ;
174- tasks . push ( localeTaskName ) ;
175172 const localeDependencies = dependencies . map ( replaceTokens ) ;
176-
177- gulp . task ( localeTaskName , localeDependencies , ( ) => operation ( locale ) ) ;
173+ gulp . task ( localeTaskName , gulp . series (
174+ gulp . parallel ( ...localeDependencies ) ,
175+ ( ) => operation ( locale ) ,
176+ ) ) ;
177+ return localeTaskName ;
178178 } ) ;
179- return tasks ;
180179}
181180
182181/**
@@ -211,12 +210,6 @@ function buildFirebaseUiJs(locale) {
211210 ] , getTmpJsPath ( locale ) , flags ) ;
212211}
213212
214- // Builds the core FirebaseUI JS. Generates the gulp tasks
215- // build-firebaseui-js-de, build-firebaseui-js-fr, etc.
216- repeatTaskForAllLocales ( 'build-firebaseui-js-$' ,
217- [ 'build-externs' , 'build-ts' , 'build-soy' ] ,
218- buildFirebaseUiJs ) ;
219-
220213/**
221214 * Concatenates the core FirebaseUI JS with its external dependencies, and
222215 * cleans up comments and whitespace in the dependencies.
@@ -236,12 +229,6 @@ function concatWithDeps(locale, outBaseName, outputWrapper) {
236229 } ) ;
237230}
238231
239- // Bundles the FirebaseUI JS with its dependencies for all locales.
240- // Generates the gulp tasks build-js-de, build-js-fr, etc.
241- const buildJsTasks = repeatTaskForAllLocales (
242- 'build-js-$' , [ 'build-firebaseui-js-$' ] ,
243- ( locale ) => concatWithDeps ( locale , 'firebaseui' , OUTPUT_WRAPPER ) ) ;
244-
245232/**
246233 * Creates the default FirebaseUI binaries for basic usage without
247234 * localization. For example, it copies firebaseui__en.js to firebaseui.js.
@@ -264,22 +251,43 @@ gulp.task('build-ts',
264251gulp . task ( 'build-externs' ,
265252 ( ) => gulp . src ( EXTERNS_FILES ) . pipe ( gulp . dest ( `${ DEST_DIR } /externs/` ) ) ) ;
266253
267- // Builds the final JS file for all supported languages.
268- gulp . task ( 'build-all-js' , buildJsTasks , ( ) => makeDefaultFile ( 'firebaseui' ) ) ;
269-
270- // Builds the final JS file for the default language.
271- gulp . task ( 'build-js' , [ 'build-js-' + DEFAULT_LOCALE ] ,
272- ( ) => makeDefaultFile ( 'firebaseui' ) ) ;
254+ // Builds the core FirebaseUI JS. Generates the gulp tasks
255+ // build-firebaseui-js-de, build-firebaseui-js-fr, etc.
256+ repeatTaskForAllLocales (
257+ 'build-firebaseui-js-$' ,
258+ [ 'build-externs' , 'build-ts' , 'build-soy' ] ,
259+ buildFirebaseUiJs ,
260+ ) ;
273261
274262// Bundles the FirebaseUI JS with its dependencies as a NPM module. This builds
275263// the NPM module for all languages.
276264repeatTaskForAllLocales (
277265 'build-npm-$' , [ 'build-firebaseui-js-$' ] ,
278266 ( locale ) => concatWithDeps ( locale , 'npm' , NPM_MODULE_WRAPPER ) ) ;
279267
268+ // Bundles the FirebaseUI JS with its dependencies for all locales.
269+ // Generates the gulp tasks build-js-de, build-js-fr, etc.
270+ const buildJsTasks = repeatTaskForAllLocales (
271+ 'build-js-$' , [ 'build-firebaseui-js-$' ] ,
272+ ( locale ) => concatWithDeps ( locale , 'firebaseui' , OUTPUT_WRAPPER ) ) ;
273+
274+ // Builds the final JS file for the default language.
275+ gulp . task ( 'build-js' , gulp . series (
276+ 'build-js-' + DEFAULT_LOCALE ,
277+ ( ) => makeDefaultFile ( 'firebaseui' ) ,
278+ ) ) ;
279+
280+ // Builds the final JS file for all supported languages.
281+ gulp . task ( 'build-all-js' , gulp . series (
282+ gulp . parallel ( ...buildJsTasks ) ,
283+ ( ) => makeDefaultFile ( 'firebaseui' ) ,
284+ ) ) ;
285+
280286// Builds the NPM module for the default language.
281- gulp . task ( 'build-npm' , [ 'build-npm-' + DEFAULT_LOCALE ] ,
282- ( ) => makeDefaultFile ( 'npm' ) ) ;
287+ gulp . task ( 'build-npm' , gulp . series (
288+ 'build-npm-' + DEFAULT_LOCALE ,
289+ ( ) => makeDefaultFile ( 'npm' ) ,
290+ ) ) ;
283291
284292/**
285293 * Builds the CSS for FirebaseUI.
@@ -326,17 +334,19 @@ gulp.task('serve', () => {
326334gulp . task ( 'clean' , ( ) => fse . remove ( TMP_DIR ) ) ;
327335
328336// Executes the basic tasks for the default language.
329- gulp . task ( 'default' ,
330- [
331- 'build-externs' , 'build-ts' , 'build-js' , 'build-npm' , 'build-css' ,
332- 'build-css-rtl'
333- ] ,
334- ( ) => gulp . start ( 'clean' ) ) ;
337+ gulp . task ( 'default' , gulp . series (
338+ gulp . parallel (
339+ 'build-externs' , 'build-ts' , 'build-js' ,
340+ 'build-npm' , 'build-css' , 'build-css-rtl' ,
341+ ) ,
342+ 'clean' ,
343+ ) ) ;
335344
336345// Builds everything (JS for all languages, both LTR and RTL CSS).
337- gulp . task ( 'build-all' ,
338- [
339- 'build-externs' , 'build-ts' , 'build-all-js' , 'build-npm' , 'build-css' ,
340- 'build-css-rtl'
341- ] ,
342- ( ) => gulp . start ( 'clean' ) ) ;
346+ gulp . task ( 'build-all' , gulp . series (
347+ gulp . parallel (
348+ 'build-externs' , 'build-ts' , 'build-all-js' ,
349+ 'build-npm' , 'build-css' , 'build-css-rtl' ,
350+ ) ,
351+ 'clean' ,
352+ ) ) ;
0 commit comments