Skip to content

Commit b01cff3

Browse files
committed
refactor(gulp): use variables for file extensions instead of conditional blocks
This makes templating a lot easier, since we can shorten a bunch of if blocks in our EJS code to inserting a single variable
1 parent 1f03946 commit b01cff3

2 files changed

Lines changed: 19 additions & 17 deletions

File tree

app/index.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,13 @@ var AngularFullstackGenerator = yeoman.generators.Base.extend({
255255
uibootstrap: true
256256
});
257257

258+
this.scriptExt = this.filters.coffee ? 'coffee' : 'js';
259+
this.styleExt = this.filters.less ? 'less' :
260+
this.filters.sass ? 'scss' :
261+
this.filters.stylus ? 'styl' :
262+
'css';
263+
this.templateExt = this.filters.jade ? 'jade' : 'html';
264+
258265
var angModules = [
259266
"'ngCookies'",
260267
"'ngResource'",

app/templates/gulpfile.babel.js

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -23,35 +23,30 @@ var yeoman = {
2323
var paths = {
2424
client: {
2525
scripts: [
26-
'client/**/*.<% if(filters.coffee) { %>coffee<% } else { %>js<% } %>',
26+
'client/**/*.<%= scriptExt %>',
2727
'!client/bower_components/**/*.js'
2828
],
29-
styles: ['client/{app, components}/**/*.<% if(filters.stylus) { %>styl<% } else if (filters.sass) { %>scss<% } else { %>css<% } %>'],
30-
mainStyle: 'client/app/app.<% if(filters.stylus) { %>styl<% } else if (filters.sass) { %>scss<% } else { %>css<% } %>',
31-
test: ['client/**/*.spec.<% if(filters.coffee) { %>coffee<% } else { %>js<% } %>'],
29+
styles: ['client/{app, components}/**/*.<%= styleExt %>'],
30+
mainStyle: 'client/app/app.<%= styleExt %>',
31+
test: ['client/**/*.spec.<%= scriptExt %>'],
3232
testRequire: [
3333
'client/bower_components/angular/angular.js',
3434
'client/bower_components/angular-mocks/angular-mocks.js',
3535
'client/bower_components/angular-resource/angular-resource.js',
3636
'client/bower_components/angular-cookies/angular-cookies.js',
3737
'client/bower_components/angular-sanitize/angular-sanitize.js',
38-
'client/bower_components/angular-route/angular-route.js',<% if(filters.coffee) { %>
39-
'client/**/*.spec.coffee'<% } else { %>
40-
'client/**/*.spec.js'<% } %>
38+
'client/bower_components/angular-route/angular-route.js',
39+
'client/**/*.spec.<%= scriptExt %>'
4140
],
4241
bower: 'client/bower_components/'
4342
},
44-
server: {<% if(filters.coffee) { %>
45-
scripts: ['server/**/*.coffee'],
46-
test: ['server/**/*.spec.coffee'],<% } else { %>
47-
scripts: ['server/**/*.js'],
48-
test: ['server/**/*.spec.js'],<% } %>
43+
server: {
44+
scripts: ['server/**/*.<%= scriptExt %>'],
45+
test: ['server/**/*.spec.<%= scriptExt %>']
4946
},
50-
views: {<% if(filters.jade) { %>
51-
main: 'client/index.jade',
52-
files: ['client/app/**/*.jade']<% } else {%>
53-
main: 'client/index.html',
54-
files: ['client/app/**/*.html']<% } %>
47+
views: {
48+
main: 'client/index.<%= templateExt %>',
49+
files: ['client/app/**/*.<%= templateExt %>']
5550
},
5651
karma: 'karma.conf.js',
5752
dist: 'dist'

0 commit comments

Comments
 (0)