@nx/workspace 24.0.0-beta.1 → 24.0.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.
|
@@ -159,7 +159,7 @@ function appendOriginPrefix(nxJson) {
|
|
|
159
159
|
if (nxJson?.affected?.defaultBase) {
|
|
160
160
|
nxJson.affected.defaultBase = `origin/${nxJson.affected.defaultBase}`;
|
|
161
161
|
}
|
|
162
|
-
if (nxJson.defaultBase || !nxJson.affected) {
|
|
162
|
+
if (nxJson.defaultBase || !nxJson.affected?.defaultBase) {
|
|
163
163
|
nxJson.defaultBase = `origin/${nxJson.defaultBase ?? (0, default_base_1.deduceDefaultBase)()}`;
|
|
164
164
|
}
|
|
165
165
|
}
|
|
@@ -8,7 +8,6 @@ const tslib_1 = require("tslib");
|
|
|
8
8
|
const devkit_1 = require("@nx/devkit");
|
|
9
9
|
const presets_1 = require("../utils/presets");
|
|
10
10
|
const versions_1 = require("../../utils/versions");
|
|
11
|
-
const get_npm_package_version_1 = require("../utils/get-npm-package-version");
|
|
12
11
|
const path_1 = require("path");
|
|
13
12
|
const yargs_parser_1 = tslib_1.__importDefault(require("yargs-parser"));
|
|
14
13
|
const child_process_1 = require("child_process");
|
|
@@ -269,10 +268,7 @@ function getPresetDependencies({ preset, presetVersion, bundler, e2eTestRunner,
|
|
|
269
268
|
default: {
|
|
270
269
|
return {
|
|
271
270
|
dev: {},
|
|
272
|
-
dependencies: {
|
|
273
|
-
[preset]: process.env['NX_E2E_PRESET_VERSION'] ??
|
|
274
|
-
(0, get_npm_package_version_1.getNpmPackageVersion)(preset, presetVersion),
|
|
275
|
-
},
|
|
271
|
+
dependencies: { [preset]: presetVersion },
|
|
276
272
|
};
|
|
277
273
|
}
|
|
278
274
|
}
|
|
@@ -7,12 +7,19 @@ const presets_1 = require("../utils/presets");
|
|
|
7
7
|
const generate_workspace_files_1 = require("./generate-workspace-files");
|
|
8
8
|
const generate_preset_1 = require("./generate-preset");
|
|
9
9
|
const child_process_1 = require("child_process");
|
|
10
|
+
const internal_1 = require("@nx/devkit/internal");
|
|
11
|
+
const get_npm_package_version_1 = require("../utils/get-npm-package-version");
|
|
10
12
|
async function newGenerator(tree, opts) {
|
|
11
13
|
const options = normalizeOptions(opts);
|
|
12
14
|
validateOptions(options, tree);
|
|
13
15
|
const { token, aiAgentsCallback, presetDependencies } = await (0, generate_workspace_files_1.generateWorkspaceFiles)(tree, options);
|
|
14
16
|
options.nxCloudToken = token;
|
|
15
17
|
(0, generate_preset_1.addPresetDependencies)(tree, options, presetDependencies);
|
|
18
|
+
if (options.isCustomPreset && options.presetVersion) {
|
|
19
|
+
// The preset generator only runs after the install below, so the
|
|
20
|
+
// decisions it declares for its dependency tree are recorded here.
|
|
21
|
+
await (0, internal_1.acknowledgeDeclaredBuildScripts)(tree, options.packageManager, options.preset, options.presetVersion, options.directory);
|
|
22
|
+
}
|
|
16
23
|
await (0, devkit_1.formatFiles)(tree);
|
|
17
24
|
return async () => {
|
|
18
25
|
if (!options.skipInstall) {
|
|
@@ -105,5 +112,10 @@ function normalizeOptions(options) {
|
|
|
105
112
|
// explicitly specified "presetVersion" takes priority over the one from the package name
|
|
106
113
|
normalized.presetVersion ??= parsed.version;
|
|
107
114
|
normalized.isCustomPreset = !Object.values(presets_1.Preset).includes(options.preset);
|
|
115
|
+
if (normalized.isCustomPreset) {
|
|
116
|
+
normalized.presetVersion =
|
|
117
|
+
process.env['NX_E2E_PRESET_VERSION'] ??
|
|
118
|
+
(0, get_npm_package_version_1.getNpmPackageVersion)(normalized.preset, normalized.presetVersion);
|
|
119
|
+
}
|
|
108
120
|
return normalized;
|
|
109
121
|
}
|
|
@@ -4,6 +4,7 @@ exports.presetGenerator = presetGenerator;
|
|
|
4
4
|
const devkit_1 = require("@nx/devkit");
|
|
5
5
|
const presets_1 = require("../utils/presets");
|
|
6
6
|
const path_1 = require("path");
|
|
7
|
+
const nodeBundlers = ['tsc', 'rolldown', 'esbuild', 'webpack'];
|
|
7
8
|
async function presetGenerator(tree, options) {
|
|
8
9
|
const presetTask = await createPreset(tree, options);
|
|
9
10
|
return async () => {
|
|
@@ -14,9 +15,6 @@ async function presetGenerator(tree, options) {
|
|
|
14
15
|
}
|
|
15
16
|
exports.default = presetGenerator;
|
|
16
17
|
async function createPreset(tree, options) {
|
|
17
|
-
const nxJson = (0, devkit_1.readNxJson)(tree);
|
|
18
|
-
const addPlugin = process.env.NX_ADD_PLUGINS !== 'false' &&
|
|
19
|
-
nxJson.useInferencePlugins !== false;
|
|
20
18
|
if (options.preset === presets_1.Preset.Apps || options.preset === presets_1.Preset.NPM) {
|
|
21
19
|
// These presets generate no project, so nothing downstream would set the
|
|
22
20
|
// formatter up and the choice would be dropped. Only the formatter is
|
|
@@ -98,7 +96,6 @@ async function createPreset(tree, options) {
|
|
|
98
96
|
e2eTestRunner: options.e2eTestRunner ?? 'playwright',
|
|
99
97
|
unitTestRunner: options.unitTestRunner ??
|
|
100
98
|
(options.bundler === 'vite' ? 'vitest' : 'jest'),
|
|
101
|
-
addPlugin,
|
|
102
99
|
routing: options.routing,
|
|
103
100
|
useReactRouter: options.useReactRouter,
|
|
104
101
|
nxCloudToken: options.nxCloudToken,
|
|
@@ -121,7 +118,6 @@ async function createPreset(tree, options) {
|
|
|
121
118
|
useReactRouter: options.useReactRouter,
|
|
122
119
|
e2eTestRunner: options.e2eTestRunner ?? 'playwright',
|
|
123
120
|
unitTestRunner: options.unitTestRunner ?? (bundler === 'vite' ? 'vitest' : 'jest'),
|
|
124
|
-
addPlugin,
|
|
125
121
|
nxCloudToken: options.nxCloudToken,
|
|
126
122
|
formatter: options.formatter,
|
|
127
123
|
});
|
|
@@ -135,7 +131,6 @@ async function createPreset(tree, options) {
|
|
|
135
131
|
linter: options.linter,
|
|
136
132
|
e2eTestRunner: options.e2eTestRunner ?? 'playwright',
|
|
137
133
|
unitTestRunner: options.unitTestRunner,
|
|
138
|
-
addPlugin,
|
|
139
134
|
nxCloudToken: options.nxCloudToken,
|
|
140
135
|
useTsSolution: options.workspaces,
|
|
141
136
|
formatter: options.formatter,
|
|
@@ -152,7 +147,6 @@ async function createPreset(tree, options) {
|
|
|
152
147
|
rootProject: true,
|
|
153
148
|
e2eTestRunner: options.e2eTestRunner ?? 'playwright',
|
|
154
149
|
unitTestRunner: options.unitTestRunner ?? 'vitest',
|
|
155
|
-
addPlugin,
|
|
156
150
|
nxCloudToken: options.nxCloudToken,
|
|
157
151
|
formatter: options.formatter,
|
|
158
152
|
});
|
|
@@ -166,7 +160,6 @@ async function createPreset(tree, options) {
|
|
|
166
160
|
linter: options.linter,
|
|
167
161
|
e2eTestRunner: options.e2eTestRunner ?? 'playwright',
|
|
168
162
|
unitTestRunner: options.unitTestRunner,
|
|
169
|
-
addPlugin,
|
|
170
163
|
nxCloudToken: options.nxCloudToken,
|
|
171
164
|
useTsSolution: options.workspaces,
|
|
172
165
|
formatter: options.formatter,
|
|
@@ -183,7 +176,6 @@ async function createPreset(tree, options) {
|
|
|
183
176
|
rootProject: true,
|
|
184
177
|
e2eTestRunner: options.e2eTestRunner ?? 'playwright',
|
|
185
178
|
unitTestRunner: options.unitTestRunner ?? 'vitest',
|
|
186
|
-
addPlugin,
|
|
187
179
|
nxCloudToken: options.nxCloudToken,
|
|
188
180
|
formatter: options.formatter,
|
|
189
181
|
});
|
|
@@ -199,7 +191,6 @@ async function createPreset(tree, options) {
|
|
|
199
191
|
src: options.nextSrcDir,
|
|
200
192
|
e2eTestRunner: options.e2eTestRunner ?? 'playwright',
|
|
201
193
|
unitTestRunner: options.unitTestRunner,
|
|
202
|
-
addPlugin,
|
|
203
194
|
useTsSolution: options.workspaces,
|
|
204
195
|
formatter: options.formatter,
|
|
205
196
|
useProjectJson: options.useProjectJson,
|
|
@@ -217,7 +208,6 @@ async function createPreset(tree, options) {
|
|
|
217
208
|
e2eTestRunner: options.e2eTestRunner ?? 'playwright',
|
|
218
209
|
unitTestRunner: options.unitTestRunner,
|
|
219
210
|
rootProject: true,
|
|
220
|
-
addPlugin,
|
|
221
211
|
formatter: options.formatter,
|
|
222
212
|
});
|
|
223
213
|
}
|
|
@@ -230,7 +220,6 @@ async function createPreset(tree, options) {
|
|
|
230
220
|
linter: options.linter,
|
|
231
221
|
bundler: 'vite',
|
|
232
222
|
e2eTestRunner: options.e2eTestRunner ?? 'playwright',
|
|
233
|
-
addPlugin,
|
|
234
223
|
nxCloudToken: options.nxCloudToken,
|
|
235
224
|
formatter: options.formatter,
|
|
236
225
|
});
|
|
@@ -243,7 +232,6 @@ async function createPreset(tree, options) {
|
|
|
243
232
|
linter: options.linter,
|
|
244
233
|
e2eTestRunner: options.e2eTestRunner ?? 'jest',
|
|
245
234
|
unitTestRunner: options.unitTestRunner,
|
|
246
|
-
addPlugin,
|
|
247
235
|
useTsSolution: options.workspaces,
|
|
248
236
|
formatter: options.formatter,
|
|
249
237
|
useProjectJson: options.useProjectJson,
|
|
@@ -257,7 +245,6 @@ async function createPreset(tree, options) {
|
|
|
257
245
|
linter: options.linter,
|
|
258
246
|
e2eTestRunner: options.e2eTestRunner ?? 'jest',
|
|
259
247
|
unitTestRunner: options.unitTestRunner,
|
|
260
|
-
addPlugin,
|
|
261
248
|
useTsSolution: options.workspaces,
|
|
262
249
|
formatter: options.formatter,
|
|
263
250
|
useProjectJson: options.useProjectJson,
|
|
@@ -271,7 +258,6 @@ async function createPreset(tree, options) {
|
|
|
271
258
|
linter: options.linter,
|
|
272
259
|
e2eTestRunner: options.e2eTestRunner ?? 'detox',
|
|
273
260
|
unitTestRunner: options.unitTestRunner,
|
|
274
|
-
addPlugin,
|
|
275
261
|
nxCloudToken: options.nxCloudToken,
|
|
276
262
|
bundler: options.bundler ?? 'webpack',
|
|
277
263
|
useTsSolution: options.workspaces,
|
|
@@ -287,7 +273,6 @@ async function createPreset(tree, options) {
|
|
|
287
273
|
linter: options.linter,
|
|
288
274
|
e2eTestRunner: options.e2eTestRunner ?? 'detox',
|
|
289
275
|
unitTestRunner: options.unitTestRunner,
|
|
290
|
-
addPlugin,
|
|
291
276
|
nxCloudToken: options.nxCloudToken,
|
|
292
277
|
useTsSolution: options.workspaces,
|
|
293
278
|
formatter: options.formatter,
|
|
@@ -322,13 +307,14 @@ async function createPreset(tree, options) {
|
|
|
322
307
|
testEnvironment: 'node',
|
|
323
308
|
js: options.js,
|
|
324
309
|
rootProject: true,
|
|
325
|
-
addPlugin,
|
|
326
310
|
formatter: options.formatter,
|
|
327
311
|
});
|
|
328
312
|
}
|
|
329
313
|
else if (options.preset === presets_1.Preset.NodeStandalone) {
|
|
330
314
|
const { applicationGenerator: nodeApplicationGenerator } = require('@nx' + '/node');
|
|
331
|
-
const bundler = options.bundler
|
|
315
|
+
const bundler = nodeBundlers.includes(options.bundler)
|
|
316
|
+
? options.bundler
|
|
317
|
+
: undefined;
|
|
332
318
|
return nodeApplicationGenerator(tree, {
|
|
333
319
|
bundler,
|
|
334
320
|
name: options.workspaces ? undefined : options.name,
|
|
@@ -337,15 +323,16 @@ async function createPreset(tree, options) {
|
|
|
337
323
|
framework: options.framework,
|
|
338
324
|
docker: options.docker,
|
|
339
325
|
rootProject: true,
|
|
340
|
-
e2eTestRunner: options.e2eTestRunner
|
|
326
|
+
e2eTestRunner: options.e2eTestRunner,
|
|
341
327
|
unitTestRunner: options.unitTestRunner,
|
|
342
|
-
addPlugin,
|
|
343
328
|
formatter: options.formatter,
|
|
344
329
|
});
|
|
345
330
|
}
|
|
346
331
|
else if (options.preset === presets_1.Preset.NodeMonorepo) {
|
|
347
332
|
const { applicationGenerator: nodeApplicationGenerator } = require('@nx' + '/node');
|
|
348
|
-
const bundler = options.bundler
|
|
333
|
+
const bundler = nodeBundlers.includes(options.bundler)
|
|
334
|
+
? options.bundler
|
|
335
|
+
: undefined;
|
|
349
336
|
return nodeApplicationGenerator(tree, {
|
|
350
337
|
bundler,
|
|
351
338
|
name: options.workspaces ? undefined : options.name,
|
|
@@ -354,9 +341,8 @@ async function createPreset(tree, options) {
|
|
|
354
341
|
framework: options.framework,
|
|
355
342
|
docker: options.docker,
|
|
356
343
|
rootProject: false,
|
|
357
|
-
e2eTestRunner: options.e2eTestRunner
|
|
344
|
+
e2eTestRunner: options.e2eTestRunner,
|
|
358
345
|
unitTestRunner: options.unitTestRunner,
|
|
359
|
-
addPlugin,
|
|
360
346
|
useTsSolution: options.workspaces,
|
|
361
347
|
formatter: options.formatter,
|
|
362
348
|
useProjectJson: options.useProjectJson,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nx/workspace",
|
|
3
|
-
"version": "24.0.0-beta.
|
|
3
|
+
"version": "24.0.0-beta.3",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"files": [
|
|
@@ -78,17 +78,17 @@
|
|
|
78
78
|
}
|
|
79
79
|
},
|
|
80
80
|
"dependencies": {
|
|
81
|
-
"@nx/devkit": "24.0.0-beta.
|
|
81
|
+
"@nx/devkit": "24.0.0-beta.3",
|
|
82
82
|
"@zkochan/js-yaml": "0.0.7",
|
|
83
83
|
"chalk": "^4.1.0",
|
|
84
84
|
"picomatch": "4.0.4",
|
|
85
85
|
"semver": "^7.6.3",
|
|
86
86
|
"tslib": "^2.3.0",
|
|
87
87
|
"yargs-parser": "21.1.1",
|
|
88
|
-
"nx": "24.0.0-beta.
|
|
88
|
+
"nx": "24.0.0-beta.3"
|
|
89
89
|
},
|
|
90
90
|
"devDependencies": {
|
|
91
|
-
"nx": "24.0.0-beta.
|
|
91
|
+
"nx": "24.0.0-beta.3"
|
|
92
92
|
},
|
|
93
93
|
"publishConfig": {
|
|
94
94
|
"access": "public"
|