pnpm 11.1.1 → 11.1.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.
Files changed (2) hide show
  1. package/dist/pnpm.mjs +508 -289
  2. package/package.json +1 -1
package/dist/pnpm.mjs CHANGED
@@ -1800,7 +1800,7 @@ var init_lib5 = __esm({
1800
1800
  "use strict";
1801
1801
  defaultManifest = {
1802
1802
  name: true ? "pnpm" : "pnpm",
1803
- version: true ? "11.1.1" : "0.0.0"
1803
+ version: true ? "11.1.2" : "0.0.0"
1804
1804
  };
1805
1805
  pkgJson = defaultManifest;
1806
1806
  packageManager = {
@@ -2159,8 +2159,13 @@ function convertEnginesRuntimeToDependencies(manifest, enginesFieldName, depende
2159
2159
  if ("webcontainer" in process.versions) {
2160
2160
  globalWarn(`Installation of ${runtimeName} versions is not supported in WebContainer`);
2161
2161
  } else {
2162
- manifest[dependenciesFieldName] ??= {};
2163
- manifest[dependenciesFieldName][runtimeName] = `runtime:${runtime.version}`;
2162
+ const deps = manifest[dependenciesFieldName] ??= {};
2163
+ Object.defineProperty(deps, runtimeName, {
2164
+ value: `runtime:${runtime.version}`,
2165
+ enumerable: true,
2166
+ writable: true,
2167
+ configurable: true
2168
+ });
2164
2169
  }
2165
2170
  }
2166
2171
  }
@@ -4244,22 +4249,22 @@ async function updateProjectManifestObject(prefix, packageManifest, packageSpecs
4244
4249
  const spec = packageSpec.bareSpecifier ?? findSpec(packageSpec.alias, packageManifest);
4245
4250
  if (spec) {
4246
4251
  packageManifest[packageSpec.saveType] = packageManifest[packageSpec.saveType] ?? {};
4247
- packageManifest[packageSpec.saveType][packageSpec.alias] = spec;
4252
+ defineDepEntry(packageManifest[packageSpec.saveType], packageSpec.alias, spec);
4248
4253
  for (const deptype of DEPENDENCIES_FIELDS) {
4249
4254
  if (deptype !== packageSpec.saveType) {
4250
- delete packageManifest[deptype]?.[packageSpec.alias];
4255
+ deleteDepEntry(packageManifest[deptype], packageSpec.alias);
4251
4256
  }
4252
4257
  }
4253
4258
  if (packageSpec.peer === true) {
4254
4259
  packageManifest.peerDependencies = packageManifest.peerDependencies ?? {};
4255
- packageManifest.peerDependencies[packageSpec.alias] = getPeerSpecifier(spec, packageSpec.resolvedVersion, packageSpec.pinnedVersion);
4260
+ defineDepEntry(packageManifest.peerDependencies, packageSpec.alias, getPeerSpecifier(spec, packageSpec.resolvedVersion, packageSpec.pinnedVersion));
4256
4261
  }
4257
4262
  }
4258
4263
  } else if (packageSpec.bareSpecifier) {
4259
4264
  const usedDepType = guessDependencyType(packageSpec.alias, packageManifest) ?? "dependencies";
4260
4265
  if (usedDepType !== "peerDependencies") {
4261
4266
  packageManifest[usedDepType] = packageManifest[usedDepType] ?? {};
4262
- packageManifest[usedDepType][packageSpec.alias] = packageSpec.bareSpecifier;
4267
+ defineDepEntry(packageManifest[usedDepType], packageSpec.alias, packageSpec.bareSpecifier);
4263
4268
  }
4264
4269
  }
4265
4270
  }
@@ -4271,10 +4276,31 @@ async function updateProjectManifestObject(prefix, packageManifest, packageSpecs
4271
4276
  }
4272
4277
  function findSpec(alias, manifest) {
4273
4278
  const foundDepType = guessDependencyType(alias, manifest);
4274
- return foundDepType && manifest[foundDepType][alias];
4279
+ if (foundDepType == null)
4280
+ return void 0;
4281
+ const deps = manifest[foundDepType];
4282
+ return Object.hasOwn(deps, alias) ? deps[alias] : void 0;
4275
4283
  }
4276
4284
  function guessDependencyType(alias, manifest) {
4277
- return DEPENDENCIES_OR_PEER_FIELDS.find((depField) => manifest[depField]?.[alias] === "" || Boolean(manifest[depField]?.[alias]));
4285
+ return DEPENDENCIES_OR_PEER_FIELDS.find((depField) => {
4286
+ const deps = manifest[depField];
4287
+ if (deps == null || !Object.hasOwn(deps, alias))
4288
+ return false;
4289
+ return deps[alias] === "" || Boolean(deps[alias]);
4290
+ });
4291
+ }
4292
+ function defineDepEntry(target2, alias, value) {
4293
+ Object.defineProperty(target2, alias, {
4294
+ value,
4295
+ enumerable: true,
4296
+ writable: true,
4297
+ configurable: true
4298
+ });
4299
+ }
4300
+ function deleteDepEntry(target2, alias) {
4301
+ if (target2 != null && Object.hasOwn(target2, alias)) {
4302
+ delete target2[alias];
4303
+ }
4278
4304
  }
4279
4305
  var import_semver2;
4280
4306
  var init_updateProjectManifestObject = __esm({
@@ -12180,7 +12206,7 @@ var require_npa = __commonJS({
12180
12206
  module2.exports.resolve = resolve3;
12181
12207
  module2.exports.Result = Result;
12182
12208
  var HostedGit3;
12183
- var semver53;
12209
+ var semver54;
12184
12210
  var path210;
12185
12211
  var validatePackageName2;
12186
12212
  var os15;
@@ -12435,9 +12461,9 @@ var require_npa = __commonJS({
12435
12461
  const spec = res.rawSpec === "" ? "latest" : res.rawSpec;
12436
12462
  res.saveSpec = null;
12437
12463
  res.fetchSpec = spec;
12438
- if (!semver53) semver53 = require_semver2();
12439
- const version2 = semver53.valid(spec, true);
12440
- const range = semver53.validRange(spec, true);
12464
+ if (!semver54) semver54 = require_semver2();
12465
+ const version2 = semver54.valid(spec, true);
12466
+ const range = semver54.validRange(spec, true);
12441
12467
  if (version2) {
12442
12468
  res.type = "version";
12443
12469
  } else if (range) {
@@ -22837,7 +22863,7 @@ var require_lib6 = __commonJS({
22837
22863
  var require_version_selector_type = __commonJS({
22838
22864
  "../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/version-selector-type/3.0.0/bb5374a17b8844b39694ff4483fb613e6fef31ded46a26ae6d88676a1b27fe57/node_modules/version-selector-type/index.js"(exports2, module2) {
22839
22865
  "use strict";
22840
- var semver53 = require_semver2();
22866
+ var semver54 = require_semver2();
22841
22867
  module2.exports = (selector) => versionSelectorType3(true, selector);
22842
22868
  module2.exports.strict = (selector) => versionSelectorType3(false, selector);
22843
22869
  function versionSelectorType3(loose, selector) {
@@ -22845,13 +22871,13 @@ var require_version_selector_type = __commonJS({
22845
22871
  throw new TypeError("`selector` should be a string");
22846
22872
  }
22847
22873
  let normalizedSelector;
22848
- if (normalizedSelector = semver53.valid(selector, loose)) {
22874
+ if (normalizedSelector = semver54.valid(selector, loose)) {
22849
22875
  return {
22850
22876
  normalized: normalizedSelector,
22851
22877
  type: "version"
22852
22878
  };
22853
22879
  }
22854
- if (normalizedSelector = semver53.validRange(selector, loose)) {
22880
+ if (normalizedSelector = semver54.validRange(selector, loose)) {
22855
22881
  return {
22856
22882
  normalized: normalizedSelector,
22857
22883
  type: "range"
@@ -22995,6 +23021,42 @@ var require_retry = __commonJS({
22995
23021
 
22996
23022
  // ../resolving/npm-resolver/lib/fetch.js
22997
23023
  import url from "node:url";
23024
+ function stripTrailingSemverSuffix(pkgName) {
23025
+ const atIdx = pkgName.lastIndexOf("@");
23026
+ if (atIdx > 0 && import_semver4.default.valid(pkgName.slice(atIdx + 1)) != null) {
23027
+ return pkgName.slice(0, atIdx);
23028
+ }
23029
+ let i2 = pkgName.length;
23030
+ i2 = consumeTrailingDigits(pkgName, i2);
23031
+ if (i2 === pkgName.length || i2 === 0 || pkgName.charCodeAt(i2 - 1) !== 46)
23032
+ return void 0;
23033
+ i2--;
23034
+ const beforePatch = i2;
23035
+ i2 = consumeTrailingDigits(pkgName, i2);
23036
+ if (i2 === beforePatch || i2 === 0 || pkgName.charCodeAt(i2 - 1) !== 46)
23037
+ return void 0;
23038
+ i2--;
23039
+ const beforeMinor = i2;
23040
+ i2 = consumeTrailingDigits(pkgName, i2);
23041
+ if (i2 === beforeMinor || i2 === 0)
23042
+ return void 0;
23043
+ if (import_semver4.default.valid(pkgName.slice(i2)) == null)
23044
+ return void 0;
23045
+ let prefix = pkgName.slice(0, i2);
23046
+ if (prefix.endsWith("@"))
23047
+ prefix = prefix.slice(0, -1);
23048
+ return prefix.length > 0 ? prefix : void 0;
23049
+ }
23050
+ function consumeTrailingDigits(s, end) {
23051
+ let i2 = end;
23052
+ while (i2 > 0) {
23053
+ const c3 = s.charCodeAt(i2 - 1);
23054
+ if (c3 < 48 || c3 > 57)
23055
+ break;
23056
+ i2--;
23057
+ }
23058
+ return i2;
23059
+ }
22998
23060
  async function fetchMetadataFromFromRegistry(fetchOpts, pkgName, { authHeaderValue, etag: cachedEtag, fullMetadata, modified: cachedModified, registry }) {
22999
23061
  const uri = toUri(pkgName, registry);
23000
23062
  const op = retry.operation(fetchOpts.retry);
@@ -23073,7 +23135,7 @@ function toUri(pkgName, registry) {
23073
23135
  }
23074
23136
  return new url.URL(encodedName, registry.endsWith("/") ? registry : `${registry}/`).toString();
23075
23137
  }
23076
- var retry, semverRegex, RegistryResponseError;
23138
+ var retry, import_semver4, RegistryResponseError;
23077
23139
  var init_fetch = __esm({
23078
23140
  "../resolving/npm-resolver/lib/fetch.js"() {
23079
23141
  "use strict";
@@ -23081,16 +23143,16 @@ var init_fetch = __esm({
23081
23143
  init_lib2();
23082
23144
  init_lib3();
23083
23145
  retry = __toESM(require_retry(), 1);
23084
- semverRegex = /(.*)(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/;
23146
+ import_semver4 = __toESM(require_semver2(), 1);
23085
23147
  RegistryResponseError = class extends FetchError {
23086
23148
  pkgName;
23087
23149
  constructor(request, response, pkgName) {
23088
23150
  let hint;
23089
23151
  if (response.status === 404) {
23090
23152
  hint = `${pkgName} is not in the npm registry, or you have no permission to fetch it.`;
23091
- const matched = pkgName.match(semverRegex);
23092
- if (matched != null) {
23093
- hint += ` Did you mean ${matched[1]}?`;
23153
+ const nameWithoutVersion = stripTrailingSemverSuffix(pkgName);
23154
+ if (nameWithoutVersion != null) {
23155
+ hint += ` Did you mean ${nameWithoutVersion}?`;
23094
23156
  }
23095
23157
  }
23096
23158
  super(request, response, hint);
@@ -23192,14 +23254,14 @@ function parsePath(path210) {
23192
23254
  const pathWithNoExtension = parts[1].replace(/\.tgz$/, "");
23193
23255
  const scopelessNameLength = name.length - (name.indexOf("/") + 1);
23194
23256
  const version2 = pathWithNoExtension.slice(scopelessNameLength + 1);
23195
- if (!import_semver4.default.valid(version2, true))
23257
+ if (!import_semver5.default.valid(version2, true))
23196
23258
  return null;
23197
23259
  return { name, version: version2 };
23198
23260
  }
23199
- var import_semver4;
23261
+ var import_semver5;
23200
23262
  var init_lib19 = __esm({
23201
23263
  "../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/parse-npm-tarball-url/5.0.0/b340656de76aa8bf3255f0606633fb5e0f39b44bbfa80baaf635b2557024d31a/node_modules/parse-npm-tarball-url/lib/index.js"() {
23202
- import_semver4 = __toESM(require_semver2(), 1);
23264
+ import_semver5 = __toESM(require_semver2(), 1);
23203
23265
  }
23204
23266
  });
23205
23267
 
@@ -23208,7 +23270,7 @@ function parseBareSpecifier(bareSpecifier, alias, defaultTag, registry) {
23208
23270
  let name = alias;
23209
23271
  if (bareSpecifier.startsWith("npm:")) {
23210
23272
  bareSpecifier = bareSpecifier.slice(4);
23211
- if (alias && import_semver5.default.validRange(bareSpecifier) != null) {
23273
+ if (alias && import_semver6.default.validRange(bareSpecifier) != null) {
23212
23274
  name = alias;
23213
23275
  } else {
23214
23276
  const index = bareSpecifier.lastIndexOf("@");
@@ -23268,7 +23330,7 @@ function parseNamedRegistrySpecifierToRegistryPackageSpec(rawSpecifier, knownReg
23268
23330
  const body = rawSpecifier.substring(colon + 1);
23269
23331
  let pkgName;
23270
23332
  let versionSelector;
23271
- if (import_semver5.default.validRange(body) != null) {
23333
+ if (import_semver6.default.validRange(body) != null) {
23272
23334
  if (!packageAlias)
23273
23335
  return null;
23274
23336
  pkgName = packageAlias;
@@ -23308,14 +23370,14 @@ function parseNamedRegistrySpecifierToRegistryPackageSpec(rawSpecifier, knownReg
23308
23370
  registryName
23309
23371
  };
23310
23372
  }
23311
- var import_semver5, import_version_selector_type, BUILTIN_NAMED_REGISTRIES;
23373
+ var import_semver6, import_version_selector_type, BUILTIN_NAMED_REGISTRIES;
23312
23374
  var init_parseBareSpecifier = __esm({
23313
23375
  "../resolving/npm-resolver/lib/parseBareSpecifier.js"() {
23314
23376
  "use strict";
23315
23377
  init_lib2();
23316
23378
  init_lib18();
23317
23379
  init_lib19();
23318
- import_semver5 = __toESM(require_semver2(), 1);
23380
+ import_semver6 = __toESM(require_semver2(), 1);
23319
23381
  import_version_selector_type = __toESM(require_version_selector_type(), 1);
23320
23382
  BUILTIN_NAMED_REGISTRIES = Object.freeze({
23321
23383
  gh: "https://npm.pkg.github.com/"
@@ -25396,7 +25458,7 @@ function filterPkgMetadataByPublishDate(pkgDoc, publishedBy, trustedVersions) {
25396
25458
  let parsedSemver = parsedSemverCache.get(semverStr);
25397
25459
  if (!parsedSemver) {
25398
25460
  try {
25399
- parsedSemver = new import_semver6.default.SemVer(semverStr, true);
25461
+ parsedSemver = new import_semver7.default.SemVer(semverStr, true);
25400
25462
  } catch {
25401
25463
  return null;
25402
25464
  }
@@ -25429,7 +25491,7 @@ function filterPkgMetadataByPublishDate(pkgDoc, publishedBy, trustedVersions) {
25429
25491
  try {
25430
25492
  const candidateIsDeprecated = pkgDoc.versions[candidate].deprecated != null;
25431
25493
  const bestVersionIsDeprecated = pkgDoc.versions[bestVersion].deprecated != null;
25432
- if (import_semver6.default.gt(candidate, bestVersion, true) && bestVersionIsDeprecated === candidateIsDeprecated || bestVersionIsDeprecated && !candidateIsDeprecated) {
25494
+ if (import_semver7.default.gt(candidate, bestVersion, true) && bestVersionIsDeprecated === candidateIsDeprecated || bestVersionIsDeprecated && !candidateIsDeprecated) {
25433
25495
  bestVersion = candidate;
25434
25496
  }
25435
25497
  } catch (_err) {
@@ -25447,12 +25509,12 @@ function filterPkgMetadataByPublishDate(pkgDoc, publishedBy, trustedVersions) {
25447
25509
  "dist-tags": distTagsWithinDate
25448
25510
  };
25449
25511
  }
25450
- var import_semver6;
25512
+ var import_semver7;
25451
25513
  var init_lib21 = __esm({
25452
25514
  "../resolving/registry/pkg-metadata-filter/lib/index.js"() {
25453
25515
  "use strict";
25454
25516
  init_lib3();
25455
- import_semver6 = __toESM(require_semver2(), 1);
25517
+ import_semver7 = __toESM(require_semver2(), 1);
25456
25518
  }
25457
25519
  });
25458
25520
 
@@ -25529,7 +25591,7 @@ function semverSatisfiesLoose(version2, range) {
25529
25591
  let semverRange = semverRangeCache.get(range);
25530
25592
  if (semverRange === void 0) {
25531
25593
  try {
25532
- semverRange = new import_semver7.default.Range(range, true);
25594
+ semverRange = new import_semver8.default.Range(range, true);
25533
25595
  } catch {
25534
25596
  semverRange = null;
25535
25597
  }
@@ -25537,7 +25599,7 @@ function semverSatisfiesLoose(version2, range) {
25537
25599
  }
25538
25600
  if (semverRange) {
25539
25601
  try {
25540
- return semverRange.test(new import_semver7.default.SemVer(version2, true));
25602
+ return semverRange.test(new import_semver8.default.SemVer(version2, true));
25541
25603
  } catch {
25542
25604
  return false;
25543
25605
  }
@@ -25548,16 +25610,16 @@ function pickLowestVersionByVersionRange({ meta, versionRange, preferredVersionS
25548
25610
  if (preferredVersionSelectors != null && Object.keys(preferredVersionSelectors).length > 0) {
25549
25611
  const prioritizedPreferredVersions = prioritizePreferredVersions(meta, versionRange, preferredVersionSelectors);
25550
25612
  for (const preferredVersions of prioritizedPreferredVersions) {
25551
- const preferredVersion = import_semver7.default.minSatisfying(preferredVersions, versionRange, true);
25613
+ const preferredVersion = import_semver8.default.minSatisfying(preferredVersions, versionRange, true);
25552
25614
  if (preferredVersion) {
25553
25615
  return preferredVersion;
25554
25616
  }
25555
25617
  }
25556
25618
  }
25557
25619
  if (versionRange === "*") {
25558
- return Object.keys(meta.versions).sort(import_semver7.default.compare)[0];
25620
+ return Object.keys(meta.versions).sort(import_semver8.default.compare)[0];
25559
25621
  }
25560
- return import_semver7.default.minSatisfying(Object.keys(meta.versions), versionRange, true);
25622
+ return import_semver8.default.minSatisfying(Object.keys(meta.versions), versionRange, true);
25561
25623
  }
25562
25624
  function pickVersionByVersionRange({ meta, versionRange, preferredVersionSelectors }) {
25563
25625
  const latest = meta["dist-tags"].latest;
@@ -25567,7 +25629,7 @@ function pickVersionByVersionRange({ meta, versionRange, preferredVersionSelecto
25567
25629
  if (preferredVersions.includes(latest) && semverSatisfiesLoose(latest, versionRange)) {
25568
25630
  return latest;
25569
25631
  }
25570
- const preferredVersion = import_semver7.default.maxSatisfying(preferredVersions, versionRange, true);
25632
+ const preferredVersion = import_semver8.default.maxSatisfying(preferredVersions, versionRange, true);
25571
25633
  if (preferredVersion) {
25572
25634
  return preferredVersion;
25573
25635
  }
@@ -25577,10 +25639,10 @@ function pickVersionByVersionRange({ meta, versionRange, preferredVersionSelecto
25577
25639
  if (latest && (versionRange === "*" || semverSatisfiesLoose(latest, versionRange))) {
25578
25640
  return latest;
25579
25641
  }
25580
- const maxVersion = import_semver7.default.maxSatisfying(versions, versionRange, true);
25642
+ const maxVersion = import_semver8.default.maxSatisfying(versions, versionRange, true);
25581
25643
  if (maxVersion && meta.versions[maxVersion].deprecated && versions.length > 1) {
25582
25644
  const nonDeprecatedVersions = versions.map((version2) => meta.versions[version2]).filter((versionMeta) => !versionMeta.deprecated).map((versionMeta) => versionMeta.version);
25583
- const maxNonDeprecatedVersion = import_semver7.default.maxSatisfying(nonDeprecatedVersions, versionRange, true);
25645
+ const maxNonDeprecatedVersion = import_semver8.default.maxSatisfying(nonDeprecatedVersions, versionRange, true);
25584
25646
  if (maxNonDeprecatedVersion)
25585
25647
  return maxNonDeprecatedVersion;
25586
25648
  }
@@ -25622,13 +25684,13 @@ function prioritizePreferredVersions(meta, versionRange, preferredVerSelectors)
25622
25684
  }
25623
25685
  return versionsPrioritizer.versionsByPriority();
25624
25686
  }
25625
- var import_semver7, semverRangeCache, PreferredVersionsPrioritizer;
25687
+ var import_semver8, semverRangeCache, PreferredVersionsPrioritizer;
25626
25688
  var init_pickPackageFromMeta = __esm({
25627
25689
  "../resolving/npm-resolver/lib/pickPackageFromMeta.js"() {
25628
25690
  "use strict";
25629
25691
  init_lib2();
25630
25692
  init_lib21();
25631
- import_semver7 = __toESM(require_semver2(), 1);
25693
+ import_semver8 = __toESM(require_semver2(), 1);
25632
25694
  semverRangeCache = /* @__PURE__ */ new Map();
25633
25695
  PreferredVersionsPrioritizer = class {
25634
25696
  preferredVersions = {};
@@ -25689,7 +25751,7 @@ function pickMax(a2, b) {
25689
25751
  return b;
25690
25752
  if (!b)
25691
25753
  return a2;
25692
- return import_semver8.default.lt(a2.version, b.version) ? b : a2;
25754
+ return import_semver9.default.lt(a2.version, b.version) ? b : a2;
25693
25755
  }
25694
25756
  function pickRespectingMinReleaseAge(pickerOpts, spec, meta) {
25695
25757
  return runPicker(pickerOpts, spec, (targetSpec) => {
@@ -25738,15 +25800,21 @@ async function pickPackage(ctx, spec, opts2) {
25738
25800
  const fullMetadata = opts2.optional === true || ctx.fullMetadata === true;
25739
25801
  const metaDir = fullMetadata ? ctx.filterMetadata ? FULL_FILTERED_META_DIR : FULL_META_DIR : ABBREVIATED_META_DIR;
25740
25802
  const cacheKey = fullMetadata ? `${spec.name}:full` : spec.name;
25803
+ const registryName = (0, import_encode_registry.default)(opts2.registry);
25804
+ const pkgMirror = path10.join(ctx.cacheDir, metaDir, registryName, `${encodePkgName(spec.name)}.jsonl`);
25741
25805
  const cachedMeta = ctx.metaCache.get(cacheKey);
25742
25806
  if (cachedMeta != null) {
25807
+ const upgrade = await maybeUpgradeAbbreviatedMetaForReleaseAge(ctx, spec, opts2, cachedMeta);
25808
+ let metaForCache = upgrade.meta;
25809
+ if (upgrade.upgradedFrom != null) {
25810
+ metaForCache = opts2.dryRun ? upgrade.meta : persistUpgradedMeta(ctx, pkgMirror, upgrade.upgradedFrom);
25811
+ ctx.metaCache.set(cacheKey, metaForCache);
25812
+ }
25743
25813
  return {
25744
- meta: cachedMeta,
25745
- pickedPackage: pickMatchingVersionFinal(pickerOpts, spec, cachedMeta)
25814
+ meta: metaForCache,
25815
+ pickedPackage: pickMatchingVersionFinal(pickerOpts, spec, metaForCache)
25746
25816
  };
25747
25817
  }
25748
- const registryName = (0, import_encode_registry.default)(opts2.registry);
25749
- const pkgMirror = path10.join(ctx.cacheDir, metaDir, registryName, `${encodePkgName(spec.name)}.jsonl`);
25750
25818
  return runLimited(pkgMirror, async (limit) => {
25751
25819
  let metaCachedInStore;
25752
25820
  if (ctx.offline === true || ctx.preferOffline === true || opts2.pickLowestVersion) {
@@ -25760,6 +25828,14 @@ async function pickPackage(ctx, spec, opts2) {
25760
25828
  throw new PnpmError("NO_OFFLINE_META", `Failed to resolve ${toRaw(spec)} in package mirror ${pkgMirror}`);
25761
25829
  }
25762
25830
  if (metaCachedInStore != null) {
25831
+ const upgrade = await maybeUpgradeAbbreviatedMetaForReleaseAge(ctx, spec, opts2, metaCachedInStore);
25832
+ metaCachedInStore = upgrade.meta;
25833
+ if (upgrade.upgradedFrom != null) {
25834
+ if (!opts2.dryRun) {
25835
+ metaCachedInStore = persistUpgradedMeta(ctx, pkgMirror, upgrade.upgradedFrom);
25836
+ }
25837
+ ctx.metaCache.set(cacheKey, metaCachedInStore);
25838
+ }
25763
25839
  const pickedPackage = pickMatchingVersionFinal(pickerOpts, spec, metaCachedInStore);
25764
25840
  if (pickedPackage) {
25765
25841
  return {
@@ -25781,7 +25857,7 @@ async function pickPackage(ctx, spec, opts2) {
25781
25857
  };
25782
25858
  }
25783
25859
  } catch (err) {
25784
- if (ctx.strictPublishedByCheck) {
25860
+ if (shouldRethrowFromFastPathCache(err, ctx.strictPublishedByCheck)) {
25785
25861
  throw err;
25786
25862
  }
25787
25863
  }
@@ -25801,7 +25877,7 @@ async function pickPackage(ctx, spec, opts2) {
25801
25877
  };
25802
25878
  }
25803
25879
  } catch (err) {
25804
- if (ctx.strictPublishedByCheck && !isMissingTimeError(err)) {
25880
+ if (shouldRethrowFromFastPathCache(err, ctx.strictPublishedByCheck)) {
25805
25881
  throw err;
25806
25882
  }
25807
25883
  }
@@ -25820,6 +25896,11 @@ async function pickPackage(ctx, spec, opts2) {
25820
25896
  if (fetchResult.notModified) {
25821
25897
  metaCachedInStore = metaCachedInStore ?? await limit(async () => loadMeta(pkgMirror));
25822
25898
  if (metaCachedInStore != null) {
25899
+ const upgrade = await maybeUpgradeAbbreviatedMetaForReleaseAge(ctx, spec, opts2, metaCachedInStore);
25900
+ metaCachedInStore = upgrade.meta;
25901
+ if (upgrade.upgradedFrom != null && !opts2.dryRun) {
25902
+ metaCachedInStore = persistUpgradedMeta(ctx, pkgMirror, upgrade.upgradedFrom);
25903
+ }
25823
25904
  ctx.metaCache.set(cacheKey, metaCachedInStore);
25824
25905
  return {
25825
25906
  meta: metaCachedInStore,
@@ -25886,6 +25967,41 @@ async function pickPackage(ctx, spec, opts2) {
25886
25967
  }
25887
25968
  });
25888
25969
  }
25970
+ async function maybeUpgradeAbbreviatedMetaForReleaseAge(ctx, spec, opts2, meta) {
25971
+ if (ctx.offline === true || !opts2.publishedBy || meta.time != null || opts2.publishedByExclude?.(spec.name) === true) {
25972
+ return { meta };
25973
+ }
25974
+ const modifiedDate = meta.modified ? new Date(meta.modified) : null;
25975
+ const isModifiedValid = modifiedDate != null && !Number.isNaN(modifiedDate.getTime());
25976
+ if (isModifiedValid && modifiedDate < opts2.publishedBy) {
25977
+ return { meta };
25978
+ }
25979
+ const fullFetchResult = await ctx.fetch(spec.name, {
25980
+ authHeaderValue: opts2.authHeaderValue,
25981
+ fullMetadata: true,
25982
+ etag: meta.etag,
25983
+ modified: meta.modified,
25984
+ registry: opts2.registry
25985
+ });
25986
+ if (fullFetchResult.notModified) {
25987
+ return { meta };
25988
+ }
25989
+ return { meta: fullFetchResult.meta, upgradedFrom: fullFetchResult };
25990
+ }
25991
+ function shouldRethrowFromFastPathCache(err, strictPublishedByCheck) {
25992
+ return strictPublishedByCheck === true && !isMissingTimeError(err);
25993
+ }
25994
+ function persistUpgradedMeta(ctx, pkgMirror, upgradedFrom) {
25995
+ const metaForCache = ctx.filterMetadata ? clearMeta(upgradedFrom.meta) : upgradedFrom.meta;
25996
+ const jsonForDisk = ctx.filterMetadata ? prepareJsonForDisk(metaForCache, upgradedFrom.etag) : prepareJsonForDisk(upgradedFrom.meta, upgradedFrom.etag, upgradedFrom.jsonText);
25997
+ runLimited(pkgMirror, (l) => l(async () => {
25998
+ try {
25999
+ await saveMeta(pkgMirror, jsonForDisk);
26000
+ } catch (err) {
26001
+ }
26002
+ }));
26003
+ return metaForCache;
26004
+ }
25889
26005
  function clearMeta(pkg) {
25890
26006
  const versions = {};
25891
26007
  for (const [version2, info] of Object.entries(pkg.versions)) {
@@ -26002,7 +26118,7 @@ function validatePackageName(pkgName) {
26002
26118
  throw new PnpmError("INVALID_PACKAGE_NAME", `Package name ${pkgName} is invalid, it should have a @scope`);
26003
26119
  }
26004
26120
  }
26005
- var import_encode_registry, import_semver8, metafileOperationLimits, pickHighest, pickLowest, MAX_WARNED_MISSING_TIME, warnedMissingTimeFor, createdDirs;
26121
+ var import_encode_registry, import_semver9, metafileOperationLimits, pickHighest, pickLowest, MAX_WARNED_MISSING_TIME, warnedMissingTimeFor, createdDirs;
26006
26122
  var init_pickPackage = __esm({
26007
26123
  "../resolving/npm-resolver/lib/pickPackage.js"() {
26008
26124
  "use strict";
@@ -26016,7 +26132,7 @@ var init_pickPackage = __esm({
26016
26132
  init_path_temp();
26017
26133
  init_es();
26018
26134
  init_rename_overwrite();
26019
- import_semver8 = __toESM(require_semver2(), 1);
26135
+ import_semver9 = __toESM(require_semver2(), 1);
26020
26136
  init_pickPackageFromMeta();
26021
26137
  init_toRaw();
26022
26138
  metafileOperationLimits = {};
@@ -26057,7 +26173,7 @@ function failIfTrustDowngraded(meta, version2, opts2) {
26057
26173
  throw new PnpmError("TRUST_CHECK_FAIL", `Missing version object for version ${version2} of ${meta.name} in metadata`);
26058
26174
  }
26059
26175
  const strongestEvidencePriorToRequestedVersion = detectStrongestTrustEvidenceBeforeDate(meta, versionDate, {
26060
- excludePrerelease: !import_semver9.default.prerelease(version2, true)
26176
+ excludePrerelease: !import_semver10.default.prerelease(version2, true)
26061
26177
  });
26062
26178
  if (strongestEvidencePriorToRequestedVersion == null) {
26063
26179
  return;
@@ -26082,7 +26198,7 @@ function prettyPrintTrustEvidence(trustEvidence) {
26082
26198
  function detectStrongestTrustEvidenceBeforeDate(meta, beforeDate, options) {
26083
26199
  let best;
26084
26200
  for (const [version2, manifest] of Object.entries(meta.versions)) {
26085
- if (options.excludePrerelease && import_semver9.default.prerelease(version2, true))
26201
+ if (options.excludePrerelease && import_semver10.default.prerelease(version2, true))
26086
26202
  continue;
26087
26203
  const ts = meta.time[version2];
26088
26204
  if (!ts)
@@ -26109,12 +26225,12 @@ function getTrustEvidence(manifest) {
26109
26225
  }
26110
26226
  return void 0;
26111
26227
  }
26112
- var import_semver9, TRUST_RANK;
26228
+ var import_semver10, TRUST_RANK;
26113
26229
  var init_trustChecks = __esm({
26114
26230
  "../resolving/npm-resolver/lib/trustChecks.js"() {
26115
26231
  "use strict";
26116
26232
  init_lib2();
26117
- import_semver9 = __toESM(require_semver2(), 1);
26233
+ import_semver10 = __toESM(require_semver2(), 1);
26118
26234
  init_pickPackageFromMeta();
26119
26235
  TRUST_RANK = {
26120
26236
  trustedPublisher: 2,
@@ -26436,7 +26552,7 @@ async function resolveNpm(ctx, wantedDependency, opts2) {
26436
26552
  const spec = wantedDependency.bareSpecifier ? parseBareSpecifier(wantedDependency.bareSpecifier, wantedDependency.alias, defaultTag, registry) : defaultTagForAlias(wantedDependency.alias, defaultTag);
26437
26553
  if (spec == null)
26438
26554
  return null;
26439
- if (ctx.peekManifestFromStore && opts2.currentPkg?.resolution && !opts2.update) {
26555
+ if (ctx.peekManifestFromStore && opts2.currentPkg?.resolution && !opts2.update && (opts2.publishedBy == null || opts2.currentPkg.publishedAt != null)) {
26440
26556
  const currentResolution = opts2.currentPkg.resolution;
26441
26557
  if ("tarball" in currentResolution && currentResolution.integrity) {
26442
26558
  const manifest = await ctx.peekManifestFromStore({
@@ -26453,8 +26569,7 @@ async function resolveNpm(ctx, wantedDependency, opts2) {
26453
26569
  manifest,
26454
26570
  resolution: currentResolution,
26455
26571
  resolvedVia: "npm-registry",
26456
- publishedAt: void 0
26457
- // Don't have this without metadata
26572
+ publishedAt: opts2.currentPkg.publishedAt
26458
26573
  };
26459
26574
  }
26460
26575
  }
@@ -26548,7 +26663,7 @@ async function resolveNpm(ctx, wantedDependency, opts2) {
26548
26663
  };
26549
26664
  }
26550
26665
  const localVersion = pickMatchingLocalVersionOrNull(workspacePkgsMatchingName, spec);
26551
- if (localVersion && (import_semver10.default.gt(localVersion, pickedPackage.version) || opts2.preferWorkspacePackages)) {
26666
+ if (localVersion && (import_semver11.default.gt(localVersion, pickedPackage.version) || opts2.preferWorkspacePackages)) {
26552
26667
  return {
26553
26668
  ...resolveFromLocalPackage(workspacePkgsMatchingName.get(localVersion), spec, {
26554
26669
  wantedDependency,
@@ -26684,7 +26799,7 @@ function calcSpecifier({ wantedDependency, spec, version: version2, defaultPinne
26684
26799
  return `npm:${spec.name}@${range}`;
26685
26800
  }
26686
26801
  function calcRange(version2, wantedDependency, defaultPinnedVersion) {
26687
- if (import_semver10.default.parse(version2)?.prerelease.length) {
26802
+ if (import_semver11.default.parse(version2)?.prerelease.length) {
26688
26803
  return version2;
26689
26804
  }
26690
26805
  const pinnedVersion = (wantedDependency.prevSpecifier ? whichVersionIsPinned(wantedDependency.prevSpecifier) : void 0) ?? (wantedDependency.bareSpecifier ? whichVersionIsPinned(wantedDependency.bareSpecifier) : void 0) ?? defaultPinnedVersion;
@@ -26724,7 +26839,7 @@ function tryResolveFromWorkspacePackages(workspacePackages, spec, opts2) {
26724
26839
  }
26725
26840
  const localVersion = pickMatchingLocalVersionOrNull(workspacePkgsMatchingName, opts2.update ? { name: spec.name, fetchSpec: "*", type: "range" } : spec);
26726
26841
  if (!localVersion) {
26727
- const availableVersions = Array.from(workspacePkgsMatchingName.keys()).sort((a2, b) => import_semver10.default.rcompare(a2, b));
26842
+ const availableVersions = Array.from(workspacePkgsMatchingName.keys()).sort((a2, b) => import_semver11.default.rcompare(a2, b));
26728
26843
  throw new PnpmError("NO_MATCHING_VERSION_INSIDE_WORKSPACE", `In ${path11.relative(process.cwd(), opts2.projectDir)}: No matching version found for ${opts2.wantedDependency.alias ?? ""}@${opts2.wantedDependency.bareSpecifier ?? ""} inside the workspace` + (availableVersions.length ? `. Available versions: ${availableVersions.join(", ")}` : ""), availableVersions.length ? {
26729
26844
  hint: `Available workspace versions for "${spec.name}": ${availableVersions.join(", ")}`
26730
26845
  } : void 0);
@@ -26734,7 +26849,7 @@ function tryResolveFromWorkspacePackages(workspacePackages, spec, opts2) {
26734
26849
  function pickMatchingLocalVersionOrNull(versions, spec) {
26735
26850
  switch (spec.type) {
26736
26851
  case "tag":
26737
- return import_semver10.default.maxSatisfying(Array.from(versions.keys()), "*", {
26852
+ return import_semver11.default.maxSatisfying(Array.from(versions.keys()), "*", {
26738
26853
  includePrerelease: true
26739
26854
  });
26740
26855
  case "version":
@@ -26800,7 +26915,7 @@ function calcSpecifierForWorkspaceDep({ wantedDependency, spec, saveWorkspacePro
26800
26915
  }
26801
26916
  return `${prefix}^`;
26802
26917
  }
26803
- if (import_semver10.default.parse(version2)?.prerelease.length) {
26918
+ if (import_semver11.default.parse(version2)?.prerelease.length) {
26804
26919
  return `${prefix}${version2}`;
26805
26920
  }
26806
26921
  const pinnedVersion = (wantedDependency.prevSpecifier ? whichVersionIsPinned(wantedDependency.prevSpecifier) : void 0) ?? defaultPinnedVersion;
@@ -26845,7 +26960,7 @@ function createVersionSpec(version2, pinnedVersion) {
26845
26960
  throw new PnpmError("BAD_PINNED_VERSION", `Cannot pin '${pinnedVersion ?? "undefined"}'`);
26846
26961
  }
26847
26962
  }
26848
- var import_normalize_path, import_semver10, import_ssri2, import_version_selector_type2, NoMatchingVersionError;
26963
+ var import_normalize_path, import_semver11, import_ssri2, import_version_selector_type2, NoMatchingVersionError;
26849
26964
  var init_lib23 = __esm({
26850
26965
  "../resolving/npm-resolver/lib/index.js"() {
26851
26966
  "use strict";
@@ -26858,7 +26973,7 @@ var init_lib23 = __esm({
26858
26973
  import_normalize_path = __toESM(require_normalize_path(), 1);
26859
26974
  init_dist();
26860
26975
  init_es();
26861
- import_semver10 = __toESM(require_semver2(), 1);
26976
+ import_semver11 = __toESM(require_semver2(), 1);
26862
26977
  import_ssri2 = __toESM(require_lib6(), 1);
26863
26978
  import_version_selector_type2 = __toESM(require_version_selector_type(), 1);
26864
26979
  init_fetch();
@@ -35506,13 +35621,13 @@ function checkEngine(packageId, wantedEngine, currentEngine) {
35506
35621
  if (!wantedEngine)
35507
35622
  return null;
35508
35623
  const unsatisfiedWanted = {};
35509
- if (wantedEngine.node && !import_semver11.default.satisfies(currentEngine.node, wantedEngine.node, { includePrerelease: true })) {
35510
- if (!import_semver11.default.valid(currentEngine.node)) {
35624
+ if (wantedEngine.node && !import_semver12.default.satisfies(currentEngine.node, wantedEngine.node, { includePrerelease: true })) {
35625
+ if (!import_semver12.default.valid(currentEngine.node)) {
35511
35626
  throw new PnpmError("INVALID_NODE_VERSION", `The nodeVersion setting is "${currentEngine.node}", which is not exact semver version`);
35512
35627
  }
35513
35628
  unsatisfiedWanted.node = wantedEngine.node;
35514
35629
  }
35515
- if (currentEngine.pnpm && wantedEngine.pnpm && !import_semver11.default.satisfies(currentEngine.pnpm, wantedEngine.pnpm, { includePrerelease: true })) {
35630
+ if (currentEngine.pnpm && wantedEngine.pnpm && !import_semver12.default.satisfies(currentEngine.pnpm, wantedEngine.pnpm, { includePrerelease: true })) {
35516
35631
  unsatisfiedWanted.pnpm = wantedEngine.pnpm;
35517
35632
  }
35518
35633
  if (Object.keys(unsatisfiedWanted).length > 0) {
@@ -35520,12 +35635,12 @@ function checkEngine(packageId, wantedEngine, currentEngine) {
35520
35635
  }
35521
35636
  return null;
35522
35637
  }
35523
- var import_semver11, UnsupportedEngineError;
35638
+ var import_semver12, UnsupportedEngineError;
35524
35639
  var init_checkEngine = __esm({
35525
35640
  "../config/package-is-installable/lib/checkEngine.js"() {
35526
35641
  "use strict";
35527
35642
  init_lib2();
35528
- import_semver11 = __toESM(require_semver2(), 1);
35643
+ import_semver12 = __toESM(require_semver2(), 1);
35529
35644
  UnsupportedEngineError = class extends PnpmError {
35530
35645
  wanted;
35531
35646
  current;
@@ -43439,7 +43554,7 @@ async function resolveNodeVersion(fetch2, versionSpec, nodeMirrorBaseUrl) {
43439
43554
  return allVersions[0].version;
43440
43555
  }
43441
43556
  const { versions, versionRange } = filterVersions(allVersions, versionSpec);
43442
- return import_semver12.default.maxSatisfying(versions, versionRange, SEMVER_OPTS) ?? null;
43557
+ return import_semver13.default.maxSatisfying(versions, versionRange, SEMVER_OPTS) ?? null;
43443
43558
  }
43444
43559
  async function resolveNodeVersions(fetch2, versionSpec, nodeMirrorBaseUrl) {
43445
43560
  const allVersions = await fetchAllVersions(fetch2, nodeMirrorBaseUrl);
@@ -43450,7 +43565,7 @@ async function resolveNodeVersions(fetch2, versionSpec, nodeMirrorBaseUrl) {
43450
43565
  return [allVersions[0].version];
43451
43566
  }
43452
43567
  const { versions, versionRange } = filterVersions(allVersions, versionSpec);
43453
- return versions.filter((version2) => import_semver12.default.satisfies(version2, versionRange, SEMVER_OPTS));
43568
+ return versions.filter((version2) => import_semver13.default.satisfies(version2, versionRange, SEMVER_OPTS));
43454
43569
  }
43455
43570
  async function fetchAllVersions(fetch2, nodeMirrorBaseUrl) {
43456
43571
  const response = await fetch2(`${nodeMirrorBaseUrl ?? "https://nodejs.org/download/release/"}index.json`);
@@ -43485,13 +43600,13 @@ function filterVersions(versions, versionSelector) {
43485
43600
  versionRange: versionSelector
43486
43601
  };
43487
43602
  }
43488
- var import_semver12, import_version_selector_type3, DEFAULT_NODE_MIRROR_BASE_URL, UNOFFICIAL_NODE_MIRROR_BASE_URL, NODE_EXTRAS_IGNORE_PATTERN, SEMVER_OPTS;
43603
+ var import_semver13, import_version_selector_type3, DEFAULT_NODE_MIRROR_BASE_URL, UNOFFICIAL_NODE_MIRROR_BASE_URL, NODE_EXTRAS_IGNORE_PATTERN, SEMVER_OPTS;
43489
43604
  var init_lib33 = __esm({
43490
43605
  "../engine/runtime/node-resolver/lib/index.js"() {
43491
43606
  "use strict";
43492
43607
  init_lib32();
43493
43608
  init_lib2();
43494
- import_semver12 = __toESM(require_semver2(), 1);
43609
+ import_semver13 = __toESM(require_semver2(), 1);
43495
43610
  import_version_selector_type3 = __toESM(require_version_selector_type(), 1);
43496
43611
  init_getNodeArtifactAddress();
43497
43612
  init_getNodeMirror();
@@ -76532,7 +76647,7 @@ function compareCommandsInConflict(a2, b) {
76532
76647
  return -1;
76533
76648
  if (a2.pkgName !== b.pkgName)
76534
76649
  return a2.pkgName.localeCompare(b.pkgName);
76535
- return import_semver13.default.compare(a2.pkgVersion, b.pkgVersion);
76650
+ return import_semver14.default.compare(a2.pkgVersion, b.pkgVersion);
76536
76651
  }
76537
76652
  function logCommandConflict(chosen, skipped, binsDir) {
76538
76653
  binsConflictLogger.debug({
@@ -76685,7 +76800,7 @@ async function safeReadPkgJson(pkgDir) {
76685
76800
  throw err;
76686
76801
  }
76687
76802
  }
76688
- var import_fix_bin, import_is_windows5, import_normalize_path2, import_semver13, binsConflictLogger, IS_WINDOWS2, EXECUTABLE_SHEBANG_SUPPORTED, POWER_SHELL_IS_SUPPORTED, CMD_SHIM_MAX_SIZE;
76803
+ var import_fix_bin, import_is_windows5, import_normalize_path2, import_semver14, binsConflictLogger, IS_WINDOWS2, EXECUTABLE_SHEBANG_SUPPORTED, POWER_SHELL_IS_SUPPORTED, CMD_SHIM_MAX_SIZE;
76689
76804
  var init_lib41 = __esm({
76690
76805
  "../bins/linker/lib/index.js"() {
76691
76806
  "use strict";
@@ -76703,7 +76818,7 @@ var init_lib41 = __esm({
76703
76818
  import_is_windows5 = __toESM(require_is_windows(), 1);
76704
76819
  import_normalize_path2 = __toESM(require_normalize_path(), 1);
76705
76820
  init_es();
76706
- import_semver13 = __toESM(require_semver2(), 1);
76821
+ import_semver14 = __toESM(require_semver2(), 1);
76707
76822
  init_dist4();
76708
76823
  init_getBinNodePaths();
76709
76824
  binsConflictLogger = logger("bins-conflict");
@@ -107703,6 +107818,31 @@ ${captureLines}` : capture.stack;
107703
107818
  // ../network/fetch/lib/dispatcher.js
107704
107819
  import tls from "node:tls";
107705
107820
  import { URL as URL3 } from "node:url";
107821
+ function stripSecFetchHeaders(dispatch) {
107822
+ return (opts2, handler73) => {
107823
+ if (opts2.headers) {
107824
+ if (Array.isArray(opts2.headers)) {
107825
+ const filtered = [];
107826
+ for (let i2 = 0; i2 < opts2.headers.length; i2 += 2) {
107827
+ if (!opts2.headers[i2].toLowerCase().startsWith("sec-fetch-")) {
107828
+ filtered.push(opts2.headers[i2], opts2.headers[i2 + 1]);
107829
+ }
107830
+ }
107831
+ opts2 = { ...opts2, headers: filtered };
107832
+ } else if (typeof opts2.headers === "object") {
107833
+ const entries = Symbol.iterator in opts2.headers ? opts2.headers : Object.entries(opts2.headers);
107834
+ const headers = {};
107835
+ for (const [key, value] of entries) {
107836
+ if (!key.toLowerCase().startsWith("sec-fetch-")) {
107837
+ headers[key] = value;
107838
+ }
107839
+ }
107840
+ opts2 = { ...opts2, headers };
107841
+ }
107842
+ }
107843
+ return dispatch(opts2, handler73);
107844
+ };
107845
+ }
107706
107846
  function getDispatcher(uri, opts2) {
107707
107847
  if (!needsCustomDispatcher(opts2)) {
107708
107848
  return void 0;
@@ -107777,6 +107917,7 @@ function getProxyDispatcher(parsedUri, opts2) {
107777
107917
  } else {
107778
107918
  dispatcher = createHttpProxyDispatcher(proxyUrl, isHttps, opts2, { ca, cert, key: certKey });
107779
107919
  }
107920
+ dispatcher = dispatcher.compose(stripSecFetchHeaders);
107780
107921
  DISPATCHER_CACHE.set(key, dispatcher);
107781
107922
  return dispatcher;
107782
107923
  }
@@ -107884,8 +108025,9 @@ function getNonProxyDispatcher(parsedUri, opts2) {
107884
108025
  localAddress: opts2.localAddress
107885
108026
  }
107886
108027
  });
107887
- DISPATCHER_CACHE.set(key, agent);
107888
- return agent;
108028
+ const dispatcher = agent.compose(stripSecFetchHeaders);
108029
+ DISPATCHER_CACHE.set(key, dispatcher);
108030
+ return dispatcher;
107889
108031
  }
107890
108032
  function checkNoProxy(parsedUri, opts2) {
107891
108033
  const host = parsedUri.hostname.split(".").filter((x) => x).reverse();
@@ -107961,7 +108103,7 @@ var init_dispatcher = __esm({
107961
108103
  connect: {
107962
108104
  autoSelectFamily: true
107963
108105
  }
107964
- }));
108106
+ }).compose(stripSecFetchHeaders));
107965
108107
  DISPATCHER_CACHE = new M({
107966
108108
  max: 50,
107967
108109
  dispose: (dispatcher) => {
@@ -109340,7 +109482,7 @@ function createGitResolver(opts2) {
109340
109482
  };
109341
109483
  }
109342
109484
  function resolveVTags(vTags, range) {
109343
- return import_semver14.default.maxSatisfying(vTags, range, true);
109485
+ return import_semver15.default.maxSatisfying(vTags, range, true);
109344
109486
  }
109345
109487
  async function getRepoRefs(repo, ref) {
109346
109488
  const gitArgs = [repo];
@@ -109384,7 +109526,7 @@ function resolveRefFromRefs(refs, repo, ref, committish, range) {
109384
109526
  } else {
109385
109527
  const vTags = [...new Set(Object.keys(refs).filter((key) => /^refs\/tags\/v?\d+\.\d+\.\d+(?:[-+].+)?(?:\^\{\})?$/.test(key)).map((key) => {
109386
109528
  return key.replace(/^refs\/tags\//, "").replace(/\^\{\}$/, "");
109387
- }).filter((key) => import_semver14.default.valid(key, true)))];
109529
+ }).filter((key) => import_semver15.default.valid(key, true)))];
109388
109530
  const refVTag = resolveVTags(vTags, range);
109389
109531
  const commitId = refVTag && (refs[`refs/tags/${refVTag}^{}`] || // prefer annotated tags
109390
109532
  refs[`refs/tags/${refVTag}`]);
@@ -109397,13 +109539,13 @@ function resolveRefFromRefs(refs, repo, ref, committish, range) {
109397
109539
  function isSsh(gitSpec) {
109398
109540
  return gitSpec.slice(0, 10) === "git+ssh://" || gitSpec.slice(0, 4) === "git@";
109399
109541
  }
109400
- var import_semver14;
109542
+ var import_semver15;
109401
109543
  var init_lib52 = __esm({
109402
109544
  "../resolving/git-resolver/lib/index.js"() {
109403
109545
  "use strict";
109404
109546
  init_lib2();
109405
109547
  init_graceful_git();
109406
- import_semver14 = __toESM(require_semver2(), 1);
109548
+ import_semver15 = __toESM(require_semver2(), 1);
109407
109549
  init_createGitHostedPkgId();
109408
109550
  init_parseBareSpecifier2();
109409
109551
  }
@@ -113641,7 +113783,7 @@ function getWantedPackageManager(manifest) {
113641
113783
  const warnings = [];
113642
113784
  const pmFromDevEngines = parseDevEnginesPackageManager(manifest.devEngines);
113643
113785
  if (pmFromDevEngines) {
113644
- if (pmFromDevEngines.version != null && !import_semver15.default.validRange(pmFromDevEngines.version)) {
113786
+ if (pmFromDevEngines.version != null && !import_semver16.default.validRange(pmFromDevEngines.version)) {
113645
113787
  warnings.push(`Cannot use devEngines.packageManager version "${pmFromDevEngines.version}": not a valid version or range`);
113646
113788
  pmFromDevEngines.version = void 0;
113647
113789
  }
@@ -113656,7 +113798,7 @@ function getWantedPackageManager(manifest) {
113656
113798
  if (manifest.packageManager) {
113657
113799
  const pm2 = parsePackageManager(manifest.packageManager);
113658
113800
  if (pm2.version != null) {
113659
- const cleanVersion = import_semver15.default.valid(pm2.version);
113801
+ const cleanVersion = import_semver16.default.valid(pm2.version);
113660
113802
  if (!cleanVersion) {
113661
113803
  warnings.push(`Cannot use packageManager "${manifest.packageManager}": "${pm2.version}" is not a valid exact version`);
113662
113804
  pm2.version = void 0;
@@ -113720,7 +113862,7 @@ function getNodeVersionFromEnginesRuntime(manifest) {
113720
113862
  const nodeRuntime = runtimes.find((r) => r.name === "node");
113721
113863
  if (nodeRuntime?.version == null)
113722
113864
  continue;
113723
- const minVersion = import_semver15.default.minVersion(nodeRuntime.version);
113865
+ const minVersion = import_semver16.default.minVersion(nodeRuntime.version);
113724
113866
  if (minVersion != null) {
113725
113867
  return minVersion.version;
113726
113868
  }
@@ -113740,7 +113882,7 @@ function addSettingsFromWorkspaceManifestToConfig(pnpmConfig, { configFromCliOpt
113740
113882
  }
113741
113883
  pnpmConfig.catalogs = getCatalogsFromWorkspaceManifest(workspaceManifest);
113742
113884
  }
113743
- var import_ci_info, import_is_windows6, import_lodash3, import_normalize_registry_url2, import_semver15;
113885
+ var import_ci_info, import_is_windows6, import_lodash3, import_normalize_registry_url2, import_semver16;
113744
113886
  var init_lib60 = __esm({
113745
113887
  "../config/reader/lib/index.js"() {
113746
113888
  "use strict";
@@ -113762,7 +113904,7 @@ var init_lib60 = __esm({
113762
113904
  init_path_absolute();
113763
113905
  init_es();
113764
113906
  init_realpath_missing();
113765
- import_semver15 = __toESM(require_semver2(), 1);
113907
+ import_semver16 = __toESM(require_semver2(), 1);
113766
113908
  init_checkGlobalBinDir();
113767
113909
  init_concurrency();
113768
113910
  init_configFileKey();
@@ -124958,7 +125100,7 @@ function parseVersionPolicyRule(pattern) {
124958
125100
  function parseExactVersionsUnion(versionsStr) {
124959
125101
  const versions = [];
124960
125102
  for (const versionRaw of versionsStr.split("||")) {
124961
- const version2 = import_semver16.default.valid(versionRaw);
125103
+ const version2 = import_semver17.default.valid(versionRaw);
124962
125104
  if (version2 == null) {
124963
125105
  return null;
124964
125106
  }
@@ -124966,13 +125108,13 @@ function parseExactVersionsUnion(versionsStr) {
124966
125108
  }
124967
125109
  return versions;
124968
125110
  }
124969
- var import_semver16;
125111
+ var import_semver17;
124970
125112
  var init_lib64 = __esm({
124971
125113
  "../config/version-policy/lib/index.js"() {
124972
125114
  "use strict";
124973
125115
  init_lib14();
124974
125116
  init_lib2();
124975
- import_semver16 = __toESM(require_semver2(), 1);
125117
+ import_semver17 = __toESM(require_semver2(), 1);
124976
125118
  }
124977
125119
  });
124978
125120
 
@@ -125096,7 +125238,7 @@ function parse6(dependencyPath) {
125096
125238
  version2 = version2.substring(0, patchHashIndex);
125097
125239
  }
125098
125240
  }
125099
- if (import_semver17.default.valid(version2)) {
125241
+ if (import_semver18.default.valid(version2)) {
125100
125242
  return {
125101
125243
  name,
125102
125244
  peerDepGraphHash,
@@ -125153,12 +125295,12 @@ function createPeerDepGraphHash(peerIds, maxLength = 1e3) {
125153
125295
  function isRuntimeDepPath(depPath) {
125154
125296
  return RUNTIME_DEP_PATH_RE.test(depPath);
125155
125297
  }
125156
- var import_semver17, RUNTIME_DEP_PATH_RE;
125298
+ var import_semver18, RUNTIME_DEP_PATH_RE;
125157
125299
  var init_lib65 = __esm({
125158
125300
  "../deps/path/lib/index.js"() {
125159
125301
  "use strict";
125160
125302
  init_lib20();
125161
- import_semver17 = __toESM(require_semver2(), 1);
125303
+ import_semver18 = __toESM(require_semver2(), 1);
125162
125304
  RUNTIME_DEP_PATH_RE = /^(?:node|bun|deno)@runtime:/;
125163
125305
  }
125164
125306
  });
@@ -126964,7 +127106,7 @@ var init_comver_to_semver = __esm({
126964
127106
  function mergeLockfileChanges(ours, theirs) {
126965
127107
  const newLockfile = {
126966
127108
  importers: {},
126967
- lockfileVersion: import_semver18.default.gt(comverToSemver(theirs.lockfileVersion.toString()), comverToSemver(ours.lockfileVersion.toString())) ? theirs.lockfileVersion : ours.lockfileVersion
127109
+ lockfileVersion: import_semver19.default.gt(comverToSemver(theirs.lockfileVersion.toString()), comverToSemver(ours.lockfileVersion.toString())) ? theirs.lockfileVersion : ours.lockfileVersion
126968
127110
  };
126969
127111
  const pnpmfileChecksum = ours.pnpmfileChecksum ?? theirs.pnpmfileChecksum;
126970
127112
  if (pnpmfileChecksum) {
@@ -127030,19 +127172,19 @@ function mergeVersions(ourValue, theirValue) {
127030
127172
  return theirValue;
127031
127173
  const [ourVersion] = ourValue.split("(");
127032
127174
  const [theirVersion] = theirValue.split("(");
127033
- const validOurVersion = import_semver18.default.valid(ourVersion);
127034
- const validTheirVersion = import_semver18.default.valid(theirVersion);
127175
+ const validOurVersion = import_semver19.default.valid(ourVersion);
127176
+ const validTheirVersion = import_semver19.default.valid(theirVersion);
127035
127177
  if (validOurVersion && validTheirVersion) {
127036
- return import_semver18.default.gt(ourVersion, theirVersion) ? ourValue : theirValue;
127178
+ return import_semver19.default.gt(ourVersion, theirVersion) ? ourValue : theirValue;
127037
127179
  }
127038
127180
  return theirValue;
127039
127181
  }
127040
- var import_semver18;
127182
+ var import_semver19;
127041
127183
  var init_lib77 = __esm({
127042
127184
  "../lockfile/merger/lib/index.js"() {
127043
127185
  "use strict";
127044
127186
  init_comver_to_semver();
127045
- import_semver18 = __toESM(require_semver2(), 1);
127187
+ import_semver19 = __toESM(require_semver2(), 1);
127046
127188
  }
127047
127189
  });
127048
127190
 
@@ -127123,7 +127265,7 @@ var init_gitMergeFile = __esm({
127123
127265
  });
127124
127266
 
127125
127267
  // ../lockfile/fs/lib/read.js
127126
- import { promises as fs39 } from "node:fs";
127268
+ import fs39, { promises as fsp } from "node:fs";
127127
127269
  import path69 from "node:path";
127128
127270
  import util19 from "node:util";
127129
127271
  async function readCurrentLockfile(pnpmInternalDir, opts2) {
@@ -127139,10 +127281,21 @@ async function readWantedLockfileAndAutofixConflicts(pkgPath, opts2) {
127139
127281
  async function readWantedLockfile(pkgPath, opts2) {
127140
127282
  return (await _readWantedLockfile(pkgPath, opts2)).lockfile;
127141
127283
  }
127284
+ function wantedLockfileHasMergeConflictsSync(pkgPath) {
127285
+ try {
127286
+ const lockfileRawContent = stripBom(fs39.readFileSync(path69.join(pkgPath, WANTED_LOCKFILE), "utf8"));
127287
+ return isDiff(extractMainDocument(lockfileRawContent));
127288
+ } catch (err) {
127289
+ if (util19.types.isNativeError(err) && "code" in err && err.code === "ENOENT") {
127290
+ return false;
127291
+ }
127292
+ throw err;
127293
+ }
127294
+ }
127142
127295
  async function _read(lockfilePath, prefix, opts2) {
127143
127296
  let lockfileRawContent;
127144
127297
  try {
127145
- lockfileRawContent = stripBom(await fs39.readFile(lockfilePath, "utf8"));
127298
+ lockfileRawContent = stripBom(await fsp.readFile(lockfilePath, "utf8"));
127146
127299
  } catch (err) {
127147
127300
  if (!(util19.types.isNativeError(err) && "code" in err && err.code === "ENOENT")) {
127148
127301
  throw err;
@@ -127178,9 +127331,9 @@ async function _read(lockfilePath, prefix, opts2) {
127178
127331
  if (lockfile) {
127179
127332
  const lockfileSemver = comverToSemver((lockfile.lockfileVersion ?? 0).toString());
127180
127333
  if (!opts2.wantedVersions || opts2.wantedVersions.length === 0 || opts2.wantedVersions.some((wantedVersion) => {
127181
- if (import_semver19.default.major(lockfileSemver) !== import_semver19.default.major(comverToSemver(wantedVersion)))
127334
+ if (import_semver20.default.major(lockfileSemver) !== import_semver20.default.major(comverToSemver(wantedVersion)))
127182
127335
  return false;
127183
- if (lockfile.lockfileVersion !== "6.1" && import_semver19.default.gt(lockfileSemver, comverToSemver(wantedVersion))) {
127336
+ if (lockfile.lockfileVersion !== "6.1" && import_semver20.default.gt(lockfileSemver, comverToSemver(wantedVersion))) {
127184
127337
  lockfileLogger.warn({
127185
127338
  message: `Your ${WANTED_LOCKFILE} was generated by a newer version of pnpm. It is a compatible version but it might get downgraded to version ${wantedVersion}`,
127186
127339
  prefix
@@ -127256,7 +127409,7 @@ async function _readGitBranchLockfiles(lockfileDir, prefix, opts2) {
127256
127409
  const files = await getGitBranchLockfileNames(lockfileDir);
127257
127410
  return Promise.all(files.map((file) => _read(path69.join(lockfileDir, file), prefix, opts2)));
127258
127411
  }
127259
- var import_semver19;
127412
+ var import_semver20;
127260
127413
  var init_read = __esm({
127261
127414
  "../lockfile/fs/lib/read.js"() {
127262
127415
  "use strict";
@@ -127265,7 +127418,7 @@ var init_read = __esm({
127265
127418
  init_lib77();
127266
127419
  init_comver_to_semver();
127267
127420
  init_js_yaml();
127268
- import_semver19 = __toESM(require_semver2(), 1);
127421
+ import_semver20 = __toESM(require_semver2(), 1);
127269
127422
  init_strip_bom();
127270
127423
  init_errors();
127271
127424
  init_gitBranchLockfile();
@@ -127871,16 +128024,16 @@ function normalizeBundledManifest(manifest) {
127871
128024
  if (!result2 && !scripts)
127872
128025
  return void 0;
127873
128026
  return {
127874
- version: import_semver20.default.clean(manifest.version ?? "0.0.0", { loose: true }) ?? manifest.version,
128027
+ version: import_semver21.default.clean(manifest.version ?? "0.0.0", { loose: true }) ?? manifest.version,
127875
128028
  ...result2,
127876
128029
  ...scripts ? { scripts } : {}
127877
128030
  };
127878
128031
  }
127879
- var import_semver20, BUNDLED_MANIFEST_FIELDS, LIFECYCLE_SCRIPTS;
128032
+ var import_semver21, BUNDLED_MANIFEST_FIELDS, LIFECYCLE_SCRIPTS;
127880
128033
  var init_normalizeBundledManifest = __esm({
127881
128034
  "../store/cafs/lib/normalizeBundledManifest.js"() {
127882
128035
  "use strict";
127883
- import_semver20 = __toESM(require_semver2(), 1);
128036
+ import_semver21 = __toESM(require_semver2(), 1);
127884
128037
  BUNDLED_MANIFEST_FIELDS = [
127885
128038
  "bin",
127886
128039
  "bundledDependencies",
@@ -129236,7 +129389,8 @@ async function resolveAndFetch(ctx, wantedDependency, options) {
129236
129389
  id: options.currentPkg.id,
129237
129390
  name: options.currentPkg.name,
129238
129391
  version: options.currentPkg.version,
129239
- resolution: options.currentPkg.resolution
129392
+ resolution: options.currentPkg.resolution,
129393
+ publishedAt: options.currentPkg.publishedAt
129240
129394
  } : void 0
129241
129395
  }), { priority: options.downloadPriority });
129242
129396
  let { manifest } = resolveResult;
@@ -133200,7 +133354,7 @@ function matches(searched, manifest) {
133200
133354
  if (typeof searchedPkg === "string") {
133201
133355
  return manifest.name === searchedPkg;
133202
133356
  }
133203
- return searchedPkg.name === manifest.name && !!manifest.version && import_semver21.default.satisfies(manifest.version, searchedPkg.range);
133357
+ return searchedPkg.name === manifest.name && !!manifest.version && import_semver22.default.satisfies(manifest.version, searchedPkg.range);
133204
133358
  });
133205
133359
  }
133206
133360
  async function buildSelectedPkgs(projects, pkgSpecs, maybeOpts) {
@@ -133519,7 +133673,7 @@ function mergeIgnoredBuilds(existing, newIgnored, rebuiltPkgs) {
133519
133673
  }
133520
133674
  return merged.size ? merged : void 0;
133521
133675
  }
133522
- var import_logger52, import_npm_package_arg2, import_semver21, limitLinking;
133676
+ var import_logger52, import_npm_package_arg2, import_semver22, limitLinking;
133523
133677
  var init_lib91 = __esm({
133524
133678
  "../building/after-install/lib/index.js"() {
133525
133679
  "use strict";
@@ -133545,7 +133699,7 @@ var init_lib91 = __esm({
133545
133699
  init_lib4();
133546
133700
  init_p_limit();
133547
133701
  init_lib42();
133548
- import_semver21 = __toESM(require_semver2(), 1);
133702
+ import_semver22 = __toESM(require_semver2(), 1);
133549
133703
  init_extendBuildOptions();
133550
133704
  limitLinking = pLimit(16);
133551
133705
  }
@@ -143355,7 +143509,7 @@ function extendPkgHook(extensionsByPkgName, manifest) {
143355
143509
  }
143356
143510
  function extendPkg(manifest, extensions2) {
143357
143511
  for (const { range, packageExtension } of extensions2) {
143358
- if (range != null && !import_semver22.default.satisfies(manifest.version, range))
143512
+ if (range != null && !import_semver23.default.satisfies(manifest.version, range))
143359
143513
  continue;
143360
143514
  for (const field of ["dependencies", "optionalDependencies", "peerDependencies", "peerDependenciesMeta"]) {
143361
143515
  if (!packageExtension[field])
@@ -143367,24 +143521,24 @@ function extendPkg(manifest, extensions2) {
143367
143521
  }
143368
143522
  }
143369
143523
  }
143370
- var import_semver22;
143524
+ var import_semver23;
143371
143525
  var init_createPackageExtender = __esm({
143372
143526
  "../hooks/read-package-hook/lib/createPackageExtender.js"() {
143373
143527
  "use strict";
143374
143528
  init_lib96();
143375
- import_semver22 = __toESM(require_semver2(), 1);
143529
+ import_semver23 = __toESM(require_semver2(), 1);
143376
143530
  }
143377
143531
  });
143378
143532
 
143379
143533
  // ../hooks/read-package-hook/lib/isIntersectingRange.js
143380
143534
  function isIntersectingRange(range1, range2) {
143381
- return !range1 || range2 === range1 || import_semver23.default.validRange(range2) != null && import_semver23.default.validRange(range1) != null && import_semver23.default.intersects(range2, range1);
143535
+ return !range1 || range2 === range1 || import_semver24.default.validRange(range2) != null && import_semver24.default.validRange(range1) != null && import_semver24.default.intersects(range2, range1);
143382
143536
  }
143383
- var import_semver23;
143537
+ var import_semver24;
143384
143538
  var init_isIntersectingRange = __esm({
143385
143539
  "../hooks/read-package-hook/lib/isIntersectingRange.js"() {
143386
143540
  "use strict";
143387
- import_semver23 = __toESM(require_semver2(), 1);
143541
+ import_semver24 = __toESM(require_semver2(), 1);
143388
143542
  }
143389
143543
  });
143390
143544
 
@@ -143397,7 +143551,7 @@ function createVersionsOverrider(overrides, rootDir) {
143397
143551
  })));
143398
143552
  return ((manifest, dir) => {
143399
143553
  const versionOverridesWithParent = versionOverrides.filter(({ parentPkg }) => {
143400
- return parentPkg.name === manifest.name && (!parentPkg.bareSpecifier || import_semver24.default.satisfies(manifest.version, parentPkg.bareSpecifier));
143554
+ return parentPkg.name === manifest.name && (!parentPkg.bareSpecifier || import_semver25.default.satisfies(manifest.version, parentPkg.bareSpecifier));
143401
143555
  });
143402
143556
  overrideDepsOfPkg({ manifest, dir }, versionOverridesWithParent, genericVersionOverrides);
143403
143557
  return manifest;
@@ -143458,14 +143612,14 @@ function resolveLocalOverride({ specifiedViaRelativePath, absolutePath }, pkgDir
143458
143612
  function pickMostSpecificVersionOverride(versionOverrides) {
143459
143613
  return versionOverrides.sort((a2, b) => isIntersectingRange(b.targetPkg.bareSpecifier ?? "", a2.targetPkg.bareSpecifier ?? "") ? -1 : 1)[0];
143460
143614
  }
143461
- var import_normalize_path5, import_semver24;
143615
+ var import_normalize_path5, import_semver25;
143462
143616
  var init_createVersionsOverrider = __esm({
143463
143617
  "../hooks/read-package-hook/lib/createVersionsOverrider.js"() {
143464
143618
  "use strict";
143465
143619
  init_lib7();
143466
143620
  import_normalize_path5 = __toESM(require_normalize_path(), 1);
143467
143621
  init_es();
143468
- import_semver24 = __toESM(require_semver2(), 1);
143622
+ import_semver25 = __toESM(require_semver2(), 1);
143469
143623
  init_isIntersectingRange();
143470
143624
  }
143471
143625
  });
@@ -143523,7 +143677,7 @@ function getPatchInfo(patchFileGroups, pkgName, pkgVersion) {
143523
143677
  const exactVersion = patchFileGroups[pkgName].exact[pkgVersion];
143524
143678
  if (exactVersion)
143525
143679
  return exactVersion;
143526
- const satisfied = patchFileGroups[pkgName].range.filter((item) => (0, import_semver25.satisfies)(pkgVersion, item.version));
143680
+ const satisfied = patchFileGroups[pkgName].range.filter((item) => (0, import_semver26.satisfies)(pkgVersion, item.version));
143527
143681
  if (satisfied.length > 1) {
143528
143682
  throw new PatchKeyConflictError(pkgName, pkgVersion, satisfied);
143529
143683
  }
@@ -143532,12 +143686,12 @@ function getPatchInfo(patchFileGroups, pkgName, pkgVersion) {
143532
143686
  }
143533
143687
  return patchFileGroups[pkgName].all;
143534
143688
  }
143535
- var import_semver25, PatchKeyConflictError;
143689
+ var import_semver26, PatchKeyConflictError;
143536
143690
  var init_getPatchInfo = __esm({
143537
143691
  "../patching/config/lib/getPatchInfo.js"() {
143538
143692
  "use strict";
143539
143693
  init_lib2();
143540
- import_semver25 = __toESM(require_semver2(), 1);
143694
+ import_semver26 = __toESM(require_semver2(), 1);
143541
143695
  PatchKeyConflictError = class extends PnpmError {
143542
143696
  constructor(pkgName, pkgVersion, satisfied) {
143543
143697
  const pkgId = `${pkgName}@${pkgVersion}`;
@@ -143575,7 +143729,7 @@ function groupPatchedDependencies(patchedDependencies) {
143575
143729
  continue;
143576
143730
  }
143577
143731
  if (name && nonSemverVersion) {
143578
- if (!(0, import_semver26.validRange)(nonSemverVersion)) {
143732
+ if (!(0, import_semver27.validRange)(nonSemverVersion)) {
143579
143733
  throw new PnpmError("PATCH_NON_SEMVER_RANGE", `${nonSemverVersion} is not a valid semantic version range.`);
143580
143734
  }
143581
143735
  if (nonSemverVersion.trim() === "*") {
@@ -143592,13 +143746,13 @@ function groupPatchedDependencies(patchedDependencies) {
143592
143746
  }
143593
143747
  return result2;
143594
143748
  }
143595
- var import_semver26;
143749
+ var import_semver27;
143596
143750
  var init_groupPatchedDependencies = __esm({
143597
143751
  "../patching/config/lib/groupPatchedDependencies.js"() {
143598
143752
  "use strict";
143599
143753
  init_lib65();
143600
143754
  init_lib2();
143601
- import_semver26 = __toESM(require_semver2(), 1);
143755
+ import_semver27 = __toESM(require_semver2(), 1);
143602
143756
  }
143603
143757
  });
143604
143758
 
@@ -143927,14 +144081,14 @@ function hoistPeers(opts2, missingRequiredPeers) {
143927
144081
  nonVersions.push(spec);
143928
144082
  }
143929
144083
  }
143930
- const isExactVersion = import_semver27.default.valid(range) != null;
143931
- const satisfyingVersion = isExactVersion ? import_semver27.default.maxSatisfying(versions, range, { includePrerelease: true }) : null;
144084
+ const isExactVersion = import_semver28.default.valid(range) != null;
144085
+ const satisfyingVersion = isExactVersion ? import_semver28.default.maxSatisfying(versions, range, { includePrerelease: true }) : null;
143932
144086
  if (satisfyingVersion) {
143933
144087
  dependencies[peerName] = [satisfyingVersion, ...nonVersions].join(" || ");
143934
144088
  } else if (isExactVersion && opts2.autoInstallPeers) {
143935
144089
  dependencies[peerName] = range;
143936
144090
  } else {
143937
- dependencies[peerName] = [import_semver27.default.maxSatisfying(versions, "*", { includePrerelease: true }), ...nonVersions].filter((spec) => spec != null).join(" || ");
144091
+ dependencies[peerName] = [import_semver28.default.maxSatisfying(versions, "*", { includePrerelease: true }), ...nonVersions].filter((spec) => spec != null).join(" || ");
143938
144092
  }
143939
144093
  } else if (opts2.autoInstallPeers) {
143940
144094
  dependencies[peerName] = range;
@@ -143949,7 +144103,7 @@ function getHoistableOptionalPeers(allMissingOptionalPeers, allPreferredVersions
143949
144103
  continue;
143950
144104
  let maxSatisfyingVersion;
143951
144105
  for (const [version2, specType] of Object.entries(allPreferredVersions[missingOptionalPeerName])) {
143952
- if (specType === "version" && ranges.every((range) => import_semver27.default.satisfies(version2, range)) && (!maxSatisfyingVersion || import_semver27.default.gt(version2, maxSatisfyingVersion))) {
144106
+ if (specType === "version" && ranges.every((range) => import_semver28.default.satisfies(version2, range)) && (!maxSatisfyingVersion || import_semver28.default.gt(version2, maxSatisfyingVersion))) {
143953
144107
  maxSatisfyingVersion = version2;
143954
144108
  }
143955
144109
  }
@@ -143959,12 +144113,12 @@ function getHoistableOptionalPeers(allMissingOptionalPeers, allPreferredVersions
143959
144113
  }
143960
144114
  return optionalDependencies;
143961
144115
  }
143962
- var import_util10, import_semver27;
144116
+ var import_util10, import_semver28;
143963
144117
  var init_hoistPeers = __esm({
143964
144118
  "../installing/deps-resolver/lib/hoistPeers.js"() {
143965
144119
  "use strict";
143966
144120
  import_util10 = __toESM(require_dist3(), 1);
143967
- import_semver27 = __toESM(require_semver2(), 1);
144121
+ import_semver28 = __toESM(require_semver2(), 1);
143968
144122
  }
143969
144123
  });
143970
144124
 
@@ -144514,7 +144668,7 @@ var init_parentIdsContainSequence = __esm({
144514
144668
 
144515
144669
  // ../installing/deps-resolver/lib/replaceVersionInBareSpecifier.js
144516
144670
  function replaceVersionInBareSpecifier(bareSpecifier, version2, namedRegistryPrefixes = []) {
144517
- if (import_semver28.default.validRange(bareSpecifier)) {
144671
+ if (import_semver29.default.validRange(bareSpecifier)) {
144518
144672
  return version2;
144519
144673
  }
144520
144674
  let prefix;
@@ -144531,7 +144685,7 @@ function replaceVersionInBareSpecifier(bareSpecifier, version2, namedRegistryPre
144531
144685
  if (prefix == null) {
144532
144686
  return bareSpecifier;
144533
144687
  }
144534
- if (import_semver28.default.validRange(bareSpecifier.slice(prefix.length))) {
144688
+ if (import_semver29.default.validRange(bareSpecifier.slice(prefix.length))) {
144535
144689
  return `${prefix}${version2}`;
144536
144690
  }
144537
144691
  const versionDelimiter = bareSpecifier.lastIndexOf("@");
@@ -144540,11 +144694,11 @@ function replaceVersionInBareSpecifier(bareSpecifier, version2, namedRegistryPre
144540
144694
  }
144541
144695
  return `${bareSpecifier.substring(0, versionDelimiter + 1)}${version2}`;
144542
144696
  }
144543
- var import_semver28;
144697
+ var import_semver29;
144544
144698
  var init_replaceVersionInBareSpecifier = __esm({
144545
144699
  "../installing/deps-resolver/lib/replaceVersionInBareSpecifier.js"() {
144546
144700
  "use strict";
144547
- import_semver28 = __toESM(require_semver2(), 1);
144701
+ import_semver29 = __toESM(require_semver2(), 1);
144548
144702
  }
144549
144703
  });
144550
144704
 
@@ -144559,21 +144713,21 @@ function pickMatchingLocalVersionOrNull2(versions, spec) {
144559
144713
  const localVersions = Array.from(versions.keys());
144560
144714
  switch (spec.type) {
144561
144715
  case "tag":
144562
- return import_semver29.default.maxSatisfying(localVersions, "*");
144716
+ return import_semver30.default.maxSatisfying(localVersions, "*");
144563
144717
  case "version":
144564
144718
  return versions.has(spec.fetchSpec) ? spec.fetchSpec : null;
144565
144719
  case "range":
144566
- return import_semver29.default.maxSatisfying(localVersions, spec.fetchSpec, true);
144720
+ return import_semver30.default.maxSatisfying(localVersions, spec.fetchSpec, true);
144567
144721
  default:
144568
144722
  return null;
144569
144723
  }
144570
144724
  }
144571
- var import_semver29;
144725
+ var import_semver30;
144572
144726
  var init_wantedDepIsLocallyAvailable = __esm({
144573
144727
  "../installing/deps-resolver/lib/wantedDepIsLocallyAvailable.js"() {
144574
144728
  "use strict";
144575
144729
  init_lib23();
144576
- import_semver29 = __toESM(require_semver2(), 1);
144730
+ import_semver30 = __toESM(require_semver2(), 1);
144577
144731
  }
144578
144732
  });
144579
144733
 
@@ -145115,7 +145269,7 @@ function getDepsToResolve(wantedDependencies, wantedLockfile, options) {
145115
145269
  // So for example, if foo@1.0.0 had bar@1.0.0 as a dependency
145116
145270
  // and foo was updated to 1.1.0 which depends on bar ^1.0.0
145117
145271
  // then bar@1.0.0 can be reused for foo@1.1.0
145118
- import_semver30.default.validRange(wantedDependency.bareSpecifier) !== null && preferredDependencies[wantedDependency.alias] && satisfiesWanted(preferredDependencies[wantedDependency.alias])
145272
+ import_semver31.default.validRange(wantedDependency.bareSpecifier) !== null && preferredDependencies[wantedDependency.alias] && satisfiesWanted(preferredDependencies[wantedDependency.alias])
145119
145273
  ) {
145120
145274
  proceed = true;
145121
145275
  reference = preferredDependencies[wantedDependency.alias];
@@ -145152,10 +145306,10 @@ function referenceSatisfiesWantedSpec(opts2, wantedDep, preferredRef) {
145152
145306
  return false;
145153
145307
  }
145154
145308
  const { version: version2 } = nameVerFromPkgSnapshot(depPath, pkgSnapshot);
145155
- if (!import_semver30.default.validRange(wantedDep.bareSpecifier) && Object.values(opts2.lockfile.importers).filter((importer) => importer.specifiers[wantedDep.alias] === wantedDep.bareSpecifier).length) {
145309
+ if (!import_semver31.default.validRange(wantedDep.bareSpecifier) && Object.values(opts2.lockfile.importers).filter((importer) => importer.specifiers[wantedDep.alias] === wantedDep.bareSpecifier).length) {
145156
145310
  return true;
145157
145311
  }
145158
- return import_semver30.default.satisfies(version2, wantedDep.bareSpecifier, true);
145312
+ return import_semver31.default.satisfies(version2, wantedDep.bareSpecifier, true);
145159
145313
  }
145160
145314
  function getInfoFromLockfile(lockfile, registries, reference, alias) {
145161
145315
  if (!reference || !alias) {
@@ -145228,7 +145382,8 @@ async function resolveDependency2(wantedDependency, ctx, options) {
145228
145382
  id: currentPkg.pkgId,
145229
145383
  name: currentPkg.name,
145230
145384
  resolution: currentPkg.resolution,
145231
- version: currentPkg.version
145385
+ version: currentPkg.version,
145386
+ publishedAt: currentPkg.pkgId ? ctx.wantedLockfile.time?.[currentPkg.pkgId] : void 0
145232
145387
  } : void 0,
145233
145388
  expectedPkg: currentPkg,
145234
145389
  defaultTag: ctx.defaultTag,
@@ -145393,7 +145548,7 @@ async function resolveDependency2(wantedDependency, ctx, options) {
145393
145548
  const parentImporterId = options.parentIds[0];
145394
145549
  const currentIsOptional = wantedDependency.optional || options.parentPkg.optional;
145395
145550
  if (isNew) {
145396
- if (pkg.deprecated && (!ctx.allowedDeprecatedVersions[pkg.name] || !import_semver30.default.satisfies(pkg.version, ctx.allowedDeprecatedVersions[pkg.name]))) {
145551
+ if (pkg.deprecated && (!ctx.allowedDeprecatedVersions[pkg.name] || !import_semver31.default.satisfies(pkg.version, ctx.allowedDeprecatedVersions[pkg.name]))) {
145397
145552
  deprecationLogger.debug({
145398
145553
  deprecated: pkg.deprecated,
145399
145554
  depth: options.currentDepth,
@@ -145584,7 +145739,7 @@ function getCatalogExistingVersionFromSnapshot(catalogLookup, wantedLockfile, wa
145584
145739
  function isExoticDep(resolvedVia) {
145585
145740
  return !NON_EXOTIC_RESOLVED_VIA.has(resolvedVia);
145586
145741
  }
145587
- var import_normalize_path6, import_semver30, dependencyResolvedLogger, omitDepsFields, NON_EXOTIC_RESOLVED_VIA;
145742
+ var import_normalize_path6, import_semver31, dependencyResolvedLogger, omitDepsFields, NON_EXOTIC_RESOLVED_VIA;
145588
145743
  var init_resolveDependencies = __esm({
145589
145744
  "../installing/deps-resolver/lib/resolveDependencies.js"() {
145590
145745
  "use strict";
@@ -145603,7 +145758,7 @@ var init_resolveDependencies = __esm({
145603
145758
  init_path_exists();
145604
145759
  init_promise_share();
145605
145760
  init_es();
145606
- import_semver30 = __toESM(require_semver2(), 1);
145761
+ import_semver31 = __toESM(require_semver2(), 1);
145607
145762
  init_getExactSinglePreferredVersions();
145608
145763
  init_getNonDevWantedDependencies();
145609
145764
  init_hoistPeers();
@@ -147631,12 +147786,12 @@ function updateParentRefs(parentRefs, newAlias, pkg) {
147631
147786
  if (!existingHasAlias)
147632
147787
  return;
147633
147788
  const newHasAlias = pkg.alias != null && pkg.alias !== newAlias;
147634
- if (newHasAlias && import_semver31.default.gte(existing.version, pkg.version))
147789
+ if (newHasAlias && import_semver32.default.gte(existing.version, pkg.version))
147635
147790
  return;
147636
147791
  }
147637
147792
  parentRefs[newAlias] = pkg;
147638
147793
  }
147639
- var semverUtils, import_semver31;
147794
+ var semverUtils, import_semver32;
147640
147795
  var init_resolvePeers = __esm({
147641
147796
  "../installing/deps-resolver/lib/resolvePeers.js"() {
147642
147797
  "use strict";
@@ -147645,7 +147800,7 @@ var init_resolvePeers = __esm({
147645
147800
  init_dist9();
147646
147801
  init_p_defer();
147647
147802
  init_es();
147648
- import_semver31 = __toESM(require_semver2(), 1);
147803
+ import_semver32 = __toESM(require_semver2(), 1);
147649
147804
  init_dedupeInjectedDeps();
147650
147805
  init_linkPathToPeerVersion();
147651
147806
  init_mergePeers();
@@ -157024,7 +157179,7 @@ async function linkedPackagesAreUpToDate({ linkWorkspacePackages, manifestsByDir
157024
157179
  }
157025
157180
  const linkedPkg = manifestsByDir[linkedDir] ?? await safeReadPackageJsonFromDir(linkedDir);
157026
157181
  const availableRange = getVersionRange(currentSpec);
157027
- const localPackageSatisfiesRange = availableRange === "*" || availableRange === "^" || availableRange === "~" || linkedPkg && import_semver32.default.satisfies(linkedPkg.version, availableRange, { loose: true });
157182
+ const localPackageSatisfiesRange = availableRange === "*" || availableRange === "^" || availableRange === "~" || linkedPkg && import_semver33.default.satisfies(linkedPkg.version, availableRange, { loose: true });
157028
157183
  if (isLinked !== localPackageSatisfiesRange)
157029
157184
  return false;
157030
157185
  return true;
@@ -157053,7 +157208,7 @@ async function isLocalFileDepUpdated(lockfileDir, pkgSnapshot) {
157053
157208
  const currentSpec = manifestDeps[depName];
157054
157209
  if (currentSpec.startsWith("file:") || currentSpec.startsWith("link:") || currentSpec.startsWith("workspace:"))
157055
157210
  continue;
157056
- if (import_semver32.default.satisfies(lockfileDeps[depName], getVersionRange(currentSpec), { loose: true })) {
157211
+ if (import_semver33.default.satisfies(lockfileDeps[depName], getVersionRange(currentSpec), { loose: true })) {
157057
157212
  continue;
157058
157213
  } else {
157059
157214
  return false;
@@ -157074,7 +157229,7 @@ function getVersionRange(spec) {
157074
157229
  }
157075
157230
  return spec;
157076
157231
  }
157077
- var import_p_every, import_semver32, import_version_selector_type6;
157232
+ var import_p_every, import_semver33, import_version_selector_type6;
157078
157233
  var init_linkedPackagesAreUpToDate = __esm({
157079
157234
  "../lockfile/verification/lib/linkedPackagesAreUpToDate.js"() {
157080
157235
  "use strict";
@@ -157083,7 +157238,7 @@ var init_linkedPackagesAreUpToDate = __esm({
157083
157238
  init_lib38();
157084
157239
  init_lib8();
157085
157240
  import_p_every = __toESM(require_p_every(), 1);
157086
- import_semver32 = __toESM(require_semver2(), 1);
157241
+ import_semver33 = __toESM(require_semver2(), 1);
157087
157242
  import_version_selector_type6 = __toESM(require_version_selector_type(), 1);
157088
157243
  }
157089
157244
  });
@@ -157251,10 +157406,10 @@ ${displaySpecDiff(specsDiff)}`
157251
157406
  detailedReason: `importer ${depField}.${depName} specifier ${importer.specifiers[depName]} don't match package manifest specifier (${pkgDeps[depName]})`
157252
157407
  };
157253
157408
  }
157254
- if (importer?.specifiers[depName] == null || !import_semver33.default.validRange(importer?.specifiers[depName]))
157409
+ if (importer?.specifiers[depName] == null || !import_semver34.default.validRange(importer?.specifiers[depName]))
157255
157410
  continue;
157256
157411
  const version2 = removeSuffix(importerDeps[depName]);
157257
- if (import_semver33.default.valid(version2) && !import_semver33.default.satisfies(version2, importer.specifiers[depName])) {
157412
+ if (import_semver34.default.valid(version2) && !import_semver34.default.satisfies(version2, importer.specifiers[depName])) {
157258
157413
  return {
157259
157414
  satisfies: false,
157260
157415
  detailedReason: `The importer resolution is broken at dependency "${depName}": version "${version2}" doesn't satisfy range "${importer.specifiers[depName]}"`
@@ -157289,14 +157444,14 @@ function displaySpecDiff({ added, removed, modified }) {
157289
157444
  }
157290
157445
  return result2;
157291
157446
  }
157292
- var import_semver33;
157447
+ var import_semver34;
157293
157448
  var init_satisfiesPackageManifest = __esm({
157294
157449
  "../lockfile/verification/lib/satisfiesPackageManifest.js"() {
157295
157450
  "use strict";
157296
157451
  init_lib65();
157297
157452
  init_lib8();
157298
157453
  init_es();
157299
- import_semver33 = __toESM(require_semver2(), 1);
157454
+ import_semver34 = __toESM(require_semver2(), 1);
157300
157455
  init_diffFlatRecords();
157301
157456
  }
157302
157457
  });
@@ -157475,28 +157630,34 @@ var init_parseWantedDependencies = __esm({
157475
157630
  // ../installing/deps-installer/lib/uninstall/removeDeps.js
157476
157631
  async function removeDeps(packageManifest, removedPackages, opts2) {
157477
157632
  if (opts2.saveType) {
157478
- if (packageManifest[opts2.saveType] == null)
157633
+ if (!Object.hasOwn(packageManifest, opts2.saveType))
157634
+ return packageManifest;
157635
+ const targetDeps = packageManifest[opts2.saveType];
157636
+ if (targetDeps == null)
157479
157637
  return packageManifest;
157480
157638
  for (const dependency of removedPackages) {
157481
- delete packageManifest[opts2.saveType][dependency];
157639
+ removeOwnEntry(targetDeps, dependency);
157482
157640
  }
157483
157641
  } else {
157484
157642
  for (const depField of DEPENDENCIES_FIELDS) {
157485
- if (!packageManifest[depField])
157643
+ const fieldDeps = packageManifest[depField];
157644
+ if (!fieldDeps)
157486
157645
  continue;
157487
157646
  for (const dependency of removedPackages) {
157488
- delete packageManifest[depField][dependency];
157647
+ removeOwnEntry(fieldDeps, dependency);
157489
157648
  }
157490
157649
  }
157491
157650
  }
157492
157651
  if (packageManifest.peerDependencies != null) {
157652
+ const peerDeps = packageManifest.peerDependencies;
157493
157653
  for (const removedDependency of removedPackages) {
157494
- delete packageManifest.peerDependencies[removedDependency];
157654
+ removeOwnEntry(peerDeps, removedDependency);
157495
157655
  }
157496
157656
  }
157497
157657
  if (packageManifest.dependenciesMeta != null) {
157658
+ const depsMeta = packageManifest.dependenciesMeta;
157498
157659
  for (const removedDependency of removedPackages) {
157499
- delete packageManifest.dependenciesMeta[removedDependency];
157660
+ removeOwnEntry(depsMeta, removedDependency);
157500
157661
  }
157501
157662
  }
157502
157663
  packageManifestLogger.debug({
@@ -157505,6 +157666,11 @@ async function removeDeps(packageManifest, removedPackages, opts2) {
157505
157666
  });
157506
157667
  return packageManifest;
157507
157668
  }
157669
+ function removeOwnEntry(target2, key) {
157670
+ if (Object.hasOwn(target2, key)) {
157671
+ delete target2[key];
157672
+ }
157673
+ }
157508
157674
  var init_removeDeps = __esm({
157509
157675
  "../installing/deps-installer/lib/uninstall/removeDeps.js"() {
157510
157676
  "use strict";
@@ -158151,17 +158317,17 @@ function filterPeerDependencyIssues(peerDependencyIssuesByProjects, rules) {
158151
158317
  continue;
158152
158318
  const filteredIssues = [];
158153
158319
  for (const issue of issues) {
158154
- if (allowedVersionsMatchAll[peerName]?.some((range) => import_semver34.default.satisfies(issue.foundVersion, range)))
158320
+ if (allowedVersionsMatchAll[peerName]?.some((range) => import_semver35.default.satisfies(issue.foundVersion, range)))
158155
158321
  continue;
158156
158322
  const currentParentPkg = issue.parents.at(-1);
158157
158323
  if (currentParentPkg && allowedVersionsByParentPkgName[peerName]?.[currentParentPkg.name]) {
158158
158324
  const allowedVersionsByParent = {};
158159
158325
  for (const { targetPkg, parentPkg, ranges } of allowedVersionsByParentPkgName[peerName][currentParentPkg.name]) {
158160
- if (!parentPkg.bareSpecifier || currentParentPkg.version && (isSubRange(parentPkg.bareSpecifier, currentParentPkg.version) || import_semver34.default.satisfies(currentParentPkg.version, parentPkg.bareSpecifier))) {
158326
+ if (!parentPkg.bareSpecifier || currentParentPkg.version && (isSubRange(parentPkg.bareSpecifier, currentParentPkg.version) || import_semver35.default.satisfies(currentParentPkg.version, parentPkg.bareSpecifier))) {
158161
158327
  allowedVersionsByParent[targetPkg.name] = ranges;
158162
158328
  }
158163
158329
  }
158164
- if (allowedVersionsByParent[peerName]?.some((range) => import_semver34.default.satisfies(issue.foundVersion, range)))
158330
+ if (allowedVersionsByParent[peerName]?.some((range) => import_semver35.default.satisfies(issue.foundVersion, range)))
158165
158331
  continue;
158166
158332
  }
158167
158333
  filteredIssues.push(issue);
@@ -158174,7 +158340,7 @@ function filterPeerDependencyIssues(peerDependencyIssuesByProjects, rules) {
158174
158340
  return newPeerDependencyIssuesByProjects;
158175
158341
  }
158176
158342
  function isSubRange(superRange, subRange) {
158177
- return !superRange || subRange === superRange || import_semver34.default.validRange(subRange) != null && import_semver34.default.validRange(superRange) != null && import_semver34.default.subset(subRange, superRange);
158343
+ return !superRange || subRange === superRange || import_semver35.default.validRange(subRange) != null && import_semver35.default.validRange(superRange) != null && import_semver35.default.subset(subRange, superRange);
158178
158344
  }
158179
158345
  function tryParseAllowedVersions(allowedVersions) {
158180
158346
  try {
@@ -158213,7 +158379,7 @@ function parseAllowedVersions(allowedVersions) {
158213
158379
  function parseVersions(versions) {
158214
158380
  return versions.split("||").map((v) => v.trim());
158215
158381
  }
158216
- var import_semver34, PeerDependencyIssuesError;
158382
+ var import_semver35, PeerDependencyIssuesError;
158217
158383
  var init_reportPeerDependencyIssues = __esm({
158218
158384
  "../installing/deps-installer/lib/install/reportPeerDependencyIssues.js"() {
158219
158385
  "use strict";
@@ -158222,7 +158388,7 @@ var init_reportPeerDependencyIssues = __esm({
158222
158388
  init_lib6();
158223
158389
  init_lib2();
158224
158390
  init_es();
158225
- import_semver34 = __toESM(require_semver2(), 1);
158391
+ import_semver35 = __toESM(require_semver2(), 1);
158226
158392
  PeerDependencyIssuesError = class extends PnpmError {
158227
158393
  issuesByProjects;
158228
158394
  constructor(issues) {
@@ -158977,7 +159143,7 @@ async function mutateModules(projects, maybeOpts) {
158977
159143
  const catalogResult = resolveFromCatalog(opts2.catalogs, { alias: dep.alias, bareSpecifier: specifier });
158978
159144
  specifier = matchCatalogResolveResult(catalogResult, pickCatalogSpecifier);
158979
159145
  }
158980
- const validVersion = import_semver35.default.valid(specifier);
159146
+ const validVersion = import_semver36.default.valid(specifier);
158981
159147
  if (!validVersion)
158982
159148
  continue;
158983
159149
  if (opts2.packageVulnerabilityAudit.isVulnerable(dep.alias, validVersion)) {
@@ -159036,12 +159202,13 @@ async function mutateModules(projects, maybeOpts) {
159036
159202
  defaultCatalog: opts2.catalogs?.default
159037
159203
  });
159038
159204
  if (opts2.catalogMode !== "manual") {
159039
- const catalogBareSpecifier = `catalog:${opts2.saveCatalogName == null || opts2.saveCatalogName === "default" ? "" : opts2.saveCatalogName}`;
159040
159205
  for (const wantedDep of wantedDeps) {
159206
+ const perDepCatalogName = getPerDepCatalogName(wantedDep, opts2.saveCatalogName);
159207
+ const catalogBareSpecifier = `catalog:${perDepCatalogName === "default" ? "" : perDepCatalogName}`;
159041
159208
  const catalog = resolveFromCatalog(opts2.catalogs, { ...wantedDep, bareSpecifier: catalogBareSpecifier });
159042
159209
  const catalogDepSpecifier = matchCatalogResolveResult(catalog, pickCatalogSpecifier);
159043
- if (!catalogDepSpecifier || wantedDep.bareSpecifier === catalogBareSpecifier || import_semver35.default.validRange(wantedDep.bareSpecifier) && import_semver35.default.validRange(catalogDepSpecifier) && import_semver35.default.eq(wantedDep.bareSpecifier, catalogDepSpecifier)) {
159044
- wantedDep.saveCatalogName = opts2.saveCatalogName ?? "default";
159210
+ if (!catalogDepSpecifier || wantedDep.bareSpecifier === catalogBareSpecifier || import_semver36.default.validRange(wantedDep.bareSpecifier) && import_semver36.default.validRange(catalogDepSpecifier) && import_semver36.default.eq(wantedDep.bareSpecifier, catalogDepSpecifier)) {
159211
+ wantedDep.saveCatalogName = perDepCatalogName;
159045
159212
  continue;
159046
159213
  }
159047
159214
  switch (opts2.catalogMode) {
@@ -159277,6 +159444,15 @@ function isWantedDepBareSpecifierSame(prevCatalogs, catalogsConfig, alias, prevB
159277
159444
  const nextCatalogEntrySpec = catalogsConfig?.[catalogName]?.[alias];
159278
159445
  return prevCatalogEntrySpec === nextCatalogEntrySpec;
159279
159446
  }
159447
+ function getPerDepCatalogName(wantedDep, globalSaveCatalogName) {
159448
+ if (wantedDep.prevSpecifier) {
159449
+ const catalogFromPrev = parseCatalogProtocol(wantedDep.prevSpecifier);
159450
+ if (catalogFromPrev != null) {
159451
+ return catalogFromPrev;
159452
+ }
159453
+ }
159454
+ return globalSaveCatalogName ?? "default";
159455
+ }
159280
159456
  async function addDependenciesToPackage(manifest, dependencySelectors, opts2) {
159281
159457
  const rootDir = opts2.dir ?? process.cwd();
159282
159458
  const { updatedCatalogs, updatedProjects: projects, ignoredBuilds } = await mutateModules([
@@ -159581,7 +159757,7 @@ async function installFromPnpmRegistry(manifest, rootDir, opts2, allInstallProje
159581
159757
  restoreImportConcurrency();
159582
159758
  }
159583
159759
  }
159584
- var import_util13, import_semver35, LockfileConfigMismatchError, BROKEN_LOCKFILE_INTEGRITY_ERRORS, DEV_PREINSTALL, pickCatalogSpecifier, _installInContext, installInContext, limitLinking5, IgnoredBuildsError;
159760
+ var import_util13, import_semver36, LockfileConfigMismatchError, BROKEN_LOCKFILE_INTEGRITY_ERRORS, DEV_PREINSTALL, pickCatalogSpecifier, _installInContext, installInContext, limitLinking5, IgnoredBuildsError;
159585
159761
  var init_install = __esm({
159586
159762
  "../installing/deps-installer/lib/install/index.js"() {
159587
159763
  "use strict";
@@ -159615,7 +159791,7 @@ var init_install = __esm({
159615
159791
  init_is_subdir();
159616
159792
  init_p_limit();
159617
159793
  init_es();
159618
- import_semver35 = __toESM(require_semver2(), 1);
159794
+ import_semver36 = __toESM(require_semver2(), 1);
159619
159795
  init_parseWantedDependencies();
159620
159796
  init_removeDeps();
159621
159797
  init_CatalogVersionMismatchError();
@@ -161314,16 +161490,16 @@ function parseSearchQuery(query) {
161314
161490
  }
161315
161491
  return {
161316
161492
  matchName: createMatcher(parsed.name),
161317
- matchVersion: (version2) => import_semver36.default.satisfies(version2, parsed.fetchSpec)
161493
+ matchVersion: (version2) => import_semver37.default.satisfies(version2, parsed.fetchSpec)
161318
161494
  };
161319
161495
  }
161320
- var import_npm_package_arg3, import_semver36;
161496
+ var import_npm_package_arg3, import_semver37;
161321
161497
  var init_createPackagesSearcher = __esm({
161322
161498
  "../deps/inspection/tree-builder/lib/createPackagesSearcher.js"() {
161323
161499
  "use strict";
161324
161500
  init_lib14();
161325
161501
  import_npm_package_arg3 = __toESM(require_npa(), 1);
161326
- import_semver36 = __toESM(require_semver2(), 1);
161502
+ import_semver37 = __toESM(require_semver2(), 1);
161327
161503
  }
161328
161504
  });
161329
161505
 
@@ -161431,7 +161607,7 @@ async function buildDependentsTree(packages, projectPaths, opts2) {
161431
161607
  const nameCmp = (0, import_util15.lexCompare)(a2.name, b.name);
161432
161608
  if (nameCmp !== 0)
161433
161609
  return nameCmp;
161434
- const versionCmp = import_semver37.default.valid(a2.version) && import_semver37.default.valid(b.version) ? import_semver37.default.compare(a2.version, b.version) : (0, import_util15.lexCompare)(a2.version, b.version);
161610
+ const versionCmp = import_semver38.default.valid(a2.version) && import_semver38.default.valid(b.version) ? import_semver38.default.compare(a2.version, b.version) : (0, import_util15.lexCompare)(a2.version, b.version);
161435
161611
  if (versionCmp !== 0)
161436
161612
  return versionCmp;
161437
161613
  return (0, import_util15.lexCompare)(a2.peersSuffixHash ?? "", b.peersSuffixHash ?? "");
@@ -161597,7 +161773,7 @@ function getDepFieldForAlias(alias, importerSnapshot) {
161597
161773
  return "dependencies";
161598
161774
  return void 0;
161599
161775
  }
161600
- var import_util15, import_semver37;
161776
+ var import_util15, import_semver38;
161601
161777
  var init_buildDependentsTree = __esm({
161602
161778
  "../deps/inspection/tree-builder/lib/buildDependentsTree.js"() {
161603
161779
  "use strict";
@@ -161608,7 +161784,7 @@ var init_buildDependentsTree = __esm({
161608
161784
  init_lib16();
161609
161785
  import_util15 = __toESM(require_dist3(), 1);
161610
161786
  init_realpath_missing();
161611
- import_semver37 = __toESM(require_semver2(), 1);
161787
+ import_semver38 = __toESM(require_semver2(), 1);
161612
161788
  init_buildDependencyGraph();
161613
161789
  init_createPackagesSearcher();
161614
161790
  init_getPkgInfo();
@@ -161841,7 +162017,7 @@ async function renderDependentsTree(trees, opts2) {
161841
162017
  }
161842
162018
  const childNodes = dependentsToTreeNodes(result2.dependents, multiPeerPkgs, 0, opts2.depth);
161843
162019
  const tree = { label: rootLabel, nodes: childNodes };
161844
- return renderTree(tree, { treeChars: source_default.dim }).replace(/\n+$/, "");
162020
+ return trimTrailingNewlines(renderTree(tree, { treeChars: source_default.dim }));
161845
162021
  }))).join("\n\n");
161846
162022
  const summary = whySummary(trees);
161847
162023
  return summary ? `${output}
@@ -161964,6 +162140,12 @@ function truncateDependents(dependents, currentDepth, maxDepth) {
161964
162140
  function plainNameAtVersion(name, version2) {
161965
162141
  return version2 ? `${name}@${version2}` : name;
161966
162142
  }
162143
+ function trimTrailingNewlines(s) {
162144
+ let end = s.length;
162145
+ while (end > 0 && s.charCodeAt(end - 1) === 10)
162146
+ end--;
162147
+ return end === s.length ? s : s.slice(0, end);
162148
+ }
161967
162149
  var init_renderDependentsTree = __esm({
161968
162150
  "../deps/inspection/list/lib/renderDependentsTree.js"() {
161969
162151
  "use strict";
@@ -163297,7 +163479,7 @@ async function checkDepsStatus(opts2) {
163297
163479
  }
163298
163480
  }
163299
163481
  async function _checkDepsStatus(opts2, workspaceState) {
163300
- const { allProjects, autoInstallPeers, injectWorkspacePackages, catalogs, excludeLinksFromLockfile, linkWorkspacePackages, nodeLinker, patchedDependencies, rootProjectManifest, rootProjectManifestDir, sharedWorkspaceLockfile, workspaceDir } = opts2;
163482
+ const { allProjects, autoInstallPeers, injectWorkspacePackages, catalogs, excludeLinksFromLockfile, linkWorkspacePackages, lockfileDir, nodeLinker, patchedDependencies, rootProjectManifest, rootProjectManifestDir, sharedWorkspaceLockfile, workspaceDir } = opts2;
163301
163483
  if (nodeLinker === "pnp") {
163302
163484
  (0, import_logger74.globalWarn)("verify-deps-before-run does not work with node-linker=pnp");
163303
163485
  return { upToDate: true, workspaceState: void 0 };
@@ -163335,6 +163517,20 @@ async function _checkDepsStatus(opts2, workspaceState) {
163335
163517
  workspaceState
163336
163518
  };
163337
163519
  }
163520
+ const conflictedLockfileDir = findConflictedLockfileDir(getWantedLockfileDirs({
163521
+ allProjects,
163522
+ lockfileDir,
163523
+ rootProjectManifestDir,
163524
+ sharedWorkspaceLockfile,
163525
+ workspaceDir
163526
+ }), workspaceState.lastValidatedTimestamp);
163527
+ if (conflictedLockfileDir != null) {
163528
+ return {
163529
+ upToDate: false,
163530
+ issue: `The lockfile in ${conflictedLockfileDir} has merge conflicts`,
163531
+ workspaceState
163532
+ };
163533
+ }
163338
163534
  if (allProjects && workspaceDir) {
163339
163535
  if (!equals_default(filter_default((value) => value != null, workspaceState.settings.catalogs ?? {}), filter_default((value) => value != null, catalogs ?? {}))) {
163340
163536
  return {
@@ -163392,11 +163588,6 @@ async function _checkDepsStatus(opts2, workspaceState) {
163392
163588
  };
163393
163589
  }
163394
163590
  }
163395
- const modifiedProjects = allManifestStats.filter(({ manifestStats }) => manifestStats.mtime.valueOf() > workspaceState.lastValidatedTimestamp);
163396
- if (modifiedProjects.length === 0) {
163397
- import_logger74.logger.debug({ msg: "No manifest files were modified since the last validation. Exiting check." });
163398
- return { upToDate: true, workspaceState };
163399
- }
163400
163591
  const issue = await patchesOrHooksAreModified({
163401
163592
  patchedDependencies,
163402
163593
  rootDir: rootProjectManifestDir,
@@ -163407,6 +163598,11 @@ async function _checkDepsStatus(opts2, workspaceState) {
163407
163598
  if (issue) {
163408
163599
  return { upToDate: false, issue, workspaceState };
163409
163600
  }
163601
+ const modifiedProjects = allManifestStats.filter(({ manifestStats }) => manifestStats.mtime.valueOf() > workspaceState.lastValidatedTimestamp);
163602
+ if (modifiedProjects.length === 0) {
163603
+ import_logger74.logger.debug({ msg: "No manifest files were modified since the last validation. Exiting check." });
163604
+ return { upToDate: true, workspaceState };
163605
+ }
163410
163606
  import_logger74.logger.debug({ msg: "Some manifest files were modified since the last validation. Continuing check." });
163411
163607
  let readWantedLockfileAndDir;
163412
163608
  if (sharedWorkspaceLockfile) {
@@ -163625,6 +163821,29 @@ function throwLockfileNotFound(wantedLockfileDir) {
163625
163821
  hint: "Run `pnpm install` to create the lockfile"
163626
163822
  });
163627
163823
  }
163824
+ function getWantedLockfileDirs(opts2) {
163825
+ if (opts2.allProjects && opts2.workspaceDir && opts2.sharedWorkspaceLockfile === false) {
163826
+ return [...new Set(opts2.allProjects.map(({ rootDir }) => rootDir))];
163827
+ }
163828
+ return [opts2.lockfileDir ?? opts2.workspaceDir ?? opts2.rootProjectManifestDir];
163829
+ }
163830
+ function findConflictedLockfileDir(lockfileDirs, lastValidatedTimestamp) {
163831
+ for (const lockfileDir of lockfileDirs) {
163832
+ let mtime;
163833
+ try {
163834
+ mtime = fs79.statSync(path144.join(lockfileDir, WANTED_LOCKFILE)).mtime.valueOf();
163835
+ } catch (err) {
163836
+ if (util37.types.isNativeError(err) && "code" in err && err.code === "ENOENT")
163837
+ continue;
163838
+ throw err;
163839
+ }
163840
+ if (mtime <= lastValidatedTimestamp)
163841
+ continue;
163842
+ if (wantedLockfileHasMergeConflictsSync(lockfileDir))
163843
+ return lockfileDir;
163844
+ }
163845
+ return void 0;
163846
+ }
163628
163847
  async function patchesOrHooksAreModified(opts2) {
163629
163848
  if (opts2.patchedDependencies) {
163630
163849
  const allPatchStats = await Promise.all(Object.values(opts2.patchedDependencies).map((patchFile) => {
@@ -187805,7 +188024,7 @@ async function outdated(opts2) {
187805
188024
  });
187806
188025
  return;
187807
188026
  }
187808
- if (current !== wanted || import_semver38.default.lt(current, latestManifest.version) || latestManifest.deprecated) {
188027
+ if (current !== wanted || import_semver39.default.lt(current, latestManifest.version) || latestManifest.deprecated) {
187809
188028
  outdated2.push({
187810
188029
  alias,
187811
188030
  belongsTo: depType,
@@ -187835,7 +188054,7 @@ function replaceCatalogProtocolIfNecessary(catalogs, wantedDependency) {
187835
188054
  }
187836
188055
  });
187837
188056
  }
187838
- var import_semver38;
188057
+ var import_semver39;
187839
188058
  var init_outdated = __esm({
187840
188059
  "../deps/inspection/outdated/lib/outdated.js"() {
187841
188060
  "use strict";
@@ -187852,7 +188071,7 @@ var init_outdated = __esm({
187852
188071
  init_lib9();
187853
188072
  init_lib23();
187854
188073
  init_lib8();
187855
- import_semver38 = __toESM(require_semver2(), 1);
188074
+ import_semver39 = __toESM(require_semver2(), 1);
187856
188075
  init_createManifestGetter();
187857
188076
  }
187858
188077
  });
@@ -198034,7 +198253,7 @@ function isBulkResponseShape(body) {
198034
198253
  }
198035
198254
  function satisfiesSafe(version2, range) {
198036
198255
  try {
198037
- return import_semver39.default.satisfies(version2, range, { includePrerelease: true, loose: true });
198256
+ return import_semver40.default.satisfies(version2, range, { includePrerelease: true, loose: true });
198038
198257
  } catch {
198039
198258
  return false;
198040
198259
  }
@@ -198061,7 +198280,7 @@ function inferPatchedVersions(vulnerableRange) {
198061
198280
  return `>=${ltMatch[1]}`;
198062
198281
  const lteMatch = trimmed.match(/(?:^|\s)<=\s*(\d+\.\d+\.\d[\w\-.+]*)\s*$/);
198063
198282
  if (lteMatch) {
198064
- const next2 = import_semver39.default.inc(lteMatch[1], "patch");
198283
+ const next2 = import_semver40.default.inc(lteMatch[1], "patch");
198065
198284
  if (next2)
198066
198285
  return `>=${next2}`;
198067
198286
  }
@@ -198087,14 +198306,14 @@ function getAuthHeaders(authHeaderValue) {
198087
198306
  }
198088
198307
  return headers;
198089
198308
  }
198090
- var import_semver39, KNOWN_SEVERITIES, AuditEndpointNotExistsError;
198309
+ var import_semver40, KNOWN_SEVERITIES, AuditEndpointNotExistsError;
198091
198310
  var init_lib146 = __esm({
198092
198311
  "../deps/compliance/audit/lib/index.js"() {
198093
198312
  "use strict";
198094
198313
  init_lib2();
198095
198314
  init_lib125();
198096
198315
  init_lib48();
198097
- import_semver39 = __toESM(require_semver2(), 1);
198316
+ import_semver40 = __toESM(require_semver2(), 1);
198098
198317
  init_lockfileToAuditIndex();
198099
198318
  init_lockfileToAuditIndex();
198100
198319
  init_types5();
@@ -198192,7 +198411,7 @@ function createOverrides(advisories) {
198192
198411
  return sortDirectKeys(Object.fromEntries(entries));
198193
198412
  }
198194
198413
  function caretRangeForPatched(patchedRange) {
198195
- const min = import_semver40.default.minVersion(patchedRange);
198414
+ const min = import_semver41.default.minVersion(patchedRange);
198196
198415
  return min ? `^${min.version}` : patchedRange;
198197
198416
  }
198198
198417
  function createMinimumReleaseAgeExcludes(advisories) {
@@ -198201,21 +198420,21 @@ function createMinimumReleaseAgeExcludes(advisories) {
198201
198420
  const patchedVersions = advisory.patched_versions;
198202
198421
  if (!patchedVersions)
198203
198422
  continue;
198204
- const minVersion = import_semver40.default.minVersion(patchedVersions);
198423
+ const minVersion = import_semver41.default.minVersion(patchedVersions);
198205
198424
  if (minVersion) {
198206
198425
  excludes.add(`${advisory.module_name}@${minVersion.version}`);
198207
198426
  }
198208
198427
  }
198209
198428
  return Array.from(excludes);
198210
198429
  }
198211
- var import_semver40;
198430
+ var import_semver41;
198212
198431
  var init_fix = __esm({
198213
198432
  "../deps/compliance/commands/lib/audit/fix.js"() {
198214
198433
  "use strict";
198215
198434
  init_lib100();
198216
198435
  init_lib146();
198217
198436
  init_lib76();
198218
- import_semver40 = __toESM(require_semver2(), 1);
198437
+ import_semver41 = __toESM(require_semver2(), 1);
198219
198438
  }
198220
198439
  });
198221
198440
 
@@ -198285,10 +198504,10 @@ async function fixWithUpdate(auditReport, opts2) {
198285
198504
  for (const vulnerabilityWithRange of vulnerabilities) {
198286
198505
  let { semverRange } = vulnerabilityWithRange;
198287
198506
  if (!semverRange) {
198288
- semverRange = new import_semver41.default.Range(vulnerabilityWithRange.vulnerability.versionRange);
198507
+ semverRange = new import_semver42.default.Range(vulnerabilityWithRange.vulnerability.versionRange);
198289
198508
  vulnerabilityWithRange.semverRange = semverRange;
198290
198509
  }
198291
- if (import_semver41.default.satisfies(version2, semverRange)) {
198510
+ if (import_semver42.default.satisfies(version2, semverRange)) {
198292
198511
  return true;
198293
198512
  }
198294
198513
  }
@@ -198337,10 +198556,10 @@ async function fixWithUpdate(auditReport, opts2) {
198337
198556
  for (const updatedVersion of updatedVersions) {
198338
198557
  let { semverRange } = vulnerability;
198339
198558
  if (!semverRange) {
198340
- semverRange = new import_semver41.default.Range(vulnerability.vulnerability.versionRange);
198559
+ semverRange = new import_semver42.default.Range(vulnerability.vulnerability.versionRange);
198341
198560
  vulnerability.semverRange = semverRange;
198342
198561
  }
198343
- if (import_semver41.default.satisfies(updatedVersion, semverRange)) {
198562
+ if (import_semver42.default.satisfies(updatedVersion, semverRange)) {
198344
198563
  wasFixed = false;
198345
198564
  break;
198346
198565
  }
@@ -198361,7 +198580,7 @@ async function fixWithUpdate(auditReport, opts2) {
198361
198580
  }
198362
198581
  return { fixed, remaining, addedAgeExcludes };
198363
198582
  }
198364
- var import_semver41;
198583
+ var import_semver42;
198365
198584
  var init_fixWithUpdate = __esm({
198366
198585
  "../deps/compliance/commands/lib/audit/fixWithUpdate.js"() {
198367
198586
  "use strict";
@@ -198370,7 +198589,7 @@ var init_fixWithUpdate = __esm({
198370
198589
  init_lib2();
198371
198590
  init_lib138();
198372
198591
  init_lib78();
198373
- import_semver41 = __toESM(require_semver2(), 1);
198592
+ import_semver42 = __toESM(require_semver2(), 1);
198374
198593
  init_fix();
198375
198594
  init_lockfileToPackages();
198376
198595
  }
@@ -199723,15 +199942,15 @@ async function findDependencyLicenses(opts2) {
199723
199942
  }
199724
199943
  }
199725
199944
  const projectDependencies = Array.from(licensePackages.values());
199726
- return Array.from(projectDependencies).sort((pkg1, pkg2) => pkg1.name.localeCompare(pkg2.name) || import_semver42.default.compare(pkg1.version, pkg2.version));
199945
+ return Array.from(projectDependencies).sort((pkg1, pkg2) => pkg1.name.localeCompare(pkg2.name) || import_semver43.default.compare(pkg1.version, pkg2.version));
199727
199946
  }
199728
- var import_semver42;
199947
+ var import_semver43;
199729
199948
  var init_licenses = __esm({
199730
199949
  "../deps/compliance/license-scanner/lib/licenses.js"() {
199731
199950
  "use strict";
199732
199951
  init_lib2();
199733
199952
  init_lib125();
199734
- import_semver42 = __toESM(require_semver2(), 1);
199953
+ import_semver43 = __toESM(require_semver2(), 1);
199735
199954
  init_lockfileToLicenseNodeTree();
199736
199955
  }
199737
199956
  });
@@ -199793,7 +200012,7 @@ function renderLicensesJson(licensePackages) {
199793
200012
  for (const inputList of Object.values(groupedByName)) {
199794
200013
  if (inputList == null)
199795
200014
  continue;
199796
- inputList.sort((a2, b) => import_semver43.default.compare(a2.version, b.version));
200015
+ inputList.sort((a2, b) => import_semver44.default.compare(a2.version, b.version));
199797
200016
  const versions = inputList.map((item) => item.version);
199798
200017
  const paths3 = inputList.map((item) => item.path ?? null);
199799
200018
  const lastInputItem = inputList.at(-1);
@@ -199867,7 +200086,7 @@ function deduplicateLicensesPackages(licensePackages) {
199867
200086
  }
199868
200087
  return result2;
199869
200088
  }
199870
- var import_table6, import_semver43;
200089
+ var import_table6, import_semver44;
199871
200090
  var init_outputRenderer = __esm({
199872
200091
  "../deps/compliance/commands/lib/licenses/outputRenderer.js"() {
199873
200092
  "use strict";
@@ -199875,7 +200094,7 @@ var init_outputRenderer = __esm({
199875
200094
  import_table6 = __toESM(require_src2(), 1);
199876
200095
  init_source2();
199877
200096
  init_es();
199878
- import_semver43 = __toESM(require_semver2(), 1);
200097
+ import_semver44 = __toESM(require_semver2(), 1);
199879
200098
  }
199880
200099
  });
199881
200100
 
@@ -203720,7 +203939,7 @@ function extractVersion(ref, alias, packages) {
203720
203939
  function satisfies2(version2, range) {
203721
203940
  if (range === "*")
203722
203941
  return true;
203723
- return import_semver44.default.satisfies(version2, range, { includePrerelease: true });
203942
+ return import_semver45.default.satisfies(version2, range, { includePrerelease: true });
203724
203943
  }
203725
203944
  function filterPeerDependencyIssues2(peerDependencyIssuesByProjects, rules) {
203726
203945
  const ignoreMissingMatcher = createMatcher([...new Set(rules.ignoreMissing ?? [])]);
@@ -203743,10 +203962,10 @@ function filterPeerDependencyIssues2(peerDependencyIssuesByProjects, rules) {
203743
203962
  if (allowAnyMatcher(peerName))
203744
203963
  continue;
203745
203964
  const remaining = issues.filter((issue) => {
203746
- if (allowedVersionsMatchAll[peerName]?.some((range) => import_semver44.default.satisfies(issue.foundVersion, range)))
203965
+ if (allowedVersionsMatchAll[peerName]?.some((range) => import_semver45.default.satisfies(issue.foundVersion, range)))
203747
203966
  return false;
203748
203967
  const declaringParent = issue.parents.at(-1);
203749
- if (declaringParent && allowedVersionsByParent[declaringParent.name]?.[peerName]?.some((range) => import_semver44.default.satisfies(issue.foundVersion, range)))
203968
+ if (declaringParent && allowedVersionsByParent[declaringParent.name]?.[peerName]?.some((range) => import_semver45.default.satisfies(issue.foundVersion, range)))
203750
203969
  return false;
203751
203970
  return true;
203752
203971
  });
@@ -203815,7 +204034,7 @@ function safeIntersect2(ranges) {
203815
204034
  return null;
203816
204035
  }
203817
204036
  }
203818
- var import_semver44, import_semver_range_intersect2;
204037
+ var import_semver45, import_semver_range_intersect2;
203819
204038
  var init_checkPeerDependencies = __esm({
203820
204039
  "../deps/inspection/peers-checker/lib/checkPeerDependencies.js"() {
203821
204040
  "use strict";
@@ -203825,7 +204044,7 @@ var init_checkPeerDependencies = __esm({
203825
204044
  init_lib2();
203826
204045
  init_lib78();
203827
204046
  init_lib88();
203828
- import_semver44 = __toESM(require_semver2(), 1);
204047
+ import_semver45 = __toESM(require_semver2(), 1);
203829
204048
  import_semver_range_intersect2 = __toESM(require_dist7(), 1);
203830
204049
  }
203831
204050
  });
@@ -204612,8 +204831,8 @@ async function handler32(opts2, params) {
204612
204831
  } else if (packageManager.version !== targetVersion) {
204613
204832
  previousVersion = packageManager.version;
204614
204833
  }
204615
- const previousMajor = previousVersion != null ? import_semver45.default.coerce(previousVersion)?.major : void 0;
204616
- const targetMajor = import_semver45.default.major(targetVersion);
204834
+ const previousMajor = previousVersion != null ? import_semver46.default.coerce(previousVersion)?.major : void 0;
204835
+ const targetMajor = import_semver46.default.major(targetVersion);
204617
204836
  if (previousMajor != null && targetMajor > previousMajor) {
204618
204837
  const hint = MAJOR_UPGRADE_HINTS[targetMajor];
204619
204838
  if (hint)
@@ -204623,7 +204842,7 @@ async function handler32(opts2, params) {
204623
204842
  if (opts2.wantedPackageManager?.version !== resolution.manifest.version) {
204624
204843
  if (isImplicitLatest) {
204625
204844
  const projectCurrentVersion = await readProjectPinnedPnpmVersion(opts2.rootProjectManifestDir, opts2.wantedPackageManager?.version);
204626
- if (projectCurrentVersion != null && import_semver45.default.lt(resolution.manifest.version, projectCurrentVersion)) {
204845
+ if (projectCurrentVersion != null && import_semver46.default.lt(resolution.manifest.version, projectCurrentVersion)) {
204627
204846
  return `The current project is set to use pnpm v${projectCurrentVersion}, which is newer than the "latest" version on the registry (v${resolution.manifest.version}). No update performed. Run "pnpm self-update latest" to downgrade.`;
204628
204847
  }
204629
204848
  }
@@ -204669,7 +204888,7 @@ async function handler32(opts2, params) {
204669
204888
  if (resolution.manifest.version === packageManager.version) {
204670
204889
  return `The currently active ${packageManager.name} v${packageManager.version} is already "${bareSpecifier}" and doesn't need an update`;
204671
204890
  }
204672
- if (isImplicitLatest && import_semver45.default.lt(resolution.manifest.version, packageManager.version)) {
204891
+ if (isImplicitLatest && import_semver46.default.lt(resolution.manifest.version, packageManager.version)) {
204673
204892
  return `The currently active ${packageManager.name} v${packageManager.version} is newer than the "latest" version on the registry (v${resolution.manifest.version}). No update performed. Run "pnpm self-update latest" to downgrade.`;
204674
204893
  }
204675
204894
  globalInfo(`Switching pnpm from v${packageManager.version} to v${resolution.manifest.version}...`);
@@ -204706,7 +204925,7 @@ function hasLegacyHomeDirShim(pnpmHomeDir) {
204706
204925
  function updateVersionConstraint(current, newVersion) {
204707
204926
  if (current == null)
204708
204927
  return newVersion;
204709
- if (import_semver45.default.satisfies(newVersion, current, { includePrerelease: true }))
204928
+ if (import_semver46.default.satisfies(newVersion, current, { includePrerelease: true }))
204710
204929
  return current;
204711
204930
  const pinnedVersion = whichVersionIsPinned(current);
204712
204931
  if (pinnedVersion == null) {
@@ -204735,16 +204954,16 @@ async function readProjectPinnedPnpmVersion(rootProjectManifestDir, spec) {
204735
204954
  let specMin;
204736
204955
  if (spec != null) {
204737
204956
  try {
204738
- specMin = import_semver45.default.minVersion(spec)?.version;
204957
+ specMin = import_semver46.default.minVersion(spec)?.version;
204739
204958
  } catch {
204740
204959
  }
204741
204960
  }
204742
204961
  if (lockfilePinned != null && specMin != null) {
204743
- return import_semver45.default.gt(lockfilePinned, specMin) ? lockfilePinned : specMin;
204962
+ return import_semver46.default.gt(lockfilePinned, specMin) ? lockfilePinned : specMin;
204744
204963
  }
204745
204964
  return lockfilePinned ?? specMin;
204746
204965
  }
204747
- var import_semver45, commandNames32, MAJOR_UPGRADE_HINTS, skipPackageManagerCheck2;
204966
+ var import_semver46, commandNames32, MAJOR_UPGRADE_HINTS, skipPackageManagerCheck2;
204748
204967
  var init_selfUpdate = __esm({
204749
204968
  "../engine/pm/commands/lib/self-updater/selfUpdate.js"() {
204750
204969
  "use strict";
@@ -204762,7 +204981,7 @@ var init_selfUpdate = __esm({
204762
204981
  init_lib13();
204763
204982
  init_es();
204764
204983
  init_lib62();
204765
- import_semver45 = __toESM(require_semver2(), 1);
204984
+ import_semver46 = __toESM(require_semver2(), 1);
204766
204985
  init_installPnpm();
204767
204986
  commandNames32 = ["self-update"];
204768
204987
  MAJOR_UPGRADE_HINTS = {
@@ -214849,13 +215068,13 @@ async function getVersionsFromLockfile(dep, opts2) {
214849
215068
  ...nameVerFromPkgSnapshot(depPath, pkgSnapshot),
214850
215069
  gitTarballUrl: isGitHostedPkgUrl(tarball) || isPkgPrNewUrl(tarball) ? tarball : void 0
214851
215070
  };
214852
- }).filter(({ name }) => name === pkgName).sort((v1, v2) => import_semver46.default.compare(v1.version, v2.version));
215071
+ }).filter(({ name }) => name === pkgName).sort((v1, v2) => import_semver47.default.compare(v1.version, v2.version));
214853
215072
  return {
214854
215073
  versions,
214855
- preferredVersions: versions.filter(({ version: version2 }) => dep.alias && dep.bareSpecifier ? import_semver46.default.satisfies(version2, dep.bareSpecifier) : true)
215074
+ preferredVersions: versions.filter(({ version: version2 }) => dep.alias && dep.bareSpecifier ? import_semver47.default.satisfies(version2, dep.bareSpecifier) : true)
214856
215075
  };
214857
215076
  }
214858
- var import_enquirer7, import_semver46;
215077
+ var import_enquirer7, import_semver47;
214859
215078
  var init_getPatchedDependency = __esm({
214860
215079
  "../patching/commands/lib/getPatchedDependency.js"() {
214861
215080
  "use strict";
@@ -214866,7 +215085,7 @@ var init_getPatchedDependency = __esm({
214866
215085
  init_lib96();
214867
215086
  import_enquirer7 = __toESM(require_enquirer(), 1);
214868
215087
  init_realpath_missing();
214869
- import_semver46 = __toESM(require_semver2(), 1);
215088
+ import_semver47 = __toESM(require_semver2(), 1);
214870
215089
  }
214871
215090
  });
214872
215091
 
@@ -215516,9 +215735,9 @@ async function updateDeprecation(opts2, { deprecated, packageName, versionRange
215516
215735
  return `Successfully ${deprecated != null ? "deprecated" : "un-deprecated"} ${versionsToUpdate.length} version(s) of ${packageName}`;
215517
215736
  }
215518
215737
  function getVersionsMatchingRange(versions, range) {
215519
- return Object.keys(versions).filter((v) => import_semver47.default.satisfies(v, range));
215738
+ return Object.keys(versions).filter((v) => import_semver48.default.satisfies(v, range));
215520
215739
  }
215521
- var import_npm_package_arg6, import_semver47;
215740
+ var import_npm_package_arg6, import_semver48;
215522
215741
  var init_common3 = __esm({
215523
215742
  "../registry-access/commands/lib/deprecation/common.js"() {
215524
215743
  "use strict";
@@ -215527,7 +215746,7 @@ var init_common3 = __esm({
215527
215746
  init_lib47();
215528
215747
  init_lib48();
215529
215748
  import_npm_package_arg6 = __toESM(require_npa(), 1);
215530
- import_semver47 = __toESM(require_semver2(), 1);
215749
+ import_semver48 = __toESM(require_semver2(), 1);
215531
215750
  init_common2();
215532
215751
  }
215533
215752
  });
@@ -215738,7 +215957,7 @@ async function distTagAdd(opts2, params) {
215738
215957
  if (!version2) {
215739
215958
  throw new PnpmError("DIST_TAG_ADD_VERSION_REQUIRED", "Version is required (e.g., pnpm dist-tag add pkg@1.0.0 latest)");
215740
215959
  }
215741
- if (!import_semver48.default.valid(version2)) {
215960
+ if (!import_semver49.default.valid(version2)) {
215742
215961
  throw new PnpmError("DIST_TAG_ADD_INVALID_VERSION", `Version must be an exact semver version, got "${version2}"`);
215743
215962
  }
215744
215963
  const tag = params[1] ?? "latest";
@@ -215823,7 +216042,7 @@ async function throwRegistryError(response, action) {
215823
216042
  }
215824
216043
  throw new PnpmError("REGISTRY_ERROR", `Failed to ${action} package: ${response.status} ${response.statusText}. ${errorBody}`);
215825
216044
  }
215826
- var import_npm_package_arg7, import_semver48, commandNames47;
216045
+ var import_npm_package_arg7, import_semver49, commandNames47;
215827
216046
  var init_distTag = __esm({
215828
216047
  "../registry-access/commands/lib/distTag.js"() {
215829
216048
  "use strict";
@@ -215834,7 +216053,7 @@ var init_distTag = __esm({
215834
216053
  init_lib48();
215835
216054
  import_npm_package_arg7 = __toESM(require_npa(), 1);
215836
216055
  init_lib62();
215837
- import_semver48 = __toESM(require_semver2(), 1);
216056
+ import_semver49 = __toESM(require_semver2(), 1);
215838
216057
  init_common2();
215839
216058
  commandNames47 = ["dist-tag", "dist-tags"];
215840
216059
  }
@@ -216634,7 +216853,7 @@ async function unpublishVersions(packageUrl, registryUrl, pkg, versions, fetchFr
216634
216853
  }
216635
216854
  }
216636
216855
  if (latestVer && removedSet.has(latestVer)) {
216637
- const remaining = Object.keys(pkg.versions).sort(import_semver49.default.compareLoose);
216856
+ const remaining = Object.keys(pkg.versions).sort(import_semver50.default.compareLoose);
216638
216857
  if (remaining.length > 0) {
216639
216858
  pkg["dist-tags"].latest = remaining[remaining.length - 1];
216640
216859
  }
@@ -216714,9 +216933,9 @@ function getTarballPathname(tarballUrl, registryUrl) {
216714
216933
  return tarballPath;
216715
216934
  }
216716
216935
  function getVersionsMatchingRange2(versions, range) {
216717
- return Object.keys(versions).filter((v) => import_semver49.default.satisfies(v, range));
216936
+ return Object.keys(versions).filter((v) => import_semver50.default.satisfies(v, range));
216718
216937
  }
216719
- var import_npm_package_arg8, import_semver49, commandNames55;
216938
+ var import_npm_package_arg8, import_semver50, commandNames55;
216720
216939
  var init_unpublish = __esm({
216721
216940
  "../registry-access/commands/lib/unpublish.js"() {
216722
216941
  "use strict";
@@ -216727,7 +216946,7 @@ var init_unpublish = __esm({
216727
216946
  init_lib48();
216728
216947
  import_npm_package_arg8 = __toESM(require_npa(), 1);
216729
216948
  init_lib62();
216730
- import_semver49 = __toESM(require_semver2(), 1);
216949
+ import_semver50 = __toESM(require_semver2(), 1);
216731
216950
  init_common2();
216732
216951
  commandNames55 = ["unpublish"];
216733
216952
  }
@@ -226552,7 +226771,7 @@ var require_npa2 = __commonJS({
226552
226771
  var path210 = isWindows15 ? __require("node:path/win32") : __require("node:path");
226553
226772
  var { homedir } = __require("node:os");
226554
226773
  var HostedGit3 = require_lib11();
226555
- var semver53 = require_semver2();
226774
+ var semver54 = require_semver2();
226556
226775
  var validatePackageName2 = require_lib22();
226557
226776
  var { log: log3 } = require_lib9();
226558
226777
  var hasSlashes = isWindows15 ? /\\|[/]/ : /[/]/;
@@ -226917,8 +227136,8 @@ var require_npa2 = __commonJS({
226917
227136
  const spec = res.rawSpec.trim();
226918
227137
  res.saveSpec = null;
226919
227138
  res.fetchSpec = spec;
226920
- const version2 = semver53.valid(spec, true);
226921
- const range = semver53.validRange(spec, true);
227139
+ const version2 = semver54.valid(spec, true);
227140
+ const range = semver54.validRange(spec, true);
226922
227141
  if (version2) {
226923
227142
  res.type = "version";
226924
227143
  } else if (range) {
@@ -229196,9 +229415,9 @@ var require_get_options = __commonJS({
229196
229415
  // ../../../../setup-pnpm/node_modules/.bin/store/v11/links/@npmcli/fs/5.0.0/4cafda806c7bf4ef531e7305fbcb8288c728be229f52fd03536e072af5fe3626/node_modules/@npmcli/fs/lib/common/node.js
229197
229416
  var require_node2 = __commonJS({
229198
229417
  "../../../../setup-pnpm/node_modules/.bin/store/v11/links/@npmcli/fs/5.0.0/4cafda806c7bf4ef531e7305fbcb8288c728be229f52fd03536e072af5fe3626/node_modules/@npmcli/fs/lib/common/node.js"(exports2, module2) {
229199
- var semver53 = require_semver2();
229418
+ var semver54 = require_semver2();
229200
229419
  var satisfies3 = (range) => {
229201
- return semver53.satisfies(process.version, range, { includePrerelease: true });
229420
+ return semver54.satisfies(process.version, range, { includePrerelease: true });
229202
229421
  };
229203
229422
  module2.exports = {
229204
229423
  satisfies: satisfies3
@@ -238924,7 +239143,7 @@ var require_spawn = __commonJS({
238924
239143
  // ../../../../setup-pnpm/node_modules/.bin/store/v11/links/@npmcli/git/7.0.2/01870b3758aec4f6dc73fe3f36d3dff0095939bd846cf18122f1292a2e17524f/node_modules/@npmcli/git/lib/lines-to-revs.js
238925
239144
  var require_lines_to_revs = __commonJS({
238926
239145
  "../../../../setup-pnpm/node_modules/.bin/store/v11/links/@npmcli/git/7.0.2/01870b3758aec4f6dc73fe3f36d3dff0095939bd846cf18122f1292a2e17524f/node_modules/@npmcli/git/lib/lines-to-revs.js"(exports2, module2) {
238927
- var semver53 = require_semver2();
239146
+ var semver54 = require_semver2();
238928
239147
  module2.exports = (lines) => finish(lines.reduce(linesToRevsReducer, {
238929
239148
  versions: {},
238930
239149
  "dist-tags": {},
@@ -239021,8 +239240,8 @@ var require_lines_to_revs = __commonJS({
239021
239240
  revs.refs[doc.rawRef] = doc;
239022
239241
  if (doc.type === "tag") {
239023
239242
  const match = !doc.ref.endsWith("^{}") && doc.ref.match(/v?(\d+\.\d+\.\d+(?:[-+].+)?)$/);
239024
- if (match && semver53.valid(match[1], true)) {
239025
- revs.versions[semver53.clean(match[1], true)] = doc;
239243
+ if (match && semver54.valid(match[1], true)) {
239244
+ revs.versions[semver54.clean(match[1], true)] = doc;
239026
239245
  }
239027
239246
  }
239028
239247
  return revs;
@@ -239280,7 +239499,7 @@ var require_dev_engines = __commonJS({
239280
239499
  // ../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/npm-install-checks/8.0.0/8ae449895bd2a6446a641a7633b6e675f92cb82df40fe4e25fb59f55325ac30c/node_modules/npm-install-checks/lib/index.js
239281
239500
  var require_lib41 = __commonJS({
239282
239501
  "../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/npm-install-checks/8.0.0/8ae449895bd2a6446a641a7633b6e675f92cb82df40fe4e25fb59f55325ac30c/node_modules/npm-install-checks/lib/index.js"(exports2, module2) {
239283
- var semver53 = require_semver2();
239502
+ var semver54 = require_semver2();
239284
239503
  var currentEnv = require_current_env();
239285
239504
  var { checkDevEngines } = require_dev_engines();
239286
239505
  var checkEngine2 = (target2, npmVer, nodeVer, force = false) => {
@@ -239290,8 +239509,8 @@ var require_lib41 = __commonJS({
239290
239509
  if (!eng) {
239291
239510
  return;
239292
239511
  }
239293
- const nodeFail = nodev && eng.node && !semver53.satisfies(nodev, eng.node, opt);
239294
- const npmFail = npmVer && eng.npm && !semver53.satisfies(npmVer, eng.npm, opt);
239512
+ const nodeFail = nodev && eng.node && !semver54.satisfies(nodev, eng.node, opt);
239513
+ const npmFail = npmVer && eng.npm && !semver54.satisfies(npmVer, eng.npm, opt);
239295
239514
  if (nodeFail || npmFail) {
239296
239515
  throw Object.assign(new Error("Unsupported engine"), {
239297
239516
  pkgid: target2._id,
@@ -239418,7 +239637,7 @@ var require_lib43 = __commonJS({
239418
239637
  "../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/npm-pick-manifest/11.0.3/c15f6f366bdc648c2c29fed824b00fcd152d67bbcef42d8ddb6fe23c511175c9/node_modules/npm-pick-manifest/lib/index.js"(exports2, module2) {
239419
239638
  "use strict";
239420
239639
  var npa11 = require_npa2();
239421
- var semver53 = require_semver2();
239640
+ var semver54 = require_semver2();
239422
239641
  var { checkEngine: checkEngine2 } = require_lib41();
239423
239642
  var normalizeBin = require_lib42();
239424
239643
  var engineOk = (manifest, npmVersion, nodeVersion) => {
@@ -239431,7 +239650,7 @@ var require_lib43 = __commonJS({
239431
239650
  };
239432
239651
  var isBefore = (verTimes, ver, time) => !verTimes || !verTimes[ver] || Date.parse(verTimes[ver]) <= time;
239433
239652
  var avoidSemverOpt = { includePrerelease: true, loose: true };
239434
- var shouldAvoid = (ver, avoid) => avoid && semver53.satisfies(ver, avoid, avoidSemverOpt);
239653
+ var shouldAvoid = (ver, avoid) => avoid && semver54.satisfies(ver, avoid, avoidSemverOpt);
239435
239654
  var decorateAvoid = (result2, avoid) => result2 && shouldAvoid(result2.version, avoid) ? { ...result2, _shouldAvoid: true } : result2;
239436
239655
  var pickManifest = (packument, wanted, opts2) => {
239437
239656
  const {
@@ -239497,13 +239716,13 @@ var require_lib43 = __commonJS({
239497
239716
  }
239498
239717
  }
239499
239718
  if (wanted && type4 === "version") {
239500
- const ver = semver53.clean(wanted, { loose: true });
239719
+ const ver = semver54.clean(wanted, { loose: true });
239501
239720
  const mani = versions[ver] || staged[ver] || restricted[ver];
239502
239721
  return isBefore(verTimes, ver, time) ? decorateAvoid(mani, avoid) : null;
239503
239722
  }
239504
239723
  const range = type4 === "range" ? wanted : "*";
239505
239724
  const defaultVer = distTags[defaultTag];
239506
- if (defaultVer && (range === "*" || semver53.satisfies(defaultVer, range, { loose: true })) && !restricted[defaultVer] && !shouldAvoid(defaultVer, avoid)) {
239725
+ if (defaultVer && (range === "*" || semver54.satisfies(defaultVer, range, { loose: true })) && !restricted[defaultVer] && !shouldAvoid(defaultVer, avoid)) {
239507
239726
  const mani = versions[defaultVer];
239508
239727
  const ok = mani && isBefore(verTimes, defaultVer, time) && engineOk(mani, npmVersion, nodeVersion) && !mani.deprecated && !staged[defaultVer];
239509
239728
  if (ok) {
@@ -239522,7 +239741,7 @@ var require_lib43 = __commonJS({
239522
239741
  });
239523
239742
  }
239524
239743
  const sortSemverOpt = { loose: true };
239525
- const entries = allEntries.filter(([ver]) => semver53.satisfies(ver, range, { loose: true })).sort((a2, b) => {
239744
+ const entries = allEntries.filter(([ver]) => semver54.satisfies(ver, range, { loose: true })).sort((a2, b) => {
239526
239745
  const [vera, mania] = a2;
239527
239746
  const [verb, manib] = b;
239528
239747
  const notavoida = !shouldAvoid(vera, avoid);
@@ -239535,7 +239754,7 @@ var require_lib43 = __commonJS({
239535
239754
  const notdeprb = !manib.deprecated;
239536
239755
  const enginea = engineOk(mania, npmVersion, nodeVersion);
239537
239756
  const engineb = engineOk(manib, npmVersion, nodeVersion);
239538
- return notavoidb - notavoida || notrestrb - notrestra || notstageb - notstagea || (notdeprb && engineb) - (notdepra && enginea) || engineb - enginea || notdeprb - notdepra || semver53.rcompare(vera, verb, sortSemverOpt);
239757
+ return notavoidb - notavoida || notrestrb - notrestra || notstageb - notstagea || (notdeprb && engineb) - (notdepra && enginea) || engineb - enginea || notdeprb - notdepra || semver54.rcompare(vera, verb, sortSemverOpt);
239539
239758
  });
239540
239759
  return decorateAvoid(entries[0] && entries[0][1], avoid);
239541
239760
  };
@@ -250105,7 +250324,7 @@ var require_publish = __commonJS({
250105
250324
  var npa11 = require_npa2();
250106
250325
  var PackageJson = require_lib45();
250107
250326
  var { log: log3 } = require_lib9();
250108
- var semver53 = require_semver2();
250327
+ var semver54 = require_semver2();
250109
250328
  var { URL: URL7 } = __require("node:url");
250110
250329
  var ssri6 = require_lib6();
250111
250330
  var ciInfo2 = require_ci_info();
@@ -250161,7 +250380,7 @@ Remove the 'private' field from the package.json to publish it.`),
250161
250380
  manifestInput._npmVersion = npmVersion;
250162
250381
  }
250163
250382
  const manifest = await new PackageJson().fromContent(manifestInput).normalize({ steps }).then((p) => p.content);
250164
- const version2 = semver53.clean(manifest.version);
250383
+ const version2 = semver54.clean(manifest.version);
250165
250384
  if (!version2) {
250166
250385
  throw Object.assign(
250167
250386
  new Error("invalid semver: " + manifest.version),
@@ -250288,7 +250507,7 @@ var require_unpublish = __commonJS({
250288
250507
  var { URL: URL7 } = __require("node:url");
250289
250508
  var npa11 = require_npa2();
250290
250509
  var npmFetch = require_lib37();
250291
- var semver53 = require_semver2();
250510
+ var semver54 = require_semver2();
250292
250511
  var getPathname = (tarball, registry) => {
250293
250512
  const registryUrl = new URL7(registry).pathname.slice(1);
250294
250513
  let tarballUrl = new URL7(tarball).pathname.slice(1);
@@ -250338,7 +250557,7 @@ var require_unpublish = __commonJS({
250338
250557
  if (latestVer === version2) {
250339
250558
  pkg["dist-tags"].latest = Object.keys(
250340
250559
  allVersions
250341
- ).sort(semver53.compareLoose).pop();
250560
+ ).sort(semver54.compareLoose).pop();
250342
250561
  }
250343
250562
  delete pkg._revisions;
250344
250563
  delete pkg._attachments;
@@ -251748,7 +251967,7 @@ async function handler60(opts2, params) {
251748
251967
  if (!rawBump) {
251749
251968
  throw new PnpmError("INVALID_VERSION_BUMP", "A version argument is required. Must be a valid semver version (e.g. 1.2.3) or one of: major, minor, patch, premajor, preminor, prepatch, prerelease");
251750
251969
  }
251751
- const explicitVersion = (0, import_semver50.valid)(rawBump);
251970
+ const explicitVersion = (0, import_semver51.valid)(rawBump);
251752
251971
  if (!explicitVersion && !isBumpType(rawBump)) {
251753
251972
  throw new PnpmError("INVALID_VERSION_BUMP", `Invalid version argument: ${rawBump}. Must be a valid semver version (e.g. 1.2.3) or one of: major, minor, patch, premajor, preminor, prepatch, prerelease`);
251754
251973
  }
@@ -251810,7 +252029,7 @@ async function bumpPackageVersion(pkgDir, rawBump, explicitVersion, opts2) {
251810
252029
  return null;
251811
252030
  }
251812
252031
  const currentVersion = manifest.version;
251813
- if (!(0, import_semver50.valid)(currentVersion)) {
252032
+ if (!(0, import_semver51.valid)(currentVersion)) {
251814
252033
  throw new PnpmError("INVALID_VERSION", `Invalid version in ${pkgDir}: ${currentVersion}`);
251815
252034
  }
251816
252035
  const preVersionChange = {
@@ -251821,7 +252040,7 @@ async function bumpPackageVersion(pkgDir, rawBump, explicitVersion, opts2) {
251821
252040
  manifestPath: path194.join(pkgDir, fileName)
251822
252041
  };
251823
252042
  await runVersionLifecycleHook("preversion", preVersionChange, opts2);
251824
- const newVersion = explicitVersion ?? (0, import_semver50.inc)(currentVersion, rawBump, false, opts2.preid);
252043
+ const newVersion = explicitVersion ?? (0, import_semver51.inc)(currentVersion, rawBump, false, opts2.preid);
251825
252044
  if (!newVersion) {
251826
252045
  throw new PnpmError("VERSION_BUMP_FAILED", `Failed to bump version from ${currentVersion} using ${rawBump}`);
251827
252046
  }
@@ -251892,7 +252111,7 @@ async function commitAndTag(changes, opts2) {
251892
252111
  tagArgs.push(tagName, "-m", message);
251893
252112
  await safeExeca("git", tagArgs, execOpts);
251894
252113
  }
251895
- var import_semver50, commandNames60, BUMP_TYPES, version;
252114
+ var import_semver51, commandNames60, BUMP_TYPES, version;
251896
252115
  var init_version = __esm({
251897
252116
  "../releasing/commands/lib/version/index.js"() {
251898
252117
  "use strict";
@@ -251905,7 +252124,7 @@ var init_version = __esm({
251905
252124
  init_lib25();
251906
252125
  init_es();
251907
252126
  init_lib62();
251908
- import_semver50 = __toESM(require_semver2(), 1);
252127
+ import_semver51 = __toESM(require_semver2(), 1);
251909
252128
  commandNames60 = ["version"];
251910
252129
  BUMP_TYPES = ["major", "minor", "patch", "premajor", "preminor", "prepatch", "prerelease"];
251911
252130
  version = {
@@ -271248,7 +271467,7 @@ function printDiffs(opts2, pkgsDiff, depType) {
271248
271467
  }
271249
271468
  if (pkg.version) {
271250
271469
  result2 += ` ${source_default.grey(pkg.version)}`;
271251
- if (pkg.latest && import_semver51.default.lt(pkg.version, pkg.latest)) {
271470
+ if (pkg.latest && import_semver52.default.lt(pkg.version, pkg.latest)) {
271252
271471
  result2 += ` ${source_default.grey(`(${pkg.latest} is available)`)}`;
271253
271472
  }
271254
271473
  }
@@ -271265,14 +271484,14 @@ function printDiffs(opts2, pkgsDiff, depType) {
271265
271484
  }).join(EOL);
271266
271485
  return msg;
271267
271486
  }
271268
- var Rx18, import_operators19, import_semver51, CONFIG_BY_DEP_TYPE;
271487
+ var Rx18, import_operators19, import_semver52, CONFIG_BY_DEP_TYPE;
271269
271488
  var init_reportSummary = __esm({
271270
271489
  "../cli/default-reporter/lib/reporterForClient/reportSummary.js"() {
271271
271490
  "use strict";
271272
271491
  init_source2();
271273
271492
  Rx18 = __toESM(require_cjs2(), 1);
271274
271493
  import_operators19 = __toESM(require_operators(), 1);
271275
- import_semver51 = __toESM(require_semver2(), 1);
271494
+ import_semver52 = __toESM(require_semver2(), 1);
271276
271495
  init_constants();
271277
271496
  init_outputConstants();
271278
271497
  init_pkgsDiff();
@@ -271286,7 +271505,7 @@ var init_reportSummary = __esm({
271286
271505
 
271287
271506
  // ../cli/default-reporter/lib/reporterForClient/reportUpdateCheck.js
271288
271507
  function reportUpdateCheck(log$, opts2) {
271289
- return log$.pipe((0, import_operators20.take)(1), (0, import_operators20.filter)((log3) => import_semver52.default.gt(log3.latestVersion, log3.currentVersion)), (0, import_operators20.map)((log3) => {
271508
+ return log$.pipe((0, import_operators20.take)(1), (0, import_operators20.filter)((log3) => import_semver53.default.gt(log3.latestVersion, log3.currentVersion)), (0, import_operators20.map)((log3) => {
271290
271509
  const updateMessage = renderUpdateMessage({
271291
271510
  currentPkgIsExecutable: detectIfCurrentPkgIsExecutable(opts2.process),
271292
271511
  latestVersion: log3.latestVersion,
@@ -271319,7 +271538,7 @@ function renderUpdateCommand(opts2) {
271319
271538
  const pkgName = opts2.currentPkgIsExecutable ? "@pnpm/exe" : "pnpm";
271320
271539
  return `pnpm add -g ${pkgName}`;
271321
271540
  }
271322
- var import_boxen2, Rx19, import_operators20, import_semver52;
271541
+ var import_boxen2, Rx19, import_operators20, import_semver53;
271323
271542
  var init_reportUpdateCheck = __esm({
271324
271543
  "../cli/default-reporter/lib/reporterForClient/reportUpdateCheck.js"() {
271325
271544
  "use strict";
@@ -271328,7 +271547,7 @@ var init_reportUpdateCheck = __esm({
271328
271547
  init_source2();
271329
271548
  Rx19 = __toESM(require_cjs2(), 1);
271330
271549
  import_operators20 = __toESM(require_operators(), 1);
271331
- import_semver52 = __toESM(require_semver2(), 1);
271550
+ import_semver53 = __toESM(require_semver2(), 1);
271332
271551
  }
271333
271552
  });
271334
271553
 
@@ -271871,15 +272090,15 @@ var init_reporter = __esm({
271871
272090
  function shouldPersistLockfile(pm2) {
271872
272091
  if (pm2.fromDevEngines === true)
271873
272092
  return true;
271874
- if (pm2.version == null || import_semver53.default.valid(pm2.version) == null)
272093
+ if (pm2.version == null || import_semver54.default.valid(pm2.version) == null)
271875
272094
  return false;
271876
- return import_semver53.default.major(pm2.version) >= 12;
272095
+ return import_semver54.default.major(pm2.version) >= 12;
271877
272096
  }
271878
- var import_semver53;
272097
+ var import_semver54;
271879
272098
  var init_shouldPersistLockfile = __esm({
271880
272099
  "lib/shouldPersistLockfile.js"() {
271881
272100
  "use strict";
271882
- import_semver53 = __toESM(require_semver2(), 1);
272101
+ import_semver54 = __toESM(require_semver2(), 1);
271883
272102
  }
271884
272103
  });
271885
272104
 
@@ -271895,7 +272114,7 @@ async function switchCliVersion(config, context) {
271895
272114
  let envLockfile = persistLockfile ? await readEnvLockfile(context.rootProjectManifestDir) ?? void 0 : void 0;
271896
272115
  let storeToUse;
271897
272116
  let pmVersion = envLockfile?.importers["."].packageManagerDependencies?.["pnpm"]?.version;
271898
- if (!pmVersion || !import_semver54.default.satisfies(pmVersion, pm2.version, { includePrerelease: true })) {
272117
+ if (!pmVersion || !import_semver55.default.satisfies(pmVersion, pm2.version, { includePrerelease: true })) {
271899
272118
  storeToUse = await createStoreController({ ...config, ...context });
271900
272119
  envLockfile = await resolvePackageManagerIntegrities(pm2.version, {
271901
272120
  envLockfile,
@@ -271969,7 +272188,7 @@ async function switchCliVersion(config, context) {
271969
272188
  }
271970
272189
  process.exit(status ?? 0);
271971
272190
  }
271972
- var import_cross_spawn3, import_semver54, VersionSwitchFail;
272191
+ var import_cross_spawn3, import_semver55, VersionSwitchFail;
271973
272192
  var init_switchCliVersion = __esm({
271974
272193
  "lib/switchCliVersion.js"() {
271975
272194
  "use strict";
@@ -271982,7 +272201,7 @@ var init_switchCliVersion = __esm({
271982
272201
  init_lib156();
271983
272202
  init_lib90();
271984
272203
  import_cross_spawn3 = __toESM(require_cross_spawn(), 1);
271985
- import_semver54 = __toESM(require_semver2(), 1);
272204
+ import_semver55 = __toESM(require_semver2(), 1);
271986
272205
  init_shouldPersistLockfile();
271987
272206
  VersionSwitchFail = class extends PnpmError {
271988
272207
  constructor(version2, wantedPnpmBinDir, cause) {
@@ -272002,7 +272221,7 @@ async function syncEnvLockfile(config, context) {
272002
272221
  return;
272003
272222
  if (!shouldPersistLockfile(pm2))
272004
272223
  return;
272005
- if (!import_semver55.default.satisfies(packageManager.version, pm2.version, { includePrerelease: true }))
272224
+ if (!import_semver56.default.satisfies(packageManager.version, pm2.version, { includePrerelease: true }))
272006
272225
  return;
272007
272226
  const envLockfile = await readEnvLockfile(context.rootProjectManifestDir);
272008
272227
  if (envLockfile == null)
@@ -272010,7 +272229,7 @@ async function syncEnvLockfile(config, context) {
272010
272229
  const lockedVersion = envLockfile.importers["."].packageManagerDependencies?.["pnpm"]?.version;
272011
272230
  if (lockedVersion == null)
272012
272231
  return;
272013
- if (import_semver55.default.satisfies(lockedVersion, pm2.version, { includePrerelease: true }))
272232
+ if (import_semver56.default.satisfies(lockedVersion, pm2.version, { includePrerelease: true }))
272014
272233
  return;
272015
272234
  const store = await createStoreController({ ...config, ...context });
272016
272235
  try {
@@ -272026,7 +272245,7 @@ async function syncEnvLockfile(config, context) {
272026
272245
  await store.ctrl.close();
272027
272246
  }
272028
272247
  }
272029
- var import_semver55;
272248
+ var import_semver56;
272030
272249
  var init_syncEnvLockfile = __esm({
272031
272250
  "lib/syncEnvLockfile.js"() {
272032
272251
  "use strict";
@@ -272034,7 +272253,7 @@ var init_syncEnvLockfile = __esm({
272034
272253
  init_lib130();
272035
272254
  init_lib78();
272036
272255
  init_lib90();
272037
- import_semver55 = __toESM(require_semver2(), 1);
272256
+ import_semver56 = __toESM(require_semver2(), 1);
272038
272257
  init_shouldPersistLockfile();
272039
272258
  }
272040
272259
  });
@@ -272322,7 +272541,7 @@ function checkPackageManager(pm2, opts2) {
272322
272541
  globalWarn(msg);
272323
272542
  } else if (pm2.version) {
272324
272543
  const currentPnpmVersion = packageManager.name === "pnpm" ? packageManager.version : void 0;
272325
- if (currentPnpmVersion && !import_semver56.default.satisfies(currentPnpmVersion, pm2.version, { includePrerelease: true })) {
272544
+ if (currentPnpmVersion && !import_semver57.default.satisfies(currentPnpmVersion, pm2.version, { includePrerelease: true })) {
272326
272545
  let msg = `This project is configured to use ${pm2.version} of pnpm. Your current pnpm is v${currentPnpmVersion}`;
272327
272546
  if (opts2.underCorepack) {
272328
272547
  msg += "\nCorepack invoked pnpm with this version, and pnpm does not switch versions when running under corepack.";
@@ -272338,7 +272557,7 @@ ${baseHint}` : baseHint;
272338
272557
  }
272339
272558
  }
272340
272559
  }
272341
- var import_loud_rejection, import_semver56, REPORTER_INITIALIZED;
272560
+ var import_loud_rejection, import_semver57, REPORTER_INITIALIZED;
272342
272561
  var init_main2 = __esm({
272343
272562
  "lib/main.js"() {
272344
272563
  "use strict";
@@ -272352,7 +272571,7 @@ var init_main2 = __esm({
272352
272571
  init_source2();
272353
272572
  import_loud_rejection = __toESM(require_loud_rejection(), 1);
272354
272573
  init_es();
272355
- import_semver56 = __toESM(require_semver2(), 1);
272574
+ import_semver57 = __toESM(require_semver2(), 1);
272356
272575
  init_checkForUpdates();
272357
272576
  init_cmd();
272358
272577
  init_formatError();