Skip to content

Commit c6e5df7

Browse files
committed
feat(gulp:build): make a working build task
fix build's dependent subtasks also
1 parent dba7d63 commit c6e5df7

2 files changed

Lines changed: 49 additions & 21 deletions

File tree

app/templates/_package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,13 @@
3131
},
3232
"devDependencies": {<% if(filters.gulp) { %>
3333
"gulp": "^3.9.0",
34+
"gulp-add-src": "^0.2.0",
35+
"gulp-angular-templatecache": "^1.7.0",
3436
"gulp-autoprefixer": "2.3.1",<% if(filters.babel) { %>
3537
"gulp-babel": "^5.1.0",<% } %>
3638
"gulp-cache": "^0.2.10",
3739
"gulp-clean": "^0.3.1",
40+
"gulp-concat": "^2.6.0",
3841
"gulp-filter": "^2.0.2",
3942
"gulp-imagemin": "^2.2.1",
4043
"gulp-inject": "^1.3.1",
@@ -50,7 +53,7 @@
5053
"gulp-sourcemaps": "^1.5.2",
5154
"gulp-svgmin": "^1.1.2",
5255
"gulp-uglify": "^1.2.0",
53-
"gulp-useref": "^0.4.2",
56+
"gulp-useref": "^1.2.0",
5457
"gulp-util": "^3.0.5",
5558
"gulp-watch": "^4.2.4",
5659
"utile": "~0.3.0",

app/templates/gulpfile.babel.js

Lines changed: 45 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -260,54 +260,78 @@ gulp.task('bower', () => {
260260
* Build
261261
********************/
262262

263+
//FIXME: looks like font-awesome isn't getting loaded
263264
gulp.task('build', cb => {
264-
runSequence('clean:dist',
265-
['images', 'copy:extras', 'copy:fonts', 'copy:server', 'client:build'],
265+
runSequence(
266+
'clean:dist',
267+
'inject',
268+
'bower',
269+
[
270+
'build:images',
271+
'copy:extras',
272+
'copy:fonts',
273+
'copy:server',
274+
'build:client'
275+
],
266276
cb);
267277
});
268278

269279
gulp.task('clean:dist', () => gulp.src('dist', {read: false}).pipe(plugins.clean()));
270280

271-
gulp.task('client:build', ['html'], () => {
281+
gulp.task('build:client', ['transpile', 'styles', 'html'], () => {
282+
var appFilter = plugins.filter('**/app.js');
272283
var jsFilter = plugins.filter('**/*.js');
273-
var cssFilter = plugins.filter('**/*.css');<% if(filters.jade) { %>
274-
var assets = plugins.filter('**/*.{js,css}');<% } %>
284+
var cssFilter = plugins.filter('**/*.css');
285+
var htmlFilter = plugins.filter('**/*.html');<% if(filters.jade) { %>
286+
var assetsFilter = plugins.filter('**/*.{js,css}');<% } %>
287+
288+
let assets = plugins.useref.assets({searchPath: ['client', '.tmp']});
275289

276290
return gulp.src(paths.views.main)<% if(filters.jade) { %>
277291
.pipe(plugins.jade({pretty: true}))<% } %>
278-
.pipe(plugins.useref.assets({searchPath: [yeoman.app, '.tmp']}))
292+
.pipe(assets)
293+
.pipe(appFilter)
294+
.pipe(plugins.addSrc.append('.tmp/templates.js'))
295+
.pipe(plugins.concat('app\\app.js'))
296+
.pipe(appFilter.restore())
279297
.pipe(jsFilter)
280-
.pipe(plugins.ngmin())
281-
.pipe(plugins.uglify())
298+
.pipe(plugins.ngmin())
299+
.pipe(plugins.uglify())
282300
.pipe(jsFilter.restore())
283301
.pipe(cssFilter)
284-
.pipe(plugins.minifyCss({cache: true}))
302+
.pipe(plugins.minifyCss({cache: true}))
285303
.pipe(cssFilter.restore())
286304
.pipe(plugins.rev())
287-
.pipe(plugins.useref.restore())
305+
.pipe(assets.restore())
288306
.pipe(plugins.revReplace())
289307
.pipe(plugins.useref())<% if(filters.jade) { %>
290-
.pipe(assets)<% } %>
308+
.pipe(assetsFilter)<% } %>
291309
.pipe(gulp.dest(paths.dist + '/public'));
292310
});
293311

294-
gulp.task('html', () => {
295-
gulp.src(yeoman.app + '/views/**/*')
296-
.pipe(gulp.dest(paths.dist + '/public/views'));
312+
gulp.task('html', function () {
313+
return gulp.src('client/{app,components}/**/*.html')
314+
.pipe(plugins.angularTemplatecache({
315+
module: 'testApp'
316+
}))
317+
.pipe(gulp.dest('.tmp'));
297318
});
298319

299-
gulp.task('images', () => {
300-
gulp.src(yeoman.app + '/images/**/*')
320+
gulp.task('build:images', () => {
321+
gulp.src('client/assets/images/**/*')
301322
.pipe(plugins.cache(plugins.imagemin({
302323
optimizationLevel: 5,
303324
progressive: true,
304325
interlaced: true
305326
})))
306-
.pipe(gulp.dest(paths.dist + '/public/images'));
327+
.pipe(gulp.dest(paths.dist + '/public/assets/images'));
307328
});
308329

309330
gulp.task('copy:extras', () => {
310-
gulp.src(yeoman.app + '/*.*', { dot: true })
331+
gulp.src([
332+
'client/favicon.ico',
333+
'client/robots.txt'
334+
], { dot: true })
311335
.pipe(gulp.dest(paths.dist + '/public'));
312336
});
313337

@@ -319,8 +343,9 @@ gulp.task('copy:fonts', () => {
319343
gulp.task('copy:server', () => {
320344
gulp.src([
321345
'package.json',
322-
'server.js',
323-
'lib/**/*'
346+
'bower.json',
347+
'.bowerrc',
348+
'server/**/*'
324349
], {cwdbase: true})
325350
.pipe(gulp.dest(paths.dist));
326351
});

0 commit comments

Comments
 (0)