create-nx-workspace 16.9.0-beta.1 → 16.9.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -29,6 +29,13 @@ interface AngularArguments extends BaseArguments {
|
|
|
29
29
|
standaloneApi: boolean;
|
|
30
30
|
e2eTestRunner: 'none' | 'cypress' | 'playwright';
|
|
31
31
|
}
|
|
32
|
+
interface VueArguments extends BaseArguments {
|
|
33
|
+
stack: 'vue';
|
|
34
|
+
workspaceType: 'standalone' | 'integrated';
|
|
35
|
+
appName: string;
|
|
36
|
+
style: string;
|
|
37
|
+
e2eTestRunner: 'none' | 'cypress' | 'playwright';
|
|
38
|
+
}
|
|
32
39
|
interface NodeArguments extends BaseArguments {
|
|
33
40
|
stack: 'node';
|
|
34
41
|
workspaceType: 'standalone' | 'integrated';
|
|
@@ -39,6 +46,6 @@ interface NodeArguments extends BaseArguments {
|
|
|
39
46
|
interface UnknownStackArguments extends BaseArguments {
|
|
40
47
|
stack: 'unknown';
|
|
41
48
|
}
|
|
42
|
-
type Arguments = NoneArguments | ReactArguments | AngularArguments | NodeArguments | UnknownStackArguments;
|
|
49
|
+
type Arguments = NoneArguments | ReactArguments | AngularArguments | VueArguments | NodeArguments | UnknownStackArguments;
|
|
43
50
|
export declare const commandsObject: yargs.Argv<Arguments>;
|
|
44
51
|
export {};
|
|
@@ -32,6 +32,8 @@ exports.commandsObject = yargs
|
|
|
32
32
|
})
|
|
33
33
|
.option('preset', {
|
|
34
34
|
describe: chalk.dim `Customizes the initial content of your workspace. Default presets include: [${Object.values(preset_1.Preset)
|
|
35
|
+
// TODO(v17): Remove this option when @nx/vue is released.
|
|
36
|
+
.filter((p) => p !== preset_1.Preset.VueStandalone && p !== preset_1.Preset.VueMonorepo)
|
|
35
37
|
.map((p) => `"${p}"`)
|
|
36
38
|
.join(', ')}]. To build your own see https://nx.dev/extending-nx/recipes/create-preset`,
|
|
37
39
|
type: 'string',
|
|
@@ -239,6 +241,9 @@ async function determineStack(parsedArgs) {
|
|
|
239
241
|
case preset_1.Preset.NextJs:
|
|
240
242
|
case preset_1.Preset.NextJsStandalone:
|
|
241
243
|
return 'react';
|
|
244
|
+
case preset_1.Preset.VueStandalone:
|
|
245
|
+
case preset_1.Preset.VueMonorepo:
|
|
246
|
+
return 'vue';
|
|
242
247
|
case preset_1.Preset.Nest:
|
|
243
248
|
case preset_1.Preset.NodeStandalone:
|
|
244
249
|
case preset_1.Preset.Express:
|
|
@@ -269,6 +274,11 @@ async function determineStack(parsedArgs) {
|
|
|
269
274
|
name: `react`,
|
|
270
275
|
message: `React: Configures a React application with your framework of choice.`,
|
|
271
276
|
},
|
|
277
|
+
// TODO(v17): Enable when @nx/vue is released.
|
|
278
|
+
// {
|
|
279
|
+
// name: `vue`,
|
|
280
|
+
// message: `Vue: Configures a Vue application with modern tooling.`,
|
|
281
|
+
// },
|
|
272
282
|
{
|
|
273
283
|
name: `angular`,
|
|
274
284
|
message: `Angular: Configures a Angular application with modern tooling.`,
|
|
@@ -290,6 +300,8 @@ async function determinePresetOptions(parsedArgs) {
|
|
|
290
300
|
return determineReactOptions(parsedArgs);
|
|
291
301
|
case 'angular':
|
|
292
302
|
return determineAngularOptions(parsedArgs);
|
|
303
|
+
case 'vue':
|
|
304
|
+
return determineVueOptions(parsedArgs);
|
|
293
305
|
case 'node':
|
|
294
306
|
return determineNodeOptions(parsedArgs);
|
|
295
307
|
default:
|
|
@@ -448,6 +460,64 @@ async function determineReactOptions(parsedArgs) {
|
|
|
448
460
|
}
|
|
449
461
|
return { preset, style, appName, bundler, nextAppDir, e2eTestRunner };
|
|
450
462
|
}
|
|
463
|
+
async function determineVueOptions(parsedArgs) {
|
|
464
|
+
let preset;
|
|
465
|
+
let style = undefined;
|
|
466
|
+
let appName;
|
|
467
|
+
let e2eTestRunner = undefined;
|
|
468
|
+
if (parsedArgs.preset) {
|
|
469
|
+
preset = parsedArgs.preset;
|
|
470
|
+
}
|
|
471
|
+
else {
|
|
472
|
+
const workspaceType = await determineStandaloneOrMonorepo();
|
|
473
|
+
if (workspaceType === 'standalone') {
|
|
474
|
+
preset = preset_1.Preset.VueStandalone;
|
|
475
|
+
}
|
|
476
|
+
else {
|
|
477
|
+
preset = preset_1.Preset.VueMonorepo;
|
|
478
|
+
}
|
|
479
|
+
}
|
|
480
|
+
if (preset === preset_1.Preset.VueStandalone) {
|
|
481
|
+
appName = parsedArgs.appName ?? parsedArgs.name;
|
|
482
|
+
}
|
|
483
|
+
else {
|
|
484
|
+
appName = await determineAppName(parsedArgs);
|
|
485
|
+
}
|
|
486
|
+
e2eTestRunner = await determineE2eTestRunner(parsedArgs);
|
|
487
|
+
if (parsedArgs.style) {
|
|
488
|
+
style = parsedArgs.style;
|
|
489
|
+
}
|
|
490
|
+
else {
|
|
491
|
+
const reply = await enquirer.prompt([
|
|
492
|
+
{
|
|
493
|
+
name: 'style',
|
|
494
|
+
message: `Default stylesheet format`,
|
|
495
|
+
initial: 'css',
|
|
496
|
+
type: 'autocomplete',
|
|
497
|
+
choices: [
|
|
498
|
+
{
|
|
499
|
+
name: 'css',
|
|
500
|
+
message: 'CSS',
|
|
501
|
+
},
|
|
502
|
+
{
|
|
503
|
+
name: 'scss',
|
|
504
|
+
message: 'SASS(.scss) [ http://sass-lang.com ]',
|
|
505
|
+
},
|
|
506
|
+
{
|
|
507
|
+
name: 'less',
|
|
508
|
+
message: 'LESS [ http://lesscss.org ]',
|
|
509
|
+
},
|
|
510
|
+
{
|
|
511
|
+
name: 'none',
|
|
512
|
+
message: 'None',
|
|
513
|
+
},
|
|
514
|
+
],
|
|
515
|
+
},
|
|
516
|
+
]);
|
|
517
|
+
style = reply.style;
|
|
518
|
+
}
|
|
519
|
+
return { preset, style, appName, e2eTestRunner };
|
|
520
|
+
}
|
|
451
521
|
async function determineAngularOptions(parsedArgs) {
|
|
452
522
|
let preset;
|
|
453
523
|
let style;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-nx-workspace",
|
|
3
|
-
"version": "16.9.0-beta.
|
|
3
|
+
"version": "16.9.0-beta.3",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Smart, Fast and Extensible Build System",
|
|
6
6
|
"repository": {
|
|
@@ -43,5 +43,5 @@
|
|
|
43
43
|
},
|
|
44
44
|
"main": "./index.js",
|
|
45
45
|
"type": "commonjs",
|
|
46
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "d5692528c089a75c76b21d2d1235d8cc5dbb1d26"
|
|
47
47
|
}
|
|
@@ -19,6 +19,10 @@ exports.presetOptions = [
|
|
|
19
19
|
name: preset_1.Preset.AngularMonorepo,
|
|
20
20
|
message: 'angular [a monorepo with a single Angular application]',
|
|
21
21
|
},
|
|
22
|
+
{
|
|
23
|
+
name: preset_1.Preset.VueMonorepo,
|
|
24
|
+
message: 'vue [a monorepo with a single Vue application]',
|
|
25
|
+
},
|
|
22
26
|
{
|
|
23
27
|
name: preset_1.Preset.NextJs,
|
|
24
28
|
message: 'next.js [a monorepo with a single Next.js application]',
|
|
@@ -9,6 +9,8 @@ export declare enum Preset {
|
|
|
9
9
|
AngularStandalone = "angular-standalone",
|
|
10
10
|
ReactMonorepo = "react-monorepo",
|
|
11
11
|
ReactStandalone = "react-standalone",
|
|
12
|
+
VueMonorepo = "vue-monorepo",
|
|
13
|
+
VueStandalone = "vue-standalone",
|
|
12
14
|
NextJs = "next",
|
|
13
15
|
NextJsStandalone = "nextjs-standalone",
|
|
14
16
|
ReactNative = "react-native",
|
|
@@ -13,6 +13,8 @@ var Preset;
|
|
|
13
13
|
Preset["AngularStandalone"] = "angular-standalone";
|
|
14
14
|
Preset["ReactMonorepo"] = "react-monorepo";
|
|
15
15
|
Preset["ReactStandalone"] = "react-standalone";
|
|
16
|
+
Preset["VueMonorepo"] = "vue-monorepo";
|
|
17
|
+
Preset["VueStandalone"] = "vue-standalone";
|
|
16
18
|
Preset["NextJs"] = "next";
|
|
17
19
|
Preset["NextJsStandalone"] = "nextjs-standalone";
|
|
18
20
|
Preset["ReactNative"] = "react-native";
|