@nx/node 20.3.1 → 20.3.3

Sign up to get free protection for your applications and to get access to all the features.
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  (The MIT License)
2
2
 
3
- Copyright (c) 2017-2024 Narwhal Technologies Inc.
3
+ Copyright (c) 2017-2025 Narwhal Technologies Inc.
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining
6
6
  a copy of this software and associated documentation files (the
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nx/node",
3
- "version": "20.3.1",
3
+ "version": "20.3.3",
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.3.1",
36
- "@nx/jest": "20.3.1",
37
- "@nx/js": "20.3.1",
38
- "@nx/eslint": "20.3.1"
35
+ "@nx/devkit": "20.3.3",
36
+ "@nx/jest": "20.3.3",
37
+ "@nx/js": "20.3.3",
38
+ "@nx/eslint": "20.3.3"
39
39
  },
40
40
  "publishConfig": {
41
41
  "access": "public"
@@ -19,6 +19,7 @@ const has_webpack_plugin_1 = require("../../utils/has-webpack-plugin");
19
19
  const target_defaults_utils_1 = require("@nx/devkit/src/generators/target-defaults-utils");
20
20
  const log_show_project_command_1 = require("@nx/devkit/src/utils/log-show-project-command");
21
21
  const ts_solution_setup_1 = require("@nx/js/src/utils/typescript/ts-solution-setup");
22
+ const sort_fields_1 = require("@nx/js/src/utils/package-json/sort-fields");
22
23
  function getWebpackBuildConfig(project, options) {
23
24
  return {
24
25
  executor: `@nx/webpack:webpack`,
@@ -427,9 +428,6 @@ async function applicationGeneratorInternal(tree, schema) {
427
428
  });
428
429
  tasks.push(dockerTask);
429
430
  }
430
- if (!options.skipFormat) {
431
- await (0, devkit_1.formatFiles)(tree);
432
- }
433
431
  if (options.isUsingTsSolutionConfig) {
434
432
  (0, ts_solution_setup_1.updateTsconfigFiles)(tree, options.appProjectRoot, 'tsconfig.app.json', {
435
433
  module: 'nodenext',
@@ -438,6 +436,15 @@ async function applicationGeneratorInternal(tree, schema) {
438
436
  ? ['eslint.config.js', 'eslint.config.cjs', 'eslint.config.mjs']
439
437
  : undefined);
440
438
  }
439
+ // If we are using the new TS solution
440
+ // We need to update the workspace file (package.json or pnpm-workspaces.yaml) to include the new project
441
+ if (options.isUsingTsSolutionConfig) {
442
+ (0, ts_solution_setup_1.addProjectToTsSolutionWorkspace)(tree, options.appProjectRoot);
443
+ }
444
+ (0, sort_fields_1.sortPackageJsonFields)(tree, options.appProjectRoot);
445
+ if (!options.skipFormat) {
446
+ await (0, devkit_1.formatFiles)(tree);
447
+ }
441
448
  tasks.push(() => {
442
449
  (0, log_show_project_command_1.logShowProjectCommand)(options.name);
443
450
  });
@@ -167,9 +167,6 @@ async function e2eProjectGeneratorInternal(host, _options) {
167
167
  ]);
168
168
  }
169
169
  }
170
- if (!options.skipFormat) {
171
- await (0, devkit_1.formatFiles)(host);
172
- }
173
170
  if (isUsingTsSolutionConfig) {
174
171
  (0, devkit_1.updateJson)(host, 'tsconfig.json', (json) => {
175
172
  json.references ??= [];
@@ -180,6 +177,14 @@ async function e2eProjectGeneratorInternal(host, _options) {
180
177
  return json;
181
178
  });
182
179
  }
180
+ // If we are using the new TS solution
181
+ // We need to update the workspace file (package.json or pnpm-workspaces.yaml) to include the new project
182
+ if (isUsingTsSolutionConfig) {
183
+ (0, ts_solution_setup_1.addProjectToTsSolutionWorkspace)(host, options.e2eProjectRoot);
184
+ }
185
+ if (!options.skipFormat) {
186
+ await (0, devkit_1.formatFiles)(host);
187
+ }
183
188
  tasks.push(() => {
184
189
  (0, log_show_project_command_1.logShowProjectCommand)(options.e2eProjectName);
185
190
  });
@@ -10,7 +10,5 @@
10
10
  "jest.config.ts",
11
11
  "src/**/*.ts"
12
12
  ],
13
- "references": [
14
- { "path": "<%= relativeProjectReferencePath %>" }
15
- ]
13
+ "references": []
16
14
  }
@@ -13,6 +13,7 @@ const init_1 = require("../init/init");
13
13
  const target_defaults_utils_1 = require("@nx/devkit/src/generators/target-defaults-utils");
14
14
  const ts_solution_setup_1 = require("@nx/js/src/utils/typescript/ts-solution-setup");
15
15
  const get_import_path_1 = require("@nx/js/src/utils/get-import-path");
16
+ const sort_fields_1 = require("@nx/js/src/utils/package-json/sort-fields");
16
17
  async function libraryGenerator(tree, schema) {
17
18
  return await libraryGeneratorInternal(tree, {
18
19
  addPlugin: false,
@@ -46,6 +47,7 @@ async function libraryGeneratorInternal(tree, schema) {
46
47
  setParserOptionsProject: schema.setParserOptionsProject,
47
48
  useProjectJson: !options.isUsingTsSolutionConfig,
48
49
  }));
50
+ updatePackageJson(tree, options);
49
51
  tasks.push(await (0, init_1.initGenerator)(tree, {
50
52
  ...options,
51
53
  skipFormat: true,
@@ -60,6 +62,12 @@ async function libraryGeneratorInternal(tree, schema) {
60
62
  if (options.isUsingTsSolutionConfig) {
61
63
  tasks.push(() => (0, devkit_1.installPackagesTask)(tree, true));
62
64
  }
65
+ // If we are using the new TS solution
66
+ // We need to update the workspace file (package.json or pnpm-workspaces.yaml) to include the new project
67
+ if (options.isUsingTsSolutionConfig) {
68
+ (0, ts_solution_setup_1.addProjectToTsSolutionWorkspace)(tree, options.projectRoot);
69
+ }
70
+ (0, sort_fields_1.sortPackageJsonFields)(tree, options.projectRoot);
63
71
  if (!schema.skipFormat) {
64
72
  await (0, devkit_1.formatFiles)(tree);
65
73
  }
@@ -150,3 +158,16 @@ function updateProject(tree, options) {
150
158
  function ensureDependencies(tree) {
151
159
  return (0, devkit_1.addDependenciesToPackageJson)(tree, { tslib: versions_1.tslibVersion }, { '@types/node': versions_1.typesNodeVersion });
152
160
  }
161
+ function updatePackageJson(tree, options) {
162
+ const packageJsonPath = (0, devkit_1.joinPathFragments)(options.projectRoot, 'package.json');
163
+ if (!tree.exists(packageJsonPath)) {
164
+ return;
165
+ }
166
+ const packageJson = (0, devkit_1.readJson)(tree, packageJsonPath);
167
+ if (packageJson.type === 'module') {
168
+ // The @nx/js:lib generator can set the type to 'module' which would
169
+ // potentially break consumers of the library.
170
+ delete packageJson.type;
171
+ }
172
+ (0, devkit_1.writeJson)(tree, packageJsonPath, packageJson);
173
+ }