1
+ /* eslint-disable standard/no-callback-literal */
2
+
1
3
// Get the version info
2
- var pkg = require ( './package.json' )
4
+ const pkg = require ( './package.json' )
3
5
if ( ! pkg . version ) {
4
6
console . error ( 'No version information in package.json.' )
5
7
proccess . exit ( )
6
8
}
7
9
8
- var assetsRoot = {
10
+ const assetsRoot = {
9
11
src : 'assets/src/' ,
10
12
dist : 'assets/dist/' ,
11
13
dest : 'assets/prod/'
12
14
}
13
15
14
16
// Set up core routes
15
- var modulesRoot = {
17
+ const modulesRoot = {
16
18
src : assetsRoot . src + 'modules/' ,
17
19
dist : assetsRoot . dist + 'modules/' ,
18
20
dest : assetsRoot . dest + pkg . version + '/modules/'
19
21
}
20
22
21
- var assetModuleList = {
23
+ const assetModuleList = {
22
24
sm : [ 'App' , 'Schedule' , 'Generate' , 'Browse' , 'Search' , 'Help' , 'Index' ]
23
25
}
24
26
25
- var assetTypes = {
27
+ const assetTypes = {
26
28
scripts : {
27
29
paths : [
28
30
'' ,
@@ -48,16 +50,16 @@ var assetTypes = {
48
50
}
49
51
}
50
52
51
- var paths = { }
52
- var distPaths = { }
53
+ const paths = { }
54
+ const distPaths = { }
53
55
54
56
const getPaths = ( rootPath , pathsDict ) => {
55
- for ( var moduleName in assetModuleList ) {
57
+ for ( const moduleName in assetModuleList ) {
56
58
subModuleList = assetModuleList [ moduleName ]
57
59
58
60
pathsDict [ moduleName ] = { }
59
- for ( var assetType in assetTypes ) {
60
- var assetOpts = assetTypes [ assetType ]
61
+ for ( const assetType in assetTypes ) {
62
+ const assetOpts = assetTypes [ assetType ]
61
63
62
64
pathsDict [ moduleName ] [ assetType ] = [ ]
63
65
@@ -68,9 +70,9 @@ const getPaths = (rootPath, pathsDict) => {
68
70
}
69
71
}
70
72
71
- var doFor = function ( assetType , cb ) {
72
- var streamResults = [ ]
73
- for ( var moduleName in assetModuleList ) {
73
+ const doFor = function ( assetType , cb ) {
74
+ const streamResults = [ ]
75
+ for ( const moduleName in assetModuleList ) {
74
76
streamResults . push ( cb ( {
75
77
src : paths [ moduleName ] [ assetType ] ,
76
78
dist : distPaths [ moduleName ] [ assetType ] ,
@@ -82,31 +84,27 @@ var doFor = function (assetType, cb) {
82
84
83
85
getPaths ( modulesRoot . src , paths )
84
86
85
- var fs = require ( 'fs' )
86
- var dump = function ( tvar ) {
87
- fs . writeFileSync ( './dump.json' , JSON . stringify ( tvar ) )
88
- }
89
-
90
87
// Import required plugins
91
- var gulp = require ( 'gulp' )
92
- var htmlmin = require ( 'gulp-htmlmin' )
93
- var ngmin = require ( 'gulp-ngmin' )
94
- var uglify = require ( 'gulp-uglify' )
95
- var clean = require ( 'gulp-clean' )
96
- var concat = require ( 'gulp-concat' )
97
- var rename = require ( 'gulp-rename' )
98
- var sourcemaps = require ( 'gulp-sourcemaps' )
99
- var replace = require ( 'gulp-replace' )
100
- var es = require ( 'event-stream' )
101
- var minifyCSS = require ( 'gulp-minify-css' )
102
- var template = require ( 'gulp-template' )
103
- var ts = require ( 'gulp-typescript' )
104
-
105
- var tsProject = ts . createProject ( 'tsconfig.json' )
88
+ const gulp = require ( 'gulp' )
89
+ const htmlmin = require ( 'gulp-htmlmin' )
90
+ const ngAnnotate = require ( 'gulp-ng-annotate' )
91
+ const uglify = require ( 'gulp-uglify' )
92
+ const concat = require ( 'gulp-concat' )
93
+ const rename = require ( 'gulp-rename' )
94
+ const sourcemaps = require ( 'gulp-sourcemaps' )
95
+ const replace = require ( 'gulp-replace' )
96
+ const es = require ( 'event-stream' )
97
+ const minifyCSS = require ( 'gulp-minify-css' )
98
+ const template = require ( 'gulp-template' )
99
+ const ts = require ( 'gulp-typescript' )
100
+ const del = require ( 'del' )
101
+ const vinylPaths = require ( 'vinyl-paths' )
102
+
103
+ const tsProject = ts . createProject ( 'tsconfig.json' )
106
104
107
105
// Define Tasks
108
- gulp . task ( 'templates' , function ( ) {
109
- var mapped = doFor ( 'templates' , function ( templatePaths ) {
106
+ gulp . task ( 'templates' , function ( done ) {
107
+ const mapped = doFor ( 'templates' , function ( templatePaths ) {
110
108
return gulp . src ( templatePaths . src )
111
109
. pipe ( htmlmin ( {
112
110
collapseWhitespace : true ,
@@ -117,6 +115,7 @@ gulp.task('templates', function () {
117
115
. pipe ( gulp . dest ( templatePaths . dest ) )
118
116
} )
119
117
118
+ done ( )
120
119
return es . concat . apply ( null , mapped )
121
120
} )
122
121
@@ -128,11 +127,11 @@ gulp.task('compile', function () {
128
127
return tsOut
129
128
} )
130
129
131
- gulp . task ( 'scripts' , function ( ) {
132
- var mapped = doFor ( 'scripts' , function ( scriptPaths ) {
130
+ gulp . task ( 'scripts' , function ( done ) {
131
+ const mapped = doFor ( 'scripts' , function ( scriptPaths ) {
133
132
return gulp . src ( scriptPaths . dist )
134
133
. pipe ( template ( { modulePath : scriptPaths . dest } ) )
135
- . pipe ( ngmin ( ) )
134
+ . pipe ( ngAnnotate ( ) )
136
135
. pipe ( concat ( 'dist.js' ) )
137
136
. pipe ( gulp . dest ( scriptPaths . dest ) )
138
137
. pipe ( sourcemaps . init ( ) )
@@ -144,49 +143,49 @@ gulp.task('scripts', function () {
144
143
. pipe ( gulp . dest ( scriptPaths . dest ) )
145
144
} )
146
145
146
+ done ( )
147
147
return es . concat . apply ( null , mapped )
148
148
} )
149
149
150
- gulp . task ( 'styles' , function ( ) {
151
- var mapped = doFor ( 'styles' , function ( stylePaths ) {
150
+ gulp . task ( 'styles' , function ( done ) {
151
+ const mapped = doFor ( 'styles' , function ( stylePaths ) {
152
152
return gulp . src ( stylePaths . src )
153
153
. pipe ( concat ( 'dist.css' ) )
154
154
. pipe ( gulp . dest ( stylePaths . dest ) )
155
- . pipe ( minifyCSS ( ) )
155
+ . pipe ( minifyCSS ( { processImport : false } ) )
156
156
. pipe ( rename ( { suffix : '.min' } ) )
157
157
. pipe ( gulp . dest ( stylePaths . dest ) )
158
158
} )
159
159
160
+ done ( )
160
161
return es . concat . apply ( null , mapped )
161
162
} )
162
163
163
164
gulp . task ( 'watch' , function ( ) {
164
165
doFor ( 'templates' , function ( templatePaths ) {
165
- gulp . watch ( templatePaths . src , [ 'templates' ] ) . on ( 'error' , function ( ) {
166
+ gulp . watch ( templatePaths . src , gulp . series ( 'templates' ) ) . on ( 'error' , function ( ) {
166
167
} )
167
168
} )
168
169
doFor ( 'scripts' , function ( scriptPaths ) {
169
- gulp . watch ( scriptPaths . dist , [ 'scripts' ] ) . on ( 'error' , function ( ) {
170
+ gulp . watch ( scriptPaths . dist , gulp . series ( 'scripts' ) ) . on ( 'error' , function ( ) {
170
171
} )
171
172
} )
172
173
doFor ( 'styles' , function ( stylesPaths ) {
173
- gulp . watch ( stylesPaths . src , [ 'styles' ] ) . on ( 'error' , function ( ) {
174
+ gulp . watch ( stylesPaths . src , gulp . series ( 'styles' ) ) . on ( 'error' , function ( ) {
174
175
} )
175
176
} )
176
177
} )
177
178
178
179
gulp . task ( 'clean' , function ( ) {
179
- return gulp . src ( modulesRoot . dest , { read : false } )
180
- . pipe ( clean ( ) )
180
+ return gulp . src ( modulesRoot . dest , { read : false , allowEmpty : true } )
181
+ . pipe ( vinylPaths ( del ) )
181
182
} )
182
183
183
184
gulp . task ( 'cleanAll' , function ( ) {
184
- return gulp . src ( [ assetsRoot . dest + '/*' , '!' + assetsRoot . dest + '.gitkeep' ] , { read : false } )
185
- . pipe ( clean ( ) )
185
+ return gulp . src ( [ assetsRoot . dest + '/*' , '!' + assetsRoot . dest + '.gitkeep' ] , { read : false , allowEmpty : true } )
186
+ . pipe ( vinylPaths ( del ) )
186
187
} )
187
188
188
- gulp . task ( 'build' , [ 'clean' , 'compile' ] , function ( ) {
189
- return gulp . start ( 'scripts' , 'templates' , 'styles' )
190
- } )
189
+ gulp . task ( 'build' , gulp . series ( 'clean' , 'compile' , gulp . parallel ( 'scripts' , 'templates' , 'styles' ) ) )
191
190
192
- gulp . task ( 'default' , [ 'build' ] )
191
+ gulp . task ( 'default' , gulp . series ( 'build' ) )
0 commit comments