create-nx-workspace 16.9.0-beta.1 → 16.9.0-beta.2

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.1",
3
+ "version": "16.9.0-beta.2",
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": "5056d6cefb2949ba865019e8b71e633fba28c091"
46
+ "gitHead": "e11d538fa2c7266066d554d9405abab8e0a65040"
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";