pnpm 10.34.4 → 10.34.5

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 (58) hide show
  1. package/dist/node_modules/.modules.yaml +87 -87
  2. package/dist/node_modules/.pnpm/lock.yaml +25 -25
  3. package/dist/node_modules/.pnpm-workspace-state-v1.json +1 -1
  4. package/dist/node_modules/brace-expansion/.tap/processinfo/8b906b8c-e21f-40b5-8c0d-214d8c2682c5.json +719 -0
  5. package/dist/node_modules/brace-expansion/dist/commonjs/index.d.ts.map +1 -0
  6. package/dist/node_modules/brace-expansion/dist/commonjs/index.js +263 -0
  7. package/dist/node_modules/brace-expansion/dist/commonjs/index.js.map +1 -0
  8. package/dist/node_modules/brace-expansion/dist/commonjs/package.json +3 -0
  9. package/dist/node_modules/brace-expansion/dist/esm/index.d.ts.map +1 -0
  10. package/dist/node_modules/brace-expansion/dist/esm/index.js +259 -0
  11. package/dist/node_modules/brace-expansion/dist/esm/index.js.map +1 -0
  12. package/dist/node_modules/brace-expansion/dist/esm/package.json +3 -0
  13. package/dist/node_modules/brace-expansion/index.js +29 -17
  14. package/dist/node_modules/brace-expansion/package.json +1 -1
  15. package/dist/node_modules/p-map/index.js +2 -1
  16. package/dist/node_modules/p-map/package.json +1 -1
  17. package/dist/node_modules/picomatch/lib/parse.js +39 -9
  18. package/dist/node_modules/picomatch/lib/picomatch.js +14 -2
  19. package/dist/node_modules/picomatch/package.json +3 -2
  20. package/dist/node_modules/semver/classes/range.js +6 -2
  21. package/dist/node_modules/semver/package.json +1 -1
  22. package/dist/node_modules/tar/dist/commonjs/header.d.ts.map +1 -1
  23. package/dist/node_modules/tar/dist/commonjs/header.js +5 -4
  24. package/dist/node_modules/tar/dist/commonjs/header.js.map +1 -1
  25. package/dist/node_modules/tar/dist/commonjs/index.min.js +3 -3
  26. package/dist/node_modules/tar/dist/commonjs/index.min.js.map +3 -3
  27. package/dist/node_modules/tar/dist/commonjs/normalize-windows-path.d.ts.map +1 -1
  28. package/dist/node_modules/tar/dist/commonjs/normalize-windows-path.js +2 -2
  29. package/dist/node_modules/tar/dist/commonjs/normalize-windows-path.js.map +1 -1
  30. package/dist/node_modules/tar/dist/commonjs/options.d.ts.map +1 -1
  31. package/dist/node_modules/tar/dist/commonjs/options.js.map +1 -1
  32. package/dist/node_modules/tar/dist/commonjs/parse.d.ts.map +1 -1
  33. package/dist/node_modules/tar/dist/commonjs/parse.js +39 -4
  34. package/dist/node_modules/tar/dist/commonjs/parse.js.map +1 -1
  35. package/dist/node_modules/tar/dist/commonjs/pax.js +30 -6
  36. package/dist/node_modules/tar/dist/commonjs/pax.js.map +1 -1
  37. package/dist/node_modules/tar/dist/commonjs/unpack.js +2 -2
  38. package/dist/node_modules/tar/dist/commonjs/unpack.js.map +1 -1
  39. package/dist/node_modules/tar/dist/esm/header.d.ts.map +1 -1
  40. package/dist/node_modules/tar/dist/esm/header.js +5 -4
  41. package/dist/node_modules/tar/dist/esm/header.js.map +1 -1
  42. package/dist/node_modules/tar/dist/esm/index.min.js +3 -3
  43. package/dist/node_modules/tar/dist/esm/index.min.js.map +3 -3
  44. package/dist/node_modules/tar/dist/esm/normalize-windows-path.d.ts.map +1 -1
  45. package/dist/node_modules/tar/dist/esm/normalize-windows-path.js +2 -2
  46. package/dist/node_modules/tar/dist/esm/normalize-windows-path.js.map +1 -1
  47. package/dist/node_modules/tar/dist/esm/options.d.ts.map +1 -1
  48. package/dist/node_modules/tar/dist/esm/options.js.map +1 -1
  49. package/dist/node_modules/tar/dist/esm/parse.d.ts.map +1 -1
  50. package/dist/node_modules/tar/dist/esm/parse.js +39 -4
  51. package/dist/node_modules/tar/dist/esm/parse.js.map +1 -1
  52. package/dist/node_modules/tar/dist/esm/pax.js +30 -6
  53. package/dist/node_modules/tar/dist/esm/pax.js.map +1 -1
  54. package/dist/node_modules/tar/dist/esm/unpack.js +2 -2
  55. package/dist/node_modules/tar/dist/esm/unpack.js.map +1 -1
  56. package/dist/node_modules/tar/package.json +1 -1
  57. package/dist/pnpm.cjs +254 -158
  58. package/package.json +1 -1
package/dist/pnpm.cjs CHANGED
@@ -2973,7 +2973,7 @@ var require_lib4 = __commonJS({
2973
2973
  var load_json_file_1 = __importDefault2(require_load_json_file());
2974
2974
  var defaultManifest = {
2975
2975
  name: true ? "pnpm" : "pnpm",
2976
- version: true ? "10.34.4" : "0.0.0"
2976
+ version: true ? "10.34.5" : "0.0.0"
2977
2977
  };
2978
2978
  var pkgJson;
2979
2979
  if (require.main == null) {
@@ -18363,7 +18363,7 @@ var require_getOptionsFromRootManifest = __commonJS({
18363
18363
  }
18364
18364
  return settings;
18365
18365
  }
18366
- var REQUEST_DESTINATION_SCALAR_KEYS = /* @__PURE__ */ new Set(["registry"]);
18366
+ var REQUEST_DESTINATION_SCALAR_KEYS = /* @__PURE__ */ new Set(["registry", "httpProxy", "httpsProxy", "noProxy", "proxy", "noproxy"]);
18367
18367
  function replaceEnvInSettings(settings) {
18368
18368
  const newSettings = {};
18369
18369
  for (const [key, value] of Object.entries(settings)) {
@@ -61552,6 +61552,10 @@ var require_nodeReleaseKeys = __commonJS({
61552
61552
  {
61553
61553
  fingerprint: "5BE8A3F6C8A5C01D106C0AD820B1A390B168D356",
61554
61554
  armoredKey: "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmDMEaGA63BYJKwYBBAHaRw8BAQdAo/yU+MutacFmmn0CEX495goNrBxR24235XLM\ncvHYjfq0L0FudG9pbmUgZHUgSGFtZWwgPGR1aGFtZWxhbnRvaW5lMTk5NUBnbWFp\nbC5jb20+iI4EExYKADYWIQRb6KP2yKXAHRBsCtggsaOQsWjTVgUCaGA63AIbAwQL\nCQgHBBUKCQgFFgIDAQACHgUCF4AACgkQILGjkLFo01afgwEA/sLHqsj7ml2vyDoT\nKDPE8n9a80ZOh14OfnlOe0cCZA8BAMEOOk7QFI69DIlV1nMiqcFCqQFoSzBU2LkI\nR17p/j4NtDNBbnRvaW5lIGR1IEhhbWVsIDxhbnRvaW5lLmR1aGFtZWxAcGxhdGZv\ncm1hdGljLmRldj6IjgQTFgoANhYhBFvoo/bIpcAdEGwK2CCxo5CxaNNWBQJpsCMx\nAhsDBAsJCAcEFQoJCAUWAgMBAAIeAQIXgAAKCRAgsaOQsWjTVr/sAPwIBsG8g6ND\nzoNRTX1wPKBvfZg1NP7tYCyM5sxQfrpuLAEA05AhG4xBILfhL/f0pqR5jXfxg6gz\nT6WfeVeS6zeHZwe4OARoYDrcEgorBgEEAZdVAQUBAQdAQVmtih8AO3ryBQMR/22x\nWHVKLjAbCiH2cMxNH+iy1RQDAQgHiHgEGBYKACAWIQRb6KP2yKXAHRBsCtggsaOQ\nsWjTVgUCaGA63AIbDAAKCRAgsaOQsWjTVu8oAP9Bc+QY+9FikX3YvMgWAqiDlVOy\no0y6UIZGBMSQlF80wAD/d34LqtVIVe9oe5NO3xA75+6Ew8tGeAjUq/ovagr5dAU=\n=JsVv\n-----END PGP PUBLIC KEY BLOCK-----\n"
61555
+ },
61556
+ {
61557
+ fingerprint: "655F3B5C1FB3FA8D1A0CA6BDE4A7D232B936D2FD",
61558
+ armoredKey: "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmDMEakIjcxYJKwYBBAHaRw8BAQdAYRFWvBCAd9dDjKTePuAvvzAWxhvojAXco0m4\n2AMh/MC0H1N0ZXdhcnQgWCBBZGRpc29uIDxzeGFAaWJtLmNvbT6ImQQTFgoAQRYh\nBGVfO1wfs/qNGgymveSn0jK5NtL9BQJqQiNzAhsDBQkDwmcABQsJCAcCAiICBhUK\nCQgLAgQWAgMBAh4HAheAAAoJEOSn0jK5NtL9FOEBAMpIjknm4fnEQvTmIlzy0kDu\nVplF4HR78+lBef2i4590AP9i82wtP4pH1/vynoSBMkCauFIPmF1c9MYLFF0f53zq\nArg4BGpCI3MSCisGAQQBl1UBBQEBB0AVa1WJ4P8ir/M7NaCGrX7PDs0QU9qzpzme\na5TZ44b/YgMBCAeIfgQYFgoAJhYhBGVfO1wfs/qNGgymveSn0jK5NtL9BQJqQiNz\nAhsMBQkDwmcAAAoJEOSn0jK5NtL9EzYA/Arr4hbKLaU6OUjAVbH7HGLEl0HSvxE8\n5lEgWfuNbqOtAQCF9UT0wQEfiIj2R358Ce62zV43w2yaD8Xu0M/S+hz8AQ==\n=DcLq\n-----END PGP PUBLIC KEY BLOCK-----\n"
61555
61559
  }
61556
61560
  ];
61557
61561
  }
@@ -139132,6 +139136,7 @@ var require_lib120 = __commonJS({
139132
139136
  deps: _calcDepGraphHash(/* @__PURE__ */ new Set(), depPath)
139133
139137
  };
139134
139138
  const hexDigest = (0, crypto_object_hasher_1.hashObjectWithoutSorting)(state, { encoding: "hex" });
139139
+ assertNoPathTraversal(version2);
139135
139140
  const prefix = name.startsWith("@") ? "" : "@/";
139136
139141
  yield {
139137
139142
  hash: `${prefix}${name}/${version2}/${hexDigest}`,
@@ -139139,6 +139144,13 @@ var require_lib120 = __commonJS({
139139
139144
  };
139140
139145
  }
139141
139146
  }
139147
+ function assertNoPathTraversal(version2) {
139148
+ if (version2.split(/[/\\]/).includes("..")) {
139149
+ const error = new Error(`Refusing to build a virtual-store path with the traversal version segment ${JSON.stringify(version2)}`);
139150
+ error.code = "ERR_PNPM_INVALID_DEPENDENCY_NAME";
139151
+ throw error;
139152
+ }
139153
+ }
139142
139154
  function lockfileToDepGraph(lockfile) {
139143
139155
  const graph = {};
139144
139156
  if (lockfile.packages != null) {
@@ -159893,8 +159905,124 @@ var require_lib157 = __commonJS({
159893
159905
  }
159894
159906
  });
159895
159907
 
159896
- // ../node_modules/.pnpm/@yarnpkg+pnp@4.0.8/node_modules/@yarnpkg/pnp/lib/index.js
159908
+ // ../fs/symlink-dependency/lib/safeJoinModulesDir.js
159909
+ var require_safeJoinModulesDir = __commonJS({
159910
+ "../fs/symlink-dependency/lib/safeJoinModulesDir.js"(exports2) {
159911
+ "use strict";
159912
+ var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
159913
+ return mod && mod.__esModule ? mod : { "default": mod };
159914
+ };
159915
+ Object.defineProperty(exports2, "__esModule", { value: true });
159916
+ exports2.safeJoinModulesDir = safeJoinModulesDir;
159917
+ var path_1 = __importDefault2(require("path"));
159918
+ var validate_npm_package_name_1 = __importDefault2(require_lib97());
159919
+ function safeJoinModulesDir(modulesDir, alias) {
159920
+ if (!(0, validate_npm_package_name_1.default)(alias).validForOldPackages) {
159921
+ throw invalidDependencyNameError(modulesDir, alias);
159922
+ }
159923
+ const link = path_1.default.join(modulesDir, alias);
159924
+ const resolvedDir = path_1.default.resolve(modulesDir);
159925
+ const resolvedLink = path_1.default.resolve(link);
159926
+ if (resolvedLink === resolvedDir || !resolvedLink.startsWith(resolvedDir + path_1.default.sep)) {
159927
+ throw invalidDependencyNameError(modulesDir, alias, resolvedLink);
159928
+ }
159929
+ return link;
159930
+ }
159931
+ function invalidDependencyNameError(modulesDir, alias, resolvedLink) {
159932
+ const detail = resolvedLink ? ` (it resolves to ${resolvedLink})` : "";
159933
+ const error = new Error(`Refusing to place a dependency under ${modulesDir} with the invalid alias ${JSON.stringify(alias)}${detail}`);
159934
+ error.code = "ERR_PNPM_INVALID_DEPENDENCY_NAME";
159935
+ return error;
159936
+ }
159937
+ }
159938
+ });
159939
+
159940
+ // ../fs/symlink-dependency/lib/symlinkDirectRootDependency.js
159941
+ var require_symlinkDirectRootDependency = __commonJS({
159942
+ "../fs/symlink-dependency/lib/symlinkDirectRootDependency.js"(exports2) {
159943
+ "use strict";
159944
+ var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
159945
+ return mod && mod.__esModule ? mod : { "default": mod };
159946
+ };
159947
+ Object.defineProperty(exports2, "__esModule", { value: true });
159948
+ exports2.symlinkDirectRootDependency = symlinkDirectRootDependency;
159949
+ var fs_1 = require("fs");
159950
+ var util_1 = __importDefault2(require("util"));
159951
+ var core_loggers_1 = require_lib8();
159952
+ var symlink_dir_1 = __importDefault2(require_dist18());
159953
+ var safeJoinModulesDir_js_1 = require_safeJoinModulesDir();
159954
+ var DEP_TYPE_BY_DEPS_FIELD_NAME = {
159955
+ dependencies: "prod",
159956
+ devDependencies: "dev",
159957
+ optionalDependencies: "optional"
159958
+ };
159959
+ async function symlinkDirectRootDependency(dependencyLocation, destModulesDir, importAs, opts) {
159960
+ let destModulesDirReal;
159961
+ try {
159962
+ destModulesDirReal = await fs_1.promises.realpath(destModulesDir);
159963
+ } catch (err) {
159964
+ if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT") {
159965
+ await fs_1.promises.mkdir(destModulesDir, { recursive: true });
159966
+ destModulesDirReal = await fs_1.promises.realpath(destModulesDir);
159967
+ } else {
159968
+ throw err;
159969
+ }
159970
+ }
159971
+ const dest = (0, safeJoinModulesDir_js_1.safeJoinModulesDir)(destModulesDirReal, importAs);
159972
+ const { reused } = await (0, symlink_dir_1.default)(dependencyLocation, dest);
159973
+ if (reused)
159974
+ return;
159975
+ core_loggers_1.rootLogger.debug({
159976
+ added: {
159977
+ dependencyType: opts.fromDependenciesField && DEP_TYPE_BY_DEPS_FIELD_NAME[opts.fromDependenciesField],
159978
+ linkedFrom: dependencyLocation,
159979
+ name: importAs,
159980
+ realName: opts.linkedPackage.name,
159981
+ version: opts.linkedPackage.version
159982
+ },
159983
+ prefix: opts.prefix
159984
+ });
159985
+ }
159986
+ }
159987
+ });
159988
+
159989
+ // ../fs/symlink-dependency/lib/index.js
159897
159990
  var require_lib158 = __commonJS({
159991
+ "../fs/symlink-dependency/lib/index.js"(exports2) {
159992
+ "use strict";
159993
+ var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
159994
+ return mod && mod.__esModule ? mod : { "default": mod };
159995
+ };
159996
+ Object.defineProperty(exports2, "__esModule", { value: true });
159997
+ exports2.symlinkDirectRootDependency = exports2.safeJoinModulesDir = void 0;
159998
+ exports2.symlinkDependency = symlinkDependency;
159999
+ exports2.symlinkDependencySync = symlinkDependencySync;
160000
+ var core_loggers_1 = require_lib8();
160001
+ var symlink_dir_1 = __importDefault2(require_dist18());
160002
+ var safeJoinModulesDir_js_1 = require_safeJoinModulesDir();
160003
+ var safeJoinModulesDir_js_2 = require_safeJoinModulesDir();
160004
+ Object.defineProperty(exports2, "safeJoinModulesDir", { enumerable: true, get: function() {
160005
+ return safeJoinModulesDir_js_2.safeJoinModulesDir;
160006
+ } });
160007
+ var symlinkDirectRootDependency_js_1 = require_symlinkDirectRootDependency();
160008
+ Object.defineProperty(exports2, "symlinkDirectRootDependency", { enumerable: true, get: function() {
160009
+ return symlinkDirectRootDependency_js_1.symlinkDirectRootDependency;
160010
+ } });
160011
+ async function symlinkDependency(dependencyRealLocation, destModulesDir, importAs) {
160012
+ const link = (0, safeJoinModulesDir_js_1.safeJoinModulesDir)(destModulesDir, importAs);
160013
+ core_loggers_1.linkLogger.debug({ target: dependencyRealLocation, link });
160014
+ return (0, symlink_dir_1.default)(dependencyRealLocation, link);
160015
+ }
160016
+ function symlinkDependencySync(dependencyRealLocation, destModulesDir, importAs) {
160017
+ const link = (0, safeJoinModulesDir_js_1.safeJoinModulesDir)(destModulesDir, importAs);
160018
+ core_loggers_1.linkLogger.debug({ target: dependencyRealLocation, link });
160019
+ return symlink_dir_1.default.sync(dependencyRealLocation, link);
160020
+ }
160021
+ }
160022
+ });
160023
+
160024
+ // ../node_modules/.pnpm/@yarnpkg+pnp@4.0.8/node_modules/@yarnpkg/pnp/lib/index.js
160025
+ var require_lib159 = __commonJS({
159898
160026
  "../node_modules/.pnpm/@yarnpkg+pnp@4.0.8/node_modules/@yarnpkg/pnp/lib/index.js"(exports2) {
159899
160027
  "use strict";
159900
160028
  Object.defineProperty(exports2, "__esModule", { value: true });
@@ -163365,7 +163493,7 @@ ${candidates.map((candidate) => `Not found: ${getPathForDisplay(candidate)}
163365
163493
  });
163366
163494
 
163367
163495
  // ../lockfile/lockfile-to-pnp/lib/index.js
163368
- var require_lib159 = __commonJS({
163496
+ var require_lib160 = __commonJS({
163369
163497
  "../lockfile/lockfile-to-pnp/lib/index.js"(exports2) {
163370
163498
  "use strict";
163371
163499
  var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
@@ -163377,8 +163505,9 @@ var require_lib159 = __commonJS({
163377
163505
  var fs_1 = require("fs");
163378
163506
  var path_1 = __importDefault2(require("path"));
163379
163507
  var lockfile_utils_1 = require_lib122();
163508
+ var symlink_dependency_1 = require_lib158();
163380
163509
  var dependency_path_1 = require_lib87();
163381
- var pnp_1 = require_lib158();
163510
+ var pnp_1 = require_lib159();
163382
163511
  var normalize_path_1 = __importDefault2(require_normalize_path());
163383
163512
  async function writePnpFile(lockfile, opts) {
163384
163513
  const packageRegistry = lockfileToPackageRegistry(lockfile, opts);
@@ -163435,7 +163564,8 @@ var require_lib159 = __commonJS({
163435
163564
  packageStore = /* @__PURE__ */ new Map();
163436
163565
  packageRegistry.set(name, packageStore);
163437
163566
  }
163438
- let packageLocation = (0, normalize_path_1.default)(path_1.default.relative(opts.lockfileDir, path_1.default.join(opts.virtualStoreDir, (0, dependency_path_1.depPathToFilename)(relDepPath, opts.virtualStoreDirMaxLength), "node_modules", name)));
163567
+ const pkgModulesDir = path_1.default.join(opts.virtualStoreDir, (0, dependency_path_1.depPathToFilename)(relDepPath, opts.virtualStoreDirMaxLength), "node_modules");
163568
+ let packageLocation = (0, normalize_path_1.default)(path_1.default.relative(opts.lockfileDir, (0, symlink_dependency_1.safeJoinModulesDir)(pkgModulesDir, name)));
163439
163569
  if (!packageLocation.startsWith("../")) {
163440
163570
  packageLocation = `./${packageLocation}`;
163441
163571
  }
@@ -163748,7 +163878,7 @@ var require_prune2 = __commonJS({
163748
163878
  });
163749
163879
 
163750
163880
  // ../pkg-manager/modules-cleaner/lib/index.js
163751
- var require_lib160 = __commonJS({
163881
+ var require_lib161 = __commonJS({
163752
163882
  "../pkg-manager/modules-cleaner/lib/index.js"(exports2) {
163753
163883
  "use strict";
163754
163884
  Object.defineProperty(exports2, "__esModule", { value: true });
@@ -163760,122 +163890,6 @@ var require_lib160 = __commonJS({
163760
163890
  }
163761
163891
  });
163762
163892
 
163763
- // ../fs/symlink-dependency/lib/safeJoinModulesDir.js
163764
- var require_safeJoinModulesDir = __commonJS({
163765
- "../fs/symlink-dependency/lib/safeJoinModulesDir.js"(exports2) {
163766
- "use strict";
163767
- var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
163768
- return mod && mod.__esModule ? mod : { "default": mod };
163769
- };
163770
- Object.defineProperty(exports2, "__esModule", { value: true });
163771
- exports2.safeJoinModulesDir = safeJoinModulesDir;
163772
- var path_1 = __importDefault2(require("path"));
163773
- var validate_npm_package_name_1 = __importDefault2(require_lib97());
163774
- function safeJoinModulesDir(modulesDir, alias) {
163775
- if (!(0, validate_npm_package_name_1.default)(alias).validForOldPackages) {
163776
- throw invalidDependencyNameError(modulesDir, alias);
163777
- }
163778
- const link = path_1.default.join(modulesDir, alias);
163779
- const resolvedDir = path_1.default.resolve(modulesDir);
163780
- const resolvedLink = path_1.default.resolve(link);
163781
- if (resolvedLink === resolvedDir || !resolvedLink.startsWith(resolvedDir + path_1.default.sep)) {
163782
- throw invalidDependencyNameError(modulesDir, alias, resolvedLink);
163783
- }
163784
- return link;
163785
- }
163786
- function invalidDependencyNameError(modulesDir, alias, resolvedLink) {
163787
- const detail = resolvedLink ? ` (it resolves to ${resolvedLink})` : "";
163788
- const error = new Error(`Refusing to place a dependency under ${modulesDir} with the invalid alias ${JSON.stringify(alias)}${detail}`);
163789
- error.code = "ERR_PNPM_INVALID_DEPENDENCY_NAME";
163790
- return error;
163791
- }
163792
- }
163793
- });
163794
-
163795
- // ../fs/symlink-dependency/lib/symlinkDirectRootDependency.js
163796
- var require_symlinkDirectRootDependency = __commonJS({
163797
- "../fs/symlink-dependency/lib/symlinkDirectRootDependency.js"(exports2) {
163798
- "use strict";
163799
- var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
163800
- return mod && mod.__esModule ? mod : { "default": mod };
163801
- };
163802
- Object.defineProperty(exports2, "__esModule", { value: true });
163803
- exports2.symlinkDirectRootDependency = symlinkDirectRootDependency;
163804
- var fs_1 = require("fs");
163805
- var util_1 = __importDefault2(require("util"));
163806
- var core_loggers_1 = require_lib8();
163807
- var symlink_dir_1 = __importDefault2(require_dist18());
163808
- var safeJoinModulesDir_js_1 = require_safeJoinModulesDir();
163809
- var DEP_TYPE_BY_DEPS_FIELD_NAME = {
163810
- dependencies: "prod",
163811
- devDependencies: "dev",
163812
- optionalDependencies: "optional"
163813
- };
163814
- async function symlinkDirectRootDependency(dependencyLocation, destModulesDir, importAs, opts) {
163815
- let destModulesDirReal;
163816
- try {
163817
- destModulesDirReal = await fs_1.promises.realpath(destModulesDir);
163818
- } catch (err) {
163819
- if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT") {
163820
- await fs_1.promises.mkdir(destModulesDir, { recursive: true });
163821
- destModulesDirReal = await fs_1.promises.realpath(destModulesDir);
163822
- } else {
163823
- throw err;
163824
- }
163825
- }
163826
- const dest = (0, safeJoinModulesDir_js_1.safeJoinModulesDir)(destModulesDirReal, importAs);
163827
- const { reused } = await (0, symlink_dir_1.default)(dependencyLocation, dest);
163828
- if (reused)
163829
- return;
163830
- core_loggers_1.rootLogger.debug({
163831
- added: {
163832
- dependencyType: opts.fromDependenciesField && DEP_TYPE_BY_DEPS_FIELD_NAME[opts.fromDependenciesField],
163833
- linkedFrom: dependencyLocation,
163834
- name: importAs,
163835
- realName: opts.linkedPackage.name,
163836
- version: opts.linkedPackage.version
163837
- },
163838
- prefix: opts.prefix
163839
- });
163840
- }
163841
- }
163842
- });
163843
-
163844
- // ../fs/symlink-dependency/lib/index.js
163845
- var require_lib161 = __commonJS({
163846
- "../fs/symlink-dependency/lib/index.js"(exports2) {
163847
- "use strict";
163848
- var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
163849
- return mod && mod.__esModule ? mod : { "default": mod };
163850
- };
163851
- Object.defineProperty(exports2, "__esModule", { value: true });
163852
- exports2.symlinkDirectRootDependency = exports2.safeJoinModulesDir = void 0;
163853
- exports2.symlinkDependency = symlinkDependency;
163854
- exports2.symlinkDependencySync = symlinkDependencySync;
163855
- var core_loggers_1 = require_lib8();
163856
- var symlink_dir_1 = __importDefault2(require_dist18());
163857
- var safeJoinModulesDir_js_1 = require_safeJoinModulesDir();
163858
- var safeJoinModulesDir_js_2 = require_safeJoinModulesDir();
163859
- Object.defineProperty(exports2, "safeJoinModulesDir", { enumerable: true, get: function() {
163860
- return safeJoinModulesDir_js_2.safeJoinModulesDir;
163861
- } });
163862
- var symlinkDirectRootDependency_js_1 = require_symlinkDirectRootDependency();
163863
- Object.defineProperty(exports2, "symlinkDirectRootDependency", { enumerable: true, get: function() {
163864
- return symlinkDirectRootDependency_js_1.symlinkDirectRootDependency;
163865
- } });
163866
- async function symlinkDependency(dependencyRealLocation, destModulesDir, importAs) {
163867
- const link = (0, safeJoinModulesDir_js_1.safeJoinModulesDir)(destModulesDir, importAs);
163868
- core_loggers_1.linkLogger.debug({ target: dependencyRealLocation, link });
163869
- return (0, symlink_dir_1.default)(dependencyRealLocation, link);
163870
- }
163871
- function symlinkDependencySync(dependencyRealLocation, destModulesDir, importAs) {
163872
- const link = (0, safeJoinModulesDir_js_1.safeJoinModulesDir)(destModulesDir, importAs);
163873
- core_loggers_1.linkLogger.debug({ target: dependencyRealLocation, link });
163874
- return symlink_dir_1.default.sync(dependencyRealLocation, link);
163875
- }
163876
- }
163877
- });
163878
-
163879
163893
  // ../pkg-manager/headless/lib/linkHoistedModules.js
163880
163894
  var require_linkHoistedModules = __commonJS({
163881
163895
  "../pkg-manager/headless/lib/linkHoistedModules.js"(exports2) {
@@ -164298,6 +164312,7 @@ var require_lockfileToDepGraph = __commonJS({
164298
164312
  var logger_1 = require_lib();
164299
164313
  var package_is_installable_1 = require_lib86();
164300
164314
  var patching_config_1 = require_lib162();
164315
+ var symlink_dependency_1 = require_lib158();
164301
164316
  var dp = __importStar3(require_lib87());
164302
164317
  var path_exists_1 = __importDefault2(require_path_exists2());
164303
164318
  var equals_1 = __importDefault2(require_equals2());
@@ -164383,7 +164398,7 @@ var require_lockfileToDepGraph = __commonJS({
164383
164398
  const depIsPresent = !isDirectoryDep && currentPackages[depPath] && (0, equals_1.default)(currentPackages[depPath].dependencies, pkgSnapshot.dependencies);
164384
164399
  const depIntegrityIsUnchanged = isIntegrityEqual(pkgSnapshot.resolution, currentPackages[depPath]?.resolution);
164385
164400
  const modules = path_1.default.join(opts.virtualStoreDir, dirNameInVirtualStore, "node_modules");
164386
- const dir = path_1.default.join(modules, pkgName);
164401
+ const dir = (0, symlink_dependency_1.safeJoinModulesDir)(modules, pkgName);
164387
164402
  locationByDepPath[depPath] = dir;
164388
164403
  if (isDirectoryDep) {
164389
164404
  injectionTargetsByDepPath.set(depPath, [dir]);
@@ -165405,7 +165420,7 @@ var require_lockfileToHoistedDepGraph = __commonJS({
165405
165420
  var package_is_installable_1 = require_lib86();
165406
165421
  var patching_config_1 = require_lib162();
165407
165422
  var read_package_json_1 = require_lib62();
165408
- var symlink_dependency_1 = require_lib161();
165423
+ var symlink_dependency_1 = require_lib158();
165409
165424
  var real_hoist_1 = require_lib164();
165410
165425
  var dp = __importStar3(require_lib87());
165411
165426
  async function lockfileToHoistedDepGraph(lockfile, currentLockfile, opts) {
@@ -165647,7 +165662,7 @@ var require_linkDirectDeps = __commonJS({
165647
165662
  var fs_1 = __importDefault2(require("fs"));
165648
165663
  var path_1 = __importDefault2(require("path"));
165649
165664
  var core_loggers_1 = require_lib8();
165650
- var symlink_dependency_1 = require_lib161();
165665
+ var symlink_dependency_1 = require_lib158();
165651
165666
  var omit_1 = __importDefault2(require_omit());
165652
165667
  var read_modules_dir_1 = require_lib69();
165653
165668
  var rimraf_1 = __importDefault2(require_rimraf());
@@ -165822,15 +165837,15 @@ var require_lib166 = __commonJS({
165822
165837
  var lifecycle_1 = require_lib72();
165823
165838
  var link_bins_1 = require_lib70();
165824
165839
  var lockfile_fs_1 = require_lib124();
165825
- var lockfile_to_pnp_1 = require_lib159();
165840
+ var lockfile_to_pnp_1 = require_lib160();
165826
165841
  var lockfile_utils_1 = require_lib122();
165827
165842
  var extendProjectsWithTargetDirs_js_1 = require_extendProjectsWithTargetDirs();
165828
165843
  var logger_1 = require_lib();
165829
- var modules_cleaner_1 = require_lib160();
165844
+ var modules_cleaner_1 = require_lib161();
165830
165845
  var modules_yaml_1 = require_lib117();
165831
165846
  var read_package_json_1 = require_lib62();
165832
165847
  var read_project_manifest_1 = require_lib17();
165833
- var symlink_dependency_1 = require_lib161();
165848
+ var symlink_dependency_1 = require_lib158();
165834
165849
  var types_1 = require_lib10();
165835
165850
  var dp = __importStar3(require_lib87());
165836
165851
  var worker_1 = require_lib74();
@@ -170098,6 +170113,7 @@ var require_resolvePeers = __commonJS({
170098
170113
  var semver_12 = __importDefault2(require_semver2());
170099
170114
  var semverUtils = __importStar3(require_semverUtils());
170100
170115
  var dependency_path_1 = require_lib87();
170116
+ var symlink_dependency_1 = require_lib158();
170101
170117
  var partition_1 = __importDefault2(require_partition4());
170102
170118
  var pick_1 = __importDefault2(require_pick());
170103
170119
  var mergePeers_js_1 = require_mergePeers();
@@ -170481,7 +170497,7 @@ var require_resolvePeers = __commonJS({
170481
170497
  const peerDependencies = { ...resolvedPackage.peerDependencies };
170482
170498
  if (!ctx.depGraph[depPath] || ctx.depGraph[depPath].depth > node.depth) {
170483
170499
  const modules = path_1.default.join(ctx.virtualStoreDir, (0, dependency_path_1.depPathToFilename)(depPath, ctx.virtualStoreDirMaxLength), "node_modules");
170484
- const dir = path_1.default.join(modules, resolvedPackage.name);
170500
+ const dir = (0, symlink_dependency_1.safeJoinModulesDir)(modules, resolvedPackage.name);
170485
170501
  const transitivePeerDependencies = /* @__PURE__ */ new Set();
170486
170502
  for (const unknownPeer of allResolvedPeers.keys()) {
170487
170503
  if (!peerDependencies[unknownPeer]) {
@@ -171407,6 +171423,7 @@ var require_lib169 = __commonJS({
171407
171423
  var manifest_utils_1 = require_lib11();
171408
171424
  var patching_config_1 = require_lib162();
171409
171425
  var read_package_json_1 = require_lib62();
171426
+ var symlink_dependency_1 = require_lib158();
171410
171427
  var types_1 = require_lib10();
171411
171428
  var difference_1 = __importDefault2(require_difference());
171412
171429
  var zipWith_1 = __importDefault2(require_zipWith2());
@@ -171706,7 +171723,7 @@ var require_lib169 = __commonJS({
171706
171723
  const node = graph[depPath];
171707
171724
  Object.assign(node, {
171708
171725
  modules,
171709
- dir: path_1.default.join(modules, node.name)
171726
+ dir: (0, symlink_dependency_1.safeJoinModulesDir)(modules, node.name)
171710
171727
  });
171711
171728
  }
171712
171729
  return graph;
@@ -173241,8 +173258,8 @@ var require_link3 = __commonJS({
173241
173258
  var pkg_manager_direct_dep_linker_1 = require_lib165();
173242
173259
  var hoist_1 = require_lib157();
173243
173260
  var logger_1 = require_lib();
173244
- var modules_cleaner_1 = require_lib160();
173245
- var symlink_dependency_1 = require_lib161();
173261
+ var modules_cleaner_1 = require_lib161();
173262
+ var symlink_dependency_1 = require_lib158();
173246
173263
  var worker_1 = require_lib74();
173247
173264
  var p_limit_12 = __importDefault2(require_p_limit());
173248
173265
  var path_exists_1 = __importDefault2(require_path_exists2());
@@ -174047,7 +174064,7 @@ var require_install = __commonJS({
174047
174064
  var lifecycle_1 = require_lib72();
174048
174065
  var link_bins_1 = require_lib70();
174049
174066
  var lockfile_fs_1 = require_lib124();
174050
- var lockfile_to_pnp_1 = require_lib159();
174067
+ var lockfile_to_pnp_1 = require_lib160();
174051
174068
  var lockfile_verification_1 = require_lib147();
174052
174069
  var lockfile_preferred_versions_1 = require_lib167();
174053
174070
  var logger_1 = require_lib();
@@ -191908,6 +191925,7 @@ var require_verifyPnpmEngineIdentity = __commonJS({
191908
191925
  var lockfile_fs_1 = require_lib124();
191909
191926
  var network_auth_header_1 = require_lib77();
191910
191927
  var pick_registry_for_package_1 = require_lib44();
191928
+ var semver_12 = __importDefault2(require_semver2());
191911
191929
  var npmSigningKeys_js_1 = require_npmSigningKeys();
191912
191930
  function getNpmSigningKeys() {
191913
191931
  return npmSigningKeys_js_1.NPM_SIGNING_KEYS.map((k) => ({ ...k }));
@@ -191938,8 +191956,8 @@ var require_verifyPnpmEngineIdentity = __commonJS({
191938
191956
  }
191939
191957
  function collectEnginePackagesToVerify(lockfile, stageDir, targetPkgName, version2, registries) {
191940
191958
  const toVerify = [engineComponentToVerify(lockfile, registries, targetPkgName, version2)];
191941
- if (targetPkgName === "@pnpm/exe") {
191942
- const optionalDeps = lockfile.packages?.[`@pnpm/exe@${version2}`]?.optionalDependencies ?? {};
191959
+ if (targetPkgName === "@pnpm/exe" || semver_12.default.major(version2) >= 12) {
191960
+ const optionalDeps = lockfile.packages?.[`${targetPkgName}@${version2}`]?.optionalDependencies ?? {};
191943
191961
  for (const [name, platformVersion] of Object.entries(optionalDeps)) {
191944
191962
  if (!fs_1.default.existsSync(path_1.default.join(stageDir, "node_modules", name)))
191945
191963
  continue;
@@ -192075,6 +192093,10 @@ var require_installPnpmToTools = __commonJS({
192075
192093
  };
192076
192094
  Object.defineProperty(exports2, "__esModule", { value: true });
192077
192095
  exports2.installPnpmToTools = installPnpmToTools;
192096
+ exports2.pnpmPackageNameToInstall = pnpmPackageNameToInstall;
192097
+ exports2.linkExePlatformBinary = linkExePlatformBinary;
192098
+ exports2.exePlatformPkgDirNames = exePlatformPkgDirNames;
192099
+ exports2.safeWrapperBinNames = safeWrapperBinNames;
192078
192100
  var fs_1 = __importDefault2(require("fs"));
192079
192101
  var path_1 = __importDefault2(require("path"));
192080
192102
  var cli_meta_1 = require_lib4();
@@ -192088,8 +192110,8 @@ var require_installPnpmToTools = __commonJS({
192088
192110
  var verifyPnpmEngineIdentity_js_1 = require_verifyPnpmEngineIdentity();
192089
192111
  async function installPnpmToTools(pnpmVersion, opts) {
192090
192112
  const currentPkgName = (0, cli_meta_1.getCurrentPackageName)();
192091
- const targetPkgName = currentPkgName === "@pnpm/exe" && process.platform === "darwin" && process.arch === "x64" && semver_12.default.major(pnpmVersion) >= 11 ? "pnpm" : currentPkgName;
192092
- if (targetPkgName !== currentPkgName) {
192113
+ const targetPkgName = pnpmPackageNameToInstall(pnpmVersion, currentPkgName);
192114
+ if (targetPkgName !== currentPkgName && semver_12.default.major(pnpmVersion) < 12) {
192093
192115
  (0, logger_1.globalWarn)(`Switching from @pnpm/exe to the "pnpm" npm package because @pnpm/exe v${pnpmVersion} no longer ships a binary for Intel macOS (darwin-x64). The new "pnpm" install requires Node.js to be available on PATH. See https://github.com/pnpm/pnpm/issues/11423.`);
192094
192116
  }
192095
192117
  const dir = (0, tools_path_1.getToolDirPath)({
@@ -192143,10 +192165,10 @@ var require_installPnpmToTools = __commonJS({
192143
192165
  pnpm_config_pm_on_fail: "ignore"
192144
192166
  }
192145
192167
  });
192146
- if (targetPkgName === "@pnpm/exe") {
192147
- linkExePlatformBinary(stage);
192148
- }
192149
192168
  await (0, verifyPnpmEngineIdentity_js_1.verifyPnpmEngineIdentity)(stage, targetPkgName, pnpmVersion, opts);
192169
+ if (targetPkgName === "@pnpm/exe" || semver_12.default.major(pnpmVersion) >= 12) {
192170
+ linkExePlatformBinary(stage, targetPkgName);
192171
+ }
192150
192172
  symlink_dir_1.default.sync(stage, dir);
192151
192173
  } catch (err) {
192152
192174
  try {
@@ -192161,16 +192183,85 @@ var require_installPnpmToTools = __commonJS({
192161
192183
  binDir
192162
192184
  };
192163
192185
  }
192164
- function linkExePlatformBinary(stageDir) {
192165
- const platform = process.platform === "win32" ? "win" : process.platform === "darwin" ? "macos" : process.platform;
192166
- const arch = platform === "win" && process.arch === "ia32" ? "x86" : process.arch;
192167
- const executable = platform === "win" ? "pnpm.exe" : "pnpm";
192168
- const platformPkgDir = path_1.default.join(stageDir, "node_modules", "@pnpm", `${platform}-${arch}`);
192169
- const src = path_1.default.join(platformPkgDir, executable);
192170
- if (!fs_1.default.existsSync(src))
192186
+ function pnpmPackageNameToInstall(pnpmVersion, currentPkgName) {
192187
+ const major = semver_12.default.major(pnpmVersion);
192188
+ if (major >= 12)
192189
+ return "pnpm";
192190
+ if (currentPkgName === "@pnpm/exe" && process.platform === "darwin" && process.arch === "x64" && major >= 11) {
192191
+ return "pnpm";
192192
+ }
192193
+ return currentPkgName;
192194
+ }
192195
+ function linkExePlatformBinary(stageDir, wrapperPkgName) {
192196
+ const wrapperDir = path_1.default.join(stageDir, "node_modules", ...wrapperPkgName.split("/"));
192197
+ if (!fs_1.default.existsSync(wrapperDir))
192171
192198
  return;
192172
- const exePkgDir = path_1.default.join(stageDir, "node_modules", "@pnpm", "exe");
192173
- const dest = path_1.default.join(exePkgDir, executable);
192199
+ const scopeDir = path_1.default.join(stageDir, "node_modules", "@pnpm");
192200
+ const isWin = process.platform === "win32";
192201
+ const executable = isWin ? "pnpm.exe" : "pnpm";
192202
+ let src;
192203
+ for (const dirName of exePlatformPkgDirNames(process.platform, process.arch)) {
192204
+ const candidate = path_1.default.join(scopeDir, dirName, executable);
192205
+ if (fs_1.default.existsSync(candidate)) {
192206
+ src = candidate;
192207
+ break;
192208
+ }
192209
+ }
192210
+ if (src == null)
192211
+ return;
192212
+ if (!isWin) {
192213
+ forceLink(src, path_1.default.join(wrapperDir, "pnpm"));
192214
+ return;
192215
+ }
192216
+ const wrapperPkgJsonPath = path_1.default.join(wrapperDir, "package.json");
192217
+ const wrapperPkg = JSON.parse(fs_1.default.readFileSync(wrapperPkgJsonPath, "utf8"));
192218
+ const bin = typeof wrapperPkg.bin === "object" && wrapperPkg.bin != null ? wrapperPkg.bin : { pnpm: "pnpm" };
192219
+ for (const name of safeWrapperBinNames(wrapperDir, bin)) {
192220
+ forceLink(src, path_1.default.join(wrapperDir, `${name}.exe`));
192221
+ forceLink(src, path_1.default.join(wrapperDir, name));
192222
+ bin[name] = `${name}.exe`;
192223
+ }
192224
+ wrapperPkg.bin = bin;
192225
+ const tempPkgJsonPath = `${wrapperPkgJsonPath}.pnpm-tmp`;
192226
+ try {
192227
+ fs_1.default.writeFileSync(tempPkgJsonPath, JSON.stringify(wrapperPkg, null, 2));
192228
+ fs_1.default.renameSync(tempPkgJsonPath, wrapperPkgJsonPath);
192229
+ } catch (err) {
192230
+ try {
192231
+ fs_1.default.rmSync(tempPkgJsonPath, { force: true });
192232
+ } catch {
192233
+ }
192234
+ throw err;
192235
+ }
192236
+ }
192237
+ function exePlatformPkgDirNames(platform, arch) {
192238
+ switch (platform) {
192239
+ case "win32": {
192240
+ const legacyArch = arch === "ia32" ? "x86" : arch;
192241
+ return [`win-${legacyArch}`, `exe.win32-${arch}`];
192242
+ }
192243
+ case "darwin":
192244
+ return [`macos-${arch}`, `exe.darwin-${arch}`];
192245
+ case "linux":
192246
+ return [
192247
+ `linux-${arch}`,
192248
+ // legacy glibc
192249
+ `linuxstatic-${arch}`,
192250
+ // legacy musl
192251
+ `exe.linux-${arch}`,
192252
+ // v12 glibc
192253
+ `exe.linux-${arch}-musl`
192254
+ // v12 musl
192255
+ ];
192256
+ default:
192257
+ return [`${platform}-${arch}`, `exe.${platform}-${arch}`];
192258
+ }
192259
+ }
192260
+ function safeWrapperBinNames(wrapperDir, bin) {
192261
+ const resolvedWrapperDir = path_1.default.resolve(wrapperDir);
192262
+ return Object.keys(bin).filter((name) => path_1.default.dirname(path_1.default.resolve(wrapperDir, name)) === resolvedWrapperDir);
192263
+ }
192264
+ function forceLink(src, dest) {
192174
192265
  try {
192175
192266
  fs_1.default.unlinkSync(dest);
192176
192267
  } catch (err) {
@@ -192180,13 +192271,6 @@ var require_installPnpmToTools = __commonJS({
192180
192271
  }
192181
192272
  fs_1.default.linkSync(src, dest);
192182
192273
  fs_1.default.chmodSync(dest, 493);
192183
- if (platform === "win") {
192184
- const exePkgJsonPath = path_1.default.join(exePkgDir, "package.json");
192185
- const exePkg = JSON.parse(fs_1.default.readFileSync(exePkgJsonPath, "utf8"));
192186
- fs_1.default.writeFileSync(path_1.default.join(exePkgDir, "pnpm"), "This file intentionally left blank");
192187
- exePkg.bin.pnpm = "pnpm.exe";
192188
- fs_1.default.writeFileSync(exePkgJsonPath, JSON.stringify(exePkg, null, 2));
192189
- }
192190
192274
  }
192191
192275
  }
192192
192276
  });
@@ -192335,13 +192419,25 @@ var require_lib181 = __commonJS({
192335
192419
  return result2;
192336
192420
  };
192337
192421
  Object.defineProperty(exports2, "__esModule", { value: true });
192338
- exports2.selfUpdate = exports2.verifyPnpmEngineIdentity = exports2.getNpmSigningKeys = exports2.installPnpmToTools = void 0;
192422
+ exports2.selfUpdate = exports2.verifyPnpmEngineIdentity = exports2.getNpmSigningKeys = exports2.safeWrapperBinNames = exports2.exePlatformPkgDirNames = exports2.linkExePlatformBinary = exports2.pnpmPackageNameToInstall = exports2.installPnpmToTools = void 0;
192339
192423
  var selfUpdate = __importStar3(require_selfUpdate());
192340
192424
  exports2.selfUpdate = selfUpdate;
192341
192425
  var installPnpmToTools_js_1 = require_installPnpmToTools();
192342
192426
  Object.defineProperty(exports2, "installPnpmToTools", { enumerable: true, get: function() {
192343
192427
  return installPnpmToTools_js_1.installPnpmToTools;
192344
192428
  } });
192429
+ Object.defineProperty(exports2, "pnpmPackageNameToInstall", { enumerable: true, get: function() {
192430
+ return installPnpmToTools_js_1.pnpmPackageNameToInstall;
192431
+ } });
192432
+ Object.defineProperty(exports2, "linkExePlatformBinary", { enumerable: true, get: function() {
192433
+ return installPnpmToTools_js_1.linkExePlatformBinary;
192434
+ } });
192435
+ Object.defineProperty(exports2, "exePlatformPkgDirNames", { enumerable: true, get: function() {
192436
+ return installPnpmToTools_js_1.exePlatformPkgDirNames;
192437
+ } });
192438
+ Object.defineProperty(exports2, "safeWrapperBinNames", { enumerable: true, get: function() {
192439
+ return installPnpmToTools_js_1.safeWrapperBinNames;
192440
+ } });
192345
192441
  var verifyPnpmEngineIdentity_js_1 = require_verifyPnpmEngineIdentity();
192346
192442
  Object.defineProperty(exports2, "getNpmSigningKeys", { enumerable: true, get: function() {
192347
192443
  return verifyPnpmEngineIdentity_js_1.getNpmSigningKeys;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pnpm",
3
- "version": "10.34.4",
3
+ "version": "10.34.5",
4
4
  "description": "Fast, disk space efficient package manager",
5
5
  "keywords": [
6
6
  "pnpm",