@@ -9,7 +9,6 @@ import insight from '../insight-init';
9
9
import { exec } from 'child_process' ;
10
10
11
11
export default class Generator extends Base {
12
-
13
12
constructor ( ...args ) {
14
13
super ( ...args ) ;
15
14
@@ -48,7 +47,6 @@ export default class Generator extends Base {
48
47
return cb ( ) ;
49
48
}
50
49
} ,
51
-
52
50
info : function ( ) {
53
51
insight . track ( 'generator' , this . rootGeneratorVersion ( ) ) ;
54
52
insight . track ( 'node' , process . version ) ;
@@ -61,7 +59,6 @@ export default class Generator extends Base {
61
59
this . log ( this . yoWelcome ) ;
62
60
this . log ( 'Out of the box I create an AngularJS app with an Express server.\n' ) ;
63
61
} ,
64
-
65
62
checkForConfig : function ( ) {
66
63
var cb = this . async ( ) ;
67
64
var existingFilters = this . config . get ( 'filters' ) ;
@@ -72,7 +69,7 @@ export default class Generator extends Base {
72
69
name : 'skipConfig' ,
73
70
message : 'Existing .yo-rc configuration found, would you like to use it?' ,
74
71
default : true ,
75
- } ] , function ( answers ) {
72
+ } ] , answers => {
76
73
this . skipConfig = answers . skipConfig ;
77
74
78
75
if ( this . skipConfig ) {
@@ -94,7 +91,7 @@ export default class Generator extends Base {
94
91
}
95
92
96
93
cb ( ) ;
97
- } . bind ( this ) ) ;
94
+ } ) ;
98
95
} else {
99
96
cb ( ) ;
100
97
}
@@ -104,7 +101,6 @@ export default class Generator extends Base {
104
101
105
102
get prompting ( ) {
106
103
return {
107
-
108
104
clientPrompts : function ( ) {
109
105
if ( this . skipConfig ) return ;
110
106
var cb = this . async ( ) ;
@@ -127,21 +123,21 @@ export default class Generator extends Base {
127
123
name : 'markup' ,
128
124
message : 'What would you like to write markup with?' ,
129
125
choices : [ 'HTML' , 'Jade' ] ,
130
- filter : function ( val ) { return val . toLowerCase ( ) ; }
126
+ filter : val => val . toLowerCase ( )
131
127
} , {
132
128
type : 'list' ,
133
129
name : 'stylesheet' ,
134
130
default : 1 ,
135
131
message : 'What would you like to write stylesheets with?' ,
136
- choices : [ 'CSS' , 'Sass' , 'Stylus' , 'Less' ] ,
137
- filter : function ( val ) { return val . toLowerCase ( ) ; }
132
+ choices : [ 'CSS' , 'Sass' , 'Stylus' , 'Less' ] ,
133
+ filter : val => val . toLowerCase ( )
138
134
} , {
139
135
type : 'list' ,
140
136
name : 'router' ,
141
137
default : 1 ,
142
138
message : 'What Angular router would you like to use?' ,
143
- choices : [ 'ngRoute' , 'uiRouter' ] ,
144
- filter : function ( val ) { return val . toLowerCase ( ) ; }
139
+ choices : [ 'ngRoute' , 'uiRouter' ] ,
140
+ filter : val => val . toLowerCase ( )
145
141
} , {
146
142
type : 'confirm' ,
147
143
name : 'bootstrap' ,
@@ -150,10 +146,8 @@ export default class Generator extends Base {
150
146
type : 'confirm' ,
151
147
name : 'uibootstrap' ,
152
148
message : 'Would you like to include UI Bootstrap?' ,
153
- when : function ( answers ) {
154
- return answers . bootstrap ;
155
- }
156
- } ] , function ( answers ) {
149
+ when : answers => answers . bootstrap
150
+ } ] , answers => {
157
151
this . filters . js = true ;
158
152
this . filters [ answers . transpiler ] = true ;
159
153
insight . track ( 'transpiler' , answers . transpiler ) ;
@@ -180,9 +174,8 @@ export default class Generator extends Base {
180
174
this . styleExt = styleExt ? styleExt : answers . stylesheet ;
181
175
182
176
cb ( ) ;
183
- } . bind ( this ) ) ;
177
+ } ) ;
184
178
} ,
185
-
186
179
serverPrompts : function ( ) {
187
180
if ( this . skipConfig ) return ;
188
181
var cb = this . async ( ) ;
@@ -194,70 +187,53 @@ export default class Generator extends Base {
194
187
type : 'checkbox' ,
195
188
name : 'odms' ,
196
189
message : 'What would you like to use for data modeling?' ,
197
- choices : [
198
- {
199
- value : 'mongoose' ,
200
- name : 'Mongoose (MongoDB)' ,
201
- checked : true
202
- } ,
203
- {
204
- value : 'sequelize' ,
205
- name : 'Sequelize (MySQL, SQLite, MariaDB, PostgreSQL)' ,
206
- checked : false
207
- }
208
- ]
190
+ choices : [ {
191
+ value : 'mongoose' ,
192
+ name : 'Mongoose (MongoDB)' ,
193
+ checked : true
194
+ } , {
195
+ value : 'sequelize' ,
196
+ name : 'Sequelize (MySQL, SQLite, MariaDB, PostgreSQL)' ,
197
+ checked : false
198
+ } ]
209
199
} , {
210
200
type : 'list' ,
211
201
name : 'models' ,
212
202
message : 'What would you like to use for the default models?' ,
213
203
choices : [ 'Mongoose' , 'Sequelize' ] ,
214
- filter : function ( val ) {
215
- return val . toLowerCase ( ) ;
216
- } ,
217
- when : function ( answers ) {
218
- return answers . odms && answers . odms . length > 1 ;
219
- }
204
+ filter : val => val . toLowerCase ( ) ,
205
+ when : answers => answers . odms && answers . odms . length > 1
220
206
} , {
221
207
type : 'confirm' ,
222
208
name : 'auth' ,
223
209
message : 'Would you scaffold out an authentication boilerplate?' ,
224
- when : function ( answers ) {
225
- return answers . odms && answers . odms . length !== 0 ;
226
- }
210
+ when : answers => answers . odms && answers . odms . length !== 0
227
211
} , {
228
212
type : 'checkbox' ,
229
213
name : 'oauth' ,
230
214
message : 'Would you like to include additional oAuth strategies?' ,
231
- when : function ( answers ) {
232
- return answers . auth ;
233
- } ,
234
- choices : [
235
- {
236
- value : 'googleAuth' ,
237
- name : 'Google' ,
238
- checked : false
239
- } ,
240
- {
241
- value : 'facebookAuth' ,
242
- name : 'Facebook' ,
243
- checked : false
244
- } ,
245
- {
246
- value : 'twitterAuth' ,
247
- name : 'Twitter' ,
248
- checked : false
249
- }
250
- ]
215
+ when : answers => answers . auth ,
216
+ choices : [ {
217
+ value : 'googleAuth' ,
218
+ name : 'Google' ,
219
+ checked : false
220
+ } , {
221
+ value : 'facebookAuth' ,
222
+ name : 'Facebook' ,
223
+ checked : false
224
+ } , {
225
+ value : 'twitterAuth' ,
226
+ name : 'Twitter' ,
227
+ checked : false
228
+ } ]
251
229
} , {
252
230
type : 'confirm' ,
253
231
name : 'socketio' ,
254
232
message : 'Would you like to use socket.io?' ,
255
233
// to-do: should not be dependent on ODMs
256
- when : function ( answers ) {
257
- return answers . odms && answers . odms . length !== 0 ;
258
- } ,
234
+ when : answers => answers . odms && answers . odms . length !== 0 ,
259
235
default : true
260
- } ] , function ( answers ) {
236
+ } ] , answers => {
261
237
if ( answers . socketio ) this . filters . socketio = true ;
262
238
insight . track ( 'socketio' , ! ! answers . socketio ) ;
263
239
@@ -273,9 +249,9 @@ export default class Generator extends Base {
273
249
}
274
250
this . filters . models = true ;
275
251
this . filters [ models + 'Models' ] = true ;
276
- answers . odms . forEach ( function ( odm ) {
252
+ answers . odms . forEach ( odm => {
277
253
this . filters [ odm ] = true ;
278
- } . bind ( this ) ) ;
254
+ } ) ;
279
255
insight . track ( 'oauth' , ! ! answers . oauth ) ;
280
256
} else {
281
257
this . filters . noModels = true ;
@@ -288,19 +264,18 @@ export default class Generator extends Base {
288
264
289
265
if ( answers . oauth ) {
290
266
if ( answers . oauth . length ) this . filters . oauth = true ;
291
- answers . oauth . forEach ( function ( oauthStrategy ) {
267
+ answers . oauth . forEach ( oauthStrategy => {
292
268
this . filters [ oauthStrategy ] = true ;
293
- } . bind ( this ) ) ;
269
+ } ) ;
294
270
}
295
271
insight . track ( 'oauth' , ! ! this . filters . oauth ) ;
296
272
insight . track ( 'google-oauth' , ! ! this . filters [ 'googleAuth' ] ) ;
297
273
insight . track ( 'facebook-oauth' , ! ! this . filters [ 'facebookAuth' ] ) ;
298
274
insight . track ( 'twitter-oauth' , ! ! this . filters [ 'twitterAuth' ] ) ;
299
275
300
276
cb ( ) ;
301
- } . bind ( this ) ) ;
277
+ } ) ;
302
278
} ,
303
-
304
279
projectPrompts : function ( ) {
305
280
if ( this . skipConfig ) return ;
306
281
var cb = this . async ( ) ;
@@ -320,54 +295,46 @@ export default class Generator extends Base {
320
295
name : 'testing' ,
321
296
message : 'What would you like to write tests with?' ,
322
297
choices : [ 'Jasmine' , 'Mocha + Chai + Sinon' ] ,
323
- filter : function ( val ) {
324
- var filterMap = {
298
+ filter : function ( val ) {
299
+ return {
325
300
'Jasmine' : 'jasmine' ,
326
301
'Mocha + Chai + Sinon' : 'mocha'
327
- } ;
328
-
329
- return filterMap [ val ] ;
302
+ } [ val ] ;
330
303
}
331
304
} , {
332
305
type : 'list' ,
333
306
name : 'chai' ,
334
307
message : 'What would you like to write Chai assertions with?' ,
335
308
choices : [ 'Expect' , 'Should' ] ,
336
- filter : function ( val ) {
337
- return val . toLowerCase ( ) ;
338
- } ,
339
- when : function ( answers ) {
340
- return answers . testing === 'mocha' ;
341
- }
342
- } ] , function ( answers ) {
309
+ filter : val => val . toLowerCase ( ) ,
310
+ when : answers => answers . testing === 'mocha'
311
+ } ] , answers => {
343
312
this . filters [ answers . buildtool ] = true ;
344
313
insight . track ( 'buildtool' , answers . buildtool ) ;
345
314
346
315
this . filters [ answers . testing ] = true ;
347
316
insight . track ( 'testing' , answers . testing ) ;
348
- if ( answers . testing === 'mocha' ) {
317
+ if ( answers . testing === 'mocha' ) {
349
318
this . filters . jasmine = false ;
350
319
this . filters . should = false ;
351
320
this . filters . expect = false ;
352
321
this . filters [ answers . chai ] = true ;
353
322
insight . track ( 'chai-assertions' , answers . chai ) ;
354
323
}
355
- if ( answers . testing === 'jasmine' ) {
324
+ if ( answers . testing === 'jasmine' ) {
356
325
this . filters . mocha = false ;
357
326
this . filters . should = false ;
358
327
this . filters . expect = false ;
359
328
}
360
329
361
330
cb ( ) ;
362
- } . bind ( this ) ) ;
331
+ } ) ;
363
332
}
364
-
365
333
} ;
366
334
}
367
335
368
336
get configuring ( ) {
369
337
return {
370
-
371
338
saveSettings : function ( ) {
372
339
if ( this . skipConfig ) return ;
373
340
this . config . set ( 'endpointDirectory' , 'server/api/' ) ;
@@ -389,7 +356,6 @@ export default class Generator extends Base {
389
356
this . config . set ( 'filters' , this . filters ) ;
390
357
this . config . forceSave ( ) ;
391
358
} ,
392
-
393
359
ngComponent : function ( ) {
394
360
if ( this . skipConfig ) return ;
395
361
var appPath = 'client/app/' ;
@@ -401,7 +367,7 @@ export default class Generator extends Base {
401
367
'mocha' ,
402
368
'expect' ,
403
369
'should'
404
- ] . filter ( function ( v ) { return this . filters [ v ] ; } , this ) ;
370
+ ] . filter ( v => this . filters [ v ] ) ;
405
371
406
372
if ( this . filters . ngroute ) filters . push ( 'ngroute' ) ;
407
373
if ( this . filters . uirouter ) filters . push ( 'uirouter' ) ;
@@ -430,7 +396,6 @@ export default class Generator extends Base {
430
396
}
431
397
} , { local : require . resolve ( 'generator-ng-component/app/index.js' ) } ) ;
432
398
} ,
433
-
434
399
ngModules : function ( ) {
435
400
var angModules = [
436
401
`'${ this . scriptAppName } .constants'` ,
@@ -450,7 +415,6 @@ export default class Generator extends Base {
450
415
451
416
this . angularModules = '\n ' + angModules . join ( ',\n ' ) + '\n' ;
452
417
}
453
-
454
418
} ;
455
419
}
456
420
@@ -460,7 +424,6 @@ export default class Generator extends Base {
460
424
461
425
get writing ( ) {
462
426
return {
463
-
464
427
generateProject : function ( ) {
465
428
let self = this ;
466
429
this . sourceRoot ( path . join ( __dirname , './templates' ) ) ;
@@ -472,12 +435,11 @@ export default class Generator extends Base {
472
435
return dest ;
473
436
} ) ;
474
437
} ,
475
-
476
438
generateEndpoint : function ( ) {
477
439
var models ;
478
- if ( this . filters . mongooseModels ) {
440
+ if ( this . filters . mongooseModels ) {
479
441
models = 'mongoose' ;
480
- } else if ( this . filters . sequelizeModels ) {
442
+ } else if ( this . filters . sequelizeModels ) {
481
443
models = 'sequelize' ;
482
444
}
483
445
this . composeWith ( 'angular-fullstack:endpoint' , {
@@ -488,24 +450,20 @@ export default class Generator extends Base {
488
450
args : [ 'thing' ]
489
451
} ) ;
490
452
}
491
-
492
453
} ;
493
454
}
494
455
495
456
get install ( ) {
496
457
return {
497
-
498
458
installDeps : function ( ) {
499
459
this . installDependencies ( {
500
460
skipInstall : this . options [ 'skip-install' ]
501
461
} ) ;
502
462
}
503
-
504
463
} ;
505
464
}
506
465
507
466
get end ( ) {
508
467
return { } ;
509
468
}
510
-
511
469
}
0 commit comments