pnpm 9.15.1 → 9.15.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.
package/README.md CHANGED
@@ -121,6 +121,22 @@ To quote the [Rush](https://rushjs.io/) team:
121
121
  <img src="https://pnpm.io/img/users/route4me.svg" width="220" alt="Route4Me" />
122
122
  </a>
123
123
  </td>
124
+ <td align="center" valign="middle">
125
+ <a href="https://workleap.com/?utm_source=pnpm&utm_medium=readme" target="_blank">
126
+ <picture>
127
+ <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" />
128
+ <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" />
129
+ <img src="https://pnpm.io/img/users/workleap.svg" width="190" alt="Workleap" />
130
+ </picture>
131
+ </a>
132
+ </td>
133
+ </tr>
134
+ <tr>
135
+ <td align="center" valign="middle">
136
+ <a href="https://canva.com/?utm_source=pnpm&utm_medium=readme" target="_blank">
137
+ <img src="https://pnpm.io/img/users/canva.svg" width="120" alt="Canva" />
138
+ </a>
139
+ </td>
124
140
  </tr>
125
141
  </tbody>
126
142
  </table>
@@ -16,9 +16,9 @@ hoistedLocations:
16
16
  aggregate-error@3.1.0:
17
17
  - node_modules/aggregate-error
18
18
  ansi-regex@5.0.1:
19
- - node_modules/wrap-ansi-cjs/node_modules/ansi-regex
20
19
  - node_modules/string-width-cjs/node_modules/ansi-regex
21
20
  - node_modules/strip-ansi-cjs/node_modules/ansi-regex
21
+ - node_modules/wrap-ansi-cjs/node_modules/ansi-regex
22
22
  ansi-regex@6.0.1:
23
23
  - node_modules/ansi-regex
24
24
  ansi-styles@4.3.0:
@@ -46,8 +46,8 @@ hoistedLocations:
46
46
  eastasianwidth@0.2.0:
47
47
  - node_modules/eastasianwidth
48
48
  emoji-regex@8.0.0:
49
- - node_modules/wrap-ansi-cjs/node_modules/emoji-regex
50
49
  - node_modules/string-width-cjs/node_modules/emoji-regex
50
+ - node_modules/wrap-ansi-cjs/node_modules/emoji-regex
51
51
  emoji-regex@9.2.2:
52
52
  - node_modules/emoji-regex
53
53
  encoding@0.1.13:
@@ -172,8 +172,8 @@ hoistedLocations:
172
172
  string-width@5.1.2:
173
173
  - node_modules/string-width
174
174
  strip-ansi@6.0.1:
175
- - node_modules/wrap-ansi-cjs/node_modules/strip-ansi
176
175
  - node_modules/string-width-cjs/node_modules/strip-ansi
176
+ - node_modules/wrap-ansi-cjs/node_modules/strip-ansi
177
177
  - node_modules/strip-ansi-cjs
178
178
  strip-ansi@7.1.0:
179
179
  - node_modules/strip-ansi
@@ -202,9 +202,9 @@ included:
202
202
  injectedDeps: {}
203
203
  layoutVersion: 5
204
204
  nodeLinker: hoisted
205
- packageManager: pnpm@10.0.0-beta.3
205
+ packageManager: pnpm@10.0.0-rc.1
206
206
  pendingBuilds: []
207
- prunedAt: Fri, 20 Dec 2024 00:33:30 GMT
207
+ prunedAt: Sun, 05 Jan 2025 22:26:08 GMT
208
208
  publicHoistPattern: []
209
209
  registries:
210
210
  default: https://registry.npmjs.org/
@@ -1,5 +1,5 @@
1
1
  {
2
- "lastValidatedTimestamp": 1734654810209,
2
+ "lastValidatedTimestamp": 1736115968531,
3
3
  "projects": {},
4
4
  "pnpmfileExists": false,
5
5
  "settings": {
package/dist/pnpm.cjs CHANGED
@@ -6007,7 +6007,7 @@ var require_lib4 = __commonJS({
6007
6007
  var load_json_file_1 = __importDefault2(require_load_json_file());
6008
6008
  var defaultManifest = {
6009
6009
  name: true ? "pnpm" : "pnpm",
6010
- version: true ? "9.15.1" : "0.0.0"
6010
+ version: true ? "9.15.3" : "0.0.0"
6011
6011
  };
6012
6012
  var pkgJson;
6013
6013
  if (require.main == null) {
@@ -8324,6 +8324,17 @@ var require_installCheckLogger = __commonJS({
8324
8324
  }
8325
8325
  });
8326
8326
 
8327
+ // ../packages/core-loggers/lib/ignoredScriptsLogger.js
8328
+ var require_ignoredScriptsLogger = __commonJS({
8329
+ "../packages/core-loggers/lib/ignoredScriptsLogger.js"(exports2) {
8330
+ "use strict";
8331
+ Object.defineProperty(exports2, "__esModule", { value: true });
8332
+ exports2.ignoredScriptsLogger = void 0;
8333
+ var logger_1 = require_lib();
8334
+ exports2.ignoredScriptsLogger = (0, logger_1.logger)("ignored-scripts");
8335
+ }
8336
+ });
8337
+
8327
8338
  // ../packages/core-loggers/lib/lifecycleLogger.js
8328
8339
  var require_lifecycleLogger = __commonJS({
8329
8340
  "../packages/core-loggers/lib/lifecycleLogger.js"(exports2) {
@@ -8538,6 +8549,7 @@ var require_all = __commonJS({
8538
8549
  __exportStar2(require_fetchingProgressLogger(), exports2);
8539
8550
  __exportStar2(require_hookLogger(), exports2);
8540
8551
  __exportStar2(require_installCheckLogger(), exports2);
8552
+ __exportStar2(require_ignoredScriptsLogger(), exports2);
8541
8553
  __exportStar2(require_lifecycleLogger(), exports2);
8542
8554
  __exportStar2(require_linkLogger(), exports2);
8543
8555
  __exportStar2(require_packageImportMethodLogger(), exports2);
@@ -40833,7 +40845,7 @@ var require_reportSummary = __commonJS({
40833
40845
  const pkgsDiff$ = (0, pkgsDiff_1.getPkgsDiff)(log$, { prefix: opts.cwd });
40834
40846
  const summaryLog$ = log$.summary.pipe((0, operators_1.take)(1));
40835
40847
  const _printDiffs = printDiffs.bind(null, { cmd: opts.cmd, prefix: opts.cwd, pnpmConfig: opts.pnpmConfig });
40836
- return Rx.combineLatest(pkgsDiff$, summaryLog$).pipe((0, operators_1.take)(1), (0, operators_1.map)(([pkgsDiff]) => {
40848
+ return Rx.combineLatest(pkgsDiff$, log$.ignoredScripts.pipe(Rx.startWith({ packageNames: void 0 })), summaryLog$).pipe((0, operators_1.take)(1), (0, operators_1.map)(([pkgsDiff, ignoredScripts]) => {
40837
40849
  let msg = "";
40838
40850
  for (const depType of ["prod", "optional", "peer", "dev", "nodeModulesOnly"]) {
40839
40851
  let diffs = Object.values(pkgsDiff[depType]);
@@ -40859,6 +40871,13 @@ var require_reportSummary = __commonJS({
40859
40871
  msg += constants_1.EOL;
40860
40872
  }
40861
40873
  }
40874
+ if (ignoredScripts.packageNames && ignoredScripts.packageNames.length > 0) {
40875
+ msg += constants_1.EOL;
40876
+ msg += `The following dependencies have build scripts that were ignored: ${Array.from(ignoredScripts.packageNames).sort().join(", ")}`;
40877
+ msg += constants_1.EOL;
40878
+ msg += 'To allow the execution of build scripts for these packages, add their names to "pnpm.onlyBuiltDependencies" in your "package.json", then run "pnpm rebuild"';
40879
+ msg += constants_1.EOL;
40880
+ }
40862
40881
  return Rx.of({ msg });
40863
40882
  }));
40864
40883
  }
@@ -41762,6 +41781,7 @@ var require_lib31 = __commonJS({
41762
41781
  const statsPushStream = new Rx.Subject();
41763
41782
  const packageImportMethodPushStream = new Rx.Subject();
41764
41783
  const installCheckPushStream = new Rx.Subject();
41784
+ const ignoredScriptsPushStream = new Rx.Subject();
41765
41785
  const registryPushStream = new Rx.Subject();
41766
41786
  const rootPushStream = new Rx.Subject();
41767
41787
  const packageManifestPushStream = new Rx.Subject();
@@ -41812,6 +41832,9 @@ var require_lib31 = __commonJS({
41812
41832
  case "pnpm:install-check":
41813
41833
  installCheckPushStream.next(log2);
41814
41834
  break;
41835
+ case "pnpm:ignored-scripts":
41836
+ ignoredScriptsPushStream.next(log2);
41837
+ break;
41815
41838
  case "pnpm:registry":
41816
41839
  registryPushStream.next(log2);
41817
41840
  break;
@@ -41861,6 +41884,7 @@ var require_lib31 = __commonJS({
41861
41884
  executionTime: Rx.from(executionTimePushStream),
41862
41885
  hook: Rx.from(hookPushStream),
41863
41886
  installCheck: Rx.from(installCheckPushStream),
41887
+ ignoredScripts: Rx.from(ignoredScriptsPushStream),
41864
41888
  lifecycle: Rx.from(lifecyclePushStream),
41865
41889
  link: Rx.from(linkPushStream),
41866
41890
  other,
@@ -113661,7 +113685,7 @@ var require_parsePref2 = __commonJS({
113661
113685
  if (!fetchSpec) {
113662
113686
  const httpsUrl = hosted.https({ noGitPlus: true, noCommittish: true });
113663
113687
  if (httpsUrl) {
113664
- if (hosted.auth && await accessRepository(httpsUrl)) {
113688
+ if ((hosted.auth || !await isRepoPublic(httpsUrl)) && await accessRepository(httpsUrl)) {
113665
113689
  return {
113666
113690
  fetchSpec: httpsUrl,
113667
113691
  hosted: {
@@ -138633,12 +138657,7 @@ var require_lib135 = __commonJS({
138633
138657
  });
138634
138658
  });
138635
138659
  await (0, run_groups_1.default)(opts.childConcurrency ?? 4, groups);
138636
- if (ignoredPkgs.size > 0) {
138637
- logger_1.logger.info({
138638
- message: `The following dependencies have build scripts that were ignored: ${Array.from(ignoredPkgs).sort().join(", ")}`,
138639
- prefix: opts.lockfileDir
138640
- });
138641
- }
138660
+ core_loggers_1.ignoredScriptsLogger.debug({ packageNames: Array.from(ignoredPkgs) });
138642
138661
  }
138643
138662
  async function buildDependency(depPath, depGraph, opts) {
138644
138663
  const depNode = depGraph[depPath];
@@ -148283,9 +148302,9 @@ var require_resolveDependencyTree = __commonJS({
148283
148302
  },
148284
148303
  updateDepth: -1,
148285
148304
  updateMatching: importer.updateMatching,
148305
+ updateToLatest: importer.updateToLatest,
148286
148306
  prefix: importer.rootDir,
148287
- supportedArchitectures: opts.supportedArchitectures,
148288
- updateToLatest: opts.updateToLatest
148307
+ supportedArchitectures: opts.supportedArchitectures
148289
148308
  };
148290
148309
  return {
148291
148310
  updatePackageManifest: importer.updatePackageManifest,
@@ -182331,7 +182350,6 @@ var require_lib156 = __commonJS({
182331
182350
  preferredVersions: opts.preferredVersions,
182332
182351
  virtualStoreDir: opts.virtualStoreDir,
182333
182352
  workspacePackages: opts.workspacePackages,
182334
- updateToLatest: opts.updateToLatest,
182335
182353
  noDependencySelectors: importers.every(({ wantedDependencies }) => wantedDependencies.length === 0)
182336
182354
  });
182337
182355
  const projectsToResolve = await Promise.all(importers.map(async (project) => _toResolveImporter(project)));
@@ -184587,6 +184605,7 @@ var require_install = __commonJS({
184587
184605
  rootDir,
184588
184606
  update: opts.update,
184589
184607
  updateMatching: opts.updateMatching,
184608
+ updateToLatest: opts.updateToLatest,
184590
184609
  updatePackageManifest: opts.updatePackageManifest
184591
184610
  }
184592
184611
  ], {
@@ -184604,6 +184623,7 @@ var require_install = __commonJS({
184604
184623
  {
184605
184624
  ...project,
184606
184625
  update: maybeOpts.update,
184626
+ updateToLatest: maybeOpts.updateToLatest,
184607
184627
  updateMatching: maybeOpts.updateMatching,
184608
184628
  updatePackageManifest: maybeOpts.updatePackageManifest
184609
184629
  }
@@ -185068,7 +185088,8 @@ Note that in CI environments, this setting is enabled by default.`
185068
185088
  targetDependenciesField: opts.targetDependenciesField,
185069
185089
  update: opts.update,
185070
185090
  updateMatching: opts.updateMatching,
185071
- updatePackageManifest: opts.updatePackageManifest
185091
+ updatePackageManifest: opts.updatePackageManifest,
185092
+ updateToLatest: opts.updateToLatest
185072
185093
  }
185073
185094
  ], {
185074
185095
  ...opts,
@@ -185163,7 +185184,6 @@ Note that in CI environments, this setting is enabled by default.`
185163
185184
  saveWorkspaceProtocol: opts.saveWorkspaceProtocol,
185164
185185
  storeController: opts.storeController,
185165
185186
  tag: opts.tag,
185166
- updateToLatest: opts.updateToLatest,
185167
185187
  virtualStoreDir: ctx.virtualStoreDir,
185168
185188
  virtualStoreDirMaxLength: ctx.virtualStoreDirMaxLength,
185169
185189
  wantedLockfile: ctx.wantedLockfile,
@@ -186146,7 +186166,8 @@ var require_recursive2 = __commonJS({
186146
186166
  targetDependenciesField,
186147
186167
  update: opts.update,
186148
186168
  updateMatching: opts.updateMatching,
186149
- updatePackageManifest: opts.updatePackageManifest
186169
+ updatePackageManifest: opts.updatePackageManifest,
186170
+ updateToLatest: opts.latest
186150
186171
  });
186151
186172
  return;
186152
186173
  case "install":
@@ -186157,7 +186178,8 @@ var require_recursive2 = __commonJS({
186157
186178
  rootDir,
186158
186179
  update: opts.update,
186159
186180
  updateMatching: opts.updateMatching,
186160
- updatePackageManifest: opts.updatePackageManifest
186181
+ updatePackageManifest: opts.updatePackageManifest,
186182
+ updateToLatest: opts.latest
186161
186183
  });
186162
186184
  }
186163
186185
  }));
@@ -210325,8 +210347,8 @@ var require_lib174 = __commonJS({
210325
210347
  const publishDependencies = await (0, p_map_values_1.default)(async (depSpec, depName) => convertDependencyForPublish(depName, depSpec, dir, modulesDir), dependencies);
210326
210348
  return publishDependencies;
210327
210349
  }
210328
- async function resolveManifest(depName, modulesDir) {
210329
- const { manifest } = await (0, read_project_manifest_1.tryReadProjectManifest)(path_1.default.join(modulesDir, depName));
210350
+ async function readAndCheckManifest(depName, dependencyDir) {
210351
+ const { manifest } = await (0, read_project_manifest_1.tryReadProjectManifest)(dependencyDir);
210330
210352
  if (!manifest?.name || !manifest?.version) {
210331
210353
  throw new error_1.PnpmError("CANNOT_RESOLVE_WORKSPACE_PROTOCOL", `Cannot resolve workspace protocol of dependency "${depName}" because this dependency is not installed. Try running "pnpm install".`);
210332
210354
  }
@@ -210350,7 +210372,7 @@ var require_lib174 = __commonJS({
210350
210372
  const versionAliasSpecParts = /^workspace:(.*?)@?([\^~*])$/.exec(depSpec);
210351
210373
  if (versionAliasSpecParts != null) {
210352
210374
  modulesDir = modulesDir ?? path_1.default.join(dir, "node_modules");
210353
- const manifest = await resolveManifest(depName, modulesDir);
210375
+ const manifest = await readAndCheckManifest(depName, path_1.default.join(modulesDir, depName));
210354
210376
  const semverRangeToken = versionAliasSpecParts[2] !== "*" ? versionAliasSpecParts[2] : "";
210355
210377
  if (depName !== manifest.name) {
210356
210378
  return `npm:${manifest.name}@${semverRangeToken}${manifest.version}`;
@@ -210358,7 +210380,7 @@ var require_lib174 = __commonJS({
210358
210380
  return `${semverRangeToken}${manifest.version}`;
210359
210381
  }
210360
210382
  if (depSpec.startsWith("workspace:./") || depSpec.startsWith("workspace:../")) {
210361
- const manifest = await resolveManifest(depName, path_1.default.join(dir, depSpec.slice(10)));
210383
+ const manifest = await readAndCheckManifest(depName, path_1.default.join(dir, depSpec.slice(10)));
210362
210384
  if (manifest.name === depName)
210363
210385
  return `${manifest.version}`;
210364
210386
  return `npm:${manifest.name}@${manifest.version}`;
@@ -210381,7 +210403,7 @@ var require_lib174 = __commonJS({
210381
210403
  return depSpec.replace("workspace:", "");
210382
210404
  }
210383
210405
  modulesDir = modulesDir ?? path_1.default.join(dir, "node_modules");
210384
- const manifest = await resolveManifest(depName, modulesDir);
210406
+ const manifest = await readAndCheckManifest(depName, path_1.default.join(modulesDir, depName));
210385
210407
  const semverRangeToken = semverRangGroup !== "*" ? semverRangGroup : "";
210386
210408
  return depSpec.replace(workspaceSemverRegex, `${semverRangeToken}${manifest.version}`);
210387
210409
  }
@@ -212132,7 +212154,7 @@ ${tarballPath}`;
212132
212154
  await Promise.all(Object.entries(filesMap).map(async ([name, source]) => {
212133
212155
  const isExecutable = bins.some((bin) => path_1.default.relative(bin, source) === "");
212134
212156
  const mode = isExecutable ? 493 : 420;
212135
- if (/^package\/package\.(json|json5|yaml)/.test(name)) {
212157
+ if (/^package\/package\.(json|json5|yaml)$/.test(name)) {
212136
212158
  pack.entry({ mode, mtime, name: "package/package.json" }, JSON.stringify(manifest, null, 2));
212137
212159
  return;
212138
212160
  }
@@ -212665,6 +212687,7 @@ var require_patch3 = __commonJS({
212665
212687
  var getPatchedDependency_1 = require_getPatchedDependency();
212666
212688
  var stateFile_1 = require_stateFile();
212667
212689
  var read_project_manifest_1 = require_lib17();
212690
+ var is_windows_1 = __importDefault2(require_is_windows());
212668
212691
  function rcOptionsTypes() {
212669
212692
  return (0, pick_1.default)([], config_1.types);
212670
212693
  }
@@ -212740,21 +212763,27 @@ var require_patch3 = __commonJS({
212740
212763
  });
212741
212764
  }
212742
212765
  }
212766
+ const quote = (0, is_windows_1.default)() ? '"' : "'";
212743
212767
  return `Patch: You can now edit the package at:
212744
212768
 
212745
212769
  ${(0, terminal_link_1.default)(chalk_1.default.blue(editDir), "file://" + editDir)}
212746
212770
 
212747
212771
  To commit your changes, run:
212748
212772
 
212749
- ${chalk_1.default.green(`pnpm patch-commit '${editDir}'`)}
212773
+ ${chalk_1.default.green(`pnpm patch-commit ${quote}${editDir}${quote}`)}
212750
212774
 
212751
212775
  `;
212752
212776
  }
212753
- function tryPatchWithExistingPatchFile({ allowFailure, patchedDep, patchedDir, patchedDependencies, lockfileDir }) {
212754
- if (!patchedDep.alias || !patchedDep.pref) {
212777
+ function tryPatchWithExistingPatchFile({ allowFailure, patchedDep: { applyToAll, alias, pref }, patchedDir, patchedDependencies, lockfileDir }) {
212778
+ if (!alias)
212755
212779
  return;
212780
+ let existingPatchFile;
212781
+ if (pref) {
212782
+ existingPatchFile = patchedDependencies[`${alias}@${pref}`];
212783
+ }
212784
+ if (!existingPatchFile && applyToAll) {
212785
+ existingPatchFile = patchedDependencies[alias];
212756
212786
  }
212757
- const existingPatchFile = patchedDependencies[`${patchedDep.alias}@${patchedDep.pref}`];
212758
212787
  if (!existingPatchFile) {
212759
212788
  return;
212760
212789
  }
@@ -212922,7 +212951,7 @@ var require_patchCommit = __commonJS({
212922
212951
  throw new Error(`Unable to diff directories. Make sure you have a recent version of 'git' available in PATH.
212923
212952
  The following error was reported by 'git':
212924
212953
  ${stderr}`);
212925
- return stdout.replace(new RegExp(`(a|b)(${(0, escape_string_regexp_1.default)(`/${removeTrailingAndLeadingSlash(folderAN)}/`)})`, "g"), "$1/").replace(new RegExp(`(a|b)${(0, escape_string_regexp_1.default)(`/${removeTrailingAndLeadingSlash(folderBN)}/`)}`, "g"), "$1/").replace(new RegExp((0, escape_string_regexp_1.default)(`${folderAN}/`), "g"), "").replace(new RegExp((0, escape_string_regexp_1.default)(`${folderBN}/`), "g"), "").replace(/\n\\n$/, "\n");
212954
+ return stdout.replace(new RegExp(`(a|b)(${(0, escape_string_regexp_1.default)(`/${removeTrailingAndLeadingSlash(folderAN)}/`)})`, "g"), "$1/").replace(new RegExp(`(a|b)${(0, escape_string_regexp_1.default)(`/${removeTrailingAndLeadingSlash(folderBN)}/`)}`, "g"), "$1/").replace(new RegExp((0, escape_string_regexp_1.default)(`${folderAN}/`), "g"), "").replace(new RegExp((0, escape_string_regexp_1.default)(`${folderBN}/`), "g"), "").replace(/\n\\n$/, "\n").replace(/^diff --git a\/.*\.DS_Store b\/.*\.DS_Store[\s\S]*?(?=^diff --git)/gm, "").replace(/^diff --git a\/.*\.DS_Store b\/.*\.DS_Store[\s\S]*$/gm, "");
212926
212955
  }
212927
212956
  function removeTrailingAndLeadingSlash(p) {
212928
212957
  if (p[0] === "/" || p.endsWith("/")) {
package/dist/worker.js CHANGED
@@ -7607,6 +7607,17 @@ var require_installCheckLogger = __commonJS({
7607
7607
  }
7608
7608
  });
7609
7609
 
7610
+ // ../packages/core-loggers/lib/ignoredScriptsLogger.js
7611
+ var require_ignoredScriptsLogger = __commonJS({
7612
+ "../packages/core-loggers/lib/ignoredScriptsLogger.js"(exports2) {
7613
+ "use strict";
7614
+ Object.defineProperty(exports2, "__esModule", { value: true });
7615
+ exports2.ignoredScriptsLogger = void 0;
7616
+ var logger_1 = require_lib4();
7617
+ exports2.ignoredScriptsLogger = (0, logger_1.logger)("ignored-scripts");
7618
+ }
7619
+ });
7620
+
7610
7621
  // ../packages/core-loggers/lib/lifecycleLogger.js
7611
7622
  var require_lifecycleLogger = __commonJS({
7612
7623
  "../packages/core-loggers/lib/lifecycleLogger.js"(exports2) {
@@ -7821,6 +7832,7 @@ var require_all = __commonJS({
7821
7832
  __exportStar(require_fetchingProgressLogger(), exports2);
7822
7833
  __exportStar(require_hookLogger(), exports2);
7823
7834
  __exportStar(require_installCheckLogger(), exports2);
7835
+ __exportStar(require_ignoredScriptsLogger(), exports2);
7824
7836
  __exportStar(require_lifecycleLogger(), exports2);
7825
7837
  __exportStar(require_linkLogger(), exports2);
7826
7838
  __exportStar(require_packageImportMethodLogger(), exports2);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "pnpm",
3
3
  "description": "Fast, disk space efficient package manager",
4
- "version": "9.15.1",
4
+ "version": "9.15.3",
5
5
  "bin": {
6
6
  "pnpm": "bin/pnpm.cjs",
7
7
  "pnpx": "bin/pnpx.cjs"