nx 19.5.0 → 19.5.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.
package/bin/nx.js CHANGED
@@ -167,7 +167,7 @@ function warnIfUsingOutdatedGlobalInstall(globalNxVersion, localNxVersion) {
167
167
  : [];
168
168
  bodyLines.push('For more information, see https://nx.dev/more-concepts/global-nx');
169
169
  output_1.output.warn({
170
- title: `Its time to update Nx 🎉`,
170
+ title: `It's time to update Nx 🎉`,
171
171
  bodyLines,
172
172
  });
173
173
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nx",
3
- "version": "19.5.0",
3
+ "version": "19.5.2",
4
4
  "private": false,
5
5
  "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.",
6
6
  "repository": {
@@ -71,7 +71,7 @@
71
71
  "yargs-parser": "21.1.1",
72
72
  "node-machine-id": "1.1.12",
73
73
  "ora": "5.3.0",
74
- "@nrwl/tao": "19.5.0"
74
+ "@nrwl/tao": "19.5.2"
75
75
  },
76
76
  "peerDependencies": {
77
77
  "@swc-node/register": "^1.8.0",
@@ -86,16 +86,16 @@
86
86
  }
87
87
  },
88
88
  "optionalDependencies": {
89
- "@nx/nx-darwin-x64": "19.5.0",
90
- "@nx/nx-darwin-arm64": "19.5.0",
91
- "@nx/nx-linux-x64-gnu": "19.5.0",
92
- "@nx/nx-linux-x64-musl": "19.5.0",
93
- "@nx/nx-win32-x64-msvc": "19.5.0",
94
- "@nx/nx-linux-arm64-gnu": "19.5.0",
95
- "@nx/nx-linux-arm64-musl": "19.5.0",
96
- "@nx/nx-linux-arm-gnueabihf": "19.5.0",
97
- "@nx/nx-win32-arm64-msvc": "19.5.0",
98
- "@nx/nx-freebsd-x64": "19.5.0"
89
+ "@nx/nx-darwin-x64": "19.5.2",
90
+ "@nx/nx-darwin-arm64": "19.5.2",
91
+ "@nx/nx-linux-x64-gnu": "19.5.2",
92
+ "@nx/nx-linux-x64-musl": "19.5.2",
93
+ "@nx/nx-win32-x64-msvc": "19.5.2",
94
+ "@nx/nx-linux-arm64-gnu": "19.5.2",
95
+ "@nx/nx-linux-arm64-musl": "19.5.2",
96
+ "@nx/nx-linux-arm-gnueabihf": "19.5.2",
97
+ "@nx/nx-win32-arm64-msvc": "19.5.2",
98
+ "@nx/nx-freebsd-x64": "19.5.2"
99
99
  },
100
100
  "nx-migrations": {
101
101
  "migrations": "./migrations.json",
@@ -799,13 +799,16 @@ async function getWrappedWorkspaceNodeModulesArchitectHost(workspace, root, proj
799
799
  import: (0, schema_utils_1.resolveImplementation)(executorConfig.implementation, (0, path_1.dirname)(executorsFilePath)),
800
800
  };
801
801
  }
802
- readExecutorsJson(nodeModule, builder) {
803
- const { json: packageJson, path: packageJsonPath } = (0, plugins_1.readPluginPackageJson)(nodeModule, this.projects, this.root ? [this.root, __dirname] : [__dirname]);
802
+ readExecutorsJson(nodeModule, builder, extraRequirePaths = []) {
803
+ const { json: packageJson, path: packageJsonPath } = (0, plugins_1.readPluginPackageJson)(nodeModule, this.projects, this.root
804
+ ? [this.root, __dirname, ...extraRequirePaths]
805
+ : [__dirname, ...extraRequirePaths]);
804
806
  const executorsFile = packageJson.executors ?? packageJson.builders;
805
807
  if (!executorsFile) {
806
808
  throw new Error(`The "${nodeModule}" package does not support Nx executors or Angular Devkit Builders.`);
807
809
  }
808
- const executorsFilePath = require.resolve((0, path_1.join)((0, path_1.dirname)(packageJsonPath), executorsFile));
810
+ const basePath = (0, path_1.dirname)(packageJsonPath);
811
+ const executorsFilePath = require.resolve((0, path_1.join)(basePath, executorsFile));
809
812
  const executorsJson = (0, fileutils_1.readJsonFile)(executorsFilePath);
810
813
  const executorConfig = executorsJson.builders?.[builder] ?? executorsJson.executors?.[builder];
811
814
  if (!executorConfig) {
@@ -814,7 +817,7 @@ async function getWrappedWorkspaceNodeModulesArchitectHost(workspace, root, proj
814
817
  if (typeof executorConfig === 'string') {
815
818
  // Angular CLI can have a builder pointing to another package:builder
816
819
  const [packageName, executorName] = executorConfig.split(':');
817
- return this.readExecutorsJson(packageName, executorName);
820
+ return this.readExecutorsJson(packageName, executorName, [basePath]);
818
821
  }
819
822
  return { executorsFilePath, executorConfig, isNgCompat: true };
820
823
  }
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.yargsViewLogsCommand = exports.yargsConnectCommand = void 0;
4
4
  const documentation_1 = require("../yargs-utils/documentation");
5
+ const versions_1 = require("../../utils/versions");
5
6
  exports.yargsConnectCommand = {
6
7
  command: 'connect',
7
8
  aliases: ['connect-to-nx-cloud'],
@@ -9,6 +10,11 @@ exports.yargsConnectCommand = {
9
10
  builder: (yargs) => (0, documentation_1.linkToNxDevAndExamples)(yargs, 'connect-to-nx-cloud'),
10
11
  handler: async () => {
11
12
  await (await Promise.resolve().then(() => require('./connect-to-nx-cloud'))).connectToNxCloudCommand();
13
+ await (await Promise.resolve().then(() => require('../../utils/ab-testing'))).recordStat({
14
+ command: 'connect',
15
+ nxVersion: versions_1.nxVersion,
16
+ useCloud: true,
17
+ });
12
18
  process.exit(0);
13
19
  },
14
20
  };
@@ -4,5 +4,5 @@ import { MessageKey } from '../../utils/ab-testing';
4
4
  export declare function onlyDefaultRunnerIsUsed(nxJson: NxJsonConfiguration): boolean;
5
5
  export declare function connectToNxCloudIfExplicitlyAsked(opts: NxArgs): Promise<void>;
6
6
  export declare function connectToNxCloudCommand(command?: string): Promise<boolean>;
7
+ export declare function connectExistingRepoToNxCloudPrompt(command?: string, key?: MessageKey): Promise<boolean>;
7
8
  export declare function connectToNxCloudWithPrompt(command: string): Promise<void>;
8
- export declare function connectExistingRepoToNxCloudPrompt(key?: MessageKey): Promise<boolean>;
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.onlyDefaultRunnerIsUsed = onlyDefaultRunnerIsUsed;
4
4
  exports.connectToNxCloudIfExplicitlyAsked = connectToNxCloudIfExplicitlyAsked;
5
5
  exports.connectToNxCloudCommand = connectToNxCloudCommand;
6
- exports.connectToNxCloudWithPrompt = connectToNxCloudWithPrompt;
7
6
  exports.connectExistingRepoToNxCloudPrompt = connectExistingRepoToNxCloudPrompt;
7
+ exports.connectToNxCloudWithPrompt = connectToNxCloudWithPrompt;
8
8
  const output_1 = require("../../utils/output");
9
9
  const configuration_1 = require("../../config/configuration");
10
10
  const tree_1 = require("../../generators/tree");
@@ -71,6 +71,16 @@ async function connectToNxCloudCommand(command) {
71
71
  await callback();
72
72
  return true;
73
73
  }
74
+ async function connectExistingRepoToNxCloudPrompt(command = 'init', key = 'setupNxCloud') {
75
+ const res = await nxCloudPrompt(key).then((value) => value === 'yes');
76
+ await (0, ab_testing_1.recordStat)({
77
+ command,
78
+ nxVersion: versions_1.nxVersion,
79
+ useCloud: res,
80
+ meta: ab_testing_1.messages.codeOfSelectedPromptMessage(key),
81
+ });
82
+ return res;
83
+ }
74
84
  async function connectToNxCloudWithPrompt(command) {
75
85
  const setNxCloud = await nxCloudPrompt('setupNxCloud');
76
86
  const useCloud = setNxCloud === 'yes' ? await connectToNxCloudCommand(command) : false;
@@ -81,9 +91,6 @@ async function connectToNxCloudWithPrompt(command) {
81
91
  meta: ab_testing_1.messages.codeOfSelectedPromptMessage('setupNxCloud'),
82
92
  });
83
93
  }
84
- async function connectExistingRepoToNxCloudPrompt(key = 'setupNxCloud') {
85
- return nxCloudPrompt(key).then((value) => value === 'yes');
86
- }
87
94
  async function nxCloudPrompt(key) {
88
95
  const { message, choices, initial, footer, hint } = ab_testing_1.messages.getPrompt(key);
89
96
  const promptConfig = {
@@ -19,7 +19,7 @@ async function viewLogs() {
19
19
  });
20
20
  return 1;
21
21
  }
22
- const setupNxCloud = await (0, connect_to_nx_cloud_1.connectExistingRepoToNxCloudPrompt)('setupViewLogs');
22
+ const setupNxCloud = await (0, connect_to_nx_cloud_1.connectExistingRepoToNxCloudPrompt)('view-logs', 'setupViewLogs');
23
23
  if (!setupNxCloud) {
24
24
  return;
25
25
  }
@@ -120,6 +120,7 @@ function nxCliPath() {
120
120
  },
121
121
  license: 'MIT',
122
122
  });
123
+ (0, package_manager_1.copyPackageManagerConfigurationFiles)(workspace_root_1.workspaceRoot, tmpDir);
123
124
  if (pmc.preInstall) {
124
125
  // ensure package.json and repo in tmp folder is set to a proper package manager state
125
126
  (0, child_process_2.execSync)(pmc.preInstall, {
@@ -53,15 +53,22 @@ function getExecutorInformation(nodeModule, executor, root, projects) {
53
53
  throw new Error(`Unable to resolve ${nodeModule}:${executor}.\n${e.message}`);
54
54
  }
55
55
  }
56
- function readExecutorJson(nodeModule, executor, root, projects) {
56
+ function readExecutorJson(nodeModule, executor, root, projects, extraRequirePaths = []) {
57
57
  const { json: packageJson, path: packageJsonPath } = (0, plugins_1.readPluginPackageJson)(nodeModule, projects, root
58
- ? [root, __dirname, process.cwd(), ...(0, installation_directory_1.getNxRequirePaths)()]
59
- : [__dirname, process.cwd(), ...(0, installation_directory_1.getNxRequirePaths)()]);
58
+ ? [
59
+ root,
60
+ __dirname,
61
+ process.cwd(),
62
+ ...(0, installation_directory_1.getNxRequirePaths)(),
63
+ ...extraRequirePaths,
64
+ ]
65
+ : [__dirname, process.cwd(), ...(0, installation_directory_1.getNxRequirePaths)(), ...extraRequirePaths]);
60
66
  const executorsFile = packageJson.executors ?? packageJson.builders;
61
67
  if (!executorsFile) {
62
68
  throw new Error(`The "${nodeModule}" package does not support Nx executors.`);
63
69
  }
64
- const executorsFilePath = require.resolve((0, path_1.join)((0, path_1.dirname)(packageJsonPath), executorsFile));
70
+ const basePath = (0, path_1.dirname)(packageJsonPath);
71
+ const executorsFilePath = require.resolve((0, path_1.join)(basePath, executorsFile));
65
72
  const executorsJson = (0, fileutils_1.readJsonFile)(executorsFilePath);
66
73
  const executorConfig = executorsJson.executors?.[executor] || executorsJson.builders?.[executor];
67
74
  if (!executorConfig) {
@@ -70,7 +77,9 @@ function readExecutorJson(nodeModule, executor, root, projects) {
70
77
  if (typeof executorConfig === 'string') {
71
78
  // Angular CLI can have a builder pointing to another package:builder
72
79
  const [packageName, executorName] = executorConfig.split(':');
73
- return readExecutorJson(packageName, executorName, root, projects);
80
+ return readExecutorJson(packageName, executorName, root, projects, [
81
+ basePath,
82
+ ]);
74
83
  }
75
84
  const isNgCompat = !executorsJson.executors?.[executor];
76
85
  return { executorsFilePath, executorConfig, isNgCompat };