nx 23.1.1 → 23.1.3

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 (128) hide show
  1. package/dist/release/changelog-renderer/index.js +4 -5
  2. package/dist/release/index.d.ts +1 -1
  3. package/dist/src/command-line/add/add.js +5 -0
  4. package/dist/src/command-line/affected/affected.js +1 -0
  5. package/dist/src/command-line/configure-ai-agents/configure-ai-agents.js +2 -2
  6. package/dist/src/command-line/import/import.js +1 -2
  7. package/dist/src/command-line/init/init-v2.js +4 -5
  8. package/dist/src/command-line/migrate/migrate.d.ts +4 -0
  9. package/dist/src/command-line/migrate/migrate.js +89 -26
  10. package/dist/src/command-line/release/changelog.js +5 -0
  11. package/dist/src/command-line/release/index.d.ts +1 -1
  12. package/dist/src/command-line/release/utils/git.js +1 -1
  13. package/dist/src/command-line/release/utils/release-graph.d.ts +17 -0
  14. package/dist/src/command-line/release/utils/release-graph.js +71 -19
  15. package/dist/src/command-line/release/utils/remote-release-clients/github.js +6 -0
  16. package/dist/src/command-line/release/version/release-group-processor.d.ts +24 -0
  17. package/dist/src/command-line/release/version/release-group-processor.js +80 -6
  18. package/dist/src/command-line/release/version/version-actions.d.ts +27 -2
  19. package/dist/src/command-line/release/version/version-actions.js +9 -1
  20. package/dist/src/command-line/release/version.js +9 -5
  21. package/dist/src/command-line/reset/reset.js +6 -1
  22. package/dist/src/command-line/run/run-one.js +1 -0
  23. package/dist/src/command-line/run-many/run-many.js +1 -0
  24. package/dist/src/command-line/watch/watch.js +13 -0
  25. package/dist/src/core/graph/main.js +1 -1
  26. package/dist/src/core/graph/styles.js +1 -1
  27. package/dist/src/daemon/client/client.d.ts +52 -1
  28. package/dist/src/daemon/client/client.js +160 -36
  29. package/dist/src/daemon/client/daemon-environment.d.ts +17 -0
  30. package/dist/src/daemon/client/daemon-environment.js +110 -2
  31. package/dist/src/daemon/client/daemon-socket-messenger.js +4 -0
  32. package/dist/src/daemon/message-types/daemon-message.d.ts +33 -0
  33. package/dist/src/daemon/message-types/daemon-message.js +48 -0
  34. package/dist/src/daemon/server/file-watching/file-watcher-sockets.d.ts +5 -0
  35. package/dist/src/daemon/server/file-watching/file-watcher-sockets.js +16 -0
  36. package/dist/src/daemon/server/latest-nx.js +5 -2
  37. package/dist/src/daemon/server/server.js +24 -0
  38. package/dist/src/daemon/server/shutdown-utils.d.ts +5 -0
  39. package/dist/src/daemon/server/shutdown-utils.js +11 -4
  40. package/dist/src/daemon/socket-utils.d.ts +1 -0
  41. package/dist/src/daemon/socket-utils.js +24 -3
  42. package/dist/src/daemon/tmp-dir.d.ts +43 -3
  43. package/dist/src/daemon/tmp-dir.js +437 -15
  44. package/dist/src/devkit-internals.d.ts +94 -4
  45. package/dist/src/devkit-internals.js +194 -5
  46. package/dist/src/generators/internal-utils/format-changed-files-with-prettier-if-available.d.ts +5 -0
  47. package/dist/src/generators/internal-utils/format-changed-files-with-prettier-if-available.js +9 -2
  48. package/dist/src/generators/tree.d.ts +4 -2
  49. package/dist/src/migrations/update-23-2-0/set-cache-on-executor-target-defaults.d.ts +12 -0
  50. package/dist/src/migrations/update-23-2-0/set-cache-on-executor-target-defaults.js +250 -0
  51. package/dist/src/migrations/update-23-2-0/set-cache-on-executor-target-defaults.md +50 -0
  52. package/dist/src/native/index.d.ts +10 -0
  53. package/dist/src/native/index.js +71 -28
  54. package/dist/src/native/native-bindings.js +1 -0
  55. package/dist/src/native/native-file-cache-location.d.ts +17 -1
  56. package/dist/src/native/native-file-cache-location.js +86 -12
  57. package/dist/src/native/nx.wasm32-wasi.debug.wasm +0 -0
  58. package/dist/src/native/nx.wasm32-wasi.wasm +0 -0
  59. package/dist/src/nx-cloud/utilities/get-cloud-options.js +5 -2
  60. package/dist/src/nx-cloud/utilities/onboarding.js +5 -2
  61. package/dist/src/plugins/js/lock-file/bun-parser.js +43 -10
  62. package/dist/src/plugins/js/lock-file/pnpm-parser.js +60 -0
  63. package/dist/src/plugins/js/lock-file/project-graph-pruning.js +14 -8
  64. package/dist/src/plugins/js/project-graph/affected/npm-packages.js +51 -20
  65. package/dist/src/plugins/js/project-graph/build-dependencies/target-project-locator.js +2 -0
  66. package/dist/src/project-graph/affected/affected-project-graph-models.d.ts +1 -1
  67. package/dist/src/project-graph/affected/affected-project-graph.d.ts +1 -1
  68. package/dist/src/project-graph/affected/affected-project-graph.js +2 -2
  69. package/dist/src/project-graph/affected/locators/project-glob-changes.js +5 -2
  70. package/dist/src/project-graph/error-types.d.ts +12 -1
  71. package/dist/src/project-graph/error-types.js +27 -2
  72. package/dist/src/project-graph/plugins/isolation/isolated-plugin.d.ts +1 -0
  73. package/dist/src/project-graph/plugins/isolation/isolated-plugin.js +18 -1
  74. package/dist/src/project-graph/plugins/isolation/messaging.d.ts +16 -3
  75. package/dist/src/project-graph/plugins/isolation/messaging.js +3 -0
  76. package/dist/src/project-graph/plugins/isolation/plugin-worker.js +58 -8
  77. package/dist/src/project-graph/project-graph.js +20 -0
  78. package/dist/src/project-graph/utils/project-configuration/project-nodes-manager.js +5 -1
  79. package/dist/src/project-graph/utils/project-configuration/target-normalization.js +133 -3
  80. package/dist/src/tasks-runner/task-env.js +5 -2
  81. package/dist/src/tasks-runner/utils.js +2 -6
  82. package/dist/src/utils/assert-workspace-validity.js +7 -2
  83. package/dist/src/utils/fileutils.d.ts +5 -0
  84. package/dist/src/utils/fileutils.js +7 -2
  85. package/dist/src/utils/git-worktrees.d.ts +30 -0
  86. package/dist/src/utils/git-worktrees.js +212 -0
  87. package/dist/src/utils/ignore.d.ts +128 -1
  88. package/dist/src/utils/ignore.js +182 -12
  89. package/dist/src/utils/long-running-target.d.ts +10 -0
  90. package/dist/src/utils/long-running-target.js +19 -0
  91. package/dist/src/utils/min-release-age/behavior/bun.js +7 -11
  92. package/dist/src/utils/min-release-age/behavior/npm.js +5 -2
  93. package/dist/src/utils/min-release-age/packument.js +1 -1
  94. package/dist/src/utils/nx-tmp-dir.d.ts +18 -0
  95. package/dist/src/utils/nx-tmp-dir.js +40 -0
  96. package/dist/src/utils/owned-private-dir.d.ts +132 -0
  97. package/dist/src/utils/owned-private-dir.js +323 -0
  98. package/dist/src/utils/package-manager-config/bunfig.d.ts +14 -0
  99. package/dist/src/utils/package-manager-config/bunfig.js +49 -0
  100. package/dist/src/utils/package-manager-config/npmrc.d.ts +23 -0
  101. package/dist/src/utils/package-manager-config/npmrc.js +124 -0
  102. package/dist/src/utils/package-manager-config/pnpm-config.d.ts +17 -0
  103. package/dist/src/utils/package-manager-config/pnpm-config.js +60 -0
  104. package/dist/src/utils/package-manager.d.ts +21 -2
  105. package/dist/src/utils/package-manager.js +244 -47
  106. package/dist/src/utils/provenance.js +6 -14
  107. package/dist/src/utils/registry-config/bun.d.ts +2 -0
  108. package/dist/src/utils/registry-config/bun.js +257 -0
  109. package/dist/src/utils/registry-config/index.d.ts +13 -0
  110. package/dist/src/utils/registry-config/index.js +102 -0
  111. package/dist/src/utils/registry-config/pnpm.d.ts +2 -0
  112. package/dist/src/utils/registry-config/pnpm.js +1551 -0
  113. package/dist/src/utils/registry-config/utils.d.ts +195 -0
  114. package/dist/src/utils/registry-config/utils.js +496 -0
  115. package/dist/src/utils/registry-config/yarn-berry.d.ts +2 -0
  116. package/dist/src/utils/registry-config/yarn-berry.js +612 -0
  117. package/dist/src/utils/registry-config/yarn-classic.d.ts +2 -0
  118. package/dist/src/utils/registry-config/yarn-classic.js +1001 -0
  119. package/dist/src/utils/safe-spawn.d.ts +24 -0
  120. package/dist/src/utils/safe-spawn.js +104 -0
  121. package/dist/src/utils/shell-quoting.d.ts +15 -0
  122. package/dist/src/utils/shell-quoting.js +35 -0
  123. package/dist/src/utils/wait-for-socket-connection.d.ts +11 -0
  124. package/dist/src/utils/wait-for-socket-connection.js +14 -8
  125. package/migrations.json +6 -0
  126. package/package.json +12 -12
  127. package/dist/src/utils/min-release-age/npmrc.d.ts +0 -15
  128. package/dist/src/utils/min-release-age/npmrc.js +0 -45
@@ -0,0 +1,13 @@
1
+ import { type NpmConfigEnv } from './utils';
2
+ import type { PackageManager } from '../package-manager';
3
+ export type { NpmConfigEnv } from './utils';
4
+ export { getPackageScope, mergeNpmConfigEnv, ignoresNpmConfigEnv, } from './utils';
5
+ /**
6
+ * Computes the npm_config_* environment entries a spawned `npm view`/`npm pack`
7
+ * (or a pre-v11 `pnpm view`, which passes through to npm) needs so its registry,
8
+ * auth and TLS resolution reproduces what the workspace's package manager would
9
+ * do for `packageName`. Returns an empty object when nothing needs bridging (npm
10
+ * workspaces, or config npm already resolves identically on its own) and when
11
+ * resolution fails, which is warned about rather than thrown.
12
+ */
13
+ export declare function getNpmSpawnRegistryEnv(packageName: string, root: string, packageManager: PackageManager, packageManagerVersion: string | null): NpmConfigEnv;
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ignoresNpmConfigEnv = exports.mergeNpmConfigEnv = exports.getPackageScope = void 0;
4
+ exports.getNpmSpawnRegistryEnv = getNpmSpawnRegistryEnv;
5
+ const semver_1 = require("semver");
6
+ const logger_1 = require("../logger");
7
+ const bun_1 = require("./bun");
8
+ const pnpm_1 = require("./pnpm");
9
+ const yarn_berry_1 = require("./yarn-berry");
10
+ const yarn_classic_1 = require("./yarn-classic");
11
+ const utils_1 = require("./utils");
12
+ var utils_2 = require("./utils");
13
+ Object.defineProperty(exports, "getPackageScope", { enumerable: true, get: function () { return utils_2.getPackageScope; } });
14
+ Object.defineProperty(exports, "mergeNpmConfigEnv", { enumerable: true, get: function () { return utils_2.mergeNpmConfigEnv; } });
15
+ Object.defineProperty(exports, "ignoresNpmConfigEnv", { enumerable: true, get: function () { return utils_2.ignoresNpmConfigEnv; } });
16
+ /**
17
+ * Computes the npm_config_* environment entries a spawned `npm view`/`npm pack`
18
+ * (or a pre-v11 `pnpm view`, which passes through to npm) needs so its registry,
19
+ * auth and TLS resolution reproduces what the workspace's package manager would
20
+ * do for `packageName`. Returns an empty object when nothing needs bridging (npm
21
+ * workspaces, or config npm already resolves identically on its own) and when
22
+ * resolution fails, which is warned about rather than thrown.
23
+ */
24
+ function getNpmSpawnRegistryEnv(packageName, root, packageManager, packageManagerVersion) {
25
+ try {
26
+ const env = resolveSpawnRegistryEnv(packageName, root, packageManager, packageManagerVersion);
27
+ reconcileScopedRegistryKey(env, packageName);
28
+ return env;
29
+ }
30
+ catch (e) {
31
+ // The warning omits the cause because an rc parse error quotes the lines
32
+ // around the fault, which in these files is credential material.
33
+ warnUnresolvedConfig(packageManager);
34
+ logger_1.logger.verbose(`Failed to resolve the ${packageManager} registry configuration; falling back to npm's own resolution.`, e);
35
+ return {};
36
+ }
37
+ }
38
+ function resolveSpawnRegistryEnv(packageName, root, packageManager, packageManagerVersion) {
39
+ switch (packageManager) {
40
+ case 'npm':
41
+ // npm resolves its own config; the spawned npm IS the package manager.
42
+ return {};
43
+ case 'pnpm':
44
+ if (!packageManagerVersion) {
45
+ // Which surfaces pnpm honors depends on its version.
46
+ warnUnknownVersion('pnpm', 'a registry configured only in pnpm-workspace.yaml');
47
+ return {};
48
+ }
49
+ return (0, pnpm_1.getPnpmSpawnRegistryEnv)(packageName, root, packageManagerVersion);
50
+ case 'yarn':
51
+ if (!packageManagerVersion) {
52
+ // Without the version we cannot tell classic from berry.
53
+ warnUnknownVersion('yarn', 'a registry configured only in .yarnrc.yml');
54
+ return {};
55
+ }
56
+ return (0, semver_1.major)(packageManagerVersion) >= 2
57
+ ? (0, yarn_berry_1.getYarnBerrySpawnRegistryEnv)(packageName, root, packageManagerVersion)
58
+ : (0, yarn_classic_1.getYarnClassicSpawnRegistryEnv)(packageName, root);
59
+ case 'bun':
60
+ return (0, bun_1.getBunSpawnRegistryEnv)(packageName, root, packageManagerVersion);
61
+ default: {
62
+ // getNpmSpawnRegistryEnv catches this and falls open to no bridging.
63
+ const _exhaustive = packageManager;
64
+ throw new Error(`Unhandled package manager: ${_exhaustive}`);
65
+ }
66
+ }
67
+ }
68
+ // npm's loadEnv lowercases an env key and rewrites its non-leading `_` to `-`,
69
+ // but looks @scope:registry up verbatim, so a bridged override for such a scope
70
+ // is never found. The command targets this package, so redirect the default.
71
+ function reconcileScopedRegistryKey(env, packageName) {
72
+ const scope = (0, utils_1.getPackageScope)(packageName);
73
+ if (!scope) {
74
+ return;
75
+ }
76
+ const scopedRegistry = env[`npm_config_${scope}:registry`];
77
+ if (!scopedRegistry) {
78
+ return;
79
+ }
80
+ const key = `${scope}:registry`;
81
+ if ((0, utils_1.normalizeNpmConfigKey)(key) !== key) {
82
+ (0, utils_1.setRegistry)(env, scopedRegistry);
83
+ }
84
+ }
85
+ const warnedUnresolvedConfigs = new Set();
86
+ // Reached by a failed read and equally by a malformed value the read returned,
87
+ // so the wording stays on resolution rather than naming a file.
88
+ function warnUnresolvedConfig(packageManager) {
89
+ if (warnedUnresolvedConfigs.has(packageManager)) {
90
+ return;
91
+ }
92
+ warnedUnresolvedConfigs.add(packageManager);
93
+ logger_1.logger.warn(`Could not resolve the ${packageManager} configuration; packages will be fetched using npm's own registry resolution, which may differ from ${packageManager}'s. Run with NX_VERBOSE_LOGGING=true for the cause.`);
94
+ }
95
+ const warnedUnknownVersions = new Set();
96
+ function warnUnknownVersion(packageManager, example) {
97
+ if (warnedUnknownVersions.has(packageManager)) {
98
+ return;
99
+ }
100
+ warnedUnknownVersions.add(packageManager);
101
+ logger_1.logger.warn(`Could not determine the ${packageManager} version; skipping ${packageManager} registry configuration when fetching packages. They will be fetched using npm's own registry resolution, which may differ from ${packageManager}'s (for example, ${example}).`);
102
+ }
@@ -0,0 +1,2 @@
1
+ import { type NpmConfigEnv } from './utils';
2
+ export declare function getPnpmSpawnRegistryEnv(packageName: string, root: string, pnpmVersion: string | null): NpmConfigEnv;