@nx/node 20.0.0-canary.20241001-8fa7065 → 20.0.0-canary.20241003-84a5c7a

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/migrations.json CHANGED
@@ -1,30 +1,5 @@
1
1
  {
2
- "generators": {
3
- "update-16-0-0-add-nx-packages": {
4
- "cli": "nx",
5
- "version": "16.0.0-beta.1",
6
- "description": "Replace @nrwl/node with @nx/node",
7
- "implementation": "./src/migrations/update-16-0-0-add-nx-packages/update-16-0-0-add-nx-packages"
8
- },
9
- "update-16-0-0-update-executor": {
10
- "cli": "nx",
11
- "version": "16.0.0-beta.5",
12
- "description": "Replace @nrwl/node:webpack with @nx/node:webpack",
13
- "implementation": "./src/migrations/update-16-0-0/update-webpack-executor"
14
- },
15
- "update-16-3-1-update-executor": {
16
- "cli": "nx",
17
- "version": "16.3.1-beta.0",
18
- "description": "Replace @nrwl/node:webpack and @nx/node:webpack with @nx/webpack:webpack for all project targets",
19
- "implementation": "./src/migrations/update-16-3-1/update-webpack-executor"
20
- },
21
- "update-16-4-0-replace-node-executor": {
22
- "cli": "nx",
23
- "version": "16.4.0-beta.8",
24
- "description": "Replace @nx/node:node with @nx/js:node for all project targets",
25
- "implementation": "./src/migrations/update-16-4-0/replace-node-executor"
26
- }
27
- },
2
+ "generators": {},
28
3
  "packageJsonUpdates": {
29
4
  "17.3.0": {
30
5
  "version": "17.3.0-beta.3",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nx/node",
3
- "version": "20.0.0-canary.20241001-8fa7065",
3
+ "version": "20.0.0-canary.20241003-84a5c7a",
4
4
  "private": false,
5
5
  "description": "The Node Plugin for Nx contains generators to manage Node applications within an Nx workspace.",
6
6
  "repository": {
@@ -32,10 +32,10 @@
32
32
  },
33
33
  "dependencies": {
34
34
  "tslib": "^2.3.0",
35
- "@nx/devkit": "20.0.0-canary.20241001-8fa7065",
36
- "@nx/jest": "20.0.0-canary.20241001-8fa7065",
37
- "@nx/js": "20.0.0-canary.20241001-8fa7065",
38
- "@nx/eslint": "20.0.0-canary.20241001-8fa7065"
35
+ "@nx/devkit": "20.0.0-canary.20241003-84a5c7a",
36
+ "@nx/jest": "20.0.0-canary.20241003-84a5c7a",
37
+ "@nx/js": "20.0.0-canary.20241003-84a5c7a",
38
+ "@nx/eslint": "20.0.0-canary.20241003-84a5c7a"
39
39
  },
40
40
  "publishConfig": {
41
41
  "access": "public"
@@ -7,6 +7,7 @@ const devkit_1 = require("@nx/devkit");
7
7
  const project_name_and_root_utils_1 = require("@nx/devkit/src/generators/project-name-and-root-utils");
8
8
  const jest_1 = require("@nx/jest");
9
9
  const js_1 = require("@nx/js");
10
+ const ts_solution_setup_1 = require("@nx/js/src/utils/typescript/ts-solution-setup");
10
11
  const versions_1 = require("@nx/js/src/utils/versions");
11
12
  const eslint_1 = require("@nx/eslint");
12
13
  const path_1 = require("path");
@@ -276,6 +277,7 @@ async function applicationGenerator(tree, schema) {
276
277
  });
277
278
  }
278
279
  async function applicationGeneratorInternal(tree, schema) {
280
+ (0, ts_solution_setup_1.assertNotUsingTsSolutionSetup)(tree, 'node', 'application');
279
281
  const options = await normalizeOptions(tree, schema);
280
282
  const tasks = [];
281
283
  if (options.framework === 'nest') {
@@ -359,7 +361,6 @@ async function applicationGeneratorInternal(tree, schema) {
359
361
  projectType: options.framework === 'none' ? 'cli' : 'server',
360
362
  name: options.rootProject ? 'e2e' : `${options.name}-e2e`,
361
363
  directory: options.rootProject ? 'e2e' : `${options.appProjectRoot}-e2e`,
362
- projectNameAndRootFormat: 'as-provided',
363
364
  project: options.name,
364
365
  port: options.port,
365
366
  isNest: options.isNest,
@@ -390,15 +391,14 @@ async function applicationGeneratorInternal(tree, schema) {
390
391
  return (0, devkit_1.runTasksInSerial)(...tasks);
391
392
  }
392
393
  async function normalizeOptions(host, options) {
393
- const { projectName: appProjectName, projectRoot: appProjectRoot, projectNameAndRootFormat, } = await (0, project_name_and_root_utils_1.determineProjectNameAndRootOptions)(host, {
394
+ await (0, project_name_and_root_utils_1.ensureProjectName)(host, options, 'application');
395
+ const { projectName: appProjectName, projectRoot: appProjectRoot } = await (0, project_name_and_root_utils_1.determineProjectNameAndRootOptions)(host, {
394
396
  name: options.name,
395
397
  projectType: 'application',
396
398
  directory: options.directory,
397
- projectNameAndRootFormat: options.projectNameAndRootFormat,
398
399
  rootProject: options.rootProject,
399
400
  });
400
401
  options.rootProject = appProjectRoot === '.';
401
- options.projectNameAndRootFormat = projectNameAndRootFormat;
402
402
  options.bundler = options.bundler ?? 'esbuild';
403
403
  options.e2eTestRunner = options.e2eTestRunner ?? 'jest';
404
404
  const parsedTags = options.tags
@@ -1,12 +1,10 @@
1
- import type { ProjectNameAndRootFormat } from '@nx/devkit/src/generators/project-name-and-root-utils';
2
1
  import type { Linter, LinterType } from '@nx/eslint';
3
2
 
4
3
  export interface Schema {
5
- name: string;
4
+ directory: string;
5
+ name?: string;
6
6
  skipFormat?: boolean;
7
7
  skipPackageJson?: boolean;
8
- directory?: string;
9
- projectNameAndRootFormat?: ProjectNameAndRootFormat;
10
8
  unitTestRunner?: 'jest' | 'none';
11
9
  e2eTestRunner?: 'jest' | 'none';
12
10
  linter?: Linter | LinterType;
@@ -6,27 +6,21 @@
6
6
  "description": "Nx Application Options Schema.",
7
7
  "type": "object",
8
8
  "properties": {
9
- "name": {
10
- "description": "The name of the application.",
9
+ "directory": {
10
+ "description": "The directory of the new application.",
11
11
  "type": "string",
12
12
  "$default": {
13
13
  "$source": "argv",
14
14
  "index": 0
15
15
  },
16
- "x-prompt": "What name would you like to use for the node application?",
17
- "x-priority": "important",
18
- "pattern": "^[a-zA-Z][^:]*$"
16
+ "x-prompt": "Which directory do you want to create the application in?"
19
17
  },
20
- "directory": {
21
- "description": "The directory of the new application.",
18
+ "name": {
19
+ "description": "The name of the application.",
22
20
  "type": "string",
21
+ "pattern": "^[a-zA-Z][^:]*$",
23
22
  "x-priority": "important"
24
23
  },
25
- "projectNameAndRootFormat": {
26
- "description": "Whether to generate the project name and root directory as provided (`as-provided`) or generate them composing their values and taking the configured layout into account (`derived`).",
27
- "type": "string",
28
- "enum": ["as-provided", "derived"]
29
- },
30
24
  "skipFormat": {
31
25
  "description": "Skip formatting files",
32
26
  "type": "boolean",
@@ -126,5 +120,5 @@
126
120
  "description": "Add a docker build target"
127
121
  }
128
122
  },
129
- "required": ["name"]
123
+ "required": ["directory"]
130
124
  }
@@ -126,13 +126,11 @@ async function e2eProjectGeneratorInternal(host, _options) {
126
126
  return (0, devkit_1.runTasksInSerial)(...tasks);
127
127
  }
128
128
  async function normalizeOptions(tree, options) {
129
+ options.directory = options.directory ?? `${options.project}-e2e`;
129
130
  const { projectName: e2eProjectName, projectRoot: e2eProjectRoot } = await (0, project_name_and_root_utils_1.determineProjectNameAndRootOptions)(tree, {
130
- name: options.name ?? `${options.project}-e2e`,
131
+ name: options.name,
131
132
  projectType: 'library',
132
133
  directory: options.rootProject ? 'e2e' : options.directory,
133
- projectNameAndRootFormat: options.rootProject
134
- ? 'as-provided'
135
- : options.projectNameAndRootFormat,
136
134
  });
137
135
  const nxJson = (0, devkit_1.readNxJson)(tree);
138
136
  const addPlugin = process.env.NX_ADD_PLUGINS !== 'false' &&
@@ -1,10 +1,7 @@
1
- import type { ProjectNameAndRootFormat } from '@nx/devkit/src/generators/project-name-and-root-utils';
2
-
3
1
  export interface Schema {
4
2
  project: string;
5
3
  projectType: 'server' | 'cli';
6
4
  directory?: string;
7
- projectNameAndRootFormat?: ProjectNameAndRootFormat;
8
5
  name?: string;
9
6
  port?: number;
10
7
  linter?: 'eslint' | 'none';
@@ -18,11 +18,6 @@
18
18
  "type": "string",
19
19
  "x-priority": "important"
20
20
  },
21
- "projectNameAndRootFormat": {
22
- "description": "Whether to generate the project name and root directory as provided (`as-provided`) or generate them composing their values and taking the configured layout into account (`derived`).",
23
- "type": "string",
24
- "enum": ["as-provided", "derived"]
25
- },
26
21
  "name": {
27
22
  "description": "The name of the e2e project. Defaults to the project name with '-e2e' suffix.",
28
23
  "type": "string"
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.initGenerator = initGenerator;
4
4
  const devkit_1 = require("@nx/devkit");
5
+ const ts_solution_setup_1 = require("@nx/js/src/utils/typescript/ts-solution-setup");
5
6
  const versions_1 = require("../../utils/versions");
6
7
  function updateDependencies(tree, options) {
7
8
  const tasks = [];
@@ -10,6 +11,7 @@ function updateDependencies(tree, options) {
10
11
  return (0, devkit_1.runTasksInSerial)(...tasks);
11
12
  }
12
13
  async function initGenerator(tree, options) {
14
+ (0, ts_solution_setup_1.assertNotUsingTsSolutionSetup)(tree, 'node', 'init');
13
15
  let installTask = () => { };
14
16
  if (!options.skipPackageJson) {
15
17
  installTask = updateDependencies(tree, options);
@@ -7,6 +7,7 @@ const project_name_and_root_utils_1 = require("@nx/devkit/src/generators/project
7
7
  const js_1 = require("@nx/js");
8
8
  const add_swc_config_1 = require("@nx/js/src/utils/swc/add-swc-config");
9
9
  const add_swc_dependencies_1 = require("@nx/js/src/utils/swc/add-swc-dependencies");
10
+ const ts_solution_setup_1 = require("@nx/js/src/utils/typescript/ts-solution-setup");
10
11
  const path_1 = require("path");
11
12
  const versions_1 = require("../../utils/versions");
12
13
  const init_1 = require("../init/init");
@@ -18,6 +19,7 @@ async function libraryGenerator(tree, schema) {
18
19
  });
19
20
  }
20
21
  async function libraryGeneratorInternal(tree, schema) {
22
+ (0, ts_solution_setup_1.assertNotUsingTsSolutionSetup)(tree, 'node', 'library');
21
23
  const options = await normalizeOptions(tree, schema);
22
24
  const tasks = [
23
25
  await (0, init_1.initGenerator)(tree, {
@@ -30,7 +32,7 @@ async function libraryGeneratorInternal(tree, schema) {
30
32
  }
31
33
  const libraryInstall = await (0, js_1.libraryGenerator)(tree, {
32
34
  ...options,
33
- bundler: schema.buildable ? 'tsc' : 'none',
35
+ bundler: schema.buildable || schema.publishable ? 'tsc' : 'none',
34
36
  includeBabelRc: schema.babelJest,
35
37
  importPath: options.importPath,
36
38
  testEnvironment: 'node',
@@ -51,14 +53,13 @@ async function libraryGeneratorInternal(tree, schema) {
51
53
  }
52
54
  exports.default = libraryGenerator;
53
55
  async function normalizeOptions(tree, options) {
54
- const { projectName, names: projectNames, projectRoot, importPath, projectNameAndRootFormat, } = await (0, project_name_and_root_utils_1.determineProjectNameAndRootOptions)(tree, {
56
+ await (0, project_name_and_root_utils_1.ensureProjectName)(tree, options, 'library');
57
+ const { projectName, names: projectNames, projectRoot, importPath, } = await (0, project_name_and_root_utils_1.determineProjectNameAndRootOptions)(tree, {
55
58
  name: options.name,
56
59
  projectType: 'library',
57
60
  directory: options.directory,
58
61
  importPath: options.importPath,
59
- projectNameAndRootFormat: options.projectNameAndRootFormat,
60
62
  });
61
- options.projectNameAndRootFormat = projectNameAndRootFormat;
62
63
  const nxJson = (0, devkit_1.readNxJson)(tree);
63
64
  const addPluginDefault = process.env.NX_ADD_PLUGINS !== 'false' &&
64
65
  nxJson.useInferencePlugins !== false;
@@ -1,10 +1,8 @@
1
- import type { ProjectNameAndRootFormat } from '@nx/devkit/src/generators/project-name-and-root-utils';
2
1
  import type { Linter, LinterType } from '@nx/eslint';
3
2
 
4
3
  export interface Schema {
5
- name: string;
6
- directory?: string;
7
- projectNameAndRootFormat?: ProjectNameAndRootFormat;
4
+ directory: string;
5
+ name?: string;
8
6
  simpleModuleName?: boolean;
9
7
  skipTsConfig?: boolean;
10
8
  skipFormat?: boolean;
@@ -12,29 +12,24 @@
12
12
  }
13
13
  ],
14
14
  "properties": {
15
- "name": {
15
+ "directory": {
16
16
  "type": "string",
17
- "description": "Library name",
17
+ "description": "A directory where the lib is placed",
18
+ "alias": "dir",
18
19
  "$default": {
19
20
  "$source": "argv",
20
21
  "index": 0
21
22
  },
22
- "x-prompt": "What name would you like to use for the library?",
23
- "pattern": "(?:^@[a-zA-Z0-9-*~][a-zA-Z0-9-*._~]*\\/[a-zA-Z0-9-~][a-zA-Z0-9-._~]*|^[a-zA-Z][^:]*)$"
23
+ "x-prompt": "Which directory do you want to create the library in?"
24
24
  },
25
- "directory": {
25
+ "name": {
26
26
  "type": "string",
27
- "description": "A directory where the lib is placed",
28
- "alias": "dir",
27
+ "description": "Library name",
28
+ "pattern": "(?:^@[a-zA-Z0-9-*~][a-zA-Z0-9-*._~]*\\/[a-zA-Z0-9-~][a-zA-Z0-9-._~]*|^[a-zA-Z][^:]*)$",
29
29
  "x-priority": "important"
30
30
  },
31
- "projectNameAndRootFormat": {
32
- "description": "Whether to generate the project name and root directory as provided (`as-provided`) or generate them composing their values and taking the configured layout into account (`derived`).",
33
- "type": "string",
34
- "enum": ["as-provided", "derived"]
35
- },
36
31
  "simpleModuleName": {
37
- "description": "Keep the module name simple (when using `--directory`).",
32
+ "description": "Keep the module name simple.",
38
33
  "type": "boolean",
39
34
  "default": false
40
35
  },
@@ -126,5 +121,5 @@
126
121
  "default": false
127
122
  }
128
123
  },
129
- "required": ["name"]
124
+ "required": ["directory"]
130
125
  }
@@ -1,2 +0,0 @@
1
- import { Tree } from '@nx/devkit';
2
- export default function update(tree: Tree): Promise<void>;
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = update;
4
- const devkit_1 = require("@nx/devkit");
5
- const executor_options_utils_1 = require("@nx/devkit/src/generators/executor-options-utils");
6
- async function update(tree) {
7
- const migrateProject = (options, projectName, targetName) => {
8
- const projectConfig = (0, devkit_1.readProjectConfiguration)(tree, projectName);
9
- projectConfig.targets[targetName].executor = '@nx/webpack:webpack';
10
- projectConfig.targets[targetName].options.compiler = 'tsc';
11
- projectConfig.targets[targetName].options.target = 'node';
12
- (0, devkit_1.updateProjectConfiguration)(tree, projectName, projectConfig);
13
- };
14
- (0, executor_options_utils_1.forEachExecutorOptions)(tree, '@nx/node:webpack', migrateProject);
15
- (0, executor_options_utils_1.forEachExecutorOptions)(tree, '@nrwl/node:webpack', migrateProject);
16
- await (0, devkit_1.formatFiles)(tree);
17
- }
@@ -1,2 +0,0 @@
1
- import { Tree } from '@nx/devkit';
2
- export default function replacePackage(tree: Tree): Promise<void>;
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = replacePackage;
4
- const devkit_1 = require("@nx/devkit");
5
- const replace_package_1 = require("@nx/devkit/src/utils/replace-package");
6
- async function replacePackage(tree) {
7
- await (0, replace_package_1.replaceNrwlPackageWithNxPackage)(tree, '@nrwl/node', '@nx/node');
8
- await (0, devkit_1.formatFiles)(tree);
9
- }
@@ -1,2 +0,0 @@
1
- import { Tree } from '@nx/devkit';
2
- export default function update(tree: Tree): Promise<void>;
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = update;
4
- const devkit_1 = require("@nx/devkit");
5
- const executor_options_utils_1 = require("@nx/devkit/src/generators/executor-options-utils");
6
- async function update(tree) {
7
- const migrateProject = (options, projectName, targetName) => {
8
- const projectConfig = (0, devkit_1.readProjectConfiguration)(tree, projectName);
9
- projectConfig.targets[targetName].executor = '@nx/webpack:webpack';
10
- projectConfig.targets[targetName].options.compiler = 'tsc';
11
- projectConfig.targets[targetName].options.target = 'node';
12
- (0, devkit_1.updateProjectConfiguration)(tree, projectName, projectConfig);
13
- };
14
- (0, executor_options_utils_1.forEachExecutorOptions)(tree, '@nx/node:webpack', migrateProject);
15
- (0, executor_options_utils_1.forEachExecutorOptions)(tree, '@nrwl/node:webpack', migrateProject);
16
- await (0, devkit_1.formatFiles)(tree);
17
- }
@@ -1,2 +0,0 @@
1
- import { Tree } from '@nx/devkit';
2
- export default function update(tree: Tree): Promise<void>;
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = update;
4
- const devkit_1 = require("@nx/devkit");
5
- const executor_options_utils_1 = require("@nx/devkit/src/generators/executor-options-utils");
6
- async function update(tree) {
7
- const migrateProject = (_options, projectName, targetName) => {
8
- const projectConfig = (0, devkit_1.readProjectConfiguration)(tree, projectName);
9
- projectConfig.targets[targetName].executor = '@nx/js:node';
10
- (0, devkit_1.updateProjectConfiguration)(tree, projectName, projectConfig);
11
- };
12
- (0, executor_options_utils_1.forEachExecutorOptions)(tree, '@nx/node:node', migrateProject);
13
- await (0, devkit_1.formatFiles)(tree);
14
- }