@@ -180,7 +180,8 @@ function buildFirebaseUiJs(locale) {
180
180
] , getTmpJsPath ( locale ) , flags ) ;
181
181
}
182
182
183
- // Builds the core FirebaseUI JS.
183
+ // Builds the core FirebaseUI JS. Generates the gulp tasks
184
+ // build-firebaseui-js-de, build-firebaseui-js-fr, etc.
184
185
repeatTaskForAllLocales ( 'build-firebaseui-js-$' , [ 'build-soy' ] ,
185
186
buildFirebaseUiJs ) ;
186
187
@@ -194,6 +195,31 @@ const JS_DEPS = [
194
195
'node_modules/dialog-polyfill/dialog-polyfill.js'
195
196
] ;
196
197
198
+ /**
199
+ * Concatenates the core FirebaseUI JS with its external dependencies, and
200
+ * cleans up comments and whitespace in the dependencies.
201
+ * @param {string } locale The desired FirebaseUI locale.
202
+ * @param {string } outBaseName The prefix of the output file name.
203
+ * @param {string } outputWrapper A wrapper with which to wrap the output JS.
204
+ * @return {* } A stream that ends when compilation finishes.
205
+ */
206
+ function concatWithDeps ( locale , outBaseName , outputWrapper ) {
207
+ const localeForFileName = getLocaleForFileName ( locale ) ;
208
+ // Get a list of the FirebaseUI JS and its dependencies.
209
+ const srcs = JS_DEPS . concat ( [ getTmpJsPath ( locale ) ] ) ;
210
+ const outputPath = `${ DEST_DIR } /${ outBaseName } __${ localeForFileName } .js` ;
211
+ return compile ( srcs , outputPath , {
212
+ compilation_level : 'WHITESPACE_ONLY' ,
213
+ output_wrapper : outputWrapper
214
+ } ) ;
215
+ }
216
+
217
+ // Bundles the FirebaseUI JS with its dependencies for all locales.
218
+ // Generates the gulp tasks build-js-de, build-js-fr, etc.
219
+ const buildJsTasks = repeatTaskForAllLocales (
220
+ 'build-js-$' , [ 'build-firebaseui-js-$' ] ,
221
+ ( locale ) => concatWithDeps ( locale , 'firebaseui' , OUTPUT_WRAPPER ) ) ;
222
+
197
223
/**
198
224
* Creates the default FirebaseUI binaries for basic usage without
199
225
* localization. For example, it copies firebaseui__en.js to firebaseui.js.
@@ -207,31 +233,15 @@ function makeDefaultFile(fileName) {
207
233
}
208
234
}
209
235
210
- // Bundles the FirebaseUI JS with its dependencies for all locales.
211
- // Generates the gulp tasks build-js-de, build-js-fr, etc.
212
- const buildJsTasks = repeatTaskForAllLocales ( 'build-js-$' ,
213
- [ 'build-firebaseui-js-$' ] , ( locale ) => {
214
- const localeForFileName = getLocaleForFileName ( locale ) ;
215
- return compile (
216
- JS_DEPS . concat ( [ getTmpJsPath ( locale ) ] ) ,
217
- `${ DEST_DIR } /firebaseui__${ localeForFileName } .js` , {
218
- compilation_level : 'WHITESPACE_ONLY' ,
219
- output_wrapper : OUTPUT_WRAPPER
220
- } ) ;
221
- } ) ;
222
236
gulp . task ( 'build-all-js' , buildJsTasks , ( ) => makeDefaultFile ( 'firebaseui' ) ) ;
223
237
gulp . task ( 'build-js' , [ 'build-js-' + DEFAULT_LOCALE ] ,
224
238
( ) => makeDefaultFile ( 'firebaseui' ) ) ;
225
239
226
240
// Bundles the FirebaseUI JS with its dependencies as a NPM module.
227
- repeatTaskForAllLocales ( 'build-npm-$' , [ 'build-firebaseui-js-$' ] , ( locale ) => {
228
- const localeForFileName = getLocaleForFileName ( locale ) ;
229
- const srcs = JS_DEPS . concat ( [ getTmpJsPath ( locale ) ] ) ;
230
- return compile ( srcs , `dist/npm__${ localeForFileName } .js` , {
231
- compilation_level : 'WHITESPACE_ONLY' ,
232
- output_wrapper : NPM_MODULE_WRAPPER
233
- } ) ;
234
- } ) ;
241
+ repeatTaskForAllLocales (
242
+ 'build-npm-$' , [ 'build-firebaseui-js-$' ] ,
243
+ ( locale ) => concatWithDeps ( locale , 'npm' , NPM_MODULE_WRAPPER ) ) ;
244
+
235
245
gulp . task ( 'build-npm' , [ 'build-npm-' + DEFAULT_LOCALE ] ,
236
246
( ) => makeDefaultFile ( 'npm' ) ) ;
237
247
@@ -246,6 +256,8 @@ function buildCss(isRtl) {
246
256
const dialogPolyfillSrcs = gulp . src (
247
257
'node_modules/dialog-polyfill/dialog-polyfill.css' ) ;
248
258
let firebaseSrcs = gulp . src ( 'stylesheet/*.css' ) ;
259
+
260
+ // Flip left/right, ltr/rtl for RTL languages.
249
261
if ( isRtl ) {
250
262
firebaseSrcs = firebaseSrcs . pipe ( flip . gulp ( ) ) ;
251
263
}
@@ -255,7 +267,7 @@ function buildCss(isRtl) {
255
267
mdlSrcs , dialogPolyfillSrcs , firebaseSrcs )
256
268
. pipe ( concatCSS ( outFile ) )
257
269
. pipe ( cleanCSS ( ) )
258
- . pipe ( gulp . dest ( 'dist' ) ) ;
270
+ . pipe ( gulp . dest ( DEST_DIR ) ) ;
259
271
}
260
272
261
273
// Concatenates and minifies the CSS sources.
0 commit comments