8
8
*/
9
9
Object . defineProperty ( exports , "__esModule" , { value : true } ) ;
10
10
const core_1 = require ( "@angular-devkit/core" ) ;
11
+ const rxjs_1 = require ( "rxjs" ) ;
11
12
const operators_1 = require ( "rxjs/operators" ) ;
12
13
const package_chunk_sort_1 = require ( "../package-chunk-sort" ) ;
13
14
const strip_bom_1 = require ( "../strip-bom" ) ;
14
15
const augment_index_html_1 = require ( "./augment-index-html" ) ;
15
- function writeIndexHtml ( { host, outputPath, indexPath, ES5BuildFiles , ES2015BuildFiles , baseHref, deployUrl, sri = false , scripts = [ ] , styles = [ ] , } ) {
16
+ function writeIndexHtml ( { host, outputPath, indexPath, files = [ ] , noModuleFiles = [ ] , moduleFiles = [ ] , baseHref, deployUrl, sri = false , scripts = [ ] , styles = [ ] , postTransform , } ) {
16
17
return host . read ( indexPath )
17
18
. pipe ( operators_1 . map ( content => strip_bom_1 . stripBom ( core_1 . virtualFs . fileBufferToString ( content ) ) ) , operators_1 . switchMap ( content => augment_index_html_1 . augmentIndexHtml ( {
18
19
input : core_1 . getSystemPath ( outputPath ) ,
@@ -21,21 +22,24 @@ function writeIndexHtml({ host, outputPath, indexPath, ES5BuildFiles, ES2015Buil
21
22
deployUrl,
22
23
sri,
23
24
entrypoints : package_chunk_sort_1 . generateEntryPoints ( { scripts, styles } ) ,
24
- files : filterAndMapBuildFiles ( ES5BuildFiles , '. css') ,
25
- noModuleFiles : filterAndMapBuildFiles ( ES5BuildFiles , '.js' ) ,
26
- moduleFiles : filterAndMapBuildFiles ( ES2015BuildFiles , '.js' ) ,
25
+ files : filterAndMapBuildFiles ( files , [ '.js' , '. css'] ) ,
26
+ noModuleFiles : filterAndMapBuildFiles ( noModuleFiles , '.js' ) ,
27
+ moduleFiles : filterAndMapBuildFiles ( moduleFiles , '.js' ) ,
27
28
loadOutputFile : async ( filePath ) => {
28
29
return host . read ( core_1 . join ( outputPath , filePath ) )
29
30
. pipe ( operators_1 . map ( data => core_1 . virtualFs . fileBufferToString ( data ) ) )
30
31
. toPromise ( ) ;
31
32
} ,
32
- } ) ) , operators_1 . map ( content => core_1 . virtualFs . stringToFileBuffer ( content . source ( ) ) ) , operators_1 . switchMap ( content => host . write ( core_1 . join ( outputPath , core_1 . basename ( indexPath ) ) , content ) ) ) ;
33
+ } ) ) , operators_1 . switchMap ( content => postTransform ? postTransform ( content ) : rxjs_1 . of ( content ) ) , operators_1 . map ( content => core_1 . virtualFs . stringToFileBuffer ( content ) ) , operators_1 . switchMap ( content => host . write ( core_1 . join ( outputPath , core_1 . basename ( indexPath ) ) , content ) ) ) ;
33
34
}
34
35
exports . writeIndexHtml = writeIndexHtml ;
35
36
function filterAndMapBuildFiles ( files , extensionFilter ) {
36
37
const filteredFiles = [ ] ;
38
+ const validExtensions = Array . isArray ( extensionFilter )
39
+ ? extensionFilter
40
+ : [ extensionFilter ] ;
37
41
for ( const { file, name, extension, initial } of files ) {
38
- if ( name && initial && extension === extensionFilter ) {
42
+ if ( name && initial && validExtensions . includes ( extension ) ) {
39
43
filteredFiles . push ( { file, extension, name } ) ;
40
44
}
41
45
}
0 commit comments