@storm-software/pnpm-tools 0.7.139 → 0.7.141

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/CHANGELOG.md CHANGED
@@ -2,6 +2,23 @@
2
2
 
3
3
  # Changelog for Storm Ops - Pnpm Tools
4
4
 
5
+ ## [0.7.141](https://github.com/storm-software/storm-ops/releases/tag/pnpm-tools%400.7.141) (08/08/2026)
6
+
7
+ ### Bug Fixes
8
+
9
+ - **workspace-tools:** Resolve issue with `prettier-plugin-packagejson` imports ([b2f5d7b87](https://github.com/storm-software/storm-ops/commit/b2f5d7b87))
10
+
11
+ ### Updated Dependencies
12
+
13
+ - Updated **config-tools** to **v1.190.129**
14
+ - Updated **npm-tools** to **v0.6.247**
15
+
16
+ ## [0.7.140](https://github.com/storm-software/storm-ops/releases/tag/pnpm-tools%400.7.140) (08/08/2026)
17
+
18
+ ### Bug Fixes
19
+
20
+ - **workspace-tools:** Resolve issue with `prettier-plugin-packagejson` imports ([b2f5d7b87](https://github.com/storm-software/storm-ops/commit/b2f5d7b87))
21
+
5
22
  ## [0.7.139](https://github.com/storm-software/storm-ops/releases/tag/pnpm-tools%400.7.139) (08/08/2026)
6
23
 
7
24
  ### Updated Dependencies
package/bin/pnpm.cjs CHANGED
@@ -2205,7 +2205,7 @@ var import_commander = require("commander");
2205
2205
  // package.json
2206
2206
  var package_default = {
2207
2207
  name: "@storm-software/pnpm-tools",
2208
- version: "0.7.139",
2208
+ version: "0.7.141",
2209
2209
  private: false,
2210
2210
  description: "A set of [pnpm](https://pnpm.io/) plugins and utilities for managing workspace packages/dependencies.",
2211
2211
  repository: {
@@ -2344,6 +2344,20 @@ async function getRegistry(executable = "npm") {
2344
2344
  }
2345
2345
 
2346
2346
  // ../npm-tools/src/helpers/get-version.ts
2347
+ var BENIGN_PACKAGE_MANAGER_STDERR_LINE = /^(npm warn|\[[\d.]+ms\]|\[sys\]|\[warn\] request took)/i;
2348
+ function filterBenignPackageManagerStderr(stderr) {
2349
+ return stderr.split(/\r?\n/).map((line) => line.trim()).filter((line) => line.length > 0).filter((line) => !BENIGN_PACKAGE_MANAGER_STDERR_LINE.test(line)).join("\n").trim();
2350
+ }
2351
+ function extractPackageVersion(stdout) {
2352
+ const lines = (0, import_strip_ansi.default)(stdout).split(/\r?\n/).map((line) => line.trim()).filter(Boolean);
2353
+ for (let index = lines.length - 1; index >= 0; index -= 1) {
2354
+ const line = lines[index];
2355
+ if (line && (0, import_semver.valid)(line, true)) {
2356
+ return line;
2357
+ }
2358
+ }
2359
+ return (0, import_strip_ansi.default)(stdout).trim();
2360
+ }
2347
2361
  async function getVersion(packageName, tag = DEFAULT_NPM_TAG, options = {}) {
2348
2362
  const executable = options.executable || "npm";
2349
2363
  const retries = options.retries ?? 3;
@@ -2366,13 +2380,16 @@ async function getVersion(packageName, tag = DEFAULT_NPM_TAG, options = {}) {
2366
2380
  // 10 MB
2367
2381
  },
2368
2382
  (error, stdout, stderr) => {
2383
+ const filteredStderr = stderr ? filterBenignPackageManagerStderr(stderr) : "";
2369
2384
  if (error && !error.message.toLowerCase().trim().startsWith("npm warn")) {
2370
- return reject(error);
2385
+ return reject(
2386
+ filteredStderr ? new Error(filteredStderr, { cause: error }) : error
2387
+ );
2371
2388
  }
2372
- if (stderr && !stderr.toLowerCase().trim().startsWith("npm warn")) {
2373
- return reject(stderr);
2389
+ if (filteredStderr) {
2390
+ return reject(new Error(filteredStderr));
2374
2391
  }
2375
- return resolve(stdout.trim());
2392
+ return resolve(extractPackageVersion(stdout));
2376
2393
  }
2377
2394
  );
2378
2395
  })
package/bin/pnpm.js CHANGED
@@ -2183,7 +2183,7 @@ import { Command } from "commander";
2183
2183
  // package.json
2184
2184
  var package_default = {
2185
2185
  name: "@storm-software/pnpm-tools",
2186
- version: "0.7.139",
2186
+ version: "0.7.141",
2187
2187
  private: false,
2188
2188
  description: "A set of [pnpm](https://pnpm.io/) plugins and utilities for managing workspace packages/dependencies.",
2189
2189
  repository: {
@@ -2322,6 +2322,20 @@ async function getRegistry(executable = "npm") {
2322
2322
  }
2323
2323
 
2324
2324
  // ../npm-tools/src/helpers/get-version.ts
2325
+ var BENIGN_PACKAGE_MANAGER_STDERR_LINE = /^(npm warn|\[[\d.]+ms\]|\[sys\]|\[warn\] request took)/i;
2326
+ function filterBenignPackageManagerStderr(stderr) {
2327
+ return stderr.split(/\r?\n/).map((line) => line.trim()).filter((line) => line.length > 0).filter((line) => !BENIGN_PACKAGE_MANAGER_STDERR_LINE.test(line)).join("\n").trim();
2328
+ }
2329
+ function extractPackageVersion(stdout) {
2330
+ const lines = stripAnsi(stdout).split(/\r?\n/).map((line) => line.trim()).filter(Boolean);
2331
+ for (let index = lines.length - 1; index >= 0; index -= 1) {
2332
+ const line = lines[index];
2333
+ if (line && valid(line, true)) {
2334
+ return line;
2335
+ }
2336
+ }
2337
+ return stripAnsi(stdout).trim();
2338
+ }
2325
2339
  async function getVersion(packageName, tag = DEFAULT_NPM_TAG, options = {}) {
2326
2340
  const executable = options.executable || "npm";
2327
2341
  const retries = options.retries ?? 3;
@@ -2344,13 +2358,16 @@ async function getVersion(packageName, tag = DEFAULT_NPM_TAG, options = {}) {
2344
2358
  // 10 MB
2345
2359
  },
2346
2360
  (error, stdout, stderr) => {
2361
+ const filteredStderr = stderr ? filterBenignPackageManagerStderr(stderr) : "";
2347
2362
  if (error && !error.message.toLowerCase().trim().startsWith("npm warn")) {
2348
- return reject(error);
2363
+ return reject(
2364
+ filteredStderr ? new Error(filteredStderr, { cause: error }) : error
2365
+ );
2349
2366
  }
2350
- if (stderr && !stderr.toLowerCase().trim().startsWith("npm warn")) {
2351
- return reject(stderr);
2367
+ if (filteredStderr) {
2368
+ return reject(new Error(filteredStderr));
2352
2369
  }
2353
- return resolve(stdout.trim());
2370
+ return resolve(extractPackageVersion(stdout));
2354
2371
  }
2355
2372
  );
2356
2373
  })
@@ -0,0 +1 @@
1
+ import {b}from'./chunk-PWIV2VEA.js';import {d,e}from'./chunk-I3CX5PSA.js';import {readCachedProjectGraph,createProjectGraphAsync}from'@nx/devkit';import {existsSync}from'node:fs';import {readFile,writeFile}from'node:fs/promises';import {format}from'prettier';import N from'prettier-plugin-packagejson';async function F(c=process.cwd(),i=e(c)){let m=d(c,"package.json"),l=await readFile(m,"utf8");if(!l)throw new Error("No package.json file found in package root: "+c);let p=await b(i),a=JSON.parse(l),g=d(i,"pnpm-workspace.yaml");if(!existsSync(g))return console.warn(`No \`pnpm-workspace.yaml\` file found in workspace root (searching in: ${g}). Skipping pnpm catalog read for now.`),a;if(!p){console.warn("No pnpm catalog found. Skipping dependencies replacement for now.");return}for(let r of ["dependencies","devDependencies","peerDependencies"]){let o=a[r];if(o){for(let e of Object.keys(o))if(o[e]==="catalog:"){if(!p)throw new Error(`Dependency ${e} is marked as \`catalog:\`, but no catalog exists in the workspace root's \`pnpm-workspace.yaml\` file.`);let t=p[e];if(!t)throw new Error("Missing pnpm catalog version for "+e);o[e]=t;}else if(o[e].startsWith("catalog:"))throw new Error("multiple named catalogs not supported")}}let n;try{n=readCachedProjectGraph();}catch{await createProjectGraphAsync(),n=readCachedProjectGraph();}let d$1={};n&&await Promise.all(Object.keys(n.nodes).map(async r=>{let o=n.nodes[r];if(o?.data.root){let e=d(i,o.data.root,"package.json");if(existsSync(e)){let t=await readFile(e,"utf8"),f=JSON.parse(t);f.private!==true&&(d$1[f.name]=f.version);}}}));for(let r of ["dependencies","devDependencies","peerDependencies"]){let o=a[r];if(o){for(let e of Object.keys(o))if(o[e].startsWith("workspace:"))if(d$1[e])o[e]=`^${d$1[e]}`;else throw new Error(`Workspace dependency ${e} not found in workspace packages.`)}}return writeFile(m,await format(JSON.stringify(a),{parser:"json",proseWrap:"preserve",trailingComma:"none",tabWidth:2,semi:true,singleQuote:false,quoteProps:"as-needed",insertPragma:false,bracketSameLine:true,printWidth:80,bracketSpacing:true,arrowParens:"avoid",endOfLine:"lf",plugins:[N]}))}export{F as a};
@@ -0,0 +1,3 @@
1
+ 'use strict';var chunkWAL5SD4G_cjs=require('./chunk-WAL5SD4G.cjs'),chunkDCCUOXBC_cjs=require('./chunk-DCCUOXBC.cjs'),child_process=require('child_process'),semver=require('semver'),_=require('strip-ansi');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var ___default=/*#__PURE__*/_interopDefault(_);var b="latest";var d=b;async function M(r="npm"){return new Promise((t,e)=>{child_process.exec(`${r} config get registry`,(o,f,c)=>o&&!o.message.toLowerCase().trim().startsWith("npm warn")?e(o):c&&!c.toLowerCase().trim().startsWith("npm warn")?e(c):t(f.trim()));})}var F=/^(npm warn|\[[\d.]+ms\]|\[sys\]|\[warn\] request took)/i;function V(r){return r.split(/\r?\n/).map(t=>t.trim()).filter(t=>t.length>0).filter(t=>!F.test(t)).join(`
2
+ `).trim()}function Y(r){let t=___default.default(r).split(/\r?\n/).map(e=>e.trim()).filter(Boolean);for(let e=t.length-1;e>=0;e-=1){let o=t[e];if(o&&semver.valid(o,true))return o}return ___default.default(r).trim()}async function P(r,t=d,e={}){let o=e.executable||"npm",f=e.retries??3,c=e.timeout??1e4,l=e.registry||await M(o),a;for(let n=0;n<=f;n++)try{let i=new AbortController,s=setTimeout(()=>{i.abort();},c),u=await Promise.resolve(new Promise((O,A)=>{child_process.exec(`${o} view ${r} version --registry=${l}`,{signal:i.signal,maxBuffer:1024*1024*10},($,U,v)=>{let T=v?V(v):"";return $&&!$.message.toLowerCase().trim().startsWith("npm warn")?A(T?new Error(T,{cause:$}):$):T?A(new Error(T)):O(Y(U))});}));if(!semver.valid(u,!0))throw clearTimeout(s),new Error(___default.default(u).startsWith("[WARN] Request took")?`A timeout occurred while fetching the version for package "${r}" with tag "${t}".`:`Invalid version "${u}" fetched for package "${r}" with tag "${t}"`);return clearTimeout(s),u}catch(i){if(a=i,n<f){let s=Math.pow(2,n)*100;await new Promise(u=>setTimeout(u,s));}}throw a}async function D(r=chunkDCCUOXBC_cjs.e(process.cwd())){let t=await chunkDCCUOXBC_cjs.h(r);if(!t)throw new Error("No pnpm-workspace.yaml file found");if(t?.catalog)return Object.fromEntries(Object.entries(t.catalog).map(([e,o])=>[e,o.replaceAll('"',"").replaceAll("'","")]));console.warn(`No catalog found in pnpm-workspace.yaml file located in workspace root: ${r}
3
+ File content: ${JSON.stringify(t,null,2)}`);}async function B(r=chunkDCCUOXBC_cjs.e(process.cwd())){let t=await D(r);if(!t)throw new Error("No catalog entries found in pnpm-workspace.yaml file");return t}async function k(r,t=chunkDCCUOXBC_cjs.e(process.cwd())){let e=await chunkDCCUOXBC_cjs.h(t);if(!e)throw new Error("No pnpm-workspace.yaml file found");e.catalog=Object.fromEntries(Object.entries(r).filter(([,o])=>o&&(o.startsWith("npm:")||semver.valid(chunkWAL5SD4G_cjs.a(o),true))).map(([o,f])=>[o,f.replaceAll('"',"").replaceAll("'","")])),await chunkDCCUOXBC_cjs.i(e,t);}async function mr(r,t,e={}){let{tag:o=d,prefix:f="^",workspaceRoot:c=chunkDCCUOXBC_cjs.e(),verbose:l=false}=e,a=await chunkDCCUOXBC_cjs.f(true,{workspaceRoot:c});l&&chunkDCCUOXBC_cjs.c(`Upgrading catalog entry for package "${t}" with tag "${o}"`,a);let n=await P(t,o,{executable:"pnpm"});if(!n)throw new Error(`Failed to fetch version for package "${t}" with tag "${o}"`);if(!semver.valid(chunkWAL5SD4G_cjs.a(n),true))throw new Error(`Invalid version "${n}" fetched for package "${t}" with tag "${o}"`);let i=`${f||""}${chunkWAL5SD4G_cjs.a(n)}`,s=false;return r[t]?.startsWith("npm:")?(r[t]=i,chunkDCCUOXBC_cjs.b(`Writing version ${r[t]} to catalog for "${t}" package`,a)):!semver.valid(semver.coerce(r[t]))||semver.coerce(r[t])&&semver.coerce(i)&&semver.gt(semver.coerce(i),semver.coerce(r[t]))?(r[t]=`${f||""}${chunkWAL5SD4G_cjs.a(i)}`,chunkDCCUOXBC_cjs.b(`Writing version ${r[t]} to catalog for "${t}" package`,a),s=true):l&&chunkDCCUOXBC_cjs.b(`The current version ${r[t]} for package "${t}" is greater than or equal to the version ${chunkWAL5SD4G_cjs.a(i)} fetched from the npm registry with tag "${o}". No update performed.`,a),{catalog:r,updated:s}}async function dr(r,t={}){let{tag:e=d,prefix:o="^",throwIfMissingInCatalog:f=false,workspaceRoot:c=chunkDCCUOXBC_cjs.e(),verbose:l=false}=t,a=await chunkDCCUOXBC_cjs.f(true,{workspaceRoot:c}),n=await B(c);if(!n)throw new Error("No catalog found");if(f===true&&!n[r])throw new Error(`Package "${r}" not found in catalog: ${JSON.stringify(n,null,2)}`);l&&chunkDCCUOXBC_cjs.c(`Upgrading catalog entry for package "${r}" with tag "${e}"`,a);let i=await P(r,e,{executable:"pnpm"});if(!i)throw new Error(`Failed to fetch version for package "${r}" with tag "${e}"`);if(!semver.valid(chunkWAL5SD4G_cjs.a(i),true))throw new Error(`Invalid version "${i}" fetched for package "${r}" with tag "${e}"`);let s=`${o||""}${chunkWAL5SD4G_cjs.a(i)}`;s===n[r]?l&&chunkDCCUOXBC_cjs.c(`The version for package "${r}" is already up to date in the catalog: ${s}`,a):!semver.valid(chunkWAL5SD4G_cjs.a(n[r]),true)||semver.coerce(n[r])&&semver.coerce(s)&&semver.gt(semver.coerce(s),semver.coerce(n[r]))?(n[r]=`${o||""}${chunkWAL5SD4G_cjs.a(s)}`,chunkDCCUOXBC_cjs.b(`Writing version ${n[r]} to catalog for "${r}" package`,a),await k(n,c)):l&&chunkDCCUOXBC_cjs.a(`The current version "${n[r]}" for package "${r}" is greater than or equal to the version "${s}" fetched from the npm registry with tag "${e}". No update performed.`,a);}exports.a=D;exports.b=B;exports.c=k;exports.d=mr;exports.e=dr;
@@ -0,0 +1 @@
1
+ 'use strict';var chunkMQLKPYEV_cjs=require('./chunk-MQLKPYEV.cjs'),chunkDCCUOXBC_cjs=require('./chunk-DCCUOXBC.cjs'),devkit=require('@nx/devkit'),fs=require('fs'),promises=require('fs/promises'),prettier=require('prettier'),N=require('prettier-plugin-packagejson');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var N__default=/*#__PURE__*/_interopDefault(N);async function x(c=process.cwd(),i=chunkDCCUOXBC_cjs.e(c)){let m=chunkDCCUOXBC_cjs.d(c,"package.json"),l=await promises.readFile(m,"utf8");if(!l)throw new Error("No package.json file found in package root: "+c);let p=await chunkMQLKPYEV_cjs.b(i),a=JSON.parse(l),g=chunkDCCUOXBC_cjs.d(i,"pnpm-workspace.yaml");if(!fs.existsSync(g))return console.warn(`No \`pnpm-workspace.yaml\` file found in workspace root (searching in: ${g}). Skipping pnpm catalog read for now.`),a;if(!p){console.warn("No pnpm catalog found. Skipping dependencies replacement for now.");return}for(let r of ["dependencies","devDependencies","peerDependencies"]){let o=a[r];if(o){for(let e of Object.keys(o))if(o[e]==="catalog:"){if(!p)throw new Error(`Dependency ${e} is marked as \`catalog:\`, but no catalog exists in the workspace root's \`pnpm-workspace.yaml\` file.`);let t=p[e];if(!t)throw new Error("Missing pnpm catalog version for "+e);o[e]=t;}else if(o[e].startsWith("catalog:"))throw new Error("multiple named catalogs not supported")}}let n;try{n=devkit.readCachedProjectGraph();}catch{await devkit.createProjectGraphAsync(),n=devkit.readCachedProjectGraph();}let d={};n&&await Promise.all(Object.keys(n.nodes).map(async r=>{let o=n.nodes[r];if(o?.data.root){let e=chunkDCCUOXBC_cjs.d(i,o.data.root,"package.json");if(fs.existsSync(e)){let t=await promises.readFile(e,"utf8"),f=JSON.parse(t);f.private!==true&&(d[f.name]=f.version);}}}));for(let r of ["dependencies","devDependencies","peerDependencies"]){let o=a[r];if(o){for(let e of Object.keys(o))if(o[e].startsWith("workspace:"))if(d[e])o[e]=`^${d[e]}`;else throw new Error(`Workspace dependency ${e} not found in workspace packages.`)}}return promises.writeFile(m,await prettier.format(JSON.stringify(a),{parser:"json",proseWrap:"preserve",trailingComma:"none",tabWidth:2,semi:true,singleQuote:false,quoteProps:"as-needed",insertPragma:false,bracketSameLine:true,printWidth:80,bracketSpacing:true,arrowParens:"avoid",endOfLine:"lf",plugins:[N__default.default]}))}exports.a=x;
@@ -0,0 +1,3 @@
1
+ import {a}from'./chunk-7QKHH2VM.js';import {h,e,i,f,c,b,a as a$1}from'./chunk-I3CX5PSA.js';import {exec}from'node:child_process';import {valid,coerce,gt}from'semver';import P from'strip-ansi';var M="latest";var d=M;async function I(r="npm"){return new Promise((t,e)=>{exec(`${r} config get registry`,(o,f,c)=>o&&!o.message.toLowerCase().trim().startsWith("npm warn")?e(o):c&&!c.toLowerCase().trim().startsWith("npm warn")?e(c):t(f.trim()));})}var V=/^(npm warn|\[[\d.]+ms\]|\[sys\]|\[warn\] request took)/i;function Y(r){return r.split(/\r?\n/).map(t=>t.trim()).filter(t=>t.length>0).filter(t=>!V.test(t)).join(`
2
+ `).trim()}function D(r){let t=P(r).split(/\r?\n/).map(e=>e.trim()).filter(Boolean);for(let e=t.length-1;e>=0;e-=1){let o=t[e];if(o&&valid(o,true))return o}return P(r).trim()}async function A(r,t=d,e={}){let o=e.executable||"npm",f=e.retries??3,c=e.timeout??1e4,l=e.registry||await I(o),a;for(let n=0;n<=f;n++)try{let i=new AbortController,s=setTimeout(()=>{i.abort();},c),u=await Promise.resolve(new Promise((U,v)=>{exec(`${o} view ${r} version --registry=${l}`,{signal:i.signal,maxBuffer:1024*1024*10},($,W,G)=>{let T=G?Y(G):"";return $&&!$.message.toLowerCase().trim().startsWith("npm warn")?v(T?new Error(T,{cause:$}):$):T?v(new Error(T)):U(D(W))});}));if(!valid(u,!0))throw clearTimeout(s),new Error(P(u).startsWith("[WARN] Request took")?`A timeout occurred while fetching the version for package "${r}" with tag "${t}".`:`Invalid version "${u}" fetched for package "${r}" with tag "${t}"`);return clearTimeout(s),u}catch(i){if(a=i,n<f){let s=Math.pow(2,n)*100;await new Promise(u=>setTimeout(u,s));}}throw a}async function B(r=e(process.cwd())){let t=await h(r);if(!t)throw new Error("No pnpm-workspace.yaml file found");if(t?.catalog)return Object.fromEntries(Object.entries(t.catalog).map(([e,o])=>[e,o.replaceAll('"',"").replaceAll("'","")]));console.warn(`No catalog found in pnpm-workspace.yaml file located in workspace root: ${r}
3
+ File content: ${JSON.stringify(t,null,2)}`);}async function k(r=e(process.cwd())){let t=await B(r);if(!t)throw new Error("No catalog entries found in pnpm-workspace.yaml file");return t}async function H(r,t=e(process.cwd())){let e=await h(t);if(!e)throw new Error("No pnpm-workspace.yaml file found");e.catalog=Object.fromEntries(Object.entries(r).filter(([,o])=>o&&(o.startsWith("npm:")||valid(a(o),true))).map(([o,f])=>[o,f.replaceAll('"',"").replaceAll("'","")])),await i(e,t);}async function dr(r,t,e$1={}){let{tag:o=d,prefix:f$1="^",workspaceRoot:c$1=e(),verbose:l=false}=e$1,a$1=await f(true,{workspaceRoot:c$1});l&&c(`Upgrading catalog entry for package "${t}" with tag "${o}"`,a$1);let n=await A(t,o,{executable:"pnpm"});if(!n)throw new Error(`Failed to fetch version for package "${t}" with tag "${o}"`);if(!valid(a(n),true))throw new Error(`Invalid version "${n}" fetched for package "${t}" with tag "${o}"`);let i=`${f$1||""}${a(n)}`,s=false;return r[t]?.startsWith("npm:")?(r[t]=i,b(`Writing version ${r[t]} to catalog for "${t}" package`,a$1)):!valid(coerce(r[t]))||coerce(r[t])&&coerce(i)&&gt(coerce(i),coerce(r[t]))?(r[t]=`${f$1||""}${a(i)}`,b(`Writing version ${r[t]} to catalog for "${t}" package`,a$1),s=true):l&&b(`The current version ${r[t]} for package "${t}" is greater than or equal to the version ${a(i)} fetched from the npm registry with tag "${o}". No update performed.`,a$1),{catalog:r,updated:s}}async function hr(r,t={}){let{tag:e$1=d,prefix:o="^",throwIfMissingInCatalog:f$1=false,workspaceRoot:c$1=e(),verbose:l=false}=t,a$2=await f(true,{workspaceRoot:c$1}),n=await k(c$1);if(!n)throw new Error("No catalog found");if(f$1===true&&!n[r])throw new Error(`Package "${r}" not found in catalog: ${JSON.stringify(n,null,2)}`);l&&c(`Upgrading catalog entry for package "${r}" with tag "${e$1}"`,a$2);let i=await A(r,e$1,{executable:"pnpm"});if(!i)throw new Error(`Failed to fetch version for package "${r}" with tag "${e$1}"`);if(!valid(a(i),true))throw new Error(`Invalid version "${i}" fetched for package "${r}" with tag "${e$1}"`);let s=`${o||""}${a(i)}`;s===n[r]?l&&c(`The version for package "${r}" is already up to date in the catalog: ${s}`,a$2):!valid(a(n[r]),true)||coerce(n[r])&&coerce(s)&&gt(coerce(s),coerce(n[r]))?(n[r]=`${o||""}${a(s)}`,b(`Writing version ${n[r]} to catalog for "${r}" package`,a$2),await H(n,c$1)):l&&a$1(`The current version "${n[r]}" for package "${r}" is greater than or equal to the version "${s}" fetched from the npm registry with tag "${e$1}". No update performed.`,a$2);}export{B as a,k as b,H as c,dr as d,hr as e};
@@ -1 +1 @@
1
- 'use strict';var chunk7OWZ643W_cjs=require('../chunk-7OWZ643W.cjs');require('../chunk-WAL5SD4G.cjs'),require('../chunk-DCCUOXBC.cjs');Object.defineProperty(exports,"getCatalog",{enumerable:true,get:function(){return chunk7OWZ643W_cjs.b}});Object.defineProperty(exports,"getCatalogSafe",{enumerable:true,get:function(){return chunk7OWZ643W_cjs.a}});Object.defineProperty(exports,"saveCatalog",{enumerable:true,get:function(){return chunk7OWZ643W_cjs.e}});Object.defineProperty(exports,"setCatalog",{enumerable:true,get:function(){return chunk7OWZ643W_cjs.c}});Object.defineProperty(exports,"upgradeCatalog",{enumerable:true,get:function(){return chunk7OWZ643W_cjs.d}});
1
+ 'use strict';var chunkMQLKPYEV_cjs=require('../chunk-MQLKPYEV.cjs');require('../chunk-WAL5SD4G.cjs'),require('../chunk-DCCUOXBC.cjs');Object.defineProperty(exports,"getCatalog",{enumerable:true,get:function(){return chunkMQLKPYEV_cjs.b}});Object.defineProperty(exports,"getCatalogSafe",{enumerable:true,get:function(){return chunkMQLKPYEV_cjs.a}});Object.defineProperty(exports,"saveCatalog",{enumerable:true,get:function(){return chunkMQLKPYEV_cjs.e}});Object.defineProperty(exports,"setCatalog",{enumerable:true,get:function(){return chunkMQLKPYEV_cjs.c}});Object.defineProperty(exports,"upgradeCatalog",{enumerable:true,get:function(){return chunkMQLKPYEV_cjs.d}});
@@ -1 +1 @@
1
- export{b as getCatalog,a as getCatalogSafe,e as saveCatalog,c as setCatalog,d as upgradeCatalog}from'../chunk-TL4TIJSB.js';import'../chunk-7QKHH2VM.js';import'../chunk-I3CX5PSA.js';
1
+ export{b as getCatalog,a as getCatalogSafe,e as saveCatalog,c as setCatalog,d as upgradeCatalog}from'../chunk-PWIV2VEA.js';import'../chunk-7QKHH2VM.js';import'../chunk-I3CX5PSA.js';
@@ -1 +1 @@
1
- 'use strict';require('../chunk-QNTSKZUU.cjs');var chunkKSHP6HQN_cjs=require('../chunk-KSHP6HQN.cjs'),chunk7OWZ643W_cjs=require('../chunk-7OWZ643W.cjs');require('../chunk-WAL5SD4G.cjs');var chunkDCCUOXBC_cjs=require('../chunk-DCCUOXBC.cjs');Object.defineProperty(exports,"replaceDepsAliases",{enumerable:true,get:function(){return chunkKSHP6HQN_cjs.a}});Object.defineProperty(exports,"getCatalog",{enumerable:true,get:function(){return chunk7OWZ643W_cjs.b}});Object.defineProperty(exports,"getCatalogSafe",{enumerable:true,get:function(){return chunk7OWZ643W_cjs.a}});Object.defineProperty(exports,"saveCatalog",{enumerable:true,get:function(){return chunk7OWZ643W_cjs.e}});Object.defineProperty(exports,"setCatalog",{enumerable:true,get:function(){return chunk7OWZ643W_cjs.c}});Object.defineProperty(exports,"upgradeCatalog",{enumerable:true,get:function(){return chunk7OWZ643W_cjs.d}});Object.defineProperty(exports,"getPnpmWorkspaceFilePath",{enumerable:true,get:function(){return chunkDCCUOXBC_cjs.g}});Object.defineProperty(exports,"readPnpmWorkspaceFile",{enumerable:true,get:function(){return chunkDCCUOXBC_cjs.h}});Object.defineProperty(exports,"writePnpmWorkspaceFile",{enumerable:true,get:function(){return chunkDCCUOXBC_cjs.i}});
1
+ 'use strict';require('../chunk-QNTSKZUU.cjs');var chunkPWBTYHKI_cjs=require('../chunk-PWBTYHKI.cjs'),chunkMQLKPYEV_cjs=require('../chunk-MQLKPYEV.cjs');require('../chunk-WAL5SD4G.cjs');var chunkDCCUOXBC_cjs=require('../chunk-DCCUOXBC.cjs');Object.defineProperty(exports,"replaceDepsAliases",{enumerable:true,get:function(){return chunkPWBTYHKI_cjs.a}});Object.defineProperty(exports,"getCatalog",{enumerable:true,get:function(){return chunkMQLKPYEV_cjs.b}});Object.defineProperty(exports,"getCatalogSafe",{enumerable:true,get:function(){return chunkMQLKPYEV_cjs.a}});Object.defineProperty(exports,"saveCatalog",{enumerable:true,get:function(){return chunkMQLKPYEV_cjs.e}});Object.defineProperty(exports,"setCatalog",{enumerable:true,get:function(){return chunkMQLKPYEV_cjs.c}});Object.defineProperty(exports,"upgradeCatalog",{enumerable:true,get:function(){return chunkMQLKPYEV_cjs.d}});Object.defineProperty(exports,"getPnpmWorkspaceFilePath",{enumerable:true,get:function(){return chunkDCCUOXBC_cjs.g}});Object.defineProperty(exports,"readPnpmWorkspaceFile",{enumerable:true,get:function(){return chunkDCCUOXBC_cjs.h}});Object.defineProperty(exports,"writePnpmWorkspaceFile",{enumerable:true,get:function(){return chunkDCCUOXBC_cjs.i}});
@@ -1 +1 @@
1
- import'../chunk-GV6YH6UO.js';export{a as replaceDepsAliases}from'../chunk-4EOTNQ5F.js';export{b as getCatalog,a as getCatalogSafe,e as saveCatalog,c as setCatalog,d as upgradeCatalog}from'../chunk-TL4TIJSB.js';import'../chunk-7QKHH2VM.js';export{g as getPnpmWorkspaceFilePath,h as readPnpmWorkspaceFile,i as writePnpmWorkspaceFile}from'../chunk-I3CX5PSA.js';
1
+ import'../chunk-GV6YH6UO.js';export{a as replaceDepsAliases}from'../chunk-2SJTTTMF.js';export{b as getCatalog,a as getCatalogSafe,e as saveCatalog,c as setCatalog,d as upgradeCatalog}from'../chunk-PWIV2VEA.js';import'../chunk-7QKHH2VM.js';export{g as getPnpmWorkspaceFilePath,h as readPnpmWorkspaceFile,i as writePnpmWorkspaceFile}from'../chunk-I3CX5PSA.js';
@@ -1 +1 @@
1
- 'use strict';var chunkKSHP6HQN_cjs=require('../chunk-KSHP6HQN.cjs');require('../chunk-7OWZ643W.cjs'),require('../chunk-WAL5SD4G.cjs'),require('../chunk-DCCUOXBC.cjs');Object.defineProperty(exports,"replaceDepsAliases",{enumerable:true,get:function(){return chunkKSHP6HQN_cjs.a}});
1
+ 'use strict';var chunkPWBTYHKI_cjs=require('../chunk-PWBTYHKI.cjs');require('../chunk-MQLKPYEV.cjs'),require('../chunk-WAL5SD4G.cjs'),require('../chunk-DCCUOXBC.cjs');Object.defineProperty(exports,"replaceDepsAliases",{enumerable:true,get:function(){return chunkPWBTYHKI_cjs.a}});
@@ -1 +1 @@
1
- export{a as replaceDepsAliases}from'../chunk-4EOTNQ5F.js';import'../chunk-TL4TIJSB.js';import'../chunk-7QKHH2VM.js';import'../chunk-I3CX5PSA.js';
1
+ export{a as replaceDepsAliases}from'../chunk-2SJTTTMF.js';import'../chunk-PWIV2VEA.js';import'../chunk-7QKHH2VM.js';import'../chunk-I3CX5PSA.js';
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- 'use strict';require('./chunk-SFZRYJZ2.cjs'),require('./chunk-QNTSKZUU.cjs');var chunkKSHP6HQN_cjs=require('./chunk-KSHP6HQN.cjs'),chunk7OWZ643W_cjs=require('./chunk-7OWZ643W.cjs');require('./chunk-WAL5SD4G.cjs');var chunkDCCUOXBC_cjs=require('./chunk-DCCUOXBC.cjs');Object.defineProperty(exports,"replaceDepsAliases",{enumerable:true,get:function(){return chunkKSHP6HQN_cjs.a}});Object.defineProperty(exports,"getCatalog",{enumerable:true,get:function(){return chunk7OWZ643W_cjs.b}});Object.defineProperty(exports,"getCatalogSafe",{enumerable:true,get:function(){return chunk7OWZ643W_cjs.a}});Object.defineProperty(exports,"saveCatalog",{enumerable:true,get:function(){return chunk7OWZ643W_cjs.e}});Object.defineProperty(exports,"setCatalog",{enumerable:true,get:function(){return chunk7OWZ643W_cjs.c}});Object.defineProperty(exports,"upgradeCatalog",{enumerable:true,get:function(){return chunk7OWZ643W_cjs.d}});Object.defineProperty(exports,"getPnpmWorkspaceFilePath",{enumerable:true,get:function(){return chunkDCCUOXBC_cjs.g}});Object.defineProperty(exports,"readPnpmWorkspaceFile",{enumerable:true,get:function(){return chunkDCCUOXBC_cjs.h}});Object.defineProperty(exports,"writePnpmWorkspaceFile",{enumerable:true,get:function(){return chunkDCCUOXBC_cjs.i}});
1
+ 'use strict';require('./chunk-SFZRYJZ2.cjs'),require('./chunk-QNTSKZUU.cjs');var chunkPWBTYHKI_cjs=require('./chunk-PWBTYHKI.cjs'),chunkMQLKPYEV_cjs=require('./chunk-MQLKPYEV.cjs');require('./chunk-WAL5SD4G.cjs');var chunkDCCUOXBC_cjs=require('./chunk-DCCUOXBC.cjs');Object.defineProperty(exports,"replaceDepsAliases",{enumerable:true,get:function(){return chunkPWBTYHKI_cjs.a}});Object.defineProperty(exports,"getCatalog",{enumerable:true,get:function(){return chunkMQLKPYEV_cjs.b}});Object.defineProperty(exports,"getCatalogSafe",{enumerable:true,get:function(){return chunkMQLKPYEV_cjs.a}});Object.defineProperty(exports,"saveCatalog",{enumerable:true,get:function(){return chunkMQLKPYEV_cjs.e}});Object.defineProperty(exports,"setCatalog",{enumerable:true,get:function(){return chunkMQLKPYEV_cjs.c}});Object.defineProperty(exports,"upgradeCatalog",{enumerable:true,get:function(){return chunkMQLKPYEV_cjs.d}});Object.defineProperty(exports,"getPnpmWorkspaceFilePath",{enumerable:true,get:function(){return chunkDCCUOXBC_cjs.g}});Object.defineProperty(exports,"readPnpmWorkspaceFile",{enumerable:true,get:function(){return chunkDCCUOXBC_cjs.h}});Object.defineProperty(exports,"writePnpmWorkspaceFile",{enumerable:true,get:function(){return chunkDCCUOXBC_cjs.i}});
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import'./chunk-GGNOJ77I.js';import'./chunk-GV6YH6UO.js';export{a as replaceDepsAliases}from'./chunk-4EOTNQ5F.js';export{b as getCatalog,a as getCatalogSafe,e as saveCatalog,c as setCatalog,d as upgradeCatalog}from'./chunk-TL4TIJSB.js';import'./chunk-7QKHH2VM.js';export{g as getPnpmWorkspaceFilePath,h as readPnpmWorkspaceFile,i as writePnpmWorkspaceFile}from'./chunk-I3CX5PSA.js';
1
+ import'./chunk-GGNOJ77I.js';import'./chunk-GV6YH6UO.js';export{a as replaceDepsAliases}from'./chunk-2SJTTTMF.js';export{b as getCatalog,a as getCatalogSafe,e as saveCatalog,c as setCatalog,d as upgradeCatalog}from'./chunk-PWIV2VEA.js';import'./chunk-7QKHH2VM.js';export{g as getPnpmWorkspaceFilePath,h as readPnpmWorkspaceFile,i as writePnpmWorkspaceFile}from'./chunk-I3CX5PSA.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storm-software/pnpm-tools",
3
- "version": "0.7.139",
3
+ "version": "0.7.141",
4
4
  "private": false,
5
5
  "description": "A set of [pnpm](https://pnpm.io/) plugins and utilities for managing workspace packages/dependencies.",
6
6
  "repository": {
@@ -73,10 +73,10 @@
73
73
  "storm-pnpm-esm": "./bin/pnpm.js"
74
74
  },
75
75
  "dependencies": {
76
- "@storm-software/config": "1.138.65",
77
- "@storm-software/config-tools": "1.190.128",
78
- "@storm-software/npm-tools": "0.6.246",
79
- "@storm-software/package-constants": "0.1.141",
76
+ "@storm-software/config": "^1.138.65",
77
+ "@storm-software/config-tools": "1.190.129",
78
+ "@storm-software/npm-tools": "0.6.247",
79
+ "@storm-software/package-constants": "^0.1.141",
80
80
  "chalk": "^4.1.2",
81
81
  "commander": "^12.1.0",
82
82
  "defu": "^6.1.7",
@@ -91,5 +91,5 @@
91
91
  "tsup": "8.4.0"
92
92
  },
93
93
  "publishConfig": { "access": "public" },
94
- "gitHead": "70c68016b10b04c6c5944985688d919cfc11ed66"
94
+ "gitHead": "b42641c3e4afdcfa82cb04d47afe5c6f372115ec"
95
95
  }
@@ -1 +0,0 @@
1
- import {b}from'./chunk-TL4TIJSB.js';import {d,e}from'./chunk-I3CX5PSA.js';import {readCachedProjectGraph,createProjectGraphAsync}from'@nx/devkit';import {existsSync}from'node:fs';import {readFile,writeFile}from'node:fs/promises';import {format}from'prettier';async function $(c=process.cwd(),i=e(c)){let l=d(c,"package.json"),m=await readFile(l,"utf8");if(!m)throw new Error("No package.json file found in package root: "+c);let p=await b(i),a=JSON.parse(m),g=d(i,"pnpm-workspace.yaml");if(!existsSync(g))return console.warn(`No \`pnpm-workspace.yaml\` file found in workspace root (searching in: ${g}). Skipping pnpm catalog read for now.`),a;if(!p){console.warn("No pnpm catalog found. Skipping dependencies replacement for now.");return}for(let r of ["dependencies","devDependencies","peerDependencies"]){let o=a[r];if(o){for(let e of Object.keys(o))if(o[e]==="catalog:"){if(!p)throw new Error(`Dependency ${e} is marked as \`catalog:\`, but no catalog exists in the workspace root's \`pnpm-workspace.yaml\` file.`);let t=p[e];if(!t)throw new Error("Missing pnpm catalog version for "+e);o[e]=t;}else if(o[e].startsWith("catalog:"))throw new Error("multiple named catalogs not supported")}}let n;try{n=readCachedProjectGraph();}catch{await createProjectGraphAsync(),n=readCachedProjectGraph();}let d$1={};n&&await Promise.all(Object.keys(n.nodes).map(async r=>{let o=n.nodes[r];if(o?.data.root){let e=d(i,o.data.root,"package.json");if(existsSync(e)){let t=await readFile(e,"utf8"),f=JSON.parse(t);f.private!==true&&(d$1[f.name]=f.version);}}}));for(let r of ["dependencies","devDependencies","peerDependencies"]){let o=a[r];if(o){for(let e of Object.keys(o))if(o[e].startsWith("workspace:"))if(d$1[e])o[e]=`^${d$1[e]}`;else throw new Error(`Workspace dependency ${e} not found in workspace packages.`)}}return writeFile(l,await format(JSON.stringify(a),{parser:"json",proseWrap:"preserve",trailingComma:"none",tabWidth:2,semi:true,singleQuote:false,quoteProps:"as-needed",insertPragma:false,bracketSameLine:true,printWidth:80,bracketSpacing:true,arrowParens:"avoid",endOfLine:"lf",plugins:["prettier-plugin-packagejson"]}))}export{$ as a};
@@ -1,2 +0,0 @@
1
- 'use strict';var chunkWAL5SD4G_cjs=require('./chunk-WAL5SD4G.cjs'),chunkDCCUOXBC_cjs=require('./chunk-DCCUOXBC.cjs'),child_process=require('child_process'),semver=require('semver'),S=require('strip-ansi');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var S__default=/*#__PURE__*/_interopDefault(S);var C="latest";var h=C;async function G(t="npm"){return new Promise((r,o)=>{child_process.exec(`${t} config get registry`,(e,f,c)=>e&&!e.message.toLowerCase().trim().startsWith("npm warn")?o(e):c&&!c.toLowerCase().trim().startsWith("npm warn")?o(c):r(f.trim()));})}async function P(t,r=h,o={}){let e=o.executable||"npm",f=o.retries??3,c=o.timeout??1e4,l=o.registry||await G(e),a;for(let i=0;i<=f;i++)try{let n=new AbortController,s=setTimeout(()=>{n.abort();},c),u=await Promise.resolve(new Promise((M,_)=>{child_process.exec(`${e} view ${t} version --registry=${l}`,{signal:n.signal,maxBuffer:1024*1024*10},(T,I,y)=>T&&!T.message.toLowerCase().trim().startsWith("npm warn")?_(T):y&&!y.toLowerCase().trim().startsWith("npm warn")?_(y):M(I.trim()));}));if(!semver.valid(u,!0))throw clearTimeout(s),new Error(S__default.default(u).startsWith("[WARN] Request took")?`A timeout occurred while fetching the version for package "${t}" with tag "${r}".`:`Invalid version "${u}" fetched for package "${t}" with tag "${r}"`);return clearTimeout(s),u}catch(n){if(a=n,i<f){let s=Math.pow(2,i)*100;await new Promise(u=>setTimeout(u,s));}}throw a}async function L(t=chunkDCCUOXBC_cjs.e(process.cwd())){let r=await chunkDCCUOXBC_cjs.h(t);if(!r)throw new Error("No pnpm-workspace.yaml file found");if(r?.catalog)return Object.fromEntries(Object.entries(r.catalog).map(([o,e])=>[o,e.replaceAll('"',"").replaceAll("'","")]));console.warn(`No catalog found in pnpm-workspace.yaml file located in workspace root: ${t}
2
- File content: ${JSON.stringify(r,null,2)}`);}async function F(t=chunkDCCUOXBC_cjs.e(process.cwd())){let r=await L(t);if(!r)throw new Error("No catalog entries found in pnpm-workspace.yaml file");return r}async function V(t,r=chunkDCCUOXBC_cjs.e(process.cwd())){let o=await chunkDCCUOXBC_cjs.h(r);if(!o)throw new Error("No pnpm-workspace.yaml file found");o.catalog=Object.fromEntries(Object.entries(t).filter(([,e])=>e&&(e.startsWith("npm:")||semver.valid(chunkWAL5SD4G_cjs.a(e),true))).map(([e,f])=>[e,f.replaceAll('"',"").replaceAll("'","")])),await chunkDCCUOXBC_cjs.i(o,r);}async function pt(t,r,o={}){let{tag:e=h,prefix:f="^",workspaceRoot:c=chunkDCCUOXBC_cjs.e(),verbose:l=false}=o,a=await chunkDCCUOXBC_cjs.f(true,{workspaceRoot:c});l&&chunkDCCUOXBC_cjs.c(`Upgrading catalog entry for package "${r}" with tag "${e}"`,a);let i=await P(r,e,{executable:"pnpm"});if(!i)throw new Error(`Failed to fetch version for package "${r}" with tag "${e}"`);if(!semver.valid(chunkWAL5SD4G_cjs.a(i),true))throw new Error(`Invalid version "${i}" fetched for package "${r}" with tag "${e}"`);let n=`${f||""}${chunkWAL5SD4G_cjs.a(i)}`,s=false;return t[r]?.startsWith("npm:")?(t[r]=n,chunkDCCUOXBC_cjs.b(`Writing version ${t[r]} to catalog for "${r}" package`,a)):!semver.valid(semver.coerce(t[r]))||semver.coerce(t[r])&&semver.coerce(n)&&semver.gt(semver.coerce(n),semver.coerce(t[r]))?(t[r]=`${f||""}${chunkWAL5SD4G_cjs.a(n)}`,chunkDCCUOXBC_cjs.b(`Writing version ${t[r]} to catalog for "${r}" package`,a),s=true):l&&chunkDCCUOXBC_cjs.b(`The current version ${t[r]} for package "${r}" is greater than or equal to the version ${chunkWAL5SD4G_cjs.a(n)} fetched from the npm registry with tag "${e}". No update performed.`,a),{catalog:t,updated:s}}async function lt(t,r={}){let{tag:o=h,prefix:e="^",throwIfMissingInCatalog:f=false,workspaceRoot:c=chunkDCCUOXBC_cjs.e(),verbose:l=false}=r,a=await chunkDCCUOXBC_cjs.f(true,{workspaceRoot:c}),i=await F(c);if(!i)throw new Error("No catalog found");if(f===true&&!i[t])throw new Error(`Package "${t}" not found in catalog: ${JSON.stringify(i,null,2)}`);l&&chunkDCCUOXBC_cjs.c(`Upgrading catalog entry for package "${t}" with tag "${o}"`,a);let n=await P(t,o,{executable:"pnpm"});if(!n)throw new Error(`Failed to fetch version for package "${t}" with tag "${o}"`);if(!semver.valid(chunkWAL5SD4G_cjs.a(n),true))throw new Error(`Invalid version "${n}" fetched for package "${t}" with tag "${o}"`);let s=`${e||""}${chunkWAL5SD4G_cjs.a(n)}`;s===i[t]?l&&chunkDCCUOXBC_cjs.c(`The version for package "${t}" is already up to date in the catalog: ${s}`,a):!semver.valid(chunkWAL5SD4G_cjs.a(i[t]),true)||semver.coerce(i[t])&&semver.coerce(s)&&semver.gt(semver.coerce(s),semver.coerce(i[t]))?(i[t]=`${e||""}${chunkWAL5SD4G_cjs.a(s)}`,chunkDCCUOXBC_cjs.b(`Writing version ${i[t]} to catalog for "${t}" package`,a),await V(i,c)):l&&chunkDCCUOXBC_cjs.a(`The current version "${i[t]}" for package "${t}" is greater than or equal to the version "${s}" fetched from the npm registry with tag "${o}". No update performed.`,a);}exports.a=L;exports.b=F;exports.c=V;exports.d=pt;exports.e=lt;
@@ -1 +0,0 @@
1
- 'use strict';var chunk7OWZ643W_cjs=require('./chunk-7OWZ643W.cjs'),chunkDCCUOXBC_cjs=require('./chunk-DCCUOXBC.cjs'),devkit=require('@nx/devkit'),fs=require('fs'),promises=require('fs/promises'),prettier=require('prettier');async function C(c=process.cwd(),i=chunkDCCUOXBC_cjs.e(c)){let l=chunkDCCUOXBC_cjs.d(c,"package.json"),m=await promises.readFile(l,"utf8");if(!m)throw new Error("No package.json file found in package root: "+c);let p=await chunk7OWZ643W_cjs.b(i),a=JSON.parse(m),g=chunkDCCUOXBC_cjs.d(i,"pnpm-workspace.yaml");if(!fs.existsSync(g))return console.warn(`No \`pnpm-workspace.yaml\` file found in workspace root (searching in: ${g}). Skipping pnpm catalog read for now.`),a;if(!p){console.warn("No pnpm catalog found. Skipping dependencies replacement for now.");return}for(let r of ["dependencies","devDependencies","peerDependencies"]){let o=a[r];if(o){for(let e of Object.keys(o))if(o[e]==="catalog:"){if(!p)throw new Error(`Dependency ${e} is marked as \`catalog:\`, but no catalog exists in the workspace root's \`pnpm-workspace.yaml\` file.`);let t=p[e];if(!t)throw new Error("Missing pnpm catalog version for "+e);o[e]=t;}else if(o[e].startsWith("catalog:"))throw new Error("multiple named catalogs not supported")}}let n;try{n=devkit.readCachedProjectGraph();}catch{await devkit.createProjectGraphAsync(),n=devkit.readCachedProjectGraph();}let d={};n&&await Promise.all(Object.keys(n.nodes).map(async r=>{let o=n.nodes[r];if(o?.data.root){let e=chunkDCCUOXBC_cjs.d(i,o.data.root,"package.json");if(fs.existsSync(e)){let t=await promises.readFile(e,"utf8"),f=JSON.parse(t);f.private!==true&&(d[f.name]=f.version);}}}));for(let r of ["dependencies","devDependencies","peerDependencies"]){let o=a[r];if(o){for(let e of Object.keys(o))if(o[e].startsWith("workspace:"))if(d[e])o[e]=`^${d[e]}`;else throw new Error(`Workspace dependency ${e} not found in workspace packages.`)}}return promises.writeFile(l,await prettier.format(JSON.stringify(a),{parser:"json",proseWrap:"preserve",trailingComma:"none",tabWidth:2,semi:true,singleQuote:false,quoteProps:"as-needed",insertPragma:false,bracketSameLine:true,printWidth:80,bracketSpacing:true,arrowParens:"avoid",endOfLine:"lf",plugins:["prettier-plugin-packagejson"]}))}exports.a=C;
@@ -1,2 +0,0 @@
1
- import {a}from'./chunk-7QKHH2VM.js';import {h as h$1,e,i,f,c,b as b$1,a as a$1}from'./chunk-I3CX5PSA.js';import {exec}from'node:child_process';import {valid,coerce,gt}from'semver';import L from'strip-ansi';var G="latest";var h=G;async function b(t="npm"){return new Promise((r,o)=>{exec(`${t} config get registry`,(e,f,c)=>e&&!e.message.toLowerCase().trim().startsWith("npm warn")?o(e):c&&!c.toLowerCase().trim().startsWith("npm warn")?o(c):r(f.trim()));})}async function _(t,r=h,o={}){let e=o.executable||"npm",f=o.retries??3,c=o.timeout??1e4,l=o.registry||await b(e),a;for(let i=0;i<=f;i++)try{let n=new AbortController,s=setTimeout(()=>{n.abort();},c),u=await Promise.resolve(new Promise((I,A)=>{exec(`${e} view ${t} version --registry=${l}`,{signal:n.signal,maxBuffer:1024*1024*10},(T,O,y)=>T&&!T.message.toLowerCase().trim().startsWith("npm warn")?A(T):y&&!y.toLowerCase().trim().startsWith("npm warn")?A(y):I(O.trim()));}));if(!valid(u,!0))throw clearTimeout(s),new Error(L(u).startsWith("[WARN] Request took")?`A timeout occurred while fetching the version for package "${t}" with tag "${r}".`:`Invalid version "${u}" fetched for package "${t}" with tag "${r}"`);return clearTimeout(s),u}catch(n){if(a=n,i<f){let s=Math.pow(2,i)*100;await new Promise(u=>setTimeout(u,s));}}throw a}async function F(t=e(process.cwd())){let r=await h$1(t);if(!r)throw new Error("No pnpm-workspace.yaml file found");if(r?.catalog)return Object.fromEntries(Object.entries(r.catalog).map(([o,e])=>[o,e.replaceAll('"',"").replaceAll("'","")]));console.warn(`No catalog found in pnpm-workspace.yaml file located in workspace root: ${t}
2
- File content: ${JSON.stringify(r,null,2)}`);}async function V(t=e(process.cwd())){let r=await F(t);if(!r)throw new Error("No catalog entries found in pnpm-workspace.yaml file");return r}async function Y(t,r=e(process.cwd())){let o=await h$1(r);if(!o)throw new Error("No pnpm-workspace.yaml file found");o.catalog=Object.fromEntries(Object.entries(t).filter(([,e])=>e&&(e.startsWith("npm:")||valid(a(e),true))).map(([e,f])=>[e,f.replaceAll('"',"").replaceAll("'","")])),await i(o,r);}async function lt(t,r,o={}){let{tag:e$1=h,prefix:f$1="^",workspaceRoot:c$1=e(),verbose:l=false}=o,a$1=await f(true,{workspaceRoot:c$1});l&&c(`Upgrading catalog entry for package "${r}" with tag "${e$1}"`,a$1);let i=await _(r,e$1,{executable:"pnpm"});if(!i)throw new Error(`Failed to fetch version for package "${r}" with tag "${e$1}"`);if(!valid(a(i),true))throw new Error(`Invalid version "${i}" fetched for package "${r}" with tag "${e$1}"`);let n=`${f$1||""}${a(i)}`,s=false;return t[r]?.startsWith("npm:")?(t[r]=n,b$1(`Writing version ${t[r]} to catalog for "${r}" package`,a$1)):!valid(coerce(t[r]))||coerce(t[r])&&coerce(n)&&gt(coerce(n),coerce(t[r]))?(t[r]=`${f$1||""}${a(n)}`,b$1(`Writing version ${t[r]} to catalog for "${r}" package`,a$1),s=true):l&&b$1(`The current version ${t[r]} for package "${r}" is greater than or equal to the version ${a(n)} fetched from the npm registry with tag "${e$1}". No update performed.`,a$1),{catalog:t,updated:s}}async function ut(t,r={}){let{tag:o=h,prefix:e$1="^",throwIfMissingInCatalog:f$1=false,workspaceRoot:c$1=e(),verbose:l=false}=r,a$2=await f(true,{workspaceRoot:c$1}),i=await V(c$1);if(!i)throw new Error("No catalog found");if(f$1===true&&!i[t])throw new Error(`Package "${t}" not found in catalog: ${JSON.stringify(i,null,2)}`);l&&c(`Upgrading catalog entry for package "${t}" with tag "${o}"`,a$2);let n=await _(t,o,{executable:"pnpm"});if(!n)throw new Error(`Failed to fetch version for package "${t}" with tag "${o}"`);if(!valid(a(n),true))throw new Error(`Invalid version "${n}" fetched for package "${t}" with tag "${o}"`);let s=`${e$1||""}${a(n)}`;s===i[t]?l&&c(`The version for package "${t}" is already up to date in the catalog: ${s}`,a$2):!valid(a(i[t]),true)||coerce(i[t])&&coerce(s)&&gt(coerce(s),coerce(i[t]))?(i[t]=`${e$1||""}${a(s)}`,b$1(`Writing version ${i[t]} to catalog for "${t}" package`,a$2),await Y(i,c$1)):l&&a$1(`The current version "${i[t]}" for package "${t}" is greater than or equal to the version "${s}" fetched from the npm registry with tag "${o}". No update performed.`,a$2);}export{F as a,V as b,Y as c,lt as d,ut as e};