create-nx-workspace 16.4.0-beta.1 → 16.4.0-beta.10

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.
@@ -8,6 +8,11 @@ interface NoneArguments extends BaseArguments {
8
8
  stack: 'none';
9
9
  workspaceType: 'package-based' | 'integrated';
10
10
  }
11
+ interface TsArguments extends BaseArguments {
12
+ stack: 'ts';
13
+ workspaceType: 'standalone' | 'integrated';
14
+ js: boolean;
15
+ }
11
16
  interface ReactArguments extends BaseArguments {
12
17
  stack: 'react';
13
18
  workspaceType: 'standalone' | 'integrated';
@@ -35,6 +40,6 @@ interface NodeArguments extends BaseArguments {
35
40
  interface UnknownStackArguments extends BaseArguments {
36
41
  stack: 'unknown';
37
42
  }
38
- type Arguments = NoneArguments | ReactArguments | AngularArguments | NodeArguments | UnknownStackArguments;
43
+ type Arguments = NoneArguments | TsArguments | ReactArguments | AngularArguments | NodeArguments | UnknownStackArguments;
39
44
  export declare const commandsObject: yargs.Argv<Arguments>;
40
45
  export {};
@@ -34,7 +34,7 @@ exports.commandsObject = yargs
34
34
  .option('preset', {
35
35
  describe: chalk.dim `Customizes the initial content of your workspace. Default presets include: [${Object.values(preset_1.Preset)
36
36
  .map((p) => `"${p}"`)
37
- .join(', ')}]. To build your own see https://nx.dev/packages/nx-plugin#preset`,
37
+ .join(', ')}]. To build your own see https://nx.dev/plugins/recipes/create-preset`,
38
38
  type: 'string',
39
39
  })
40
40
  .option('interactive', {
@@ -231,6 +231,8 @@ function determineStack(parsedArgs) {
231
231
  case preset_1.Preset.NPM:
232
232
  return 'none';
233
233
  case preset_1.Preset.TS:
234
+ case preset_1.Preset.TsStandalone:
235
+ return 'ts';
234
236
  case preset_1.Preset.WebComponents:
235
237
  case preset_1.Preset.ReactNative:
236
238
  case preset_1.Preset.Expo:
@@ -248,6 +250,10 @@ function determineStack(parsedArgs) {
248
250
  name: `none`,
249
251
  message: `None: Configures a minimal structure without specific frameworks or technologies.`,
250
252
  },
253
+ {
254
+ name: `ts`,
255
+ message: `TS/JS: Configures a TypeScript/JavaScript package without specific frameworks or platforms.`,
256
+ },
251
257
  {
252
258
  name: `react`,
253
259
  message: `React: Configures a React app with your framework of choice.`,
@@ -270,7 +276,9 @@ function determinePresetOptions(parsedArgs) {
270
276
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
271
277
  switch (parsedArgs.stack) {
272
278
  case 'none':
273
- return determineNoneptions(parsedArgs);
279
+ return determineNoneOptions(parsedArgs);
280
+ case 'ts':
281
+ return determineTsOptions(parsedArgs);
274
282
  case 'react':
275
283
  return determineReactOptions(parsedArgs);
276
284
  case 'angular':
@@ -282,7 +290,7 @@ function determinePresetOptions(parsedArgs) {
282
290
  }
283
291
  });
284
292
  }
285
- function determineNoneptions(parsedArgs) {
293
+ function determineNoneOptions(parsedArgs) {
286
294
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
287
295
  if (parsedArgs.preset)
288
296
  return parsedArgs;
@@ -316,6 +324,46 @@ function determineNoneptions(parsedArgs) {
316
324
  }
317
325
  });
318
326
  }
327
+ function determineTsOptions(parsedArgs) {
328
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
329
+ let preset;
330
+ let workspaceType = undefined;
331
+ let appName = undefined;
332
+ let js = false;
333
+ if (parsedArgs.preset) {
334
+ preset = parsedArgs.preset;
335
+ }
336
+ else {
337
+ workspaceType = yield determineStandAloneOrMonorepo();
338
+ preset = workspaceType === 'standalone' ? preset_1.Preset.TsStandalone : preset_1.Preset.TS;
339
+ }
340
+ if (parsedArgs.js !== undefined) {
341
+ js = parsedArgs.js;
342
+ }
343
+ else if (preset === preset_1.Preset.TsStandalone) {
344
+ // Only standalone TS preset generates a default package, so we need to provide --js and --appName options.
345
+ appName = parsedArgs.name;
346
+ const reply = yield enquirer.prompt([
347
+ {
348
+ name: 'ts',
349
+ message: `Would you like to use TypeScript with this project?`,
350
+ type: 'autocomplete',
351
+ choices: [
352
+ {
353
+ name: 'Yes',
354
+ },
355
+ {
356
+ name: 'No',
357
+ },
358
+ ],
359
+ initial: 'Yes',
360
+ },
361
+ ]);
362
+ js = reply.ts === 'No';
363
+ }
364
+ return { preset, js, appName };
365
+ });
366
+ }
319
367
  function determineReactOptions(parsedArgs) {
320
368
  var _a;
321
369
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-nx-workspace",
3
- "version": "16.4.0-beta.1",
3
+ "version": "16.4.0-beta.10",
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
  "types": "./index.d.ts",
46
- "gitHead": "1c4fb934b607f0d93bb23bff2cf0f39b31a8fa43"
46
+ "gitHead": "d2bde0605c692a023bc9c28686f3a3037bbd56d3"
47
47
  }
@@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.determinePackageManager = exports.determineDefaultBase = exports.determineCI = exports.determineNxCloud = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const ab_testing_1 = require("../utils/nx/ab-testing");
6
- const enquirer = require("enquirer");
7
6
  const output_1 = require("../utils/output");
8
7
  const default_base_1 = require("../utils/git/default-base");
9
8
  const package_manager_1 = require("../utils/package-manager");
10
9
  const string_utils_1 = require("../utils/string-utils");
10
+ const enquirer = require("enquirer");
11
11
  function determineNxCloud(parsedArgs) {
12
12
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
13
13
  if (parsedArgs.nxCloud === undefined) {
@@ -89,7 +89,7 @@ function determineDefaultBase(parsedArgs) {
89
89
  .prompt([
90
90
  {
91
91
  name: 'DefaultBase',
92
- message: `Main branch name `,
92
+ message: `Main branch name`,
93
93
  initial: `main`,
94
94
  type: 'input',
95
95
  },
@@ -131,7 +131,7 @@ function determinePackageManager(parsedArgs) {
131
131
  .prompt([
132
132
  {
133
133
  name: 'packageManager',
134
- message: `Which package manager to use `,
134
+ message: `Which package manager to use`,
135
135
  initial: 'npm',
136
136
  type: 'autocomplete',
137
137
  choices: [
@@ -18,7 +18,8 @@ export declare enum Preset {
18
18
  React = "react",
19
19
  Angular = "angular",
20
20
  NodeStandalone = "node-standalone",
21
- NodeMonorepo = "node-monorepo"
21
+ NodeMonorepo = "node-monorepo",
22
+ TsStandalone = "ts-standalone"
22
23
  }
23
24
  /**
24
25
  * This function is used to check if a preset is a known Nx preset.
@@ -23,6 +23,7 @@ var Preset;
23
23
  Preset["Angular"] = "angular";
24
24
  Preset["NodeStandalone"] = "node-standalone";
25
25
  Preset["NodeMonorepo"] = "node-monorepo";
26
+ Preset["TsStandalone"] = "ts-standalone";
26
27
  })(Preset = exports.Preset || (exports.Preset = {}));
27
28
  /**
28
29
  * This function is used to check if a preset is a known Nx preset.