@@ -60,11 +60,13 @@ const packageManager = determinePackageManager();
60
60
determineWorkspaceName ( parsedArgs ) . then ( name => {
61
61
determinePreset ( parsedArgs ) . then ( preset => {
62
62
return determineAppName ( preset , parsedArgs ) . then ( appName => {
63
- return determineCli ( preset , parsedArgs ) . then ( cli => {
64
- const tmpDir = createSandbox ( packageManager , cli ) ;
65
- createApp ( tmpDir , cli , parsedArgs , name , preset , appName ) ;
66
- showNxWarning ( ) ;
67
- showCliWarning ( preset , parsedArgs ) ;
63
+ return determineStyle ( preset ) . then ( style => {
64
+ return determineCli ( preset , parsedArgs ) . then ( cli => {
65
+ const tmpDir = createSandbox ( packageManager , cli ) ;
66
+ createApp ( tmpDir , cli , parsedArgs , name , preset , appName , style ) ;
67
+ showNxWarning ( ) ;
68
+ showCliWarning ( preset , parsedArgs ) ;
69
+ } ) ;
68
70
} ) ;
69
71
} ) ;
70
72
} ) ;
@@ -126,7 +128,7 @@ function determineWorkspaceName(parsedArgs: any) {
126
128
. prompt ( [
127
129
{
128
130
name : 'WorkspaceName' ,
129
- message : `Workspace name (e.g., org name) ` ,
131
+ message : `Workspace name (e.g., org name) ` ,
130
132
type : 'string'
131
133
}
132
134
] )
@@ -141,8 +143,6 @@ function determineWorkspaceName(parsedArgs: any) {
141
143
return a . WorkspaceName ;
142
144
} ) ;
143
145
}
144
-
145
- return workspaceName ;
146
146
}
147
147
148
148
function determinePreset ( parsedArgs : any ) : Promise < string > {
@@ -165,7 +165,7 @@ function determinePreset(parsedArgs: any): Promise<string> {
165
165
. prompt ( [
166
166
{
167
167
name : 'Preset' ,
168
- message : `What to create in the new workspace` ,
168
+ message : `What to create in the new workspace ` ,
169
169
default : 'empty' ,
170
170
type : 'list' ,
171
171
choices : presetOptions
@@ -187,7 +187,7 @@ function determineAppName(preset: string, parsedArgs: any): Promise<string> {
187
187
. prompt ( [
188
188
{
189
189
name : 'AppName' ,
190
- message : `Application name ` ,
190
+ message : `Application name ` ,
191
191
type : 'string'
192
192
}
193
193
] )
@@ -241,7 +241,7 @@ function determineCli(preset: string, parsedArgs: any) {
241
241
. prompt ( [
242
242
{
243
243
name : 'CLI' ,
244
- message : `CLI to power the Nx workspace ` ,
244
+ message : `CLI to power the Nx workspace ` ,
245
245
default : 'nx' ,
246
246
type : 'list' ,
247
247
choices : [
@@ -262,6 +262,46 @@ function determineCli(preset: string, parsedArgs: any) {
262
262
}
263
263
}
264
264
265
+ function determineStyle ( preset : string ) {
266
+ if ( preset === 'empty' ) return Promise . resolve ( null ) ;
267
+ return inquirer
268
+ . prompt ( [
269
+ {
270
+ name : 'style' ,
271
+ message : `Which stylesheet format would you like to use?` ,
272
+ default : 'css' ,
273
+ type : 'list' ,
274
+ choices : [
275
+ {
276
+ value : 'css' ,
277
+ name : 'CSS'
278
+ } ,
279
+ {
280
+ value : 'scss' ,
281
+ name : 'SASS(.scss) [ http://sass-lang.com ]'
282
+ } ,
283
+ {
284
+ value : 'styl' ,
285
+ name : 'Stylus(.styl)[ http://stylus-lang.com ]'
286
+ } ,
287
+ {
288
+ value : 'less' ,
289
+ name : 'LESS [ http://lesscss.org ]'
290
+ } ,
291
+ {
292
+ value : 'styled-components' ,
293
+ name : 'styled-components [ https://styled-components.com ]'
294
+ } ,
295
+ {
296
+ value : '@emotion/styled' ,
297
+ name : 'emotion [ https://emotion.sh]'
298
+ }
299
+ ]
300
+ }
301
+ ] )
302
+ . then ( a => a . style ) ;
303
+ }
304
+
265
305
function createSandbox (
266
306
packageManager : string ,
267
307
cli : { package : string ; version : string }
@@ -294,7 +334,8 @@ function createApp(
294
334
parsedArgs : any ,
295
335
name : string ,
296
336
preset : string ,
297
- appName : string
337
+ appName : string ,
338
+ style : string | null
298
339
) {
299
340
// creating the app itself
300
341
const args = [
@@ -309,7 +350,11 @@ function createApp(
309
350
? ''
310
351
: ` --preset=${ preset } --appName=${ appName } ` ;
311
352
312
- console . log ( `new ${ args } ${ presetArg } --collection=@nrwl/workspace` ) ;
353
+ const styleArg = style ? ` --style=${ style } ` : `` ;
354
+
355
+ console . log (
356
+ `new ${ args } ${ presetArg } ${ styleArg } --collection=@nrwl/workspace`
357
+ ) ;
313
358
execSync (
314
359
`"${ path . join (
315
360
tmpDir ,
0 commit comments