1
- var gulp = require ( 'gulp' ) ;
2
- var runSequence = require ( 'run-sequence' ) ;
3
- var del = require ( 'del' ) ;
4
- var vinylPaths = require ( 'vinyl-paths' ) ;
5
- var paths = require ( '../paths' ) ;
6
- var bundles = require ( '../bundles.js' ) ;
7
- var resources = require ( '../export.js' ) ;
1
+ 'use strict' ;
8
2
9
- // deletes all files in the output path
10
- gulp . task ( 'clean-export' , function ( ) {
11
- return gulp . src ( [ paths . exportSrv ] )
12
- . pipe ( vinylPaths ( del ) ) ;
13
- } ) ;
3
+ const gulp = require ( 'gulp' ) ;
4
+ const runSequence = require ( 'run-sequence' ) ;
5
+ const del = require ( 'del' ) ;
6
+ const vinylPaths = require ( 'vinyl-paths' ) ;
7
+ const jspm = require ( 'jspm' ) ;
8
+ const paths = require ( '../paths' ) ;
9
+ const bundles = require ( '../bundles.js' ) ;
10
+ const resources = require ( '../export.js' ) ;
14
11
15
12
function getBundles ( ) {
16
- var bl = [ ] ;
17
- for ( var b in bundles . bundles ) {
18
- bl . push ( b + '.js' ) ;
13
+ let bl = [ ] ;
14
+ for ( let b in bundles . bundles ) {
15
+ bl . push ( b + '* .js' ) ;
19
16
}
20
17
return bl ;
21
18
}
@@ -24,16 +21,49 @@ function getExportList() {
24
21
return resources . list . concat ( getBundles ( ) ) ;
25
22
}
26
23
24
+ function normalizeExportPaths ( ) {
25
+ const pathsToNormalize = resources . normalize ;
26
+
27
+ let promises = pathsToNormalize . map ( pathSet => {
28
+ const packageName = pathSet [ 0 ] ;
29
+ const fileList = pathSet [ 1 ] ;
30
+
31
+ return jspm . normalize ( packageName ) . then ( ( normalized ) => {
32
+ const packagePath = normalized . substring ( normalized . indexOf ( 'jspm_packages' ) , normalized . lastIndexOf ( '.js' ) ) ;
33
+ return fileList . map ( file => packagePath + file ) ;
34
+ } ) ;
35
+ } ) ;
36
+
37
+ return Promise . all ( promises )
38
+ . then ( ( normalizedPaths ) => {
39
+ return normalizedPaths . reduce ( ( prev , curr ) => prev . concat ( curr ) , [ ] ) ;
40
+ } ) ;
41
+ }
42
+
43
+ // deletes all files in the output path
44
+ gulp . task ( 'clean-export' , function ( ) {
45
+ return gulp . src ( [ paths . exportSrv ] )
46
+ . pipe ( vinylPaths ( del ) ) ;
47
+ } ) ;
48
+
27
49
gulp . task ( 'export-copy' , function ( ) {
28
- return gulp . src ( getExportList ( ) , { base : "." } )
50
+ return gulp . src ( getExportList ( ) , { base : '.' } )
29
51
. pipe ( gulp . dest ( paths . exportSrv ) ) ;
30
52
} ) ;
31
53
54
+ gulp . task ( 'export-normalized-resources' , function ( ) {
55
+ return normalizeExportPaths ( ) . then ( normalizedPaths => {
56
+ return gulp . src ( normalizedPaths , { base : '.' } )
57
+ . pipe ( gulp . dest ( paths . exportSrv ) ) ;
58
+ } ) ;
59
+ } ) ;
60
+
32
61
// use after prepare-release
33
62
gulp . task ( 'export' , function ( callback ) {
34
63
return runSequence (
35
64
'bundle' ,
36
65
'clean-export' ,
66
+ 'export-normalized-resources' ,
37
67
'export-copy' ,
38
68
callback
39
69
) ;
0 commit comments