pnpm 9.0.4 → 9.0.6

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.
@@ -202,9 +202,9 @@ included:
202
202
  injectedDeps: {}
203
203
  layoutVersion: 5
204
204
  nodeLinker: hoisted
205
- packageManager: pnpm@9.0.3
205
+ packageManager: pnpm@9.0.5
206
206
  pendingBuilds: []
207
- prunedAt: Fri, 19 Apr 2024 01:02:47 GMT
207
+ prunedAt: Wed, 24 Apr 2024 13:15:00 GMT
208
208
  publicHoistPattern:
209
209
  - '*eslint*'
210
210
  - '*prettier*'
package/dist/pnpm.cjs CHANGED
@@ -3357,7 +3357,7 @@ var require_lib4 = __commonJS({
3357
3357
  var load_json_file_1 = __importDefault2(require_load_json_file());
3358
3358
  var defaultManifest = {
3359
3359
  name: true ? "pnpm" : "pnpm",
3360
- version: true ? "9.0.4" : "0.0.0"
3360
+ version: true ? "9.0.6" : "0.0.0"
3361
3361
  };
3362
3362
  var pkgJson;
3363
3363
  if (require.main == null) {
@@ -81011,9 +81011,9 @@ var require_lib55 = __commonJS({
81011
81011
  }
81012
81012
  });
81013
81013
 
81014
- // ../node_modules/.pnpm/@rushstack+worker-pool@0.4.9_@types+node@20.12.7/node_modules/@rushstack/worker-pool/lib/WorkerPool.js
81014
+ // ../node_modules/.pnpm/@rushstack+worker-pool@0.4.9_@types+node@18.19.31/node_modules/@rushstack/worker-pool/lib/WorkerPool.js
81015
81015
  var require_WorkerPool = __commonJS({
81016
- "../node_modules/.pnpm/@rushstack+worker-pool@0.4.9_@types+node@20.12.7/node_modules/@rushstack/worker-pool/lib/WorkerPool.js"(exports2) {
81016
+ "../node_modules/.pnpm/@rushstack+worker-pool@0.4.9_@types+node@18.19.31/node_modules/@rushstack/worker-pool/lib/WorkerPool.js"(exports2) {
81017
81017
  "use strict";
81018
81018
  Object.defineProperty(exports2, "__esModule", { value: true });
81019
81019
  exports2.WorkerPool = exports2.WORKER_ID_SYMBOL = void 0;
@@ -112132,6 +112132,25 @@ var require_parsePref2 = __commonJS({
112132
112132
  }
112133
112133
  });
112134
112134
 
112135
+ // ../resolving/git-resolver/lib/createGitHostedPkgId.js
112136
+ var require_createGitHostedPkgId = __commonJS({
112137
+ "../resolving/git-resolver/lib/createGitHostedPkgId.js"(exports2) {
112138
+ "use strict";
112139
+ Object.defineProperty(exports2, "__esModule", { value: true });
112140
+ exports2.createGitHostedPkgId = void 0;
112141
+ function createGitHostedPkgId({ repo, commit, path: path2 }) {
112142
+ let id = `${repo.includes("://") ? "" : "https://"}${repo}#${commit}`;
112143
+ if (!id.startsWith("git+"))
112144
+ id = `git+${id}`;
112145
+ if (path2) {
112146
+ id += `&path:${path2}`;
112147
+ }
112148
+ return id;
112149
+ }
112150
+ exports2.createGitHostedPkgId = createGitHostedPkgId;
112151
+ }
112152
+ });
112153
+
112135
112154
  // ../resolving/git-resolver/lib/index.js
112136
112155
  var require_lib79 = __commonJS({
112137
112156
  "../resolving/git-resolver/lib/index.js"(exports2) {
@@ -112140,10 +112159,14 @@ var require_lib79 = __commonJS({
112140
112159
  return mod && mod.__esModule ? mod : { "default": mod };
112141
112160
  };
112142
112161
  Object.defineProperty(exports2, "__esModule", { value: true });
112143
- exports2.createGitResolver = void 0;
112162
+ exports2.createGitResolver = exports2.createGitHostedPkgId = void 0;
112144
112163
  var graceful_git_1 = __importDefault2(require_graceful_git());
112145
112164
  var semver_12 = __importDefault2(require_semver2());
112146
112165
  var parsePref_1 = require_parsePref2();
112166
+ var createGitHostedPkgId_1 = require_createGitHostedPkgId();
112167
+ Object.defineProperty(exports2, "createGitHostedPkgId", { enumerable: true, get: function() {
112168
+ return createGitHostedPkgId_1.createGitHostedPkgId;
112169
+ } });
112147
112170
  function createGitResolver(opts) {
112148
112171
  return async function resolveGit(wantedDependency) {
112149
112172
  const parsedSpec = await (0, parsePref_1.parsePref)(wantedDependency.pref);
@@ -112177,10 +112200,7 @@ var require_lib79 = __commonJS({
112177
112200
  id += `#path:${resolution.path}`;
112178
112201
  }
112179
112202
  } else {
112180
- id = `${resolution.repo.startsWith("git+") ? "" : "git+"}${resolution.repo}#${resolution.commit}`;
112181
- if (resolution.path) {
112182
- id += `&path:${resolution.path}`;
112183
- }
112203
+ id = (0, createGitHostedPkgId_1.createGitHostedPkgId)(resolution);
112184
112204
  }
112185
112205
  return {
112186
112206
  id,
@@ -113952,6 +113972,7 @@ var require_lockfileFormatConverters = __commonJS({
113952
113972
  Object.defineProperty(exports2, "__esModule", { value: true });
113953
113973
  exports2.convertLockfileV9ToLockfileObject = exports2.convertToLockfileObject = exports2.convertToLockfileFile = void 0;
113954
113974
  var dependency_path_1 = require_lib87();
113975
+ var git_resolver_1 = require_lib79();
113955
113976
  var types_1 = require_lib29();
113956
113977
  var equals_1 = __importDefault2(require_equals2());
113957
113978
  var isEmpty_1 = __importDefault2(require_isEmpty2());
@@ -113959,6 +113980,7 @@ var require_lockfileFormatConverters = __commonJS({
113959
113980
  var omit_1 = __importDefault2(require_omit());
113960
113981
  var pickBy_1 = __importDefault2(require_pickBy());
113961
113982
  var pick_1 = __importDefault2(require_pick());
113983
+ var constants_1 = require_lib6();
113962
113984
  function convertToLockfileFile(lockfile, opts) {
113963
113985
  const packages = {};
113964
113986
  const snapshots = {};
@@ -113992,7 +114014,7 @@ var require_lockfileFormatConverters = __commonJS({
113992
114014
  ...lockfile,
113993
114015
  snapshots,
113994
114016
  packages,
113995
- lockfileVersion: lockfile.lockfileVersion.toString(),
114017
+ lockfileVersion: constants_1.LOCKFILE_VERSION,
113996
114018
  importers: mapValues(lockfile.importers, convertProjectSnapshotToInlineSpecifiersFormat)
113997
114019
  };
113998
114020
  return normalizeLockfile(newLockfile, opts);
@@ -114127,21 +114149,20 @@ var require_lockfileFormatConverters = __commonJS({
114127
114149
  return;
114128
114150
  for (const [pkgId, pkg] of Object.entries(lockfile.packages ?? {})) {
114129
114151
  if (pkg.name) {
114130
- let newId;
114152
+ const { id, peersSuffix } = (0, dependency_path_1.parseDepPath)(pkgId);
114153
+ let newId = `${pkg.name}@`;
114131
114154
  if ("tarball" in pkg.resolution) {
114132
- newId = pkg.resolution.tarball;
114155
+ newId += pkg.resolution.tarball;
114133
114156
  if (pkg.resolution.path) {
114134
114157
  newId += `#path:${pkg.resolution.path}`;
114135
114158
  }
114136
114159
  } else if ("repo" in pkg.resolution) {
114137
- newId = `${pkg.resolution.repo.startsWith("git+") ? "" : "git+"}${pkg.resolution.repo}#${pkg.resolution.commit}`;
114138
- if (pkg.resolution.path) {
114139
- newId += `&path:${pkg.resolution.path}`;
114140
- }
114160
+ newId += (0, git_resolver_1.createGitHostedPkgId)(pkg.resolution);
114161
+ } else if ("directory" in pkg.resolution) {
114162
+ newId += id;
114141
114163
  } else {
114142
114164
  continue;
114143
114165
  }
114144
- const { id, peersSuffix } = (0, dependency_path_1.parseDepPath)(pkgId);
114145
114166
  oldIdToNewId[pkgId] = `${newId}${peersSuffix}`;
114146
114167
  if (id !== pkgId) {
114147
114168
  oldIdToNewId[id] = newId;
@@ -114168,17 +114189,36 @@ var require_lockfileFormatConverters = __commonJS({
114168
114189
  for (const depType of ["dependencies", "optionalDependencies"]) {
114169
114190
  for (const [alias, depPath] of Object.entries(pkg[depType] ?? {})) {
114170
114191
  if (oldIdToNewId[depPath]) {
114171
- pkg[depType][alias] = oldIdToNewId[depPath];
114192
+ if (oldIdToNewId[depPath].startsWith(`${alias}@`)) {
114193
+ pkg[depType][alias] = oldIdToNewId[depPath].substring(alias.length + 1);
114194
+ } else {
114195
+ pkg[depType][alias] = oldIdToNewId[depPath];
114196
+ }
114172
114197
  }
114173
114198
  }
114174
114199
  }
114175
114200
  }
114176
114201
  lockfile.packages = newLockfilePackages;
114202
+ if ((lockfile.dependencies != null || lockfile.devDependencies != null || lockfile.optionalDependencies != null) && !lockfile.importers?.["."]) {
114203
+ lockfile.importers = lockfile.importers ?? {};
114204
+ lockfile.importers["."] = {
114205
+ dependencies: lockfile.dependencies,
114206
+ devDependencies: lockfile.devDependencies,
114207
+ optionalDependencies: lockfile.optionalDependencies
114208
+ };
114209
+ delete lockfile.dependencies;
114210
+ delete lockfile.devDependencies;
114211
+ delete lockfile.optionalDependencies;
114212
+ }
114177
114213
  for (const importer of Object.values(lockfile.importers ?? {})) {
114178
114214
  for (const depType of ["dependencies", "optionalDependencies", "devDependencies"]) {
114179
114215
  for (const [alias, { version: version2 }] of Object.entries(importer[depType] ?? {})) {
114180
114216
  if (oldIdToNewId[version2]) {
114181
- importer[depType][alias].version = oldIdToNewId[version2];
114217
+ if (oldIdToNewId[version2].startsWith(`${alias}@`)) {
114218
+ importer[depType][alias].version = oldIdToNewId[version2].substring(alias.length + 1);
114219
+ } else {
114220
+ importer[depType][alias].version = oldIdToNewId[version2];
114221
+ }
114182
114222
  }
114183
114223
  }
114184
114224
  }
@@ -174640,6 +174680,40 @@ var require_nodeIdUtils = __commonJS({
174640
174680
  }
174641
174681
  });
174642
174682
 
174683
+ // ../pkg-manager/resolve-dependencies/lib/hoistPeers.js
174684
+ var require_hoistPeers = __commonJS({
174685
+ "../pkg-manager/resolve-dependencies/lib/hoistPeers.js"(exports2) {
174686
+ "use strict";
174687
+ var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
174688
+ return mod && mod.__esModule ? mod : { "default": mod };
174689
+ };
174690
+ Object.defineProperty(exports2, "__esModule", { value: true });
174691
+ exports2.hoistPeers = void 0;
174692
+ var semver_12 = __importDefault2(require_semver2());
174693
+ function hoistPeers(missingRequiredPeers, opts) {
174694
+ const dependencies = {};
174695
+ for (const [peerName, { range }] of missingRequiredPeers) {
174696
+ if (opts.allPreferredVersions[peerName]) {
174697
+ const versions = [];
174698
+ const nonVersions = [];
174699
+ for (const [spec, specType] of Object.entries(opts.allPreferredVersions[peerName])) {
174700
+ if (specType === "version") {
174701
+ versions.push(spec);
174702
+ } else {
174703
+ nonVersions.push(spec);
174704
+ }
174705
+ }
174706
+ dependencies[peerName] = [semver_12.default.maxSatisfying(versions, "*", { includePrerelease: true }), ...nonVersions].join(" || ");
174707
+ } else if (opts.autoInstallPeers) {
174708
+ dependencies[peerName] = range;
174709
+ }
174710
+ }
174711
+ return dependencies;
174712
+ }
174713
+ exports2.hoistPeers = hoistPeers;
174714
+ }
174715
+ });
174716
+
174643
174717
  // ../pkg-manager/resolve-dependencies/lib/wantedDepIsLocallyAvailable.js
174644
174718
  var require_wantedDepIsLocallyAvailable = __commonJS({
174645
174719
  "../pkg-manager/resolve-dependencies/lib/wantedDepIsLocallyAvailable.js"(exports2) {
@@ -174674,6 +174748,33 @@ var require_wantedDepIsLocallyAvailable = __commonJS({
174674
174748
  }
174675
174749
  });
174676
174750
 
174751
+ // ../pkg-manager/resolve-dependencies/lib/replaceVersionInPref.js
174752
+ var require_replaceVersionInPref = __commonJS({
174753
+ "../pkg-manager/resolve-dependencies/lib/replaceVersionInPref.js"(exports2) {
174754
+ "use strict";
174755
+ var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
174756
+ return mod && mod.__esModule ? mod : { "default": mod };
174757
+ };
174758
+ Object.defineProperty(exports2, "__esModule", { value: true });
174759
+ exports2.replaceVersionInPref = void 0;
174760
+ var semver_12 = __importDefault2(require_semver2());
174761
+ function replaceVersionInPref(pref, version2) {
174762
+ if (semver_12.default.validRange(pref)) {
174763
+ return version2;
174764
+ }
174765
+ if (!pref.startsWith("npm:")) {
174766
+ return pref;
174767
+ }
174768
+ const versionDelimiter = pref.lastIndexOf("@");
174769
+ if (versionDelimiter === -1 || pref.indexOf("/") > versionDelimiter) {
174770
+ return `${pref}@${version2}`;
174771
+ }
174772
+ return `${pref.substring(0, versionDelimiter + 1)}${version2}`;
174773
+ }
174774
+ exports2.replaceVersionInPref = replaceVersionInPref;
174775
+ }
174776
+ });
174777
+
174677
174778
  // ../pkg-manager/resolve-dependencies/lib/resolveDependencies.js
174678
174779
  var require_resolveDependencies = __commonJS({
174679
174780
  "../pkg-manager/resolve-dependencies/lib/resolveDependencies.js"(exports2) {
@@ -174737,7 +174838,9 @@ var require_resolveDependencies = __commonJS({
174737
174838
  var getNonDevWantedDependencies_1 = require_getNonDevWantedDependencies();
174738
174839
  var mergePeers_1 = require_mergePeers();
174739
174840
  var nodeIdUtils_1 = require_nodeIdUtils();
174841
+ var hoistPeers_1 = require_hoistPeers();
174740
174842
  var wantedDepIsLocallyAvailable_1 = require_wantedDepIsLocallyAvailable();
174843
+ var replaceVersionInPref_1 = require_replaceVersionInPref();
174741
174844
  var dependencyResolvedLogger = (0, logger_1.logger)("_dependency_resolved");
174742
174845
  var omitDepsFields = (0, omit_1.default)(["dependencies", "optionalDependencies", "peerDependencies", "peerDependenciesMeta"]);
174743
174846
  function nodeIdToParents(nodeId, resolvedPackagesByDepPath) {
@@ -174780,23 +174883,7 @@ var require_resolveDependencies = __commonJS({
174780
174883
  ]));
174781
174884
  if (!missingRequiredPeers.length && !missingOptionalPeerNames.length)
174782
174885
  break;
174783
- const dependencies = {};
174784
- for (const [peerName, { range }] of missingRequiredPeers) {
174785
- if (ctx.allPreferredVersions[peerName]) {
174786
- const versions = [];
174787
- const nonVersions = [];
174788
- for (const [spec, specType] of Object.entries(ctx.allPreferredVersions[peerName])) {
174789
- if (specType === "version") {
174790
- versions.push(spec);
174791
- } else {
174792
- nonVersions.push(spec);
174793
- }
174794
- }
174795
- dependencies[peerName] = [semver_12.default.maxSatisfying(versions, "*"), ...nonVersions].join(" || ");
174796
- } else if (ctx.autoInstallPeers) {
174797
- dependencies[peerName] = range;
174798
- }
174799
- }
174886
+ const dependencies = (0, hoistPeers_1.hoistPeers)(missingRequiredPeers, ctx);
174800
174887
  const nextMissingOptionalPeers = [];
174801
174888
  const optionalDependencies = {};
174802
174889
  for (const missingOptionalPeerName of missingOptionalPeerNames) {
@@ -175307,11 +175394,7 @@ var require_resolveDependencies = __commonJS({
175307
175394
  }
175308
175395
  try {
175309
175396
  if (!options.update && currentPkg.version && currentPkg.pkgId?.endsWith(`@${currentPkg.version}`)) {
175310
- if (semver_12.default.validRange(wantedDependency.pref)) {
175311
- wantedDependency.pref = currentPkg.version;
175312
- } else if (wantedDependency.pref.startsWith("npm:")) {
175313
- wantedDependency.pref = `${wantedDependency.pref.substring(0, wantedDependency.pref.lastIndexOf("@") + 1)}${currentPkg.version}`;
175314
- }
175397
+ wantedDependency.pref = (0, replaceVersionInPref_1.replaceVersionInPref)(wantedDependency.pref, currentPkg.version);
175315
175398
  }
175316
175399
  pkgResponse = await ctx.storeController.requestPackage(wantedDependency, {
175317
175400
  alwaysTryWorkspacePackages: ctx.linkWorkspacePackagesDepth >= options.currentDepth,
@@ -180039,8 +180122,7 @@ var require_createVersionsOverrider = __commonJS({
180039
180122
  }
180040
180123
  let linkFileTarget;
180041
180124
  if (override.newPref.startsWith("file:")) {
180042
- const pkgPath = override.newPref.substring(5);
180043
- linkFileTarget = path_1.default.isAbsolute(pkgPath) ? pkgPath : path_1.default.join(rootDir, pkgPath);
180125
+ linkFileTarget = override.newPref.substring(5);
180044
180126
  }
180045
180127
  return {
180046
180128
  ...override,
@@ -180901,7 +180983,8 @@ var require_install = __commonJS({
180901
180983
  throw new LockfileConfigMismatchError(outdatedLockfileSettingName);
180902
180984
  }
180903
180985
  }
180904
- let needsFullResolution = outdatedLockfileSettings || opts.fixLockfile || !ctx.wantedLockfile.lockfileVersion.toString().startsWith(`${constants_1.LOCKFILE_MAJOR_VERSION}.`) && ctx.wantedLockfile.lockfileVersion !== constants_1.LOCKFILE_VERSION_V6 || opts.forceFullResolution;
180986
+ const upToDateLockfileMajorVersion = ctx.wantedLockfile.lockfileVersion.toString().startsWith(`${constants_1.LOCKFILE_MAJOR_VERSION}.`);
180987
+ let needsFullResolution = outdatedLockfileSettings || opts.fixLockfile || !upToDateLockfileMajorVersion && ctx.wantedLockfile.lockfileVersion !== constants_1.LOCKFILE_VERSION_V6 || opts.forceFullResolution;
180905
180988
  if (needsFullResolution) {
180906
180989
  ctx.wantedLockfile.settings = {
180907
180990
  autoInstallPeers: opts.autoInstallPeers,
@@ -180990,7 +181073,7 @@ Note that in CI environments, this setting is enabled by default.`
180990
181073
  wantedLockfile: maybeOpts.ignorePackageManifest ? void 0 : ctx.wantedLockfile,
180991
181074
  useLockfile: opts.useLockfile && ctx.wantedLockfileIsModified
180992
181075
  });
180993
- if (opts.useLockfile && opts.saveLockfile && opts.mergeGitBranchLockfiles) {
181076
+ if (opts.useLockfile && opts.saveLockfile && opts.mergeGitBranchLockfiles || !upToDateLockfileMajorVersion && !opts.frozenLockfile) {
180994
181077
  await (0, lockfile_file_1.writeLockfiles)({
180995
181078
  currentLockfile: ctx.currentLockfile,
180996
181079
  currentLockfileDir: ctx.virtualStoreDir,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "pnpm",
3
3
  "description": "Fast, disk space efficient package manager",
4
- "version": "9.0.4",
4
+ "version": "9.0.6",
5
5
  "bin": {
6
6
  "pnpm": "bin/pnpm.cjs",
7
7
  "pnpx": "bin/pnpx.cjs"