nx 23.2.0-beta.3 → 23.2.0-beta.4

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.
Binary file
@@ -183,7 +183,8 @@ function getNodes(data, isV5) {
183
183
  }
184
184
  }
185
185
  const packageNames = new Set();
186
- for (const [key, snapshot] of Object.entries(data.packages)) {
186
+ // pnpm omits the packages block for workspace-only lockfiles (no external deps)
187
+ for (const [key, snapshot] of Object.entries(data.packages ?? {})) {
187
188
  let packageNameObj;
188
189
  const originalPackageName = extractNameFromKey(key, isV5);
189
190
  if (!originalPackageName) {
@@ -364,7 +365,8 @@ function getHoistedVersion(packageName, isV5, hoistedKeysByPackage) {
364
365
  }
365
366
  function getDependencies(data, keyMap, isV5, ctx) {
366
367
  const results = [];
367
- Object.keys(data.packages).forEach((key) => {
368
+ // pnpm omits the packages block for workspace-only lockfiles (no external deps)
369
+ Object.keys(data.packages ?? {}).forEach((key) => {
368
370
  const snapshot = data.packages[key];
369
371
  const nodes = keyMap.get(key);
370
372
  nodes.forEach((node) => {
@@ -225,19 +225,23 @@ function preparePackageInstallation(pkg, requiredVersion, packageManager) {
225
225
  // it into the temp dir, so the `-w` here resolves to the temp dir.
226
226
  const pmCommands = (0, package_manager_1.getPackageManagerCommand)(packageManager);
227
227
  const preInstallCommand = pmCommands.preInstall;
228
- // Omit peer dependencies from the temp install. `ensurePackage` puts the
228
+ // Keep peer dependencies out of the temp install. `ensurePackage` puts the
229
229
  // workspace's `node_modules` on `NODE_PATH`, so a loaded package resolves its
230
230
  // peers from the workspace instead of pulling its own (possibly incompatible)
231
231
  // copies into the temp dir.
232
- const omitPeerDependenciesFlag = packageManager === 'npm' || packageManager === 'bun'
233
- ? '--omit=peer'
234
- : packageManager === 'pnpm'
235
- ? '--config.auto-install-peers=false'
236
- : '';
232
+ //
233
+ // npm needs `--legacy-peer-deps` rather than `--omit=peer`: npm marks a package
234
+ // as a peer if anything in the tree peer-depends on it, so `--omit=peer` also
235
+ // prunes packages that are real dependencies. Bun's `--omit=peer` does not.
236
+ const skipPeerDependenciesFlags = {
237
+ npm: '--legacy-peer-deps',
238
+ bun: '--omit=peer',
239
+ pnpm: '--config.auto-install-peers=false',
240
+ };
237
241
  const installCommand = [
238
242
  pmCommands.addDev,
239
243
  `${pkg}@${requiredVersion}`,
240
- omitPeerDependenciesFlag,
244
+ skipPeerDependenciesFlags[packageManager],
241
245
  pmCommands.ignoreScriptsFlag,
242
246
  ]
243
247
  .filter(Boolean)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nx",
3
- "version": "23.2.0-beta.3",
3
+ "version": "23.2.0-beta.4",
4
4
  "private": false,
5
5
  "type": "commonjs",
6
6
  "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.",
@@ -61,11 +61,11 @@
61
61
  "ansi-styles": "4.3.0",
62
62
  "argparse": "2.0.1",
63
63
  "asynckit": "0.4.0",
64
- "axios": "1.16.1",
64
+ "axios": "1.18.1",
65
65
  "balanced-match": "4.0.3",
66
66
  "base64-js": "1.5.1",
67
67
  "bl": "4.1.0",
68
- "brace-expansion": "5.0.6",
68
+ "brace-expansion": "5.0.8",
69
69
  "buffer": "5.7.1",
70
70
  "bundle-name": "4.1.0",
71
71
  "call-bind-apply-helpers": "1.0.2",
@@ -181,16 +181,16 @@
181
181
  }
182
182
  },
183
183
  "optionalDependencies": {
184
- "@nx/nx-darwin-arm64": "23.2.0-beta.3",
185
- "@nx/nx-darwin-x64": "23.2.0-beta.3",
186
- "@nx/nx-freebsd-x64": "23.2.0-beta.3",
187
- "@nx/nx-linux-arm-gnueabihf": "23.2.0-beta.3",
188
- "@nx/nx-linux-arm64-gnu": "23.2.0-beta.3",
189
- "@nx/nx-linux-arm64-musl": "23.2.0-beta.3",
190
- "@nx/nx-linux-x64-gnu": "23.2.0-beta.3",
191
- "@nx/nx-linux-x64-musl": "23.2.0-beta.3",
192
- "@nx/nx-win32-arm64-msvc": "23.2.0-beta.3",
193
- "@nx/nx-win32-x64-msvc": "23.2.0-beta.3"
184
+ "@nx/nx-darwin-arm64": "23.2.0-beta.4",
185
+ "@nx/nx-darwin-x64": "23.2.0-beta.4",
186
+ "@nx/nx-freebsd-x64": "23.2.0-beta.4",
187
+ "@nx/nx-linux-arm-gnueabihf": "23.2.0-beta.4",
188
+ "@nx/nx-linux-arm64-gnu": "23.2.0-beta.4",
189
+ "@nx/nx-linux-arm64-musl": "23.2.0-beta.4",
190
+ "@nx/nx-linux-x64-gnu": "23.2.0-beta.4",
191
+ "@nx/nx-linux-x64-musl": "23.2.0-beta.4",
192
+ "@nx/nx-win32-arm64-msvc": "23.2.0-beta.4",
193
+ "@nx/nx-win32-x64-msvc": "23.2.0-beta.4"
194
194
  },
195
195
  "nx-migrations": {
196
196
  "migrations": "./migrations.json",