pnpm 7.29.1 → 7.29.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -204,7 +204,7 @@ packageManager: pnpm@7.24.2
204
204
  pendingBuilds:
205
205
  - /node-gyp/9.3.1
206
206
  - /encoding/0.1.13
207
- prunedAt: Wed, 08 Mar 2023 01:42:36 GMT
207
+ prunedAt: Wed, 15 Mar 2023 10:25:00 GMT
208
208
  publicHoistPattern:
209
209
  - '*eslint*'
210
210
  - '*prettier*'
package/dist/pnpm.cjs CHANGED
@@ -3244,7 +3244,7 @@ var require_lib4 = __commonJS({
3244
3244
  var load_json_file_1 = __importDefault3(require_load_json_file());
3245
3245
  var defaultManifest = {
3246
3246
  name: "pnpm" != null && true ? "pnpm" : "pnpm",
3247
- version: "7.29.1" != null && true ? "7.29.1" : "0.0.0"
3247
+ version: "7.29.3" != null && true ? "7.29.3" : "0.0.0"
3248
3248
  };
3249
3249
  var pkgJson;
3250
3250
  if (require.main == null) {
@@ -12680,6 +12680,280 @@ var require_lib6 = __commonJS({
12680
12680
  }
12681
12681
  });
12682
12682
 
12683
+ // ../node_modules/.pnpm/pidtree@0.6.0/node_modules/pidtree/lib/bin.js
12684
+ var require_bin = __commonJS({
12685
+ "../node_modules/.pnpm/pidtree@0.6.0/node_modules/pidtree/lib/bin.js"(exports2, module2) {
12686
+ "use strict";
12687
+ var spawn = require("child_process").spawn;
12688
+ function stripStderr(stderr) {
12689
+ if (!stderr)
12690
+ return;
12691
+ stderr = stderr.trim();
12692
+ var regex = /your \d+x\d+ screen size is bogus\. expect trouble/gi;
12693
+ stderr = stderr.replace(regex, "");
12694
+ return stderr.trim();
12695
+ }
12696
+ function run(cmd, args2, options, done) {
12697
+ if (typeof options === "function") {
12698
+ done = options;
12699
+ options = void 0;
12700
+ }
12701
+ var executed = false;
12702
+ var ch = spawn(cmd, args2, options);
12703
+ var stdout = "";
12704
+ var stderr = "";
12705
+ ch.stdout.on("data", function(d) {
12706
+ stdout += d.toString();
12707
+ });
12708
+ ch.stderr.on("data", function(d) {
12709
+ stderr += d.toString();
12710
+ });
12711
+ ch.on("error", function(err) {
12712
+ if (executed)
12713
+ return;
12714
+ executed = true;
12715
+ done(new Error(err));
12716
+ });
12717
+ ch.on("close", function(code) {
12718
+ if (executed)
12719
+ return;
12720
+ executed = true;
12721
+ stderr = stripStderr(stderr);
12722
+ if (stderr) {
12723
+ return done(new Error(stderr));
12724
+ }
12725
+ done(null, stdout, code);
12726
+ });
12727
+ }
12728
+ module2.exports = run;
12729
+ }
12730
+ });
12731
+
12732
+ // ../node_modules/.pnpm/pidtree@0.6.0/node_modules/pidtree/lib/ps.js
12733
+ var require_ps = __commonJS({
12734
+ "../node_modules/.pnpm/pidtree@0.6.0/node_modules/pidtree/lib/ps.js"(exports2, module2) {
12735
+ "use strict";
12736
+ var os = require("os");
12737
+ var bin = require_bin();
12738
+ function ps(callback) {
12739
+ var args2 = ["-A", "-o", "ppid,pid"];
12740
+ bin("ps", args2, function(err, stdout, code) {
12741
+ if (err)
12742
+ return callback(err);
12743
+ if (code !== 0) {
12744
+ return callback(new Error("pidtree ps command exited with code " + code));
12745
+ }
12746
+ try {
12747
+ stdout = stdout.split(os.EOL);
12748
+ var list = [];
12749
+ for (var i = 1; i < stdout.length; i++) {
12750
+ stdout[i] = stdout[i].trim();
12751
+ if (!stdout[i])
12752
+ continue;
12753
+ stdout[i] = stdout[i].split(/\s+/);
12754
+ stdout[i][0] = parseInt(stdout[i][0], 10);
12755
+ stdout[i][1] = parseInt(stdout[i][1], 10);
12756
+ list.push(stdout[i]);
12757
+ }
12758
+ callback(null, list);
12759
+ } catch (error) {
12760
+ callback(error);
12761
+ }
12762
+ });
12763
+ }
12764
+ module2.exports = ps;
12765
+ }
12766
+ });
12767
+
12768
+ // ../node_modules/.pnpm/pidtree@0.6.0/node_modules/pidtree/lib/wmic.js
12769
+ var require_wmic = __commonJS({
12770
+ "../node_modules/.pnpm/pidtree@0.6.0/node_modules/pidtree/lib/wmic.js"(exports2, module2) {
12771
+ "use strict";
12772
+ var os = require("os");
12773
+ var bin = require_bin();
12774
+ function wmic(callback) {
12775
+ var args2 = ["PROCESS", "get", "ParentProcessId,ProcessId"];
12776
+ var options = { windowsHide: true, windowsVerbatimArguments: true };
12777
+ bin("wmic", args2, options, function(err, stdout, code) {
12778
+ if (err) {
12779
+ callback(err);
12780
+ return;
12781
+ }
12782
+ if (code !== 0) {
12783
+ callback(new Error("pidtree wmic command exited with code " + code));
12784
+ return;
12785
+ }
12786
+ try {
12787
+ stdout = stdout.split(os.EOL);
12788
+ var list = [];
12789
+ for (var i = 1; i < stdout.length; i++) {
12790
+ stdout[i] = stdout[i].trim();
12791
+ if (!stdout[i])
12792
+ continue;
12793
+ stdout[i] = stdout[i].split(/\s+/);
12794
+ stdout[i][0] = parseInt(stdout[i][0], 10);
12795
+ stdout[i][1] = parseInt(stdout[i][1], 10);
12796
+ list.push(stdout[i]);
12797
+ }
12798
+ callback(null, list);
12799
+ } catch (error) {
12800
+ callback(error);
12801
+ }
12802
+ });
12803
+ }
12804
+ module2.exports = wmic;
12805
+ }
12806
+ });
12807
+
12808
+ // ../node_modules/.pnpm/pidtree@0.6.0/node_modules/pidtree/lib/get.js
12809
+ var require_get = __commonJS({
12810
+ "../node_modules/.pnpm/pidtree@0.6.0/node_modules/pidtree/lib/get.js"(exports2, module2) {
12811
+ "use strict";
12812
+ var os = require("os");
12813
+ var platformToMethod = {
12814
+ darwin: "ps",
12815
+ sunos: "ps",
12816
+ freebsd: "ps",
12817
+ netbsd: "ps",
12818
+ win: "wmic",
12819
+ linux: "ps",
12820
+ aix: "ps"
12821
+ };
12822
+ var methodToRequireFn = {
12823
+ ps: () => require_ps(),
12824
+ wmic: () => require_wmic()
12825
+ };
12826
+ var platform = os.platform();
12827
+ if (platform.startsWith("win")) {
12828
+ platform = "win";
12829
+ }
12830
+ var method = platformToMethod[platform];
12831
+ function get(callback) {
12832
+ if (method === void 0) {
12833
+ callback(
12834
+ new Error(
12835
+ os.platform() + " is not supported yet, please open an issue (https://github.com/simonepri/pidtree)"
12836
+ )
12837
+ );
12838
+ }
12839
+ var list = methodToRequireFn[method]();
12840
+ list(callback);
12841
+ }
12842
+ module2.exports = get;
12843
+ }
12844
+ });
12845
+
12846
+ // ../node_modules/.pnpm/pidtree@0.6.0/node_modules/pidtree/lib/pidtree.js
12847
+ var require_pidtree = __commonJS({
12848
+ "../node_modules/.pnpm/pidtree@0.6.0/node_modules/pidtree/lib/pidtree.js"(exports2, module2) {
12849
+ "use strict";
12850
+ var getAll = require_get();
12851
+ function list(PID, options, callback) {
12852
+ if (typeof options === "function") {
12853
+ callback = options;
12854
+ options = {};
12855
+ }
12856
+ if (typeof options !== "object") {
12857
+ options = {};
12858
+ }
12859
+ PID = parseInt(PID, 10);
12860
+ if (isNaN(PID) || PID < -1) {
12861
+ callback(new TypeError("The pid provided is invalid"));
12862
+ return;
12863
+ }
12864
+ getAll(function(err, list2) {
12865
+ if (err) {
12866
+ callback(err);
12867
+ return;
12868
+ }
12869
+ if (PID === -1) {
12870
+ for (var i = 0; i < list2.length; i++) {
12871
+ list2[i] = options.advanced ? { ppid: list2[i][0], pid: list2[i][1] } : list2[i] = list2[i][1];
12872
+ }
12873
+ callback(null, list2);
12874
+ return;
12875
+ }
12876
+ var root;
12877
+ for (var l = 0; l < list2.length; l++) {
12878
+ if (list2[l][1] === PID) {
12879
+ root = options.advanced ? { ppid: list2[l][0], pid: PID } : PID;
12880
+ break;
12881
+ }
12882
+ if (list2[l][0] === PID) {
12883
+ root = options.advanced ? { pid: PID } : PID;
12884
+ }
12885
+ }
12886
+ if (!root) {
12887
+ callback(new Error("No matching pid found"));
12888
+ return;
12889
+ }
12890
+ var tree = {};
12891
+ while (list2.length > 0) {
12892
+ var element = list2.pop();
12893
+ if (tree[element[0]]) {
12894
+ tree[element[0]].push(element[1]);
12895
+ } else {
12896
+ tree[element[0]] = [element[1]];
12897
+ }
12898
+ }
12899
+ var idx = 0;
12900
+ var pids = [root];
12901
+ while (idx < pids.length) {
12902
+ var curpid = options.advanced ? pids[idx++].pid : pids[idx++];
12903
+ if (!tree[curpid])
12904
+ continue;
12905
+ var length = tree[curpid].length;
12906
+ for (var j = 0; j < length; j++) {
12907
+ pids.push(
12908
+ options.advanced ? { ppid: curpid, pid: tree[curpid][j] } : tree[curpid][j]
12909
+ );
12910
+ }
12911
+ delete tree[curpid];
12912
+ }
12913
+ if (!options.root) {
12914
+ pids.shift();
12915
+ }
12916
+ callback(null, pids);
12917
+ });
12918
+ }
12919
+ module2.exports = list;
12920
+ }
12921
+ });
12922
+
12923
+ // ../node_modules/.pnpm/pidtree@0.6.0/node_modules/pidtree/index.js
12924
+ var require_pidtree2 = __commonJS({
12925
+ "../node_modules/.pnpm/pidtree@0.6.0/node_modules/pidtree/index.js"(exports2, module2) {
12926
+ "use strict";
12927
+ function pify(fn2, arg1, arg2) {
12928
+ return new Promise(function(resolve, reject) {
12929
+ fn2(arg1, arg2, function(err, data) {
12930
+ if (err)
12931
+ return reject(err);
12932
+ resolve(data);
12933
+ });
12934
+ });
12935
+ }
12936
+ if (!String.prototype.startsWith) {
12937
+ String.prototype.startsWith = function(suffix) {
12938
+ return this.substring(0, suffix.length) === suffix;
12939
+ };
12940
+ }
12941
+ var pidtree = require_pidtree();
12942
+ function list(pid, options, callback) {
12943
+ if (typeof options === "function") {
12944
+ callback = options;
12945
+ options = void 0;
12946
+ }
12947
+ if (typeof callback === "function") {
12948
+ pidtree(pid, options, callback);
12949
+ return;
12950
+ }
12951
+ return pify(pidtree, pid, options);
12952
+ }
12953
+ module2.exports = list;
12954
+ }
12955
+ });
12956
+
12683
12957
  // ../node_modules/.pnpm/signal-exit@3.0.7/node_modules/signal-exit/signals.js
12684
12958
  var require_signals = __commonJS({
12685
12959
  "../node_modules/.pnpm/signal-exit@3.0.7/node_modules/signal-exit/signals.js"(exports2, module2) {
@@ -21661,8 +21935,11 @@ var require_lib15 = __commonJS({
21661
21935
  var util_1 = require("util");
21662
21936
  var graceful_fs_1 = __importDefault3(require_graceful_fs());
21663
21937
  exports2.default = {
21938
+ copyFile: (0, util_1.promisify)(graceful_fs_1.default.copyFile),
21664
21939
  createReadStream: graceful_fs_1.default.createReadStream,
21940
+ link: (0, util_1.promisify)(graceful_fs_1.default.link),
21665
21941
  readFile: (0, util_1.promisify)(graceful_fs_1.default.readFile),
21942
+ stat: (0, util_1.promisify)(graceful_fs_1.default.stat),
21666
21943
  writeFile: (0, util_1.promisify)(graceful_fs_1.default.writeFile)
21667
21944
  };
21668
21945
  }
@@ -81679,6 +81956,7 @@ var require_lib47 = __commonJS({
81679
81956
  Object.defineProperty(exports2, "__esModule", { value: true });
81680
81957
  exports2.copyPkg = exports2.createIndexedPkgImporter = void 0;
81681
81958
  var fs_1 = require("fs");
81959
+ var graceful_fs_1 = __importDefault3(require_lib15());
81682
81960
  var path_1 = __importDefault3(require("path"));
81683
81961
  var logger_1 = require_lib6();
81684
81962
  var core_loggers_1 = require_lib9();
@@ -81724,7 +82002,7 @@ var require_lib47 = __commonJS({
81724
82002
  } catch (err) {
81725
82003
  }
81726
82004
  try {
81727
- if (!await hardlinkPkg(fs_1.promises.link, to, opts))
82005
+ if (!await hardlinkPkg(graceful_fs_1.default.link, to, opts))
81728
82006
  return void 0;
81729
82007
  core_loggers_1.packageImportMethodLogger.debug({ method: "hardlink" });
81730
82008
  auto = hardlinkPkg.bind(null, linkOrCopy);
@@ -81769,7 +82047,7 @@ var require_lib47 = __commonJS({
81769
82047
  return void 0;
81770
82048
  }
81771
82049
  async function cloneFile(from, to) {
81772
- await fs_1.promises.copyFile(from, to, fs_1.constants.COPYFILE_FICLONE_FORCE);
82050
+ await graceful_fs_1.default.copyFile(from, to, fs_1.constants.COPYFILE_FICLONE_FORCE);
81773
82051
  }
81774
82052
  async function hardlinkPkg(importFile, to, opts) {
81775
82053
  if (!opts.fromStore || opts.force || !await pkgLinkedToStore(opts.filesMap, to)) {
@@ -81780,11 +82058,11 @@ var require_lib47 = __commonJS({
81780
82058
  }
81781
82059
  async function linkOrCopy(existingPath, newPath) {
81782
82060
  try {
81783
- await fs_1.promises.link(existingPath, newPath);
82061
+ await graceful_fs_1.default.link(existingPath, newPath);
81784
82062
  } catch (err) {
81785
82063
  if (err["code"] === "EEXIST")
81786
82064
  return;
81787
- await fs_1.promises.copyFile(existingPath, newPath);
82065
+ await graceful_fs_1.default.copyFile(existingPath, newPath);
81788
82066
  }
81789
82067
  }
81790
82068
  async function pkgLinkedToStore(filesMap, to) {
@@ -81803,12 +82081,12 @@ var require_lib47 = __commonJS({
81803
82081
  const linkedFile = path_1.default.join(linkedPkgDir, filename);
81804
82082
  let stats0;
81805
82083
  try {
81806
- stats0 = await fs_1.promises.stat(linkedFile);
82084
+ stats0 = await graceful_fs_1.default.stat(linkedFile);
81807
82085
  } catch (err) {
81808
82086
  if (err.code === "ENOENT")
81809
82087
  return false;
81810
82088
  }
81811
- const stats1 = await fs_1.promises.stat(filesMap[filename]);
82089
+ const stats1 = await graceful_fs_1.default.stat(filesMap[filename]);
81812
82090
  if (stats0.ino === stats1.ino)
81813
82091
  return true;
81814
82092
  (0, logger_1.globalInfo)(`Relinking ${linkedPkgDir} from the store`);
@@ -81817,7 +82095,7 @@ var require_lib47 = __commonJS({
81817
82095
  async function copyPkg(to, opts) {
81818
82096
  const pkgJsonPath = path_1.default.join(to, "package.json");
81819
82097
  if (!opts.fromStore || opts.force || !await (0, path_exists_1.default)(pkgJsonPath)) {
81820
- await (0, importIndexedDir_1.importIndexedDir)(fs_1.promises.copyFile, to, opts.filesMap, opts);
82098
+ await (0, importIndexedDir_1.importIndexedDir)(graceful_fs_1.default.copyFile, to, opts.filesMap, opts);
81821
82099
  return "copy";
81822
82100
  }
81823
82101
  return void 0;
@@ -111864,7 +112142,7 @@ var require_sortLockfileKeys = __commonJS({
111864
112142
  });
111865
112143
  }
111866
112144
  }
111867
- for (const key of ["specifiers", "dependencies", "devDependencies", "optionalDependencies", "time"]) {
112145
+ for (const key of ["specifiers", "dependencies", "devDependencies", "optionalDependencies", "time", "patchedDependencies"]) {
111868
112146
  if (!lockfile[key])
111869
112147
  continue;
111870
112148
  lockfile[key] = (0, sort_keys_1.default)(lockfile[key]);
@@ -114015,8 +114293,12 @@ ${depsLabel}
114015
114293
  var require_lib89 = __commonJS({
114016
114294
  "../reviewing/list/lib/index.js"(exports2) {
114017
114295
  "use strict";
114296
+ var __importDefault3 = exports2 && exports2.__importDefault || function(mod) {
114297
+ return mod && mod.__esModule ? mod : { "default": mod };
114298
+ };
114018
114299
  Object.defineProperty(exports2, "__esModule", { value: true });
114019
- exports2.list = exports2.listForPackages = exports2.searchForPackages = void 0;
114300
+ exports2.list = exports2.listForPackages = exports2.searchForPackages = exports2.flattenSearchedPackages = void 0;
114301
+ var path_1 = __importDefault3(require("path"));
114020
114302
  var read_project_manifest_1 = require_lib16();
114021
114303
  var reviewing_dependencies_hierarchy_1 = require_lib88();
114022
114304
  var createPackagesSearcher_1 = require_createPackagesSearcher();
@@ -114031,6 +114313,32 @@ var require_lib89 = __commonJS({
114031
114313
  reportAs: "tree",
114032
114314
  showExtraneous: true
114033
114315
  };
114316
+ function flattenSearchedPackages(pkgs, opts) {
114317
+ const flattedPkgs = [];
114318
+ for (const pkg of pkgs) {
114319
+ _walker([
114320
+ ...pkg.optionalDependencies ?? [],
114321
+ ...pkg.dependencies ?? [],
114322
+ ...pkg.devDependencies ?? [],
114323
+ ...pkg.unsavedDependencies ?? []
114324
+ ], path_1.default.relative(opts.lockfileDir, pkg.path) || ".");
114325
+ }
114326
+ return flattedPkgs;
114327
+ function _walker(packages, depPath) {
114328
+ for (const pkg of packages) {
114329
+ const nextDepPath = `${depPath} > ${pkg.name}@${pkg.version}`;
114330
+ if (pkg.dependencies?.length) {
114331
+ _walker(pkg.dependencies, nextDepPath);
114332
+ } else {
114333
+ flattedPkgs.push({
114334
+ depPath: nextDepPath,
114335
+ ...pkg
114336
+ });
114337
+ }
114338
+ }
114339
+ }
114340
+ }
114341
+ exports2.flattenSearchedPackages = flattenSearchedPackages;
114034
114342
  async function searchForPackages(packages, projectPaths, opts) {
114035
114343
  const search = (0, createPackagesSearcher_1.createPackagesSearcher)(packages);
114036
114344
  return Promise.all(Object.entries(await (0, reviewing_dependencies_hierarchy_1.buildDependenciesHierarchy)(projectPaths, {
@@ -114210,26 +114518,7 @@ var require_lib90 = __commonJS({
114210
114518
  }
114211
114519
  async function searchPackagePaths(searchOpts, projectDirs, pkg) {
114212
114520
  const pkgs = await (0, list_1.searchForPackages)([pkg], projectDirs, searchOpts);
114213
- const paths = [];
114214
- for (const pkg2 of pkgs) {
114215
- _walker([
114216
- ...pkg2.optionalDependencies ?? [],
114217
- ...pkg2.dependencies ?? [],
114218
- ...pkg2.devDependencies ?? [],
114219
- ...pkg2.unsavedDependencies ?? []
114220
- ], path_1.default.relative(searchOpts.lockfileDir, pkg2.path) || ".");
114221
- }
114222
- return paths;
114223
- function _walker(packages, depPath) {
114224
- for (const pkg2 of packages) {
114225
- const nextDepPath = `${depPath} > ${pkg2.name}@${pkg2.version}`;
114226
- if (pkg2.dependencies?.length) {
114227
- _walker(pkg2.dependencies, nextDepPath);
114228
- } else {
114229
- paths.push(nextDepPath);
114230
- }
114231
- }
114232
- }
114521
+ return (0, list_1.flattenSearchedPackages)(pkgs, { lockfileDir: searchOpts.lockfileDir }).map(({ depPath }) => depPath);
114233
114522
  }
114234
114523
  var AuditEndpointNotExistsError = class extends error_1.PnpmError {
114235
114524
  constructor(endpoint) {
@@ -116127,7 +116416,7 @@ var require_baseGet = __commonJS({
116127
116416
  });
116128
116417
 
116129
116418
  // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/get.js
116130
- var require_get = __commonJS({
116419
+ var require_get2 = __commonJS({
116131
116420
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/get.js"(exports2, module2) {
116132
116421
  var baseGet = require_baseGet();
116133
116422
  function get(object, path2, defaultValue) {
@@ -116193,7 +116482,7 @@ var require_hasIn = __commonJS({
116193
116482
  var require_baseMatchesProperty = __commonJS({
116194
116483
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseMatchesProperty.js"(exports2, module2) {
116195
116484
  var baseIsEqual = require_baseIsEqual();
116196
- var get = require_get();
116485
+ var get = require_get2();
116197
116486
  var hasIn = require_hasIn();
116198
116487
  var isKey = require_isKey();
116199
116488
  var isStrictComparable = require_isStrictComparable();
@@ -121618,7 +121907,7 @@ var require_config2 = __commonJS({
121618
121907
  });
121619
121908
 
121620
121909
  // ../config/plugin-commands-config/lib/get.js
121621
- var require_get2 = __commonJS({
121910
+ var require_get3 = __commonJS({
121622
121911
  "../config/plugin-commands-config/lib/get.js"(exports2) {
121623
121912
  "use strict";
121624
121913
  var __createBinding4 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
@@ -121757,7 +122046,7 @@ var require_lib93 = __commonJS({
121757
122046
  exports2.setCommand = exports2.getCommand = exports2.config = void 0;
121758
122047
  var config = __importStar4(require_config2());
121759
122048
  exports2.config = config;
121760
- var getCommand = __importStar4(require_get2());
122049
+ var getCommand = __importStar4(require_get3());
121761
122050
  exports2.getCommand = getCommand;
121762
122051
  var setCommand = __importStar4(require_set3());
121763
122052
  exports2.setCommand = setCommand;
@@ -125676,6 +125965,7 @@ var require_lib108 = __commonJS({
125676
125965
  Object.defineProperty(exports2, "__esModule", { value: true });
125677
125966
  exports2.linkBinsOfPackages = exports2.linkBins = void 0;
125678
125967
  var fs_1 = require("fs");
125968
+ var module_1 = __importDefault3(require("module"));
125679
125969
  var path_1 = __importDefault3(require("path"));
125680
125970
  var error_1 = require_lib8();
125681
125971
  var logger_1 = require_lib6();
@@ -125812,9 +126102,19 @@ var require_lib108 = __commonJS({
125812
126102
  return;
125813
126103
  }
125814
126104
  try {
126105
+ let nodePath;
126106
+ if (opts?.extraNodePaths?.length) {
126107
+ nodePath = [];
126108
+ for (const modulesPath of await getBinNodePaths(cmd.path)) {
126109
+ if (opts.extraNodePaths.includes(modulesPath))
126110
+ break;
126111
+ nodePath.push(modulesPath);
126112
+ }
126113
+ nodePath.push(...opts.extraNodePaths);
126114
+ }
125815
126115
  await (0, cmd_shim_1.default)(cmd.path, externalBinPath, {
125816
126116
  createPwshFile: cmd.makePowerShellShim,
125817
- nodePath: opts?.extraNodePaths,
126117
+ nodePath,
125818
126118
  nodeExecPath: cmd.nodeExecPath
125819
126119
  });
125820
126120
  } catch (err) {
@@ -125835,6 +126135,18 @@ var require_lib108 = __commonJS({
125835
126135
  }
125836
126136
  return cmdExtension ?? ".exe";
125837
126137
  }
126138
+ async function getBinNodePaths(target) {
126139
+ const targetDir = path_1.default.dirname(target);
126140
+ try {
126141
+ const targetRealPath = await fs_1.promises.realpath(targetDir);
126142
+ return module_1.default["_nodeModulePaths"](targetRealPath);
126143
+ } catch (err) {
126144
+ if (err.code !== "ENOENT") {
126145
+ throw err;
126146
+ }
126147
+ return module_1.default["_nodeModulePaths"](targetDir);
126148
+ }
126149
+ }
125838
126150
  async function safeReadPkgJson(pkgDir) {
125839
126151
  try {
125840
126152
  return await (0, read_package_json_1.readPackageJsonFromDir)(pkgDir);
@@ -218905,9 +219217,7 @@ var require_writePackage = __commonJS({
218905
219217
  exports2.writePackage = void 0;
218906
219218
  var store_connection_manager_1 = require_lib105();
218907
219219
  var pick_registry_for_package_1 = require_lib75();
218908
- var parse_wanted_dependency_1 = require_lib136();
218909
- async function writePackage(pkg, dest, opts) {
218910
- const dep = (0, parse_wanted_dependency_1.parseWantedDependency)(pkg);
219220
+ async function writePackage(dep, dest, opts) {
218911
219221
  const store = await (0, store_connection_manager_1.createOrConnectStoreController)({
218912
219222
  ...opts,
218913
219223
  packageImportMethod: "clone-or-copy"
@@ -218924,12 +219234,70 @@ var require_writePackage = __commonJS({
218924
219234
  filesResponse,
218925
219235
  force: true
218926
219236
  });
218927
- return dep;
218928
219237
  }
218929
219238
  exports2.writePackage = writePackage;
218930
219239
  }
218931
219240
  });
218932
219241
 
219242
+ // ../patching/plugin-commands-patching/lib/getPatchedDependency.js
219243
+ var require_getPatchedDependency = __commonJS({
219244
+ "../patching/plugin-commands-patching/lib/getPatchedDependency.js"(exports2) {
219245
+ "use strict";
219246
+ var __importDefault3 = exports2 && exports2.__importDefault || function(mod) {
219247
+ return mod && mod.__esModule ? mod : { "default": mod };
219248
+ };
219249
+ Object.defineProperty(exports2, "__esModule", { value: true });
219250
+ exports2.getPatchedDependency = void 0;
219251
+ var path_1 = __importDefault3(require("path"));
219252
+ var parse_wanted_dependency_1 = require_lib136();
219253
+ var enquirer_1 = require_enquirer();
219254
+ var lockfile_file_1 = require_lib84();
219255
+ var lockfile_utils_1 = require_lib81();
219256
+ var error_1 = require_lib8();
219257
+ var constants_1 = require_lib7();
219258
+ var modules_yaml_1 = require_lib85();
219259
+ var realpath_missing_1 = __importDefault3(require_realpath_missing());
219260
+ var semver_12 = __importDefault3(require_semver2());
219261
+ async function getPatchedDependency(rawDependency, opts) {
219262
+ const dep = (0, parse_wanted_dependency_1.parseWantedDependency)(rawDependency);
219263
+ const { versions, preferredVersions } = await getVersionsFromLockfile(dep, opts);
219264
+ if (!preferredVersions.length) {
219265
+ throw new error_1.PnpmError("PATCH_VERSION_NOT_FOUND", `Can not find ${rawDependency} in project ${opts.lockfileDir}, ${versions.length ? `you can specify currently installed version: ${versions.join(", ")}.` : `did you forget to install ${rawDependency}?`}`);
219266
+ }
219267
+ dep.alias = dep.alias ?? rawDependency;
219268
+ if (preferredVersions.length > 1) {
219269
+ const { version: version2 } = await (0, enquirer_1.prompt)({
219270
+ type: "select",
219271
+ name: "version",
219272
+ message: "Choose which version to patch",
219273
+ choices: versions
219274
+ });
219275
+ dep.pref = version2;
219276
+ } else {
219277
+ dep.pref = preferredVersions[0];
219278
+ }
219279
+ return dep;
219280
+ }
219281
+ exports2.getPatchedDependency = getPatchedDependency;
219282
+ async function getVersionsFromLockfile(dep, opts) {
219283
+ const modulesDir = await (0, realpath_missing_1.default)(path_1.default.join(opts.lockfileDir, opts.modulesDir ?? "node_modules"));
219284
+ const modules = await (0, modules_yaml_1.readModulesManifest)(modulesDir);
219285
+ const lockfile = (modules?.virtualStoreDir && await (0, lockfile_file_1.readCurrentLockfile)(modules.virtualStoreDir, {
219286
+ ignoreIncompatible: true
219287
+ })) ?? null;
219288
+ if (!lockfile) {
219289
+ throw new error_1.PnpmError("PATCH_NO_LOCKFILE", `No ${constants_1.WANTED_LOCKFILE} found: Cannot patch without a lockfile`);
219290
+ }
219291
+ const pkgName = dep.alias && dep.pref ? dep.alias : dep.pref ?? dep.alias;
219292
+ const versions = Object.entries(lockfile.packages ?? {}).map(([depPath, pkgSnapshot]) => (0, lockfile_utils_1.nameVerFromPkgSnapshot)(depPath, pkgSnapshot)).filter(({ name }) => name === pkgName).map(({ version: version2 }) => version2);
219293
+ return {
219294
+ versions,
219295
+ preferredVersions: versions.filter((version2) => dep.alias && dep.pref ? semver_12.default.satisfies(version2, dep.pref) : true)
219296
+ };
219297
+ }
219298
+ }
219299
+ });
219300
+
218933
219301
  // ../patching/plugin-commands-patching/lib/patch.js
218934
219302
  var require_patch2 = __commonJS({
218935
219303
  "../patching/plugin-commands-patching/lib/patch.js"(exports2) {
@@ -218949,6 +219317,7 @@ var require_patch2 = __commonJS({
218949
219317
  var tempy_1 = __importDefault3(require_tempy());
218950
219318
  var error_1 = require_lib8();
218951
219319
  var writePackage_1 = require_writePackage();
219320
+ var getPatchedDependency_1 = require_getPatchedDependency();
218952
219321
  function rcOptionsTypes() {
218953
219322
  return (0, pick_1.default)([], config_1.types);
218954
219323
  }
@@ -218986,14 +219355,23 @@ var require_patch2 = __commonJS({
218986
219355
  if (opts.editDir && fs_1.default.existsSync(opts.editDir) && fs_1.default.readdirSync(opts.editDir).length > 0) {
218987
219356
  throw new error_1.PnpmError("PATCH_EDIT_DIR_EXISTS", `The target directory already exists: '${opts.editDir}'`);
218988
219357
  }
219358
+ if (!params[0]) {
219359
+ throw new error_1.PnpmError("MISSING_PACKAGE_NAME", "`pnpm patch` requires the package name");
219360
+ }
218989
219361
  const editDir = opts.editDir ?? tempy_1.default.directory();
218990
- const patchedDep = await (0, writePackage_1.writePackage)(params[0], editDir, opts);
219362
+ const lockfileDir = opts.lockfileDir ?? opts.dir ?? process.cwd();
219363
+ const patchedDep = await (0, getPatchedDependency_1.getPatchedDependency)(params[0], {
219364
+ lockfileDir,
219365
+ modulesDir: opts.modulesDir,
219366
+ virtualStoreDir: opts.virtualStoreDir
219367
+ });
219368
+ await (0, writePackage_1.writePackage)(patchedDep, editDir, opts);
218991
219369
  if (!opts.ignoreExisting && opts.rootProjectManifest?.pnpm?.patchedDependencies) {
218992
219370
  tryPatchWithExistingPatchFile({
218993
219371
  patchedDep,
218994
219372
  patchedDir: editDir,
218995
219373
  patchedDependencies: opts.rootProjectManifest.pnpm.patchedDependencies,
218996
- lockfileDir: opts.lockfileDir ?? opts.dir ?? process.cwd()
219374
+ lockfileDir
218997
219375
  });
218998
219376
  }
218999
219377
  return `You can now edit the following folder: ${editDir}
@@ -219040,6 +219418,7 @@ var require_patchCommit = __commonJS({
219040
219418
  var render_help_1 = __importDefault3(require_lib34());
219041
219419
  var tempy_1 = __importDefault3(require_tempy());
219042
219420
  var writePackage_1 = require_writePackage();
219421
+ var parse_wanted_dependency_1 = require_lib136();
219043
219422
  exports2.rcOptionsTypes = cliOptionsTypes;
219044
219423
  function cliOptionsTypes() {
219045
219424
  return (0, pick_1.default)([], config_1.types);
@@ -219063,7 +219442,7 @@ var require_patchCommit = __commonJS({
219063
219442
  const patchedPkgManifest = await (0, read_package_json_1.readPackageJsonFromDir)(userDir);
219064
219443
  const pkgNameAndVersion = `${patchedPkgManifest.name}@${patchedPkgManifest.version}`;
219065
219444
  const srcDir = tempy_1.default.directory();
219066
- await (0, writePackage_1.writePackage)(pkgNameAndVersion, srcDir, opts);
219445
+ await (0, writePackage_1.writePackage)((0, parse_wanted_dependency_1.parseWantedDependency)(pkgNameAndVersion), srcDir, opts);
219067
219446
  const patchContent = await diffFolders(srcDir, userDir);
219068
219447
  const patchFileName = pkgNameAndVersion.replace("/", "__");
219069
219448
  await fs_1.default.promises.writeFile(path_1.default.join(patchesDir, `${patchFileName}.patch`), patchContent, "utf8");
@@ -224657,7 +225036,7 @@ var require_lib160 = __commonJS({
224657
225036
  });
224658
225037
 
224659
225038
  // lib/cmd/bin.js
224660
- var require_bin = __commonJS({
225039
+ var require_bin2 = __commonJS({
224661
225040
  "lib/cmd/bin.js"(exports2) {
224662
225041
  "use strict";
224663
225042
  var __importDefault3 = exports2 && exports2.__importDefault || function(mod) {
@@ -226588,7 +226967,7 @@ var require_cmd = __commonJS({
226588
226967
  var plugin_commands_store_1 = require_lib159();
226589
226968
  var plugin_commands_init_1 = require_lib160();
226590
226969
  var pick_1 = __importDefault3(require_pick());
226591
- var bin = __importStar4(require_bin());
226970
+ var bin = __importStar4(require_bin2());
226592
226971
  var completion_1 = require_completion();
226593
226972
  var help_1 = require_help2();
226594
226973
  var installTest = __importStar4(require_installTest());
@@ -226954,7 +227333,7 @@ var require_main2 = __commonJS({
226954
227333
  } catch (err) {
226955
227334
  }
226956
227335
  }
226957
- if ((cmd === "install" || cmd === "import" || cmd === "dedupe" || cmd === "patch-commit") && typeof workspaceDir === "string") {
227336
+ if ((cmd === "install" || cmd === "import" || cmd === "dedupe" || cmd === "patch-commit" || cmd === "patch") && typeof workspaceDir === "string") {
226958
227337
  cliOptions["recursive"] = true;
226959
227338
  config.recursive = true;
226960
227339
  if (!config.recursiveInstall && !config.filter && !config.filterProd) {
@@ -227082,11 +227461,19 @@ var require_main2 = __commonJS({
227082
227461
  var require_errorHandler = __commonJS({
227083
227462
  "lib/errorHandler.js"(exports2) {
227084
227463
  "use strict";
227464
+ var __importDefault3 = exports2 && exports2.__importDefault || function(mod) {
227465
+ return mod && mod.__esModule ? mod : { "default": mod };
227466
+ };
227085
227467
  Object.defineProperty(exports2, "__esModule", { value: true });
227086
227468
  exports2.errorHandler = void 0;
227469
+ var util_1 = require("util");
227087
227470
  var logger_1 = require_lib6();
227471
+ var pidtree_1 = __importDefault3(require_pidtree2());
227088
227472
  var main_1 = require_main2();
227089
- function errorHandler(error) {
227473
+ var getDescendentProcesses = (0, util_1.promisify)((pid, callback) => {
227474
+ (0, pidtree_1.default)(pid, { root: false }, callback);
227475
+ });
227476
+ async function errorHandler(error) {
227090
227477
  if (error.name != null && error.name !== "pnpm" && !error.name.startsWith("pnpm:")) {
227091
227478
  try {
227092
227479
  error.name = "pnpm";
@@ -227108,9 +227495,24 @@ var require_errorHandler = __commonJS({
227108
227495
  return;
227109
227496
  }
227110
227497
  logger_1.logger.error(error, error);
227111
- setTimeout(() => process.exit(1), 0);
227498
+ setTimeout(async () => {
227499
+ await killProcesses();
227500
+ }, 0);
227112
227501
  }
227113
227502
  exports2.errorHandler = errorHandler;
227503
+ async function killProcesses() {
227504
+ try {
227505
+ const descendentProcesses = await getDescendentProcesses(process.pid);
227506
+ for (const pid of descendentProcesses) {
227507
+ try {
227508
+ process.kill(pid);
227509
+ } catch (err) {
227510
+ }
227511
+ }
227512
+ } catch (err) {
227513
+ }
227514
+ process.exit(1);
227515
+ }
227114
227516
  }
227115
227517
  });
227116
227518
 
@@ -227241,7 +227643,7 @@ async function runPnpm() {
227241
227643
  const { main } = await Promise.resolve().then(() => __importStar3(require_main2()));
227242
227644
  await main(argv);
227243
227645
  } catch (err) {
227244
- errorHandler(err);
227646
+ await errorHandler(err);
227245
227647
  }
227246
227648
  }
227247
227649
  async function passThruToNpm() {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "pnpm",
3
3
  "description": "Fast, disk space efficient package manager",
4
- "version": "7.29.1",
4
+ "version": "7.29.3",
5
5
  "bin": {
6
6
  "pnpm": "bin/pnpm.cjs",
7
7
  "pnpx": "bin/pnpx.cjs"
@@ -94,6 +94,7 @@
94
94
  "p-defer": "^3.0.0",
95
95
  "path-exists": "^4.0.0",
96
96
  "path-name": "^1.0.0",
97
+ "pidtree": "^0.6.0",
97
98
  "ps-list": "^7.2.0",
98
99
  "ramda": "npm:@pnpm/ramda@0.28.1",
99
100
  "read-yaml-file": "^2.1.0",