@@ -43,8 +43,9 @@ const glob = require('glob');
43
43
const fs = require ( 'fs' ) ;
44
44
const gzipSize = require ( 'gzip-size' ) ;
45
45
const WrapperPlugin = require ( 'wrapper-webpack-plugin' ) ;
46
+ const { CheckerPlugin } = require ( 'awesome-typescript-loader' ) ;
46
47
47
- function cleanDist ( dir ) {
48
+ function cleanDist ( dir ) {
48
49
return function cleanDistDirectory ( done ) {
49
50
rimraf ( `${ config . paths . outDir } ${ dir ? `/${ dir } ` : '' } ` , done ) ;
50
51
}
@@ -143,22 +144,15 @@ function compileIndvES2015ModulesToBrowser() {
143
144
path : path . resolve ( __dirname , './dist/browser' ) ,
144
145
} ,
145
146
module : {
146
- rules : [ {
147
- test : / \. t s ( x ? ) $ / ,
148
- exclude : / n o d e _ m o d u l e s / ,
149
- use : [
150
- babelLoader ,
151
- tsLoader
152
- ]
153
- } , {
154
- test : / \. j s $ / ,
155
- exclude : / n o d e _ m o d u l e s / ,
156
- use : [
157
- babelLoader
158
- ]
159
- } ]
147
+ loaders : [
148
+ {
149
+ test : / \. t s x ? $ / ,
150
+ loader : 'awesome-typescript-loader'
151
+ }
152
+ ]
160
153
} ,
161
154
plugins : [
155
+ new CheckerPlugin ( ) ,
162
156
new webpack . optimize . ModuleConcatenationPlugin ( ) ,
163
157
new webpack . optimize . CommonsChunkPlugin ( {
164
158
name : 'firebase-app'
@@ -172,13 +166,13 @@ function compileIndvES2015ModulesToBrowser() {
172
166
} ,
173
167
footer : fileName => {
174
168
return isFirebaseApp ( fileName ) ? `
175
- })();` : `
169
+ })().default ;` : `
176
170
} catch(error) {
177
171
throw new Error(
178
172
'Cannot instantiate ${ fileName } - ' +
179
173
'be sure to load firebase-app.js first.'
180
174
)
181
- }`
175
+ }`
182
176
}
183
177
} ) ,
184
178
new webpack . optimize . UglifyJsPlugin ( {
@@ -227,7 +221,7 @@ function copyPackageContents() {
227
221
'!./dist/cjs/firebase.js*'
228
222
] )
229
223
. pipe ( gulp . dest ( `${ config . paths . outDir } /package` ) ) ;
230
-
224
+
231
225
return merge ( [
232
226
copyBrowserCode ,
233
227
copyCJSCode
@@ -247,7 +241,7 @@ function compileMetaFiles() {
247
241
nyc : null ,
248
242
babel : null ,
249
243
} ) ;
250
-
244
+
251
245
// Delete all props that are falsy
252
246
for ( let key in obj ) {
253
247
if ( ! obj [ key ] ) delete obj [ key ] ;
@@ -369,17 +363,17 @@ function logFileSize(done) {
369
363
} ;
370
364
} )
371
365
. forEach ( obj => console . log ( `| ${ obj . file } | ${ obj . size } | ${ obj . gzip } |` ) ) ;
372
-
366
+
373
367
console . log ( '\r\n' ) ;
374
368
done ( ) ;
375
369
}
376
370
377
371
/**
378
372
* GULP TASKS
379
- *
373
+ *
380
374
* Gulp tasks in Gulp 4.0 are a description of a series of functions.
381
375
* The functions are all above and are easier to maintain individually
382
- *
376
+ *
383
377
* Each "task" is then responsible for wiring up the dep trees itself,
384
378
* because of this you have a finer degree of control of the ordering
385
379
* of your tasks **and** you can optimize the parallelization of each
@@ -408,7 +402,7 @@ gulp.task('process:prebuilt', gulp.parallel([
408
402
const compileSourceAssets = gulp . series ( [
409
403
compileTypescriptToES2015 ,
410
404
gulp . parallel ( [
411
- compileIndvES2015ModulesToBrowser ,
405
+ compileIndvES2015ModulesToBrowser ,
412
406
compileES2015ToCJS ,
413
407
] )
414
408
] ) ;
0 commit comments