create-nx-workspace 17.2.5 → 17.2.6

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.
package/README.md CHANGED
@@ -1,9 +1,4 @@
1
- <p style="text-align: center;">
2
- <picture>
3
- <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-dark.svg">
4
- <img alt="Nx - Smart Monorepos · Fast CI" src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-light.svg" width="100%">
5
- </picture>
6
- </p>
1
+ <p style="text-align: center;"><img src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx.png" width="600" alt="Nx - Smart, Fast and Extensible Build System"></p>
7
2
 
8
3
  <div style="text-align: center;">
9
4
 
@@ -22,7 +17,7 @@
22
17
 
23
18
  # `> npx create-nx-workspace`
24
19
 
25
- Nx is a build system with built-in tooling and advanced CI capabilities. It helps you maintain and scale monorepos, both locally and on CI.
20
+ Nx is a next generation build system with first class monorepo support and powerful integrations.
26
21
 
27
22
  {{getting-started}}
28
23
 
@@ -68,5 +63,5 @@ npx nx@latest init
68
63
  - [Blog Posts About Nx](https://blog.nrwl.io/nx/home)
69
64
 
70
65
  <p style="text-align: center;"><a href="https://nx.dev/#learning-materials" target="_blank" rel="noreferrer"><img src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-courses-and-videos.svg"
71
- width="100%" alt="Nx - Smart Monorepos · Fast CI"></a></p>
66
+ width="100%" alt="Nx - Smart, Fast and Extensible Build System"></a></p>
72
67
 
@@ -35,7 +35,13 @@ interface VueArguments extends BaseArguments {
35
35
  stack: 'vue';
36
36
  workspaceType: 'standalone' | 'integrated';
37
37
  appName: string;
38
- framework: 'none' | 'nuxt';
38
+ style: string;
39
+ e2eTestRunner: 'none' | 'cypress' | 'playwright';
40
+ }
41
+ interface NuxtArguments extends BaseArguments {
42
+ stack: 'nuxt';
43
+ workspaceType: 'standalone' | 'integrated';
44
+ appName: string;
39
45
  style: string;
40
46
  e2eTestRunner: 'none' | 'cypress' | 'playwright';
41
47
  }
@@ -49,6 +55,6 @@ interface NodeArguments extends BaseArguments {
49
55
  interface UnknownStackArguments extends BaseArguments {
50
56
  stack: 'unknown';
51
57
  }
52
- type Arguments = NoneArguments | ReactArguments | AngularArguments | VueArguments | NodeArguments | UnknownStackArguments;
58
+ type Arguments = NoneArguments | ReactArguments | AngularArguments | VueArguments | NuxtArguments | NodeArguments | UnknownStackArguments;
53
59
  export declare const commandsObject: yargs.Argv<Arguments>;
54
60
  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(katerina): Remove this option when @nx/nuxt is released.
36
+ .filter((p) => p !== preset_1.Preset.NuxtStandalone && p !== preset_1.Preset.Nuxt)
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',
@@ -247,9 +249,10 @@ async function determineStack(parsedArgs) {
247
249
  return 'react';
248
250
  case preset_1.Preset.VueStandalone:
249
251
  case preset_1.Preset.VueMonorepo:
250
- case preset_1.Preset.Nuxt:
251
- case preset_1.Preset.NuxtStandalone:
252
252
  return 'vue';
253
+ case preset_1.Preset.NuxtStandalone:
254
+ case preset_1.Preset.Nuxt:
255
+ return 'nuxt';
253
256
  case preset_1.Preset.Nest:
254
257
  case preset_1.Preset.NodeStandalone:
255
258
  case preset_1.Preset.Express:
@@ -282,7 +285,7 @@ async function determineStack(parsedArgs) {
282
285
  },
283
286
  {
284
287
  name: `vue`,
285
- message: `Vue: Configures a Vue application with your framework of choice.`,
288
+ message: `Vue: Configures a Vue application with modern tooling.`,
286
289
  },
287
290
  {
288
291
  name: `angular`,
@@ -307,6 +310,8 @@ async function determinePresetOptions(parsedArgs) {
307
310
  return determineAngularOptions(parsedArgs);
308
311
  case 'vue':
309
312
  return determineVueOptions(parsedArgs);
313
+ case 'nuxt':
314
+ return determineNuxtOptions(parsedArgs);
310
315
  case 'node':
311
316
  return determineNodeOptions(parsedArgs);
312
317
  default:
@@ -472,39 +477,80 @@ async function determineVueOptions(parsedArgs) {
472
477
  let e2eTestRunner = undefined;
473
478
  if (parsedArgs.preset) {
474
479
  preset = parsedArgs.preset;
475
- if (preset === preset_1.Preset.VueStandalone || preset === preset_1.Preset.NuxtStandalone) {
476
- appName = parsedArgs.appName ?? parsedArgs.name;
477
- }
478
- else {
479
- appName = await determineAppName(parsedArgs);
480
- }
481
480
  }
482
481
  else {
483
482
  const workspaceType = await determineStandaloneOrMonorepo();
484
483
  if (workspaceType === 'standalone') {
485
- appName = parsedArgs.appName ?? parsedArgs.name;
484
+ preset = preset_1.Preset.VueStandalone;
486
485
  }
487
486
  else {
488
- appName = await determineAppName(parsedArgs);
487
+ preset = preset_1.Preset.VueMonorepo;
489
488
  }
490
- const framework = await determineVueFramework(parsedArgs);
491
- if (framework === 'nuxt') {
492
- if (workspaceType === 'standalone') {
493
- preset = preset_1.Preset.NuxtStandalone;
494
- }
495
- else {
496
- preset = preset_1.Preset.Nuxt;
497
- }
489
+ }
490
+ if (preset === preset_1.Preset.VueStandalone) {
491
+ appName = parsedArgs.appName ?? parsedArgs.name;
492
+ }
493
+ else {
494
+ appName = await determineAppName(parsedArgs);
495
+ }
496
+ e2eTestRunner = await determineE2eTestRunner(parsedArgs);
497
+ if (parsedArgs.style) {
498
+ style = parsedArgs.style;
499
+ }
500
+ else {
501
+ const reply = await enquirer.prompt([
502
+ {
503
+ name: 'style',
504
+ message: `Default stylesheet format`,
505
+ initial: 'css',
506
+ type: 'autocomplete',
507
+ choices: [
508
+ {
509
+ name: 'css',
510
+ message: 'CSS',
511
+ },
512
+ {
513
+ name: 'scss',
514
+ message: 'SASS(.scss) [ http://sass-lang.com ]',
515
+ },
516
+ {
517
+ name: 'less',
518
+ message: 'LESS [ http://lesscss.org ]',
519
+ },
520
+ {
521
+ name: 'none',
522
+ message: 'None',
523
+ },
524
+ ],
525
+ },
526
+ ]);
527
+ style = reply.style;
528
+ }
529
+ return { preset, style, appName, e2eTestRunner };
530
+ }
531
+ async function determineNuxtOptions(parsedArgs) {
532
+ let preset;
533
+ let style = undefined;
534
+ let appName;
535
+ let e2eTestRunner = undefined;
536
+ if (parsedArgs.preset) {
537
+ preset = parsedArgs.preset;
538
+ }
539
+ else {
540
+ const workspaceType = await determineStandaloneOrMonorepo();
541
+ if (workspaceType === 'standalone') {
542
+ preset = preset_1.Preset.NuxtStandalone;
498
543
  }
499
544
  else {
500
- if (workspaceType === 'standalone') {
501
- preset = preset_1.Preset.VueStandalone;
502
- }
503
- else {
504
- preset = preset_1.Preset.VueMonorepo;
505
- }
545
+ preset = preset_1.Preset.Nuxt;
506
546
  }
507
547
  }
548
+ if (preset === preset_1.Preset.NuxtStandalone) {
549
+ appName = parsedArgs.appName ?? parsedArgs.name;
550
+ }
551
+ else {
552
+ appName = await determineAppName(parsedArgs);
553
+ }
508
554
  e2eTestRunner = await determineE2eTestRunner(parsedArgs);
509
555
  if (parsedArgs.style) {
510
556
  style = parsedArgs.style;
@@ -864,30 +910,6 @@ async function determineNextAppDir(parsedArgs) {
864
910
  ]);
865
911
  return reply.nextAppDir === 'Yes';
866
912
  }
867
- async function determineVueFramework(parsedArgs) {
868
- if (!!parsedArgs.framework)
869
- return parsedArgs.framework;
870
- const reply = await enquirer.prompt([
871
- {
872
- name: 'framework',
873
- message: 'What framework would you like to use?',
874
- type: 'autocomplete',
875
- choices: [
876
- {
877
- name: 'none',
878
- message: 'None',
879
- hint: ' I only want vue',
880
- },
881
- {
882
- name: 'nuxt',
883
- message: 'Nuxt [ https://nuxt.com/ ]',
884
- },
885
- ],
886
- initial: 'none',
887
- },
888
- ]);
889
- return reply.framework;
890
- }
891
913
  async function determineNodeFramework(parsedArgs) {
892
914
  if (parsedArgs.framework)
893
915
  return parsedArgs.framework;
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "create-nx-workspace",
3
- "version": "v17.2.5",
3
+ "version": "17.2.6",
4
4
  "private": false,
5
- "description": "Smart Monorepos · Fast CI",
5
+ "description": "Smart, Fast and Extensible Build System",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "https://github.com/nrwl/nx.git",