create-nx-workspace 24.0.0-beta.1 → 24.0.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.
|
@@ -58,6 +58,7 @@ interface NodeArguments extends BaseArguments {
|
|
|
58
58
|
workspaceType: 'standalone' | 'integrated';
|
|
59
59
|
appName: string;
|
|
60
60
|
framework: 'none' | 'express' | 'fastify' | 'koa' | 'nest';
|
|
61
|
+
bundler: 'tsc' | 'rolldown' | 'esbuild' | 'webpack';
|
|
61
62
|
docker: boolean;
|
|
62
63
|
unitTestRunner: 'none' | 'jest' | 'vitest';
|
|
63
64
|
}
|
|
@@ -1273,6 +1273,7 @@ async function determineNodeOptions(parsedArgs) {
|
|
|
1273
1273
|
let preset;
|
|
1274
1274
|
let appName;
|
|
1275
1275
|
let framework;
|
|
1276
|
+
let bundler = parsedArgs.bundler;
|
|
1276
1277
|
let docker;
|
|
1277
1278
|
let linter;
|
|
1278
1279
|
let unitTestRunner = undefined;
|
|
@@ -1293,9 +1294,13 @@ async function determineNodeOptions(parsedArgs) {
|
|
|
1293
1294
|
else {
|
|
1294
1295
|
framework = 'none';
|
|
1295
1296
|
}
|
|
1297
|
+
if (preset === preset_1.Preset.NodeMonorepo) {
|
|
1298
|
+
bundler = await determineNodeBundler(parsedArgs, framework);
|
|
1299
|
+
}
|
|
1296
1300
|
}
|
|
1297
1301
|
else {
|
|
1298
1302
|
framework = await determineNodeFramework(parsedArgs);
|
|
1303
|
+
bundler = await determineNodeBundler(parsedArgs, framework);
|
|
1299
1304
|
const workspaceType = workspaces
|
|
1300
1305
|
? 'monorepo'
|
|
1301
1306
|
: await determineStandaloneOrMonorepo();
|
|
@@ -1329,11 +1334,15 @@ async function determineNodeOptions(parsedArgs) {
|
|
|
1329
1334
|
// without asking.
|
|
1330
1335
|
const formatter = await (0, prompts_1.determineFormatterOptions)(parsedArgs);
|
|
1331
1336
|
linter = await (0, prompts_1.determineLinterOptions)(parsedArgs);
|
|
1332
|
-
|
|
1337
|
+
// Node apps are ESM, which jest loads as CommonJS.
|
|
1338
|
+
unitTestRunner = await determineUnitTestRunner(parsedArgs, {
|
|
1339
|
+
preferVitest: framework !== 'nest',
|
|
1340
|
+
});
|
|
1333
1341
|
return {
|
|
1334
1342
|
preset,
|
|
1335
1343
|
appName,
|
|
1336
1344
|
framework,
|
|
1345
|
+
bundler,
|
|
1337
1346
|
docker,
|
|
1338
1347
|
linter,
|
|
1339
1348
|
formatter,
|
|
@@ -1503,6 +1512,26 @@ async function determineNodeFramework(parsedArgs) {
|
|
|
1503
1512
|
};
|
|
1504
1513
|
return reply.framework;
|
|
1505
1514
|
}
|
|
1515
|
+
async function determineNodeBundler(parsedArgs, framework) {
|
|
1516
|
+
if (parsedArgs.bundler)
|
|
1517
|
+
return parsedArgs.bundler;
|
|
1518
|
+
// tsc needs a TS solution workspace, fastify autoloads its plugins from disk
|
|
1519
|
+
// and nest has its own build setup, so the generator default applies there.
|
|
1520
|
+
if (!parsedArgs.workspaces ||
|
|
1521
|
+
framework === 'fastify' ||
|
|
1522
|
+
framework === 'nest') {
|
|
1523
|
+
return undefined;
|
|
1524
|
+
}
|
|
1525
|
+
return (0, prompt_helpers_1.selectPrompt)({
|
|
1526
|
+
message: 'How would you like to build your app?',
|
|
1527
|
+
choices: [
|
|
1528
|
+
{ value: 'tsc', label: 'tsc (unbundled, dist mirrors src)' },
|
|
1529
|
+
{ value: 'rolldown', label: 'Rolldown (bundled)' },
|
|
1530
|
+
],
|
|
1531
|
+
initial: 'tsc',
|
|
1532
|
+
skip: !parsedArgs.interactive || (0, is_ci_1.isCI)(),
|
|
1533
|
+
});
|
|
1534
|
+
}
|
|
1506
1535
|
async function determineUnitTestRunner(parsedArgs, options) {
|
|
1507
1536
|
if (parsedArgs.unitTestRunner) {
|
|
1508
1537
|
return parsedArgs.unitTestRunner;
|