nx 19.6.0-canary.20240724-684d2a9 → 19.6.0-canary.20240726-b3c67de

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.
Files changed (54) hide show
  1. package/bin/nx-cloud.d.ts +2 -1
  2. package/bin/nx-cloud.js +9 -17
  3. package/package.json +13 -13
  4. package/src/command-line/list/list.js +10 -14
  5. package/src/command-line/migrate/migrate.js +19 -7
  6. package/src/command-line/release/command-object.js +5 -21
  7. package/src/command-line/report/report.d.ts +1 -0
  8. package/src/command-line/report/report.js +14 -9
  9. package/src/command-line/reset/command-object.d.ts +1 -0
  10. package/src/command-line/reset/command-object.js +4 -0
  11. package/src/command-line/reset/reset.js +13 -0
  12. package/src/command-line/run/run.js +2 -14
  13. package/src/daemon/socket-utils.js +1 -1
  14. package/src/daemon/tmp-dir.d.ts +1 -1
  15. package/src/daemon/tmp-dir.js +3 -2
  16. package/src/generators/internal-utils/format-changed-files-with-prettier-if-available.d.ts +6 -0
  17. package/src/generators/internal-utils/format-changed-files-with-prettier-if-available.js +15 -5
  18. package/src/migrations/update-16-0-0/update-nx-cloud-runner.js +2 -0
  19. package/src/migrations/update-18-0-0/disable-crystal-for-existing-workspaces.d.ts +1 -1
  20. package/src/migrations/update-18-0-0/disable-crystal-for-existing-workspaces.js +3 -1
  21. package/src/native/index.d.ts +2 -0
  22. package/src/native/native-bindings.js +1 -0
  23. package/src/native/nx.wasi.cjs +35 -33
  24. package/src/native/nx.wasm32-wasi.wasm +0 -0
  25. package/src/nx-cloud/generators/connect-to-nx-cloud/connect-to-nx-cloud.js +2 -10
  26. package/src/nx-cloud/utilities/client.d.ts +10 -0
  27. package/src/nx-cloud/utilities/client.js +35 -0
  28. package/src/nx-cloud/utilities/url-shorten.d.ts +2 -2
  29. package/src/nx-cloud/utilities/url-shorten.js +13 -6
  30. package/src/tasks-runner/task-env.js +3 -2
  31. package/src/tasks-runner/utils.js +9 -5
  32. package/src/utils/chunkify.d.ts +10 -0
  33. package/src/utils/chunkify.js +19 -12
  34. package/src/utils/command-line-utils.d.ts +3 -0
  35. package/src/utils/command-line-utils.js +11 -7
  36. package/src/utils/git-utils.js +14 -4
  37. package/src/utils/plugins/core-plugins.d.ts +6 -3
  38. package/src/utils/plugins/core-plugins.js +107 -115
  39. package/src/utils/plugins/index.d.ts +4 -4
  40. package/src/utils/plugins/index.js +7 -8
  41. package/src/utils/plugins/installed-plugins.d.ts +2 -3
  42. package/src/utils/plugins/installed-plugins.js +4 -31
  43. package/src/utils/plugins/local-plugins.d.ts +2 -3
  44. package/src/utils/plugins/local-plugins.js +2 -29
  45. package/src/utils/plugins/output.d.ts +5 -0
  46. package/src/utils/plugins/output.js +104 -0
  47. package/src/utils/plugins/plugin-capabilities.d.ts +12 -2
  48. package/src/utils/plugins/plugin-capabilities.js +2 -87
  49. package/src/utils/plugins/community-plugins.d.ts +0 -2
  50. package/src/utils/plugins/community-plugins.js +0 -28
  51. package/src/utils/plugins/models.d.ts +0 -22
  52. package/src/utils/plugins/models.js +0 -2
  53. package/src/utils/plugins/shared.d.ts +0 -1
  54. package/src/utils/plugins/shared.js +0 -7
package/bin/nx-cloud.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  #!/usr/bin/env node
2
- export {};
2
+ import type { CloudTaskRunnerOptions } from '../src/nx-cloud/nx-cloud-tasks-runner-shell';
3
+ export declare function invokeCommandWithNxCloudClient(options: CloudTaskRunnerOptions): Promise<any>;
package/bin/nx-cloud.js CHANGED
@@ -1,38 +1,30 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- const resolution_helpers_1 = require("../src/nx-cloud/resolution-helpers");
4
+ exports.invokeCommandWithNxCloudClient = invokeCommandWithNxCloudClient;
5
5
  const get_cloud_options_1 = require("../src/nx-cloud/utilities/get-cloud-options");
6
6
  const update_manager_1 = require("../src/nx-cloud/update-manager");
7
7
  const output_1 = require("../src/utils/output");
8
+ const client_1 = require("../src/nx-cloud/utilities/client");
8
9
  const command = process.argv[2];
9
10
  const options = (0, get_cloud_options_1.getCloudOptions)();
10
11
  Promise.resolve().then(async () => invokeCommandWithNxCloudClient(options));
11
12
  async function invokeCommandWithNxCloudClient(options) {
12
13
  try {
13
- const { nxCloudClient } = await (0, update_manager_1.verifyOrUpdateNxCloudClient)(options);
14
- const paths = (0, resolution_helpers_1.findAncestorNodeModules)(__dirname, []);
15
- nxCloudClient.configureLightClientRequire()(paths);
16
- if (command in nxCloudClient.commands) {
17
- nxCloudClient.commands[command]()
18
- .then(() => process.exit(0))
19
- .catch((e) => {
20
- console.error(e);
21
- process.exit(1);
22
- });
23
- }
24
- else {
14
+ const client = await (0, client_1.getCloudClient)(options);
15
+ client.invoke(command);
16
+ }
17
+ catch (e) {
18
+ if (e instanceof client_1.UnknownCommandError) {
25
19
  output_1.output.error({
26
- title: `Unknown Command "${command}"`,
20
+ title: `Unknown Command "${e.command}"`,
27
21
  });
28
22
  output_1.output.log({
29
23
  title: 'Available Commands:',
30
- bodyLines: Object.keys(nxCloudClient.commands).map((c) => `- ${c}`),
24
+ bodyLines: e.availableCommands.map((c) => `- ${c}`),
31
25
  });
32
26
  process.exit(1);
33
27
  }
34
- }
35
- catch (e) {
36
28
  const body = ['Cannot run commands from the `nx-cloud` CLI.'];
37
29
  if (e instanceof update_manager_1.NxCloudEnterpriseOutdatedError) {
38
30
  try {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nx",
3
- "version": "19.6.0-canary.20240724-684d2a9",
3
+ "version": "19.6.0-canary.20240726-b3c67de",
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": {
@@ -41,7 +41,7 @@
41
41
  "@yarnpkg/lockfile": "^1.1.0",
42
42
  "@yarnpkg/parsers": "3.0.0-rc.46",
43
43
  "@zkochan/js-yaml": "0.0.7",
44
- "axios": "^1.6.0",
44
+ "axios": "^1.7.2",
45
45
  "chalk": "^4.1.0",
46
46
  "cli-cursor": "3.1.0",
47
47
  "cli-spinners": "2.6.1",
@@ -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.6.0-canary.20240724-684d2a9"
74
+ "@nrwl/tao": "19.6.0-canary.20240726-b3c67de"
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.6.0-canary.20240724-684d2a9",
90
- "@nx/nx-darwin-arm64": "19.6.0-canary.20240724-684d2a9",
91
- "@nx/nx-linux-x64-gnu": "19.6.0-canary.20240724-684d2a9",
92
- "@nx/nx-linux-x64-musl": "19.6.0-canary.20240724-684d2a9",
93
- "@nx/nx-win32-x64-msvc": "19.6.0-canary.20240724-684d2a9",
94
- "@nx/nx-linux-arm64-gnu": "19.6.0-canary.20240724-684d2a9",
95
- "@nx/nx-linux-arm64-musl": "19.6.0-canary.20240724-684d2a9",
96
- "@nx/nx-linux-arm-gnueabihf": "19.6.0-canary.20240724-684d2a9",
97
- "@nx/nx-win32-arm64-msvc": "19.6.0-canary.20240724-684d2a9",
98
- "@nx/nx-freebsd-x64": "19.6.0-canary.20240724-684d2a9"
89
+ "@nx/nx-darwin-x64": "19.6.0-canary.20240726-b3c67de",
90
+ "@nx/nx-darwin-arm64": "19.6.0-canary.20240726-b3c67de",
91
+ "@nx/nx-linux-x64-gnu": "19.6.0-canary.20240726-b3c67de",
92
+ "@nx/nx-linux-x64-musl": "19.6.0-canary.20240726-b3c67de",
93
+ "@nx/nx-win32-x64-msvc": "19.6.0-canary.20240726-b3c67de",
94
+ "@nx/nx-linux-arm64-gnu": "19.6.0-canary.20240726-b3c67de",
95
+ "@nx/nx-linux-arm64-musl": "19.6.0-canary.20240726-b3c67de",
96
+ "@nx/nx-linux-arm-gnueabihf": "19.6.0-canary.20240726-b3c67de",
97
+ "@nx/nx-win32-arm64-msvc": "19.6.0-canary.20240726-b3c67de",
98
+ "@nx/nx-freebsd-x64": "19.6.0-canary.20240726-b3c67de"
99
99
  },
100
100
  "nx-migrations": {
101
101
  "migrations": "./migrations.json",
@@ -1,12 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.listHandler = listHandler;
4
- const workspace_root_1 = require("../../utils/workspace-root");
4
+ const nx_json_1 = require("../../config/nx-json");
5
+ const project_graph_1 = require("../../project-graph/project-graph");
5
6
  const output_1 = require("../../utils/output");
6
7
  const plugins_1 = require("../../utils/plugins");
7
- const local_plugins_1 = require("../../utils/plugins/local-plugins");
8
- const project_graph_1 = require("../../project-graph/project-graph");
9
- const nx_json_1 = require("../../config/nx-json");
8
+ const workspace_root_1 = require("../../utils/workspace-root");
10
9
  /**
11
10
  * List available plugins or capabilities within a specific plugin
12
11
  *
@@ -16,31 +15,28 @@ const nx_json_1 = require("../../config/nx-json");
16
15
  *
17
16
  */
18
17
  async function listHandler(args) {
19
- const nxJson = (0, nx_json_1.readNxJson)();
20
18
  const projectGraph = await (0, project_graph_1.createProjectGraphAsync)({ exitOnError: true });
21
19
  const projects = (0, project_graph_1.readProjectsConfigurationFromProjectGraph)(projectGraph);
22
20
  if (args.plugin) {
23
21
  await (0, plugins_1.listPluginCapabilities)(args.plugin, projects.projects);
24
22
  }
25
23
  else {
26
- const corePlugins = (0, plugins_1.fetchCorePlugins)();
27
- const localPlugins = await (0, local_plugins_1.getLocalWorkspacePlugins)(projects, nxJson);
24
+ const nxJson = (0, nx_json_1.readNxJson)();
25
+ const localPlugins = await (0, plugins_1.getLocalWorkspacePlugins)(projects, nxJson);
28
26
  const installedPlugins = await (0, plugins_1.getInstalledPluginsAndCapabilities)(workspace_root_1.workspaceRoot, projects.projects);
29
27
  if (localPlugins.size) {
30
- (0, local_plugins_1.listLocalWorkspacePlugins)(localPlugins);
28
+ (0, plugins_1.listPlugins)(localPlugins, 'Local workspace plugins:');
31
29
  }
32
- (0, plugins_1.listInstalledPlugins)(installedPlugins);
33
- (0, plugins_1.listCorePlugins)(installedPlugins, corePlugins);
30
+ (0, plugins_1.listPlugins)(installedPlugins, 'Installed plugins:');
31
+ (0, plugins_1.listAlsoAvailableCorePlugins)(installedPlugins);
34
32
  output_1.output.note({
35
33
  title: 'Community Plugins',
36
34
  bodyLines: [
37
35
  'Looking for a technology / framework not listed above?',
38
36
  'There are many excellent plugins maintained by the Nx community.',
39
- 'Search for the one you need here: https://nx.dev/plugins/registry.',
37
+ 'Search for the one you need here: https://nx.dev/plugin-registry.',
40
38
  ],
41
39
  });
42
- output_1.output.note({
43
- title: `Use "nx list [plugin]" to find out more`,
44
- });
40
+ output_1.output.note({ title: `Use "nx list [plugin]" to find out more` });
45
41
  }
46
42
  }
@@ -30,6 +30,7 @@ const child_process_2 = require("../../utils/child-process");
30
30
  const client_1 = require("../../daemon/client/client");
31
31
  const nx_cloud_utils_1 = require("../../utils/nx-cloud-utils");
32
32
  const project_graph_1 = require("../../project-graph/project-graph");
33
+ const format_changed_files_with_prettier_if_available_1 = require("../../generators/internal-utils/format-changed-files-with-prettier-if-available");
33
34
  const execAsync = (0, util_1.promisify)(child_process_1.exec);
34
35
  function normalizeVersion(version) {
35
36
  const [semver, ...prereleaseTagParts] = version.split('-');
@@ -669,10 +670,10 @@ function readPackageMigrationConfig(packageName, dir) {
669
670
  };
670
671
  }
671
672
  }
672
- function createMigrationsFile(root, migrations) {
673
- (0, fileutils_1.writeJsonFile)((0, path_1.join)(root, 'migrations.json'), { migrations });
673
+ async function createMigrationsFile(root, migrations) {
674
+ await writeFormattedJsonFile((0, path_1.join)(root, 'migrations.json'), { migrations });
674
675
  }
675
- function updatePackageJson(root, updatedPackages) {
676
+ async function updatePackageJson(root, updatedPackages) {
676
677
  const packageJsonPath = (0, path_1.join)(root, 'package.json');
677
678
  if (!(0, fs_1.existsSync)(packageJsonPath)) {
678
679
  return;
@@ -694,7 +695,7 @@ function updatePackageJson(root, updatedPackages) {
694
695
  json[dependencyType][p] = updatedPackages[p].version;
695
696
  }
696
697
  });
697
- (0, fileutils_1.writeJsonFile)(packageJsonPath, json, {
698
+ await writeFormattedJsonFile(packageJsonPath, json, {
698
699
  appendNewLine: parseOptions.endsWithNewline,
699
700
  });
700
701
  }
@@ -719,7 +720,7 @@ async function updateInstallationDetails(root, updatedPackages) {
719
720
  }
720
721
  }
721
722
  }
722
- (0, fileutils_1.writeJsonFile)(nxJsonPath, nxJson, {
723
+ await writeFormattedJsonFile(nxJsonPath, nxJson, {
723
724
  appendNewLine: parseOptions.endsWithNewline,
724
725
  });
725
726
  }
@@ -765,10 +766,10 @@ async function generateMigrationsJsonAndUpdatePackageJson(root, opts) {
765
766
  excludeAppliedMigrations: opts.excludeAppliedMigrations,
766
767
  });
767
768
  const { migrations, packageUpdates, minVersionWithSkippedUpdates } = await migrator.migrate(opts.targetPackage, opts.targetVersion);
768
- updatePackageJson(root, packageUpdates);
769
+ await updatePackageJson(root, packageUpdates);
769
770
  await updateInstallationDetails(root, packageUpdates);
770
771
  if (migrations.length > 0) {
771
- createMigrationsFile(root, [
772
+ await createMigrationsFile(root, [
772
773
  ...addSplitConfigurationMigrationIfAvailable(from, packageUpdates),
773
774
  ...migrations,
774
775
  ]);
@@ -835,6 +836,17 @@ async function generateMigrationsJsonAndUpdatePackageJson(root, opts) {
835
836
  throw e;
836
837
  }
837
838
  }
839
+ async function writeFormattedJsonFile(filePath, content, options) {
840
+ const formattedContent = await (0, format_changed_files_with_prettier_if_available_1.formatFilesWithPrettierIfAvailable)([{ path: filePath, content: JSON.stringify(content) }], workspace_root_1.workspaceRoot, { silent: true });
841
+ if (formattedContent.has(filePath)) {
842
+ (0, fs_1.writeFileSync)(filePath, formattedContent.get(filePath), {
843
+ encoding: 'utf-8',
844
+ });
845
+ }
846
+ else {
847
+ (0, fileutils_1.writeJsonFile)(filePath, content, options);
848
+ }
849
+ }
838
850
  function addSplitConfigurationMigrationIfAvailable(from, packageJson) {
839
851
  if (!packageJson['@nrwl/workspace'])
840
852
  return [];
@@ -5,6 +5,7 @@ const yargs_1 = require("yargs");
5
5
  const nx_json_1 = require("../../config/nx-json");
6
6
  const logger_1 = require("../../utils/logger");
7
7
  const shared_options_1 = require("../yargs-utils/shared-options");
8
+ const command_line_utils_1 = require("../../utils/command-line-utils");
8
9
  exports.yargsReleaseCommand = {
9
10
  command: 'release',
10
11
  describe: 'Orchestrate versioning and publishing of applications and libraries',
@@ -223,27 +224,10 @@ const planCommand = {
223
224
  },
224
225
  };
225
226
  function coerceParallelOption(args) {
226
- if (args['parallel'] === 'false' || args['parallel'] === false) {
227
- return {
228
- ...args,
229
- parallel: 1,
230
- };
231
- }
232
- else if (args['parallel'] === 'true' ||
233
- args['parallel'] === true ||
234
- args['parallel'] === '') {
235
- return {
236
- ...args,
237
- parallel: Number(args['maxParallel'] || args['max-parallel'] || 3),
238
- };
239
- }
240
- else if (args['parallel'] !== undefined) {
241
- return {
242
- ...args,
243
- parallel: Number(args['parallel']),
244
- };
245
- }
246
- return args;
227
+ return {
228
+ ...args,
229
+ parallel: (0, command_line_utils_1.readParallelFromArgsAndEnv)(args),
230
+ };
247
231
  }
248
232
  function withGitCommitAndGitTagOptions(yargs) {
249
233
  return yargs
@@ -31,6 +31,7 @@ export interface ReportData {
31
31
  migrateTarget: string;
32
32
  };
33
33
  projectGraphError?: Error | null;
34
+ nativeTarget: string | null;
34
35
  }
35
36
  export declare function getReportData(): Promise<ReportData>;
36
37
  interface OutOfSyncPackageGroup {
@@ -43,14 +43,18 @@ const LINE_SEPARATOR = '---------------------------------------';
43
43
  *
44
44
  */
45
45
  async function reportHandler() {
46
- const { pm, pmVersion, localPlugins, communityPlugins, registeredPlugins, packageVersionsWeCareAbout, outOfSyncPackageGroup, projectGraphError, } = await getReportData();
47
- const bodyLines = [
48
- `Node : ${process.versions.node}`,
49
- `OS : ${process.platform}-${process.arch}`,
50
- `${pm.padEnd(7)}: ${pmVersion}`,
51
- ``,
46
+ const { pm, pmVersion, localPlugins, communityPlugins, registeredPlugins, packageVersionsWeCareAbout, outOfSyncPackageGroup, projectGraphError, nativeTarget, } = await getReportData();
47
+ const fields = [
48
+ ['Node', process.versions.node],
49
+ ['OS', `${process.platform}-${process.arch}`],
50
+ ['Native Target', nativeTarget ?? 'Unavailable'],
51
+ [pm, pmVersion],
52
52
  ];
53
- let padding = Math.max(...packageVersionsWeCareAbout.map((x) => x.package.length)) + 1;
53
+ let padding = Math.max(...fields.map((f) => f[0].length));
54
+ const bodyLines = fields.map(([field, value]) => `${field.padEnd(padding)} : ${value}`);
55
+ bodyLines.push('');
56
+ padding =
57
+ Math.max(...packageVersionsWeCareAbout.map((x) => x.package.length)) + 1;
54
58
  packageVersionsWeCareAbout.forEach((p) => {
55
59
  bodyLines.push(`${chalk.green(p.package.padEnd(padding))} : ${chalk.bold(p.version)}`);
56
60
  });
@@ -116,6 +120,7 @@ async function getReportData() {
116
120
  });
117
121
  }
118
122
  const outOfSyncPackageGroup = findMisalignedPackagesForPackage(nxPackageJson);
123
+ const native = isNativeAvailable();
119
124
  return {
120
125
  pm,
121
126
  pmVersion,
@@ -125,6 +130,7 @@ async function getReportData() {
125
130
  packageVersionsWeCareAbout,
126
131
  outOfSyncPackageGroup,
127
132
  projectGraphError,
133
+ nativeTarget: native ? native.getBinaryTarget() : null,
128
134
  };
129
135
  }
130
136
  async function tryGetProjectGraph() {
@@ -248,8 +254,7 @@ function findInstalledPackagesWeCareAbout() {
248
254
  }
249
255
  function isNativeAvailable() {
250
256
  try {
251
- require('../../native');
252
- return true;
257
+ return require('../../native');
253
258
  }
254
259
  catch {
255
260
  return false;
@@ -3,5 +3,6 @@ export type ResetCommandOptions = {
3
3
  onlyCache?: boolean;
4
4
  onlyDaemon?: boolean;
5
5
  onlyWorkspaceData?: boolean;
6
+ onlyCloud?: boolean;
6
7
  };
7
8
  export declare const yargsResetCommand: CommandModule<Record<string, unknown>, ResetCommandOptions>;
@@ -13,6 +13,10 @@ exports.yargsResetCommand = {
13
13
  .option('onlyDaemon', {
14
14
  description: 'Stops the Nx Daemon, it will be restarted fresh when the next Nx command is run.',
15
15
  type: 'boolean',
16
+ })
17
+ .option('onlyCloud', {
18
+ description: 'Resets the Nx Cloud client. NOTE: Does not clear the remote cache.',
19
+ type: 'boolean',
16
20
  })
17
21
  .option('onlyWorkspaceData', {
18
22
  description: 'Clears the workspace data directory. Used by Nx to store cached data about the current workspace (e.g. partial results, incremental data, etc)',
@@ -6,6 +6,8 @@ const client_1 = require("../../daemon/client/client");
6
6
  const cache_directory_1 = require("../../utils/cache-directory");
7
7
  const output_1 = require("../../utils/output");
8
8
  const native_file_cache_location_1 = require("../../native/native-file-cache-location");
9
+ const client_2 = require("../../nx-cloud/utilities/client");
10
+ const get_cloud_options_1 = require("../../nx-cloud/utilities/get-cloud-options");
9
11
  // Wait at max 5 seconds before giving up on a failing operation.
10
12
  const INCREMENTAL_BACKOFF_MAX_DURATION = 5000;
11
13
  // If an operation fails, wait 100ms before first retry.
@@ -61,6 +63,9 @@ async function resetHandler(args) {
61
63
  errors.push('Failed to clean up the workspace data directory.');
62
64
  }
63
65
  }
66
+ if (all || args.onlyCloud) {
67
+ await resetCloudClient();
68
+ }
64
69
  if (errors.length > 0) {
65
70
  output_1.output.error({
66
71
  title: 'Failed to reset the Nx workspace.',
@@ -77,6 +82,14 @@ async function resetHandler(args) {
77
82
  function killDaemon() {
78
83
  return client_1.daemonClient.stop();
79
84
  }
85
+ async function resetCloudClient() {
86
+ // Remove nx cloud marker files. This helps if the use happens to run `nx-cloud start-ci-run` or
87
+ // similar commands on their local machine.
88
+ try {
89
+ (await (0, client_2.getCloudClient)((0, get_cloud_options_1.getCloudOptions)())).invoke('cleanup');
90
+ }
91
+ catch { }
92
+ }
80
93
  function cleanupCacheEntries() {
81
94
  return incrementalBackoff(INCREMENTAL_BACKOFF_FIRST_DELAY, INCREMENTAL_BACKOFF_MAX_DURATION, () => {
82
95
  (0, fs_extra_1.rmSync)(cache_directory_1.cacheDir, { recursive: true, force: true });
@@ -35,20 +35,8 @@ async function* promiseToIterator(v) {
35
35
  yield await v;
36
36
  }
37
37
  async function iteratorToProcessStatusCode(i) {
38
- // This is a workaround to fix an issue that only happens with
39
- // the @angular-devkit/build-angular:browser builder. Starting
40
- // on version 12.0.1, a SASS compilation implementation was
41
- // introduced making use of workers and it's unref()-ing the worker
42
- // too early, causing the process to exit early in environments
43
- // like CI or when running Docker builds.
44
- const keepProcessAliveInterval = setInterval(() => { }, 1000);
45
- try {
46
- const { success } = await (0, async_iterator_1.getLastValueFromAsyncIterableIterator)(i);
47
- return success ? 0 : 1;
48
- }
49
- finally {
50
- clearInterval(keepProcessAliveInterval);
51
- }
38
+ const { success } = await (0, async_iterator_1.getLastValueFromAsyncIterableIterator)(i);
39
+ return success ? 0 : 1;
52
40
  }
53
41
  async function parseExecutorAndTarget({ project, target }, root, projectsConfigurations) {
54
42
  const proj = projectsConfigurations.projects[project];
@@ -25,7 +25,7 @@ const getForkedProcessOsSocketPath = (id) => {
25
25
  };
26
26
  exports.getForkedProcessOsSocketPath = getForkedProcessOsSocketPath;
27
27
  const getPluginOsSocketPath = (id) => {
28
- let path = (0, path_1.resolve)((0, path_1.join)((0, tmp_dir_1.getSocketDir)(), 'plugin' + id + '.sock'));
28
+ let path = (0, path_1.resolve)((0, path_1.join)((0, tmp_dir_1.getSocketDir)(true), 'plugin' + id + '.sock'));
29
29
  return exports.isWindows ? '\\\\.\\pipe\\nx\\' + (0, path_1.resolve)(path) : (0, path_1.resolve)(path);
30
30
  };
31
31
  exports.getPluginOsSocketPath = getPluginOsSocketPath;
@@ -8,5 +8,5 @@ export declare function isDaemonDisabled(): boolean;
8
8
  * We try to create a socket file in a tmp dir, but if it doesn't work because
9
9
  * for instance we don't have permissions, we create it in DAEMON_DIR_FOR_CURRENT_WORKSPACE
10
10
  */
11
- export declare function getSocketDir(): string;
11
+ export declare function getSocketDir(alreadyUnique?: boolean): string;
12
12
  export declare function removeSocketDir(): void;
@@ -51,9 +51,10 @@ function socketDirName() {
51
51
  * We try to create a socket file in a tmp dir, but if it doesn't work because
52
52
  * for instance we don't have permissions, we create it in DAEMON_DIR_FOR_CURRENT_WORKSPACE
53
53
  */
54
- function getSocketDir() {
54
+ function getSocketDir(alreadyUnique = false) {
55
55
  try {
56
- const dir = process.env.NX_DAEMON_SOCKET_DIR ?? socketDirName();
56
+ const dir = process.env.NX_DAEMON_SOCKET_DIR ??
57
+ (alreadyUnique ? tmp_1.tmpdir : socketDirName());
57
58
  (0, fs_extra_1.ensureDirSync)(dir);
58
59
  return dir;
59
60
  }
@@ -6,3 +6,9 @@ import type { Tree } from '../tree';
6
6
  export declare function formatChangedFilesWithPrettierIfAvailable(tree: Tree, options?: {
7
7
  silent?: boolean;
8
8
  }): Promise<void>;
9
+ export declare function formatFilesWithPrettierIfAvailable(files: {
10
+ path: string;
11
+ content: string | Buffer;
12
+ }[], root: string, options?: {
13
+ silent?: boolean;
14
+ }): Promise<Map<string, string>>;
@@ -1,23 +1,32 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.formatChangedFilesWithPrettierIfAvailable = formatChangedFilesWithPrettierIfAvailable;
4
+ exports.formatFilesWithPrettierIfAvailable = formatFilesWithPrettierIfAvailable;
4
5
  const path = require("path");
5
6
  /**
6
7
  * Formats all the created or updated files using Prettier
7
8
  * @param tree - the file system tree
8
9
  */
9
10
  async function formatChangedFilesWithPrettierIfAvailable(tree, options) {
11
+ const files = new Set(tree.listChanges().filter((file) => file.type !== 'DELETE'));
12
+ const results = await formatFilesWithPrettierIfAvailable(Array.from(files), tree.root, options);
13
+ for (const [path, content] of results) {
14
+ tree.write(path, content);
15
+ }
16
+ }
17
+ async function formatFilesWithPrettierIfAvailable(files, root, options) {
18
+ const results = new Map();
10
19
  let prettier;
11
20
  try {
12
21
  prettier = await Promise.resolve().then(() => require('prettier'));
13
22
  }
14
23
  catch { }
15
- if (!prettier)
16
- return;
17
- const files = new Set(tree.listChanges().filter((file) => file.type !== 'DELETE'));
24
+ if (!prettier) {
25
+ return results;
26
+ }
18
27
  await Promise.all(Array.from(files).map(async (file) => {
19
28
  try {
20
- const systemPath = path.join(tree.root, file.path);
29
+ const systemPath = path.join(root, file.path);
21
30
  let options = {
22
31
  filepath: systemPath,
23
32
  };
@@ -35,7 +44,7 @@ async function formatChangedFilesWithPrettierIfAvailable(tree, options) {
35
44
  if (support.ignored || !support.inferredParser) {
36
45
  return;
37
46
  }
38
- tree.write(file.path,
47
+ results.set(file.path,
39
48
  // In prettier v3 the format result is a promise
40
49
  await prettier.format(file.content.toString('utf-8'), options));
41
50
  }
@@ -45,4 +54,5 @@ async function formatChangedFilesWithPrettierIfAvailable(tree, options) {
45
54
  }
46
55
  }
47
56
  }));
57
+ return results;
48
58
  }
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.default = default_1;
4
4
  const project_configuration_1 = require("../../generators/utils/project-configuration");
5
5
  const json_1 = require("../../generators/utils/json");
6
+ const format_changed_files_with_prettier_if_available_1 = require("../../generators/internal-utils/format-changed-files-with-prettier-if-available");
6
7
  async function default_1(tree) {
7
8
  (0, json_1.updateJson)(tree, 'package.json', (json) => {
8
9
  if (json.dependencies && json.dependencies['@nrwl/nx-cloud']) {
@@ -24,4 +25,5 @@ async function default_1(tree) {
24
25
  }
25
26
  }
26
27
  (0, project_configuration_1.updateNxJson)(tree, nxJson);
28
+ await (0, format_changed_files_with_prettier_if_available_1.formatChangedFilesWithPrettierIfAvailable)(tree);
27
29
  }
@@ -1,2 +1,2 @@
1
1
  import { Tree } from '../../generators/tree';
2
- export default function migrate(tree: Tree): void;
2
+ export default function migrate(tree: Tree): Promise<void>;
@@ -2,8 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.default = migrate;
4
4
  const nx_json_1 = require("../../generators/utils/nx-json");
5
- function migrate(tree) {
5
+ const format_changed_files_with_prettier_if_available_1 = require("../../generators/internal-utils/format-changed-files-with-prettier-if-available");
6
+ async function migrate(tree) {
6
7
  const nxJson = (0, nx_json_1.readNxJson)(tree);
7
8
  nxJson.useInferencePlugins = false;
8
9
  (0, nx_json_1.updateNxJson)(tree, nxJson);
10
+ await (0, format_changed_files_with_prettier_if_available_1.formatChangedFilesWithPrettierIfAvailable)(tree);
9
11
  }
@@ -116,6 +116,8 @@ export interface FileSetInput {
116
116
 
117
117
  export declare export function findImports(projectFileMap: Record<string, Array<string>>): Array<ImportResult>
118
118
 
119
+ export declare export function getBinaryTarget(): string
120
+
119
121
  /**
120
122
  * Expands the given outputs into a list of existing files.
121
123
  * This is used when hashing outputs
@@ -372,6 +372,7 @@ module.exports.copy = nativeBinding.copy
372
372
  module.exports.EventType = nativeBinding.EventType
373
373
  module.exports.expandOutputs = nativeBinding.expandOutputs
374
374
  module.exports.findImports = nativeBinding.findImports
375
+ module.exports.getBinaryTarget = nativeBinding.getBinaryTarget
375
376
  module.exports.getFilesForOutputs = nativeBinding.getFilesForOutputs
376
377
  module.exports.hashArray = nativeBinding.hashArray
377
378
  module.exports.hashFile = nativeBinding.hashFile