@nx/workspace 20.6.0-beta.0 → 20.6.0-beta.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nx/workspace",
3
- "version": "20.6.0-beta.0",
3
+ "version": "20.6.0-beta.1",
4
4
  "private": false,
5
5
  "description": "The Workspace plugin contains executors and generators that are useful for any Nx workspace. It should be present in every Nx workspace and other plugins build on it.",
6
6
  "repository": {
@@ -38,14 +38,14 @@
38
38
  }
39
39
  },
40
40
  "dependencies": {
41
- "@nx/devkit": "20.6.0-beta.0",
41
+ "@nx/devkit": "20.6.0-beta.1",
42
42
  "@zkochan/js-yaml": "0.0.7",
43
43
  "chalk": "^4.1.0",
44
44
  "enquirer": "~2.3.6",
45
45
  "picomatch": "4.0.2",
46
46
  "tslib": "^2.3.0",
47
47
  "yargs-parser": "21.1.1",
48
- "nx": "20.6.0-beta.0"
48
+ "nx": "20.6.0-beta.1"
49
49
  },
50
50
  "publishConfig": {
51
51
  "access": "public"
@@ -70,6 +70,9 @@ function generatePreset(host, opts) {
70
70
  : null,
71
71
  parsedArgs.interactive ? '--interactive=true' : '--interactive=false',
72
72
  opts.routing !== undefined ? `--routing=${opts.routing}` : null,
73
+ opts.useReactRouter !== undefined
74
+ ? `--useReactRouter=${opts.useReactRouter}`
75
+ : null,
73
76
  opts.unitTestRunner !== undefined
74
77
  ? `--unitTestRunner=${opts.unitTestRunner}`
75
78
  : null,
@@ -81,7 +84,7 @@ function generatePreset(host, opts) {
81
84
  opts.prefix !== undefined ? `--prefix=${opts.prefix}` : null,
82
85
  opts.nxCloudToken ? `--nxCloudToken=${opts.nxCloudToken}` : null,
83
86
  opts.formatter ? `--formatter=${opts.formatter}` : null,
84
- opts.workspaces ? `--workspaces` : null,
87
+ opts.workspaces !== false ? `--workspaces` : `--no-workspaces`,
85
88
  ].filter((e) => !!e);
86
89
  }
87
90
  }
@@ -112,9 +115,6 @@ function getPresetDependencies({ preset, presetVersion, bundler, e2eTestRunner,
112
115
  case presets_1.Preset.NextJs:
113
116
  case presets_1.Preset.NextJsStandalone:
114
117
  return { dependencies: { '@nx/next': versions_1.nxVersion }, dev: {} };
115
- case presets_1.Preset.RemixStandalone:
116
- case presets_1.Preset.RemixMonorepo:
117
- return { dependencies: { '@nx/remix': versions_1.nxVersion }, dev: {} };
118
118
  case presets_1.Preset.VueMonorepo:
119
119
  case presets_1.Preset.VueStandalone:
120
120
  return {
@@ -52,16 +52,6 @@ const presetToPluginMap = {
52
52
  generateLibCmd: '@nx/react',
53
53
  learnMoreLink: 'https://nx.dev/nx-api/next?utm_source=nx_project&utm_medium=readme&utm_campaign=nx_projects',
54
54
  },
55
- [presets_1.Preset.RemixMonorepo]: {
56
- generateAppCmd: '@nx/remix',
57
- generateLibCmd: '@nx/react',
58
- learnMoreLink: 'https://nx.dev/nx-api/remix?utm_source=nx_project&utm_medium=readme&utm_campaign=nx_projects',
59
- },
60
- [presets_1.Preset.RemixStandalone]: {
61
- generateAppCmd: '@nx/remix',
62
- generateLibCmd: '@nx/react',
63
- learnMoreLink: 'https://nx.dev/nx-api/remix?utm_source=nx_project&utm_medium=readme&utm_campaign=nx_projects',
64
- },
65
55
  [presets_1.Preset.ReactNative]: {
66
56
  generateAppCmd: '@nx/react-native',
67
57
  generateLibCmd: '@nx/react',
@@ -207,12 +197,11 @@ function createFiles(tree, options) {
207
197
  options.preset === presets_1.Preset.NuxtStandalone ||
208
198
  options.preset === presets_1.Preset.NodeStandalone ||
209
199
  options.preset === presets_1.Preset.NextJsStandalone ||
210
- options.preset === presets_1.Preset.RemixStandalone ||
211
200
  options.preset === presets_1.Preset.TsStandalone
212
201
  ? './files-root-app'
213
202
  : (options.preset === presets_1.Preset.TS &&
214
- process.env.NX_ADD_PLUGINS !== 'false' &&
215
- process.env.NX_ADD_TS_PLUGIN !== 'false') ||
203
+ options.workspaces &&
204
+ process.env.NX_ADD_PLUGINS !== 'false') ||
216
205
  options.preset === presets_1.Preset.NPM
217
206
  ? './files-package-based-repo'
218
207
  : './files-integrated-repo';
@@ -227,7 +216,7 @@ function createFiles(tree, options) {
227
216
  packageManager: options.packageManager,
228
217
  });
229
218
  }
230
- async function createReadme(tree, { name, appName, directory, preset, nxCloud }, nxCloudToken) {
219
+ async function createReadme(tree, { name, appName, directory, preset, nxCloud, workspaces }, nxCloudToken) {
231
220
  const formattedNames = (0, devkit_1.names)(name);
232
221
  // default to an empty one for custom presets
233
222
  const presetInfo = presetToPluginMap[preset] ?? {
@@ -241,8 +230,7 @@ async function createReadme(tree, { name, appName, directory, preset, nxCloud },
241
230
  formattedNames,
242
231
  isJsStandalone: preset === presets_1.Preset.TsStandalone,
243
232
  isTsPreset: preset === presets_1.Preset.TS,
244
- isUsingNewTsSolutionSetup: process.env.NX_ADD_PLUGINS !== 'false' &&
245
- process.env.NX_ADD_TS_PLUGIN !== 'false',
233
+ isUsingNewTsSolutionSetup: process.env.NX_ADD_PLUGINS !== 'false' && workspaces,
246
234
  isEmptyRepo: !appName,
247
235
  appName,
248
236
  generateAppCmd: presetInfo.generateAppCmd,
@@ -325,12 +313,11 @@ function setUpWorkspacesInPackageJson(tree, options) {
325
313
  if (options.preset === presets_1.Preset.NPM ||
326
314
  (options.preset === presets_1.Preset.TS &&
327
315
  process.env.NX_ADD_PLUGINS !== 'false' &&
328
- process.env.NX_ADD_TS_PLUGIN !== 'false') ||
316
+ options.workspaces) ||
329
317
  ((options.preset === presets_1.Preset.Expo ||
330
318
  options.preset === presets_1.Preset.NextJs ||
331
319
  options.preset === presets_1.Preset.ReactMonorepo ||
332
320
  options.preset === presets_1.Preset.ReactNative ||
333
- options.preset === presets_1.Preset.RemixMonorepo ||
334
321
  options.preset === presets_1.Preset.VueMonorepo ||
335
322
  options.preset === presets_1.Preset.Nuxt ||
336
323
  options.preset === presets_1.Preset.NodeMonorepo ||
@@ -17,6 +17,7 @@ interface Schema {
17
17
  bundler?: 'vite' | 'webpack';
18
18
  standaloneApi?: boolean;
19
19
  routing?: boolean;
20
+ useReactRouter?: boolean;
20
21
  packageManager?: PackageManager;
21
22
  unitTestRunner?: 'jest' | 'vitest' | 'none';
22
23
  e2eTestRunner?: 'cypress' | 'playwright' | 'detox' | 'jest' | 'none';
@@ -25,6 +25,11 @@
25
25
  "type": "boolean",
26
26
  "default": true
27
27
  },
28
+ "useReactRouter": {
29
+ "description": "Use React Router for routing.",
30
+ "type": "boolean",
31
+ "default": false
32
+ },
28
33
  "standaloneApi": {
29
34
  "description": "Use Standalone Components if generating an Angular application.",
30
35
  "type": "boolean",
@@ -105,7 +110,7 @@
105
110
  "workspaces": {
106
111
  "description": "Whether to use package manager workspaces.",
107
112
  "type": "boolean",
108
- "default": false
113
+ "default": true
109
114
  }
110
115
  },
111
116
  "additionalProperties": true
@@ -70,6 +70,8 @@ async function createPreset(tree, options) {
70
70
  unitTestRunner: options.unitTestRunner ??
71
71
  (options.bundler === 'vite' ? 'vitest' : 'jest'),
72
72
  addPlugin,
73
+ routing: options.routing,
74
+ useReactRouter: options.useReactRouter,
73
75
  nxCloudToken: options.nxCloudToken,
74
76
  useTsSolution: options.workspaces,
75
77
  formatter: options.formatter,
@@ -87,6 +89,8 @@ async function createPreset(tree, options) {
87
89
  linter: options.linter,
88
90
  rootProject: true,
89
91
  bundler,
92
+ routing: options.routing,
93
+ useReactRouter: options.useReactRouter,
90
94
  e2eTestRunner: options.e2eTestRunner ?? 'playwright',
91
95
  unitTestRunner: options.unitTestRunner ?? (bundler === 'vite' ? 'vitest' : 'jest'),
92
96
  addPlugin,
@@ -94,37 +98,6 @@ async function createPreset(tree, options) {
94
98
  formatter: options.formatter,
95
99
  });
96
100
  }
97
- else if (options.preset === presets_1.Preset.RemixMonorepo) {
98
- const { applicationGenerator: remixApplicationGenerator } = require('@nx' +
99
- '/remix/generators');
100
- return remixApplicationGenerator(tree, {
101
- name: options.name,
102
- directory: (0, path_1.join)('apps', options.name),
103
- linter: options.linter,
104
- e2eTestRunner: options.e2eTestRunner ?? 'playwright',
105
- unitTestRunner: options.unitTestRunner ?? 'vitest',
106
- addPlugin,
107
- nxCloudToken: options.nxCloudToken,
108
- useTsSolution: options.workspaces,
109
- formatter: options.formatter,
110
- useProjectJson: !options.workspaces,
111
- });
112
- }
113
- else if (options.preset === presets_1.Preset.RemixStandalone) {
114
- const { applicationGenerator: remixApplicationGenerator } = require('@nx' +
115
- '/remix/generators');
116
- return remixApplicationGenerator(tree, {
117
- name: options.name,
118
- directory: '.',
119
- linter: options.linter,
120
- e2eTestRunner: options.e2eTestRunner ?? 'playwright',
121
- rootProject: true,
122
- unitTestRunner: options.unitTestRunner ?? 'vitest',
123
- addPlugin,
124
- nxCloudToken: options.nxCloudToken,
125
- formatter: options.formatter,
126
- });
127
- }
128
101
  else if (options.preset === presets_1.Preset.VueMonorepo) {
129
102
  const { applicationGenerator: vueApplicationGenerator } = require('@nx' +
130
103
  '/vue');
@@ -303,8 +276,7 @@ async function createPreset(tree, options) {
303
276
  const { initGenerator } = require('@nx' + '/js');
304
277
  return initGenerator(tree, {
305
278
  formatter: options.formatter,
306
- addTsPlugin: process.env.NX_ADD_PLUGINS !== 'false' &&
307
- process.env.NX_ADD_TS_PLUGIN !== 'false',
279
+ addTsPlugin: process.env.NX_ADD_PLUGINS !== 'false' && options.workspaces,
308
280
  });
309
281
  }
310
282
  else if (options.preset === presets_1.Preset.TsStandalone) {
@@ -16,6 +16,7 @@ export interface Schema {
16
16
  nextAppDir?: boolean;
17
17
  nextSrcDir?: boolean;
18
18
  routing?: boolean;
19
+ useReactRouter?: boolean;
19
20
  standaloneApi?: boolean;
20
21
  unitTestRunner?: 'jest' | 'vitest' | 'none';
21
22
  e2eTestRunner?: 'cypress' | 'playwright' | 'jest' | 'detox' | 'none';
@@ -25,6 +25,11 @@
25
25
  "type": "boolean",
26
26
  "default": true
27
27
  },
28
+ "useReactRouter": {
29
+ "description": "Use React Router for routing.",
30
+ "type": "boolean",
31
+ "default": false
32
+ },
28
33
  "style": {
29
34
  "description": "The file extension to be used for style files.",
30
35
  "type": "string",
@@ -122,7 +127,7 @@
122
127
  "workspaces": {
123
128
  "description": "Whether to use package manager workspaces.",
124
129
  "type": "boolean",
125
- "default": false
130
+ "default": true
126
131
  }
127
132
  },
128
133
  "required": ["preset", "name"]
@@ -8,8 +8,6 @@ export declare enum Preset {
8
8
  ReactMonorepo = "react-monorepo",
9
9
  ReactStandalone = "react-standalone",
10
10
  NextJsStandalone = "nextjs-standalone",
11
- RemixMonorepo = "remix-monorepo",
12
- RemixStandalone = "remix-standalone",
13
11
  ReactNative = "react-native",
14
12
  VueMonorepo = "vue-monorepo",
15
13
  VueStandalone = "vue-standalone",
@@ -12,8 +12,6 @@ var Preset;
12
12
  Preset["ReactMonorepo"] = "react-monorepo";
13
13
  Preset["ReactStandalone"] = "react-standalone";
14
14
  Preset["NextJsStandalone"] = "nextjs-standalone";
15
- Preset["RemixMonorepo"] = "remix-monorepo";
16
- Preset["RemixStandalone"] = "remix-standalone";
17
15
  Preset["ReactNative"] = "react-native";
18
16
  Preset["VueMonorepo"] = "vue-monorepo";
19
17
  Preset["VueStandalone"] = "vue-standalone";