@storm-software/bun-tools 0.0.48 → 0.0.50

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/bin/bun.cjs +47 -6
  3. package/bin/bun.js +47 -6
  4. package/dist/chunk-2GHXV3OE.js +1 -0
  5. package/dist/{chunk-X45K5DKT.cjs → chunk-37GUJUMR.cjs} +1 -1
  6. package/dist/chunk-3IUP2V2O.cjs +1 -0
  7. package/dist/chunk-ACIBJPTX.js +1 -0
  8. package/dist/chunk-DK4D3PFF.cjs +1 -0
  9. package/dist/{chunk-66TU3CP3.cjs → chunk-DW2HTWAU.cjs} +17 -17
  10. package/dist/chunk-HPYBH7QT.cjs +2 -0
  11. package/dist/chunk-ILE6NSRA.js +2 -0
  12. package/dist/{chunk-5ZLN4X3W.js → chunk-IMROPYHM.js} +1 -1
  13. package/dist/{chunk-6RUWDFGG.js → chunk-IVWMWBEI.js} +17 -17
  14. package/dist/chunk-IW73C7OV.cjs +2 -0
  15. package/dist/chunk-LUXOLZKJ.js +1 -0
  16. package/dist/chunk-UKAKS6IQ.cjs +1 -0
  17. package/dist/chunk-Y2HO4X3Y.js +2 -0
  18. package/dist/helpers/catalog.cjs +1 -1
  19. package/dist/helpers/catalog.d.cts +6 -0
  20. package/dist/helpers/catalog.d.ts +6 -0
  21. package/dist/helpers/catalog.js +1 -1
  22. package/dist/helpers/index.cjs +1 -1
  23. package/dist/helpers/index.d.cts +1 -0
  24. package/dist/helpers/index.d.ts +1 -0
  25. package/dist/helpers/index.js +1 -1
  26. package/dist/helpers/package-json.cjs +1 -1
  27. package/dist/helpers/package-json.js +1 -1
  28. package/dist/helpers/replace-deps-aliases.cjs +1 -1
  29. package/dist/helpers/replace-deps-aliases.js +1 -1
  30. package/dist/helpers/version-cache.cjs +1 -0
  31. package/dist/helpers/version-cache.d.cts +10 -0
  32. package/dist/helpers/version-cache.d.ts +10 -0
  33. package/dist/helpers/version-cache.js +1 -0
  34. package/dist/helpers/workspace.cjs +1 -1
  35. package/dist/helpers/workspace.js +1 -1
  36. package/dist/index.cjs +1 -1
  37. package/dist/index.d.cts +1 -0
  38. package/dist/index.d.ts +1 -0
  39. package/dist/index.js +1 -1
  40. package/package.json +10 -8
  41. package/dist/chunk-75RDZ52U.cjs +0 -3
  42. package/dist/chunk-FJDNIIEX.js +0 -3
  43. package/dist/chunk-GC3KXELW.cjs +0 -1
  44. package/dist/chunk-KWVKMOA5.js +0 -1
  45. /package/dist/{chunk-3CHW2FOO.cjs → chunk-AEB6NXCJ.cjs} +0 -0
  46. /package/dist/{chunk-PJBAL7AE.js → chunk-RJQ4TKJL.js} +0 -0
@@ -1,29 +1,29 @@
1
- import {loadConfig}from'c12';import _o from'defu';import'date-fns/formatDistanceToNow';import Mo from'chalk';import {existsSync}from'node:fs';import {join}from'node:path';import*as r from'zod/v4/mini';import {readFile,writeFile}from'node:fs/promises';import {format}from'prettier';import Sr from'prettier-plugin-packagejson';var d={SILENT:0,FATAL:10,ERROR:20,WARN:30,SUCCESS:35,INFO:40,PERFORMANCE:50,DEBUG:60,TRACE:70,ALL:100},l={SILENT:"silent",FATAL:"fatal",ERROR:"error",WARN:"warn",SUCCESS:"success",INFO:"info",PERFORMANCE:"performance",DEBUG:"debug",TRACE:"trace",ALL:"all"};var v={dark:{brand:"#2dd4bf",success:"#10b981",info:"#58a6ff",debug:"#8afafc",warning:"#f3d371",danger:"#D8314A",fatal:"#a40e26",performance:"#80fd74"}};var Fo={hex:e=>o=>o,bgHex:e=>({whiteBright:o=>o,white:o=>o}),white:e=>e,whiteBright:e=>e,gray:e=>e,bold:{hex:e=>o=>o,bgHex:e=>({whiteBright:o=>o,white:o=>o}),whiteBright:e=>e,white:e=>e},dim:{hex:e=>o=>o,gray:e=>e}},te=()=>{let e=Mo;return (!e?.hex||!e?.bold?.hex||!e?.bgHex||!e?.whiteBright||!e?.white)&&(e=Fo),e};function se(){return process.platform!=="win32"?process.env.TERM!=="linux":!!process.env.WT_SESSION||!!process.env.TERMINUS_SUBLIME||process.env.ConEmuTask==="{cmd::Cmder}"||process.env.TERM_PROGRAM==="Terminus-Sublime"||process.env.TERM_PROGRAM==="vscode"||process.env.TERM==="xterm-256color"||process.env.TERM==="alacritty"||process.env.TERM==="rxvt-unicode"||process.env.TERM==="rxvt-unicode-256color"||process.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var O=(e,o)=>se()?e:o,S={[l.ERROR]:O("\u2718","\xD7"),[l.FATAL]:O("\u{1F571}","\xD7"),[l.WARN]:O("\u26A0","\u203C"),[l.INFO]:O("\u2139","i"),[l.PERFORMANCE]:O("\u23F1","\u23F1"),[l.SUCCESS]:O("\u2714","\u221A"),[l.DEBUG]:O("\u{1F6E0}","D"),[l.TRACE]:O("\u2699","T"),[l.ALL]:O("\u2709","\u2192")};var k=(e=false,o=new Date)=>e?`${o.toLocaleDateString()} ${o.toLocaleTimeString()}`:`${o.toLocaleTimeString()}`;var $=e=>{switch(e){case "all":return d.ALL;case "trace":return d.TRACE;case "debug":return d.DEBUG;case "performance":return d.PERFORMANCE;case "info":return d.INFO;case "warn":return d.WARN;case "error":return d.ERROR;case "fatal":return d.FATAL;case "silent":return d.SILENT;default:return d.INFO}},ne=(e=d.INFO)=>e>=d.ALL?l.ALL:e>=d.TRACE?l.TRACE:e>=d.DEBUG?l.DEBUG:e>=d.PERFORMANCE?l.PERFORMANCE:e>=d.INFO?l.INFO:e>=d.WARN?l.WARN:e>=d.ERROR?l.ERROR:e>=d.FATAL?l.FATAL:e<=d.SILENT?l.SILENT:l.INFO;var X=(e=d.INFO,o={},t={})=>{let{chalk:s=te(),fullDateTime:a=false,hideDateTime:i=false}=t,c=!o.colors?.dark&&!o.colors?.base&&!o.colors?.base?.dark?v:o.colors?.dark&&typeof o.colors.dark=="string"?o.colors:o.colors?.base?.dark&&typeof o.colors.base.dark=="string"?o.colors.base.dark:o.colors?.base?o.colors?.base:v,p=o.logLevel||process.env.STORM_LOG_LEVEL||l.INFO;return e>$(p)||e<=d.SILENT||$(p)<=d.SILENT?u=>{}:typeof e=="number"&&d.FATAL>=e?u=>{console.error(`
2
- ${i?"":`${s.gray(k(a))} `}${s.hex(c.fatal??v.dark.fatal)(`[${S[l.FATAL]} Fatal] `)}${s.bold.whiteBright(R(u))}
1
+ import'date-fns/formatDistanceToNow';import Go from'chalk';import {existsSync}from'node:fs';import {join}from'node:path';import*as r from'zod/v4/mini';import _o from'defu';import {loadConfig}from'c12';import {readFile}from'node:fs/promises';var d={SILENT:0,FATAL:10,ERROR:20,WARN:30,SUCCESS:35,INFO:40,PERFORMANCE:50,DEBUG:60,TRACE:70,ALL:100},l={SILENT:"silent",FATAL:"fatal",ERROR:"error",WARN:"warn",SUCCESS:"success",INFO:"info",PERFORMANCE:"performance",DEBUG:"debug",TRACE:"trace",ALL:"all"};var T={dark:{brand:"#2dd4bf",success:"#10b981",info:"#58a6ff",debug:"#8afafc",warning:"#f3d371",danger:"#D8314A",fatal:"#a40e26",performance:"#80fd74"}};var Po={hex:e=>o=>o,bgHex:e=>({whiteBright:o=>o,white:o=>o}),white:e=>e,whiteBright:e=>e,gray:e=>e,bold:{hex:e=>o=>o,bgHex:e=>({whiteBright:o=>o,white:o=>o}),whiteBright:e=>e,white:e=>e},dim:{hex:e=>o=>o,gray:e=>e}},se=()=>{let e=Go;return (!e?.hex||!e?.bold?.hex||!e?.bgHex||!e?.whiteBright||!e?.white)&&(e=Po),e};function te(){return process.platform!=="win32"?process.env.TERM!=="linux":!!process.env.WT_SESSION||!!process.env.TERMINUS_SUBLIME||process.env.ConEmuTask==="{cmd::Cmder}"||process.env.TERM_PROGRAM==="Terminus-Sublime"||process.env.TERM_PROGRAM==="vscode"||process.env.TERM==="xterm-256color"||process.env.TERM==="alacritty"||process.env.TERM==="rxvt-unicode"||process.env.TERM==="rxvt-unicode-256color"||process.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var k=(e,o)=>te()?e:o,C={[l.ERROR]:k("\u2718","\xD7"),[l.FATAL]:k("\u{1F571}","\xD7"),[l.WARN]:k("\u26A0","\u203C"),[l.INFO]:k("\u2139","i"),[l.PERFORMANCE]:k("\u23F1","\u23F1"),[l.SUCCESS]:k("\u2714","\u221A"),[l.DEBUG]:k("\u{1F6E0}","D"),[l.TRACE]:k("\u2699","T"),[l.ALL]:k("\u2709","\u2192")};var v=(e=false,o=new Date)=>e?`${o.toLocaleDateString()} ${o.toLocaleTimeString()}`:`${o.toLocaleTimeString()}`;var A=e=>{switch(e){case "all":return d.ALL;case "trace":return d.TRACE;case "debug":return d.DEBUG;case "performance":return d.PERFORMANCE;case "info":return d.INFO;case "warn":return d.WARN;case "error":return d.ERROR;case "fatal":return d.FATAL;case "silent":return d.SILENT;default:return d.INFO}},ne=(e=d.INFO)=>e>=d.ALL?l.ALL:e>=d.TRACE?l.TRACE:e>=d.DEBUG?l.DEBUG:e>=d.PERFORMANCE?l.PERFORMANCE:e>=d.INFO?l.INFO:e>=d.WARN?l.WARN:e>=d.ERROR?l.ERROR:e>=d.FATAL?l.FATAL:e<=d.SILENT?l.SILENT:l.INFO;var X=(e=d.INFO,o={},s={})=>{let{chalk:n=se(),fullDateTime:a=false,hideDateTime:i=false}=s,c=!o.colors?.dark&&!o.colors?.base&&!o.colors?.base?.dark?T:o.colors?.dark&&typeof o.colors.dark=="string"?o.colors:o.colors?.base?.dark&&typeof o.colors.base.dark=="string"?o.colors.base.dark:o.colors?.base?o.colors?.base:T,p=o.logLevel||process.env.STORM_LOG_LEVEL||l.INFO;return e>A(p)||e<=d.SILENT||A(p)<=d.SILENT?u=>{}:typeof e=="number"&&d.FATAL>=e?u=>{console.error(`
2
+ ${i?"":`${n.gray(v(a))} `}${n.hex(c.fatal??T.dark.fatal)(`[${C[l.FATAL]} Fatal] `)}${n.bold.whiteBright(R(u))}
3
3
  `);}:typeof e=="number"&&d.ERROR>=e?u=>{console.error(`
4
- ${i?"":`${s.gray(k(a))} `}${s.hex(c.danger??v.dark.danger)(`[${S[l.ERROR]} Error] `)}${s.bold.whiteBright(R(u))}
4
+ ${i?"":`${n.gray(v(a))} `}${n.hex(c.danger??T.dark.danger)(`[${C[l.ERROR]} Error] `)}${n.bold.whiteBright(R(u))}
5
5
  `);}:typeof e=="number"&&d.WARN>=e?u=>{console.warn(`
6
- ${i?"":`${s.gray(k(a))} `}${s.hex(c.warning??v.dark.warning)(`[${S[l.WARN]} Warn] `)}${s.bold.whiteBright(R(u))}
6
+ ${i?"":`${n.gray(v(a))} `}${n.hex(c.warning??T.dark.warning)(`[${C[l.WARN]} Warn] `)}${n.bold.whiteBright(R(u))}
7
7
  `);}:typeof e=="number"&&d.SUCCESS>=e?u=>{console.info(`
8
- ${i?"":`${s.gray(k(a))} `}${s.hex(c.success??v.dark.success)(`[${S[l.SUCCESS]} Success] `)}${s.bold.whiteBright(R(u))}
8
+ ${i?"":`${n.gray(v(a))} `}${n.hex(c.success??T.dark.success)(`[${C[l.SUCCESS]} Success] `)}${n.bold.whiteBright(R(u))}
9
9
  `);}:typeof e=="number"&&d.INFO>=e?u=>{console.info(`
10
- ${i?"":`${s.gray(k(a))} `}${s.hex(c.info??v.dark.info)(`[${S[l.INFO]} Info] `)}${s.bold.whiteBright(R(u))}
10
+ ${i?"":`${n.gray(v(a))} `}${n.hex(c.info??T.dark.info)(`[${C[l.INFO]} Info] `)}${n.bold.whiteBright(R(u))}
11
11
  `);}:typeof e=="number"&&d.PERFORMANCE>=e?u=>{console.debug(`
12
- ${i?"":`${s.gray(k(a))} `}${s.hex(c.performance??v.dark.performance)(`[${S[l.PERFORMANCE]} Performance] `)}${s.bold.whiteBright(R(u))}
12
+ ${i?"":`${n.gray(v(a))} `}${n.hex(c.performance??T.dark.performance)(`[${C[l.PERFORMANCE]} Performance] `)}${n.bold.whiteBright(R(u))}
13
13
  `);}:typeof e=="number"&&d.DEBUG>=e?u=>{console.debug(`
14
- ${i?"":`${s.gray(k(a))} `}${s.hex(c.debug??v.dark.debug)(`[${S[l.DEBUG]} Debug] `)}${s.bold.whiteBright(R(u))}
14
+ ${i?"":`${n.gray(v(a))} `}${n.hex(c.debug??T.dark.debug)(`[${C[l.DEBUG]} Debug] `)}${n.bold.whiteBright(R(u))}
15
15
  `);}:typeof e=="number"&&d.TRACE>=e?u=>{console.debug(`
16
- ${i?"":`${s.gray(k(a))} `}${s.hex("#bbbbbb")(`[${S[l.TRACE]} Trace] `)}${s.bold.whiteBright(R(u))}
16
+ ${i?"":`${n.gray(v(a))} `}${n.hex("#bbbbbb")(`[${C[l.TRACE]} Trace] `)}${n.bold.whiteBright(R(u))}
17
17
  `);}:u=>{console.log(`
18
- ${i?"":`${s.gray(k(a))} `}${s.hex(c.brand??v.dark.brand)(`[${S[l.ALL]} System] `)}${s.bold.whiteBright(R(u))}
19
- `);}};var ae=(e,o)=>X(d.WARN,o)(e);var Xr=(e,o)=>X(d.DEBUG,o)(e),A=(e,o)=>X(d.TRACE,o)(e);var Wo=10,R=(e,o={},t=0)=>{if(t>Wo)return "<max depth>";let s=o.prefix??"",a=o.skip??[],i=o.sort??true;return typeof e>"u"||e===null?"<empty>":typeof e=="string"?e||"<empty string>":Array.isArray(e)?`
20
- ${e.sort(i?(c,p)=>!c&&!p?0:c?p?String(c).localeCompare(String(p)):-1:1:void 0).map((c,p)=>` ${s}> #${p} = ${R(c,{prefix:`${s}--`,skip:a,sort:i},t+1)}`).join(`
18
+ ${i?"":`${n.gray(v(a))} `}${n.hex(c.brand??T.dark.brand)(`[${C[l.ALL]} System] `)}${n.bold.whiteBright(R(u))}
19
+ `);}};var ae=(e,o)=>X(d.WARN,o)(e);var Br=(e,o)=>X(d.DEBUG,o)(e),L=(e,o)=>X(d.TRACE,o)(e);var Mo=10,R=(e,o={},s=0)=>{if(s>Mo)return "<max depth>";let n=o.prefix??"",a=o.skip??[],i=o.sort??true;return typeof e>"u"||e===null?"<empty>":typeof e=="string"?e||"<empty string>":Array.isArray(e)?`
20
+ ${e.sort(i?(c,p)=>!c&&!p?0:c?p?String(c).localeCompare(String(p)):-1:1:void 0).map((c,p)=>` ${n}> #${p} = ${R(c,{prefix:`${n}--`,skip:a,sort:i},s+1)}`).join(`
21
21
  `)}`:typeof e=="object"&&e?`
22
- ${Object.keys(e).filter(c=>typeof c!="string"||!a.map(p=>p.toLowerCase().trim()).includes(c.toLowerCase().trim())).sort(i?(c,p)=>!c&&!p?0:c?p?String(c).localeCompare(String(p)):-1:1:void 0).map(c=>` ${s}> ${c} = ${Uo(e[c])?"<function>":typeof e[c]=="object"&&e[c]?Object.keys(e[c]).filter(p=>typeof p!="string"||!a.map(u=>u.toLowerCase().trim()).includes(p.toLowerCase().trim())).length===0?"{}":R(e[c],{prefix:`${s}--`,skip:a,sort:i},t+1):e[c]}`).join(`
23
- `)}`:String(e)},Uo=e=>{try{return e instanceof Function||typeof e=="function"||!!(e?.constructor&&e?.call&&e?.apply)}catch{return false}};var jo=/^[A-Za-z]:\//;function Bo(e=""){return e&&e.replace(/\\/g,"/").replace(jo,o=>o.toUpperCase())}var Ho=/^[/\\]{2}/,Ko=/^[/\\](?![/\\])|^[/\\]{2}(?!\.)|^[A-Za-z]:[/\\]/,Yo=/^[A-Za-z]:$/;var m=function(e){if(!e||e.length===0)return ".";e=Bo(e);let o=e?.match(Ho),t=ie(e),s=e[e.length-1]==="/";return e=Zo(e,!t),e.length===0?t?"/":s?"./":".":(s&&(e+="/"),Yo.test(e)&&(e+="/"),o?t?`//${e}`:`//./${e}`:t&&!ie(e)?`/${e}`:e)},C=function(...e){let o="";for(let t of e)if(t)if(o.length>0){let s=o[o.length-1]==="/",a=t[0]==="/";s&&a?o+=t.slice(1):o+=s||a?t:`/${t}`;}else o+=t;return m(o)};function Zo(e,o){let t="",s=0,a=-1,i=0,c=null;for(let p=0;p<=e.length;++p){if(p<e.length)c=e[p];else {if(c==="/")break;c="/";}if(c==="/"){if(!(a===p-1||i===1))if(i===2){if(t.length<2||s!==2||t[t.length-1]!=="."||t[t.length-2]!=="."){if(t.length>2){let u=t.lastIndexOf("/");u===-1?(t="",s=0):(t=t.slice(0,u),s=t.length-1-t.lastIndexOf("/")),a=p,i=0;continue}else if(t.length>0){t="",s=0,a=p,i=0;continue}}o&&(t+=t.length>0?"/..":"..",s=2);}else t.length>0?t+=`/${e.slice(a+1,p)}`:t=e.slice(a+1,p),s=p-a-1;a=p,i=0;}else c==="."&&i!==-1?++i:i=-1;}return t}var ie=function(e){return Ko.test(e)};var Vo=30,Jo=0;function Q(e,o=[],t=[]){let s=e??process.cwd();if(t.some(a=>existsSync(join(s,a)))||o.some(a=>existsSync(join(s,a))))return s;if(s!=="/"&&Jo++<Vo){let a=join(s,"..");return Q(a,o,t)}}var pe=["storm-workspace.json","storm-workspace.yaml","storm-workspace.yml","storm-workspace.js","storm-workspace.ts",".storm-workspace.json",".storm-workspace.yaml",".storm-workspace.yml",".storm-workspace.js",".storm-workspace.ts","lerna.json","nx.json","turbo.json","npm-workspace.json","yarn-workspace.json","pnpm-workspace.json","npm-workspace.yaml","yarn-workspace.yaml","pnpm-workspace.yaml","npm-workspace.yml","yarn-workspace.yml","pnpm-workspace.yml","npm-lock.json","yarn-lock.json","pnpm-lock.json","npm-lock.yaml","yarn-lock.yaml","pnpm-lock.yaml","npm-lock.yml","yarn-lock.yml","pnpm-lock.yml","bun.lockb","bun.lock","bunfig.toml"],Xo=[".storm-workspace",".nx",".git",".github",".vscode",".verdaccio"];function qo(e){return process.env.STORM_WORKSPACE_ROOT||process.env.NX_WORKSPACE_ROOT_PATH?m(process.env.STORM_WORKSPACE_ROOT??process.env.NX_WORKSPACE_ROOT_PATH):m(Q(e??process.cwd(),pe,Xo))}function T(e){let o=qo(e);if(!o)throw new Error(`Cannot find workspace root upwards from known path. Files search list includes:
22
+ ${Object.keys(e).filter(c=>typeof c!="string"||!a.map(p=>p.toLowerCase().trim()).includes(c.toLowerCase().trim())).sort(i?(c,p)=>!c&&!p?0:c?p?String(c).localeCompare(String(p)):-1:1:void 0).map(c=>` ${n}> ${c} = ${Fo(e[c])?"<function>":typeof e[c]=="object"&&e[c]?Object.keys(e[c]).filter(p=>typeof p!="string"||!a.map(u=>u.toLowerCase().trim()).includes(p.toLowerCase().trim())).length===0?"{}":R(e[c],{prefix:`${n}--`,skip:a,sort:i},s+1):e[c]}`).join(`
23
+ `)}`:String(e)},Fo=e=>{try{return e instanceof Function||typeof e=="function"||!!(e?.constructor&&e?.call&&e?.apply)}catch{return false}};var Uo=/^[A-Za-z]:\//;function Wo(e=""){return e&&e.replace(/\\/g,"/").replace(Uo,o=>o.toUpperCase())}var Bo=/^[/\\]{2}/,jo=/^[/\\](?![/\\])|^[/\\]{2}(?!\.)|^[A-Za-z]:[/\\]/,Ho=/^[A-Za-z]:$/;var m=function(e){if(!e||e.length===0)return ".";e=Wo(e);let o=e?.match(Bo),s=ie(e),n=e[e.length-1]==="/";return e=Ko(e,!s),e.length===0?s?"/":n?"./":".":(n&&(e+="/"),Ho.test(e)&&(e+="/"),o?s?`//${e}`:`//./${e}`:s&&!ie(e)?`/${e}`:e)},S=function(...e){let o="";for(let s of e)if(s)if(o.length>0){let n=o[o.length-1]==="/",a=s[0]==="/";n&&a?o+=s.slice(1):o+=n||a?s:`/${s}`;}else o+=s;return m(o)};function Ko(e,o){let s="",n=0,a=-1,i=0,c=null;for(let p=0;p<=e.length;++p){if(p<e.length)c=e[p];else {if(c==="/")break;c="/";}if(c==="/"){if(!(a===p-1||i===1))if(i===2){if(s.length<2||n!==2||s[s.length-1]!=="."||s[s.length-2]!=="."){if(s.length>2){let u=s.lastIndexOf("/");u===-1?(s="",n=0):(s=s.slice(0,u),n=s.length-1-s.lastIndexOf("/")),a=p,i=0;continue}else if(s.length>0){s="",n=0,a=p,i=0;continue}}o&&(s+=s.length>0?"/..":"..",n=2);}else s.length>0?s+=`/${e.slice(a+1,p)}`:s=e.slice(a+1,p),n=p-a-1;a=p,i=0;}else c==="."&&i!==-1?++i:i=-1;}return s}var ie=function(e){return jo.test(e)};var Yo=30,Zo=0;function Q(e,o=[],s=[]){let n=e??process.cwd();if(s.some(a=>existsSync(join(n,a)))||o.some(a=>existsSync(join(n,a))))return n;if(n!=="/"&&Zo++<Yo){let a=join(n,"..");return Q(a,o,s)}}var pe=["storm-workspace.json","storm-workspace.yaml","storm-workspace.yml","storm-workspace.js","storm-workspace.ts",".storm-workspace.json",".storm-workspace.yaml",".storm-workspace.yml",".storm-workspace.js",".storm-workspace.ts","lerna.json","nx.json","turbo.json","npm-workspace.json","yarn-workspace.json","pnpm-workspace.json","npm-workspace.yaml","yarn-workspace.yaml","pnpm-workspace.yaml","npm-workspace.yml","yarn-workspace.yml","pnpm-workspace.yml","npm-lock.json","yarn-lock.json","pnpm-lock.json","npm-lock.yaml","yarn-lock.yaml","pnpm-lock.yaml","npm-lock.yml","yarn-lock.yml","pnpm-lock.yml","bun.lockb","bun.lock","bunfig.toml"],Vo=[".storm-workspace",".nx",".git",".github",".vscode",".verdaccio"];function Jo(e){return process.env.STORM_WORKSPACE_ROOT||process.env.NX_WORKSPACE_ROOT_PATH?m(process.env.STORM_WORKSPACE_ROOT??process.env.NX_WORKSPACE_ROOT_PATH):m(Q(e??process.cwd(),pe,Vo))}function O(e){let o=Jo(e);if(!o)throw new Error(`Cannot find workspace root upwards from known path. Files search list includes:
24
24
  ${pe.join(`
25
25
  `)}
26
- Path: ${e||process.cwd()}`);return o}var de="https://docs.stormsoftware.com",I="https://stormsoftware.com";var le="https://stormsoftware.com/license",me="Apache-2.0";var b="tools/errors/codes.json",ue="The workspace's banner image",ge=["dark","light","base","brand","alternate","accent","link","success","discovery","info","warning","danger","fatal","performance","positive","negative"];var n=r.registry(),E=r.string().check(r.length(7),r.toLowerCase(),r.regex(/^#([0-9a-f]{3}){1,2}$/i),r.trim());n.add(E,{description:"A base schema for describing the format of colors"});var y=r._default(E,"#1e2124");n.add(y,{description:"The dark background color of the workspace"});var z=r._default(E,"#cbd5e1");n.add(z,{description:"The light background color of the workspace"});var x=r._default(E,"#1fb2a6");n.add(x,{description:"The primary brand specific color of the workspace"});var D=r.optional(E);n.add(D,{description:"The alternate brand specific color of the workspace"});var G=r.optional(E);n.add(G,{description:"The secondary brand specific color of the workspace"});var P=r._default(E,"#3fa6ff");n.add(P,{description:"The color used to display hyperlink text"});var M=r._default(E,"#818cf8");n.add(M,{description:"The second brand specific color of the workspace"});var F=r._default(E,"#45b27e");n.add(F,{description:"The success color of the workspace"});var W=r._default(E,"#38bdf8");n.add(W,{description:"The informational color of the workspace"});var U=r._default(E,"#8afafc");n.add(U,{description:"The debug color of the workspace"});var j=r._default(E,"#f3d371");n.add(j,{description:"The warning color of the workspace"});var B=r._default(E,"#d8314a");n.add(B,{description:"The danger color of the workspace"});var H=r.optional(E);n.add(H,{description:"The fatal color of the workspace"});var K=r._default(E,"#80fd74");n.add(K,{description:"The performance color of the workspace"});var Y=r._default(E,"#4ade80");n.add(Y,{description:"The positive number color of the workspace"});var Z=r._default(E,"#ef4444");n.add(Z,{description:"The negative number color of the workspace"});var V=r.optional(r.array(E));n.add(V,{description:"The color stops for the base gradient color pattern used in the workspace"});var rr=r.object({foreground:z,background:y,brand:x,alternate:D,accent:G,link:P,discovery:M,success:F,info:W,debug:U,warning:j,danger:B,fatal:H,performance:K,positive:Y,negative:Z,gradient:V}),tr=r.object({foreground:y,background:z,brand:x,alternate:D,accent:G,link:P,discovery:M,success:F,info:W,debug:U,warning:j,danger:B,fatal:H,performance:K,positive:Y,negative:Z,gradient:V}),sr=r.object({dark:rr,light:tr}),nr=r.object({dark:y,light:z,brand:x,alternate:D,accent:G,link:P,discovery:M,success:F,info:W,debug:U,warning:j,danger:B,fatal:H,performance:K,positive:Y,negative:Z,gradient:V}),_=r.optional(r.url());n.add(_,{description:"A remote registry URL used to publish distributable packages"});var fe=r._default(r.object({github:_,npm:_,cargo:_,cyclone:_,container:_}),{});n.add(fe,{description:"A list of remote registry URLs used by Storm Software"});var ee=r.union([nr,sr]);n.add(ee,{description:"Colors used for various workspace elements"});var he=r.record(r.union([r.union([r.literal("base"),r.string()]),r.string()]),ee);n.add(he,{description:"Storm theme config values used for styling various package elements"});var Ee=r.optional(r.union([r.string().check(r.trim()),r.array(r.string().check(r.trim()))]));n.add(Ee,{description:"The path to a base config file to use as a configuration preset file. Documentation can be found at https://github.com/unjs/c12#extending-configuration."});var Re=r.string().check(r.trim());n.add(Re,{description:"The workspace bot user's name (this is the bot that will be used to perform various tasks)"});var Te=r.string().check(r.trim());n.add(Te,{description:"The email of the workspace bot"});var Ce=r.object({name:Re,email:Te});n.add(Ce,{description:"The workspace's bot user's config used to automated various operations tasks"});var ve=r.optional(r.string().check(r.trim(),r.url()));n.add(ve,{description:"A URL to a banner image used to display the workspace's release"});var Se=r._default(r.string().check(r.trim()),ue);n.add(Se,{description:"The alt text for the workspace's release banner image"});var ke=r.object({url:ve,alt:Se});n.add(ke,{description:"The workspace's banner image used during the release process"});var Oe=r.optional(r.string().check(r.trim()));n.add(Oe,{description:"A header message appended to the start of the workspace's release notes"});var Ae=r.optional(r.string().check(r.trim()));n.add(Ae,{description:"A footer message appended to the end of the workspace's release notes"});var $e=r.object({banner:r.union([ke,r.string().check(r.trim(),r.url())]),header:Oe,footer:Ae});n.add($e,{description:"The workspace's release config used during the release process"});var _e=r.optional(r.string().check(r.trim()));n.add(_e,{description:"A Twitter/X account associated with the organization/project"});var Le=r.optional(r.string().check(r.trim()));n.add(Le,{description:"A Discord account associated with the organization/project"});var Ie=r.optional(r.string().check(r.trim()));n.add(Ie,{description:"A Telegram account associated with the organization/project"});var Ne=r.optional(r.string().check(r.trim()));n.add(Ne,{description:"A Slack account associated with the organization/project"});var we=r.optional(r.string().check(r.trim()));n.add(we,{description:"A Medium account associated with the organization/project"});var be=r.optional(r.string().check(r.trim()));n.add(be,{description:"A GitHub account associated with the organization/project"});var ye=r.object({twitter:_e,discord:Le,telegram:Ie,slack:Ne,medium:we,github:be});n.add(ye,{description:"The workspace's account config used to store various social media links"});var ze=r.optional(r.string().check(r.trim()));n.add(ze,{description:"The directory used to store the environment's cached file data"});var xe=r.optional(r.string().check(r.trim()));n.add(xe,{description:"The directory used to store the environment's data files"});var De=r.optional(r.string().check(r.trim()));n.add(De,{description:"The directory used to store the environment's configuration files"});var Ge=r.optional(r.string().check(r.trim()));n.add(Ge,{description:"The directory used to store the environment's temp files"});var Pe=r.optional(r.string().check(r.trim()));n.add(Pe,{description:"The directory used to store the environment's log files"});var Me=r._default(r.string().check(r.trim()),"dist");n.add(Me,{description:"The directory used to store the workspace's distributable files after a build (relative to the workspace root)"});var Fe=r.object({cache:ze,data:xe,config:De,temp:Ge,log:Pe,build:Me});n.add(Fe,{description:"Various directories used by the workspace to store data, cache, and configuration files"});var We=r._default(r.enum(["minimal","monorepo"]),"monorepo");n.add(We,{description:"The variant of the workspace. This can be used to enable or disable certain features or configurations."});var Ue=r._default(r.string().check(r.trim()),b);n.add(Ue,{description:"The path to the workspace's error codes JSON file"});var je=r.optional(r.url());n.add(je,{description:"A URL to a page that looks up the workspace's error messages given a specific error code"});var Be=r.object({codesFile:Ue,url:je});n.add(Be,{description:"The workspace's error config used when creating error details during a system error"});var He=r.optional(r.string().check(r.trim(),r.toLowerCase()));n.add(He,{description:"The name of the organization"});var Ke=r.optional(r.string().check(r.trim()));n.add(Ke,{description:"A description of the organization"});var Ye=r.optional(r.url());n.add(Ye,{description:"A URL to the organization's logo image"});var Ze=r.optional(r.url());n.add(Ze,{description:"A URL to the organization's icon image"});var Ve=r.optional(r.url());n.add(Ve,{description:"A URL to a page that provides more information about the organization"});var Je=r.object({name:He,description:Ke,logo:Ye,icon:Ze,url:Ve});n.add(Je,{description:"The workspace's organization details"});var Xe=r._default(r.string().check(r.trim(),r.toLowerCase()),"https://public.storm-cdn.com/schemas/storm-workspace.schema.json");n.add(Xe,{description:"The URL or file path to the JSON schema file that describes the Storm configuration file"});var qe=r.string().check(r.trim(),r.toLowerCase());n.add(qe,{description:"The name of the workspace/project/service/package/scope using this configuration"});var Qe=r.string().check(r.trim(),r.toLowerCase());n.add(Qe,{description:"The namespace of the workspace/project/service/package/scope using this configuration"});var eo=r.union([Je,r.string().check(r.trim(),r.toLowerCase())]);n.add(eo,{description:"The organization of the workspace. This can be a string or an object containing the organization's details"});var oo=r.string().check(r.trim(),r.toLowerCase());n.add(oo,{description:"The repo URL of the workspace (i.e. the GitHub repository URL)"});var ro=r._default(r.string().check(r.trim()),"Apache-2.0");n.add(ro,{description:"The license type of the package"});var to=r.optional(r.url());n.add(to,{description:"The homepage of the workspace"});var so=r.optional(r.url());n.add(so,{description:"The documentation site for the workspace"});var no=r.optional(r.url());n.add(no,{description:"The development portal site for the workspace"});var ao=r.optional(r.url());n.add(ao,{description:"The licensing site for the workspace"});var io=r.optional(r.url());n.add(io,{description:"The contact site for the workspace"});var co=r.optional(r.url());n.add(co,{description:"The support site for the workspace. If not provided, this is defaulted to the `contact` config value"});var po=r._default(r.string().check(r.trim(),r.toLowerCase()),"main");n.add(po,{description:"The branch of the workspace"});var lo=r.optional(r.string().check(r.trim(),r.toLowerCase()));n.add(lo,{description:"A tag specifying the version pre-release identifier"});var mo=r.optional(r.string().check(r.trim(),r.toLowerCase()));n.add(mo,{description:"The owner of the package"});var uo=r._default(r.enum(["development","test","production"]).check(r.trim(),r.toLowerCase()),"production");n.add(uo,{description:"The current runtime environment mode for the package"});var go=r.string().check(r.trim(),r.toLowerCase());n.add(go,{description:"The root directory of the workspace"});var fo=r._default(r.boolean(),false);n.add(fo,{description:"Should all known types of workspace caching be skipped?"});var ho=r._default(r.enum(["npm","yarn","pnpm","bun"]),"npm");n.add(ho,{description:"The JavaScript/TypeScript package manager used by the repository"});var Eo=r._default(r.string().check(r.trim()),"America/New_York");n.add(Eo,{description:"The default timezone of the workspace"});var Ro=r._default(r.string().check(r.trim()),"en-US");n.add(Ro,{description:"The default locale of the workspace"});var To=r._default(r.enum(["silent","fatal","error","warn","success","info","performance","debug","trace","all"]),"info");n.add(To,{description:"The log level used to filter out lower priority log messages. If not provided, this is defaulted using the `environment` config value (if `environment` is set to `production` then `level` is `error`, else `level` is `debug`)."});var Co=r._default(r.boolean(),true);n.add(Co,{description:"Should the logging of the current Storm Workspace configuration be skipped?"});var vo=r._default(r.nullable(r.string().check(r.trim())),null);n.add(vo,{description:"The filepath of the Storm config. When this field is null, no config file was found in the current workspace."});var oe=r._default(r.record(r.string(),r.any()),{});n.add(oe,{description:"Configuration of each used extension"});var So=r.object({$schema:Xe,extends:Ee,name:qe,variant:We,namespace:Qe,organization:eo,repository:oo,license:ro,homepage:to,docs:so,portal:no,licensing:ao,contact:io,support:co,branch:po,preid:lo,owner:mo,bot:Ce,release:$e,socials:ye,error:Be,mode:uo,workspaceRoot:go,skipCache:fo,directories:Fe,packageManager:ho,timezone:Eo,locale:Ro,logLevel:To,skipConfigLogging:Co,registry:fe,configFile:vo,colors:r.union([ee,he]),extensions:oe});n.add(oe,{description:"Storm Workspace config values used during various dev-ops processes. This type is a combination of the StormPackageConfig and StormProject types. It represents the config of the entire monorepo."});async function ko(e){let o=me,t,s,a,i,c,p=T(e);if(existsSync(join(p,"package.json"))){let u=await readFile(C(p,"package.json"),"utf8");if(u){let h=JSON.parse(u);h.name&&(a=h.name),h.namespace&&(i=h.namespace),h.repository&&(typeof h.repository=="string"?c=h.repository:h.repository.url&&(c=h.repository.url)),h.license&&(o=h.license),h.homepage&&(t=h.homepage),h.bugs&&(typeof h.bugs=="string"?s=h.bugs:h.bugs.url&&(s=h.bugs.url));}}return {workspaceRoot:p,name:a,namespace:i,repository:c,license:o,homepage:t,support:s}}function Oo(e){return !e.support&&e.contact&&(e.support=e.contact),!e.contact&&e.support&&(e.contact=e.support),e.homepage&&(e.docs||(e.docs=`${e.homepage}/docs`),e.license||(e.license=`${e.homepage}/license`),e.support||(e.support=`${e.homepage}/support`),e.contact||(e.contact=`${e.homepage}/contact`),(!e.error?.codesFile||!e?.error?.url)&&(e.error??={codesFile:b},e.homepage&&(e.error.url??=`${e.homepage}/errors`))),e}var $o=async(e,o,t={})=>{let s=o||T(o),a=await Promise.all([loadConfig({cwd:s,packageJson:true,name:e,envName:e?.toUpperCase(),jitiOptions:{debug:false,fsCache:process.env.STORM_SKIP_CACHE==="true"?false:C(process.env.STORM_CACHE_DIR||"node_modules/.cache/storm","jiti")},...t}),loadConfig({cwd:s,packageJson:true,name:e,envName:e?.toUpperCase(),jitiOptions:{debug:false,fsCache:process.env.STORM_SKIP_CACHE==="true"?false:C(process.env.STORM_CACHE_DIR||"node_modules/.cache/storm","jiti")},configFile:e,...t})]);return _o(a[0]??{},a[1]??{})},Lo=async(e,o=[])=>{let t=e||T(e),s=await $o("storm-workspace",t),a=s.config,i=s.configFile;if(a&&i&&Object.keys(a).length>0&&!a.skipConfigLogging&&A(`Found Storm configuration file "${i.includes(`${t}/`)?i.replace(`${t}/`,""):i}" at "${t}"`,{logLevel:"all"}),o&&o.length>0){let c=await Promise.all(o.map(p=>$o(p,t)));for(let p of c)p?.config&&p?.configFile&&Object.keys(p.config).length>0&&(!a.skipConfigLogging&&!p.config.skipConfigLogging&&A(`Found alternative configuration file "${p.configFile.includes(`${t}/`)?p.configFile.replace(`${t}/`,""):p.configFile}" at "${t}"`,{logLevel:"all"}),a=_o(p.config??{},a??{}));}if(!(!a||Object.keys(a).length===0))return a.configFile=i,a};var bo=()=>{let e="STORM_",o={extends:process.env[`${e}EXTENDS`]||void 0,name:process.env[`${e}NAME`]||void 0,variant:process.env[`${e}VARIANT`]||void 0,namespace:process.env[`${e}NAMESPACE`]||void 0,owner:process.env[`${e}OWNER`]||void 0,bot:{name:process.env[`${e}BOT_NAME`]||void 0,email:process.env[`${e}BOT_EMAIL`]||void 0},release:{banner:{url:process.env[`${e}RELEASE_BANNER_URL`]||void 0,alt:process.env[`${e}RELEASE_BANNER_ALT`]||void 0},header:process.env[`${e}RELEASE_HEADER`]||void 0,footer:process.env[`${e}RELEASE_FOOTER`]||void 0},error:{codesFile:process.env[`${e}ERROR_CODES_FILE`]||void 0,url:process.env[`${e}ERROR_URL`]||void 0},socials:{twitter:process.env[`${e}SOCIAL_TWITTER`]||void 0,discord:process.env[`${e}SOCIAL_DISCORD`]||void 0,telegram:process.env[`${e}SOCIAL_TELEGRAM`]||void 0,slack:process.env[`${e}SOCIAL_SLACK`]||void 0,medium:process.env[`${e}SOCIAL_MEDIUM`]||void 0,github:process.env[`${e}SOCIAL_GITHUB`]||void 0},organization:process.env[`${e}ORG`]||process.env[`${e}ORGANIZATION`]||process.env[`${e}ORG_NAME`]||process.env[`${e}ORGANIZATION_NAME`]?process.env[`${e}ORG_DESCRIPTION`]||process.env[`${e}ORGANIZATION_DESCRIPTION`]||process.env[`${e}ORG_URL`]||process.env[`${e}ORGANIZATION_URL`]||process.env[`${e}ORG_LOGO`]||process.env[`${e}ORGANIZATION_LOGO`]?{name:process.env[`${e}ORG`]||process.env[`${e}ORGANIZATION`]||process.env[`${e}ORG_NAME`]||process.env[`${e}ORGANIZATION_NAME`],description:process.env[`${e}ORG_DESCRIPTION`]||process.env[`${e}ORGANIZATION_DESCRIPTION`]||void 0,url:process.env[`${e}ORG_URL`]||process.env[`${e}ORGANIZATION_URL`]||void 0,logo:process.env[`${e}ORG_LOGO`]||process.env[`${e}ORGANIZATION_LOGO`]||void 0,icon:process.env[`${e}ORG_ICON`]||process.env[`${e}ORGANIZATION_ICON`]||void 0}:process.env[`${e}ORG`]||process.env[`${e}ORGANIZATION`]||process.env[`${e}ORG_NAME`]||process.env[`${e}ORGANIZATION_NAME`]:void 0,packageManager:process.env[`${e}PACKAGE_MANAGER`]||void 0,license:process.env[`${e}LICENSE`]||void 0,homepage:process.env[`${e}HOMEPAGE`]||void 0,docs:process.env[`${e}DOCS`]||void 0,portal:process.env[`${e}PORTAL`]||void 0,licensing:process.env[`${e}LICENSING`]||void 0,contact:process.env[`${e}CONTACT`]||void 0,support:process.env[`${e}SUPPORT`]||void 0,timezone:process.env[`${e}TIMEZONE`]||process.env.TZ||void 0,locale:process.env[`${e}LOCALE`]||process.env.LOCALE||void 0,configFile:process.env[`${e}WORKSPACE_CONFIG_FILE`]?m(process.env[`${e}WORKSPACE_CONFIG_FILE`]):void 0,workspaceRoot:process.env[`${e}WORKSPACE_ROOT`]?m(process.env[`${e}WORKSPACE_ROOT`]):void 0,directories:{cache:process.env[`${e}CACHE_DIR`]?m(process.env[`${e}CACHE_DIR`]):process.env[`${e}CACHE_DIRECTORY`]?m(process.env[`${e}CACHE_DIRECTORY`]):void 0,data:process.env[`${e}DATA_DIR`]?m(process.env[`${e}DATA_DIR`]):process.env[`${e}DATA_DIRECTORY`]?m(process.env[`${e}DATA_DIRECTORY`]):void 0,config:process.env[`${e}CONFIG_DIR`]?m(process.env[`${e}CONFIG_DIR`]):process.env[`${e}CONFIG_DIRECTORY`]?m(process.env[`${e}CONFIG_DIRECTORY`]):void 0,temp:process.env[`${e}TEMP_DIR`]?m(process.env[`${e}TEMP_DIR`]):process.env[`${e}TEMP_DIRECTORY`]?m(process.env[`${e}TEMP_DIRECTORY`]):void 0,log:process.env[`${e}LOG_DIR`]?m(process.env[`${e}LOG_DIR`]):process.env[`${e}LOG_DIRECTORY`]?m(process.env[`${e}LOG_DIRECTORY`]):void 0,build:process.env[`${e}BUILD_DIR`]?m(process.env[`${e}BUILD_DIR`]):process.env[`${e}BUILD_DIRECTORY`]?m(process.env[`${e}BUILD_DIRECTORY`]):void 0},skipCache:process.env[`${e}SKIP_CACHE`]!==void 0?!!process.env[`${e}SKIP_CACHE`]:void 0,mode:(process.env[`${e}MODE`]??process.env.NODE_ENV??process.env.ENVIRONMENT)||void 0,repository:process.env[`${e}REPOSITORY`]||void 0,branch:process.env[`${e}BRANCH`]||void 0,preid:process.env[`${e}PRE_ID`]||void 0,registry:{github:process.env[`${e}REGISTRY_GITHUB`]||void 0,npm:process.env[`${e}REGISTRY_NPM`]||void 0,cargo:process.env[`${e}REGISTRY_CARGO`]||void 0,cyclone:process.env[`${e}REGISTRY_CYCLONE`]||void 0,container:process.env[`${e}REGISTRY_CONTAINER`]||void 0},logLevel:process.env[`${e}LOG_LEVEL`]!==null&&process.env[`${e}LOG_LEVEL`]!==void 0?process.env[`${e}LOG_LEVEL`]&&Number.isSafeInteger(Number.parseInt(process.env[`${e}LOG_LEVEL`]))?ne(Number.parseInt(process.env[`${e}LOG_LEVEL`])):process.env[`${e}LOG_LEVEL`]:void 0,skipConfigLogging:process.env[`${e}SKIP_CONFIG_LOGGING`]!==void 0?!!process.env[`${e}SKIP_CONFIG_LOGGING`]:void 0},t=Object.keys(process.env).filter(a=>a.startsWith(`${e}COLOR_`)&&ge.every(i=>!a.startsWith(`${e}COLOR_LIGHT_${i}`)&&!a.startsWith(`${e}COLOR_DARK_${i}`)));o.colors=t.length>0?t.reduce((a,i)=>(a[i]=Io(e,i),a),{}):Io(e),o.docs===de&&(o.homepage===I?o.docs=`${I}/projects/${o.name}/docs`:o.docs=`${o.homepage}/docs`),o.licensing===le&&(o.homepage===I?o.licensing=`${I}/projects/${o.name}/licensing`:o.licensing=`${o.homepage}/docs`);let s=process.env[`${e}WORKSPACE_CONFIG`];if(s){let a=JSON.parse(s);o={...o,...a,colors:{...o.colors,...a.colors},extensions:{...o.extensions,...a.extensions}};}return o},Io=(e,o)=>{let t=`COLOR_${o&&o!=="base"?`${o}_`:""}`.toUpperCase();return process.env[`${e}${t}LIGHT_BRAND`]||process.env[`${e}${t}DARK_BRAND`]?dr(e+t):pr(e+t)},pr=e=>{let o=[];if(process.env[`${e}GRADIENT_START`]&&process.env[`${e}GRADIENT_END`])o.push(process.env[`${e}GRADIENT_START`],process.env[`${e}GRADIENT_END`]);else if(process.env[`${e}GRADIENT_0`]||process.env[`${e}GRADIENT_1`]){let t=process.env[`${e}GRADIENT_0`]?0:1;for(;process.env[`${e}GRADIENT_${t}`];)o.push(process.env[`${e}GRADIENT_${t}`]),t++;}return {dark:process.env[`${e}DARK`],light:process.env[`${e}LIGHT`],brand:process.env[`${e}BRAND`],alternate:process.env[`${e}ALTERNATE`],accent:process.env[`${e}ACCENT`],link:process.env[`${e}LINK`],discovery:process.env[`${e}DISCOVERY`],success:process.env[`${e}SUCCESS`],info:process.env[`${e}INFO`],debug:process.env[`${e}DEBUG`],warning:process.env[`${e}WARNING`],danger:process.env[`${e}DANGER`],fatal:process.env[`${e}FATAL`],performance:process.env[`${e}PERFORMANCE`],positive:process.env[`${e}POSITIVE`],negative:process.env[`${e}NEGATIVE`],gradient:o}},dr=e=>({light:No(`${e}_LIGHT_`),dark:No(`${e}_DARK_`)}),No=e=>{let o=[];if(process.env[`${e}GRADIENT_START`]&&process.env[`${e}GRADIENT_END`])o.push(process.env[`${e}GRADIENT_START`],process.env[`${e}GRADIENT_END`]);else if(process.env[`${e}GRADIENT_0`]||process.env[`${e}GRADIENT_1`]){let t=process.env[`${e}GRADIENT_0`]?0:1;for(;process.env[`${e}GRADIENT_${t}`];)o.push(process.env[`${e}GRADIENT_${t}`]),t++;}return {foreground:process.env[`${e}FOREGROUND`],background:process.env[`${e}BACKGROUND`],brand:process.env[`${e}BRAND`],alternate:process.env[`${e}ALTERNATE`],accent:process.env[`${e}ACCENT`],link:process.env[`${e}LINK`],discovery:process.env[`${e}DISCOVERY`],success:process.env[`${e}SUCCESS`],info:process.env[`${e}INFO`],debug:process.env[`${e}DEBUG`],warning:process.env[`${e}WARNING`],danger:process.env[`${e}DANGER`],fatal:process.env[`${e}FATAL`],performance:process.env[`${e}PERFORMANCE`],positive:process.env[`${e}POSITIVE`],negative:process.env[`${e}NEGATIVE`],gradient:o}};var lr=(e,o)=>{for(let t of Object.keys(o??{}))if(o[t]){let s=t?.replace(/([A-Z])+/g,i=>i?i[0]?.toUpperCase()+i.slice(1):"").split(/(?=[A-Z])|[.\-\s_]/).map(i=>i.toLowerCase())??[],a;if(s.length===0)return;s.length===1?a=s[0]?.toUpperCase()??"":a=s.reduce((i,c)=>`${i}_${c.toLowerCase()}`),process.env[`STORM_EXTENSION_${e.toUpperCase()}_${a.toUpperCase()}`]=o[t];}},xo=e=>{let o="STORM_";if(e.extends&&(process.env[`${o}EXTENDS`]=Array.isArray(e.extends)?JSON.stringify(e.extends):e.extends),e.name&&(process.env[`${o}NAME`]=e.name),e.variant&&(process.env[`${o}VARIANT`]=e.variant),e.namespace&&(process.env[`${o}NAMESPACE`]=e.namespace),e.owner&&(process.env[`${o}OWNER`]=e.owner),e.bot&&(process.env[`${o}BOT_NAME`]=e.bot.name,process.env[`${o}BOT_EMAIL`]=e.bot.email),e.error&&(process.env[`${o}ERROR_CODES_FILE`]=e.error.codesFile,process.env[`${o}ERROR_URL`]=e.error.url),e.release&&(e.release.banner&&(typeof e.release.banner=="string"?(process.env[`${o}RELEASE_BANNER`]=e.release.banner,process.env[`${o}RELEASE_BANNER_URL`]=e.release.banner):(process.env[`${o}RELEASE_BANNER`]=e.release.banner.url,process.env[`${o}RELEASE_BANNER_URL`]=e.release.banner.url,process.env[`${o}RELEASE_BANNER_ALT`]=e.release.banner.alt)),process.env[`${o}RELEASE_HEADER`]=e.release.header,process.env[`${o}RELEASE_FOOTER`]=e.release.footer),e.socials&&(e.socials.twitter&&(process.env[`${o}SOCIAL_TWITTER`]=e.socials.twitter),e.socials.discord&&(process.env[`${o}SOCIAL_DISCORD`]=e.socials.discord),e.socials.telegram&&(process.env[`${o}SOCIAL_TELEGRAM`]=e.socials.telegram),e.socials.slack&&(process.env[`${o}SOCIAL_SLACK`]=e.socials.slack),e.socials.medium&&(process.env[`${o}SOCIAL_MEDIUM`]=e.socials.medium),e.socials.github&&(process.env[`${o}SOCIAL_GITHUB`]=e.socials.github)),e.organization&&(typeof e.organization=="string"?(process.env[`${o}ORG`]=e.organization,process.env[`${o}ORG_NAME`]=e.organization,process.env[`${o}ORGANIZATION`]=e.organization,process.env[`${o}ORGANIZATION_NAME`]=e.organization):(process.env[`${o}ORG`]=e.organization.name,process.env[`${o}ORG_NAME`]=e.organization.name,process.env[`${o}ORGANIZATION`]=e.organization.name,process.env[`${o}ORGANIZATION_NAME`]=e.organization.name,e.organization.url&&(process.env[`${o}ORG_URL`]=e.organization.url,process.env[`${o}ORGANIZATION_URL`]=e.organization.url),e.organization.description&&(process.env[`${o}ORG_DESCRIPTION`]=e.organization.description,process.env[`${o}ORGANIZATION_DESCRIPTION`]=e.organization.description),e.organization.logo&&(process.env[`${o}ORG_LOGO`]=e.organization.logo,process.env[`${o}ORGANIZATION_LOGO`]=e.organization.logo),e.organization.icon&&(process.env[`${o}ORG_ICON`]=e.organization.icon,process.env[`${o}ORGANIZATION_ICON`]=e.organization.icon))),e.packageManager&&(process.env[`${o}PACKAGE_MANAGER`]=e.packageManager),e.license&&(process.env[`${o}LICENSE`]=e.license),e.homepage&&(process.env[`${o}HOMEPAGE`]=e.homepage),e.docs&&(process.env[`${o}DOCS`]=e.docs),e.portal&&(process.env[`${o}PORTAL`]=e.portal),e.licensing&&(process.env[`${o}LICENSING`]=e.licensing),e.contact&&(process.env[`${o}CONTACT`]=e.contact),e.support&&(process.env[`${o}SUPPORT`]=e.support),e.timezone&&(process.env[`${o}TIMEZONE`]=e.timezone,process.env.TZ=e.timezone,process.env.DEFAULT_TIMEZONE=e.timezone,process.env.TIMEZONE=e.timezone),e.locale&&(process.env[`${o}LOCALE`]=e.locale,process.env.DEFAULT_LOCALE=e.locale,process.env.LOCALE=e.locale,process.env.LANG=e.locale?`${e.locale.replaceAll("-","_")}.UTF-8`:"en_US.UTF-8"),e.configFile&&(process.env[`${o}WORKSPACE_CONFIG_FILE`]=m(e.configFile)),e.workspaceRoot&&(process.env[`${o}WORKSPACE_ROOT`]=m(e.workspaceRoot),process.env.NX_WORKSPACE_ROOT=m(e.workspaceRoot),process.env.NX_WORKSPACE_ROOT_PATH=m(e.workspaceRoot)),e.directories&&(!e.skipCache&&e.directories.cache&&(process.env[`${o}CACHE_DIR`]=m(e.directories.cache),process.env[`${o}CACHE_DIRECTORY`]=process.env[`${o}CACHE_DIR`]),e.directories.data&&(process.env[`${o}DATA_DIR`]=m(e.directories.data),process.env[`${o}DATA_DIRECTORY`]=process.env[`${o}DATA_DIR`]),e.directories.config&&(process.env[`${o}CONFIG_DIR`]=m(e.directories.config),process.env[`${o}CONFIG_DIRECTORY`]=process.env[`${o}CONFIG_DIR`]),e.directories.temp&&(process.env[`${o}TEMP_DIR`]=m(e.directories.temp),process.env[`${o}TEMP_DIRECTORY`]=process.env[`${o}TEMP_DIR`]),e.directories.log&&(process.env[`${o}LOG_DIR`]=m(e.directories.log),process.env[`${o}LOG_DIRECTORY`]=process.env[`${o}LOG_DIR`]),e.directories.build&&(process.env[`${o}BUILD_DIR`]=m(e.directories.build),process.env[`${o}BUILD_DIRECTORY`]=process.env[`${o}BUILD_DIR`])),e.skipCache!==void 0&&(process.env[`${o}SKIP_CACHE`]=String(e.skipCache),e.skipCache&&(process.env.NX_SKIP_NX_CACHE??=String(e.skipCache),process.env.NX_CACHE_PROJECT_GRAPH??=String(e.skipCache))),e.mode&&(process.env[`${o}MODE`]=e.mode,process.env.NODE_ENV=e.mode,process.env.ENVIRONMENT=e.mode),e.colors?.base?.light||e.colors?.base?.dark)for(let t of Object.keys(e.colors))yo(`${o}COLOR_${t}_`,e.colors[t]);else yo(`${o}COLOR_`,e.colors);e.repository&&(process.env[`${o}REPOSITORY`]=e.repository),e.branch&&(process.env[`${o}BRANCH`]=e.branch),e.preid&&(process.env[`${o}PRE_ID`]=String(e.preid)),e.registry&&(e.registry.github&&(process.env[`${o}REGISTRY_GITHUB`]=String(e.registry.github)),e.registry.npm&&(process.env[`${o}REGISTRY_NPM`]=String(e.registry.npm)),e.registry.cargo&&(process.env[`${o}REGISTRY_CARGO`]=String(e.registry.cargo)),e.registry.cyclone&&(process.env[`${o}REGISTRY_CYCLONE`]=String(e.registry.cyclone)),e.registry.container&&(process.env[`${o}REGISTRY_CONTAINER`]=String(e.registry.container))),e.logLevel&&(process.env[`${o}LOG_LEVEL`]=String(e.logLevel),process.env.LOG_LEVEL=String(e.logLevel),process.env.NX_VERBOSE_LOGGING=String($(e.logLevel)>=d.DEBUG),process.env.RUST_BACKTRACE=$(e.logLevel)>=d.DEBUG?"full":"none"),e.skipConfigLogging!==void 0&&(process.env[`${o}SKIP_CONFIG_LOGGING`]=String(e.skipConfigLogging)),process.env[`${o}WORKSPACE_CONFIG`]=JSON.stringify(e);for(let t of Object.keys(e.extensions??{}))e.extensions[t]&&Object.keys(e.extensions[t])&&lr(t,e.extensions[t]);},yo=(e,o)=>o?.light?.brand||o?.dark?.brand?ur(e,o):mr(e,o),mr=(e,o)=>{if(o.dark&&(process.env[`${e}DARK`]=o.dark),o.light&&(process.env[`${e}LIGHT`]=o.light),o.brand&&(process.env[`${e}BRAND`]=o.brand),o.alternate&&(process.env[`${e}ALTERNATE`]=o.alternate),o.accent&&(process.env[`${e}ACCENT`]=o.accent),o.link&&(process.env[`${e}LINK`]=o.link),o.discovery&&(process.env[`${e}DISCOVERY`]=o.discovery),o.success&&(process.env[`${e}SUCCESS`]=o.success),o.info&&(process.env[`${e}INFO`]=o.info),o.debug&&(process.env[`${e}DEBUG`]=o.debug),o.warning&&(process.env[`${e}WARNING`]=o.warning),o.danger&&(process.env[`${e}DANGER`]=o.danger),o.fatal&&(process.env[`${e}FATAL`]=o.fatal),o.performance&&(process.env[`${e}PERFORMANCE`]=o.performance),o.positive&&(process.env[`${e}POSITIVE`]=o.positive),o.negative&&(process.env[`${e}NEGATIVE`]=o.negative),o.gradient)for(let t=0;t<o.gradient.length;t++)process.env[`${e}GRADIENT_${t}`]=o.gradient[t];},ur=(e,o)=>({light:zo(`${e}LIGHT_`,o.light),dark:zo(`${e}DARK_`,o.dark)}),zo=(e,o)=>{if(o.foreground&&(process.env[`${e}FOREGROUND`]=o.foreground),o.background&&(process.env[`${e}BACKGROUND`]=o.background),o.brand&&(process.env[`${e}BRAND`]=o.brand),o.alternate&&(process.env[`${e}ALTERNATE`]=o.alternate),o.accent&&(process.env[`${e}ACCENT`]=o.accent),o.link&&(process.env[`${e}LINK`]=o.link),o.discovery&&(process.env[`${e}DISCOVERY`]=o.discovery),o.success&&(process.env[`${e}SUCCESS`]=o.success),o.info&&(process.env[`${e}INFO`]=o.info),o.debug&&(process.env[`${e}DEBUG`]=o.debug),o.warning&&(process.env[`${e}WARNING`]=o.warning),o.danger&&(process.env[`${e}DANGER`]=o.danger),o.fatal&&(process.env[`${e}FATAL`]=o.fatal),o.performance&&(process.env[`${e}PERFORMANCE`]=o.performance),o.positive&&(process.env[`${e}POSITIVE`]=o.positive),o.negative&&(process.env[`${e}NEGATIVE`]=o.negative),o.gradient)for(let t=0;t<o.gradient.length;t++)process.env[`${e}GRADIENT_${t}`]=o.gradient[t];};var N,fr=async(e,o,t,s=false,a=true)=>{let i;if(!N?.data||!N?.timestamp||N.timestamp<Date.now()-8e3){let c=t;c||(c=T());let p=bo(),u=await Lo(c);if(!u&&(s||ae("No Storm Workspace configuration file found in the current repository. Please ensure this is the expected behavior - you can add a `storm-workspace.json` file to the root of your workspace if it is not.\n",{logLevel:"all"}),a===false))return;let h=await ko(c),w=_o(p,u,h);w.variant||(w.variant=existsSync(C(c,"nx.json"))||existsSync(C(c,".nx"))||existsSync(C(c,"lerna.json"))||existsSync(C(c,"turbo.json"))?"monorepo":"minimal");try{let L=await Promise.resolve(So._zod.parse({value:w,issues:[]},{async:!0}));i=Oo(L.value),i.workspaceRoot??=c;}catch(L){throw new Error(`Failed to parse Storm Workspace configuration${L?.message?`: ${L.message}`:""}
26
+ Path: ${e||process.cwd()}`);return o}var de="https://docs.stormsoftware.com",I="https://stormsoftware.com";var le="https://stormsoftware.com/license",me="Apache-2.0";var y="tools/errors/codes.json",ue="The workspace's banner image",ge=["dark","light","base","brand","alternate","accent","link","success","discovery","info","warning","danger","fatal","performance","positive","negative"];var t=r.registry(),E=r.string().check(r.length(7),r.toLowerCase(),r.regex(/^#([0-9a-f]{3}){1,2}$/i),r.trim());t.add(E,{description:"A base schema for describing the format of colors"});var w=r._default(E,"#1e2124");t.add(w,{description:"The dark background color of the workspace"});var z=r._default(E,"#cbd5e1");t.add(z,{description:"The light background color of the workspace"});var D=r._default(E,"#1fb2a6");t.add(D,{description:"The primary brand specific color of the workspace"});var x=r.optional(E);t.add(x,{description:"The alternate brand specific color of the workspace"});var G=r.optional(E);t.add(G,{description:"The secondary brand specific color of the workspace"});var P=r._default(E,"#3fa6ff");t.add(P,{description:"The color used to display hyperlink text"});var M=r._default(E,"#818cf8");t.add(M,{description:"The second brand specific color of the workspace"});var F=r._default(E,"#45b27e");t.add(F,{description:"The success color of the workspace"});var U=r._default(E,"#38bdf8");t.add(U,{description:"The informational color of the workspace"});var W=r._default(E,"#8afafc");t.add(W,{description:"The debug color of the workspace"});var B=r._default(E,"#f3d371");t.add(B,{description:"The warning color of the workspace"});var j=r._default(E,"#d8314a");t.add(j,{description:"The danger color of the workspace"});var H=r.optional(E);t.add(H,{description:"The fatal color of the workspace"});var K=r._default(E,"#80fd74");t.add(K,{description:"The performance color of the workspace"});var Y=r._default(E,"#4ade80");t.add(Y,{description:"The positive number color of the workspace"});var Z=r._default(E,"#ef4444");t.add(Z,{description:"The negative number color of the workspace"});var V=r.optional(r.array(E));t.add(V,{description:"The color stops for the base gradient color pattern used in the workspace"});var er=r.object({foreground:z,background:w,brand:D,alternate:x,accent:G,link:P,discovery:M,success:F,info:U,debug:W,warning:B,danger:j,fatal:H,performance:K,positive:Y,negative:Z,gradient:V}),or=r.object({foreground:w,background:z,brand:D,alternate:x,accent:G,link:P,discovery:M,success:F,info:U,debug:W,warning:B,danger:j,fatal:H,performance:K,positive:Y,negative:Z,gradient:V}),rr=r.object({dark:er,light:or}),sr=r.object({dark:w,light:z,brand:D,alternate:x,accent:G,link:P,discovery:M,success:F,info:U,debug:W,warning:B,danger:j,fatal:H,performance:K,positive:Y,negative:Z,gradient:V}),$=r.optional(r.url());t.add($,{description:"A remote registry URL used to publish distributable packages"});var fe=r._default(r.object({github:$,npm:$,cargo:$,cyclone:$,container:$}),{});t.add(fe,{description:"A list of remote registry URLs used by Storm Software"});var ee=r.union([sr,rr]);t.add(ee,{description:"Colors used for various workspace elements"});var he=r.record(r.union([r.union([r.literal("base"),r.string()]),r.string()]),ee);t.add(he,{description:"Storm theme config values used for styling various package elements"});var Ee=r.optional(r.union([r.string().check(r.trim()),r.array(r.string().check(r.trim()))]));t.add(Ee,{description:"The path to a base config file to use as a configuration preset file. Documentation can be found at https://github.com/unjs/c12#extending-configuration."});var Re=r.string().check(r.trim());t.add(Re,{description:"The workspace bot user's name (this is the bot that will be used to perform various tasks)"});var Te=r.string().check(r.trim());t.add(Te,{description:"The email of the workspace bot"});var Ce=r.object({name:Re,email:Te});t.add(Ce,{description:"The workspace's bot user's config used to automated various operations tasks"});var ve=r.optional(r.string().check(r.trim(),r.url()));t.add(ve,{description:"A URL to a banner image used to display the workspace's release"});var Se=r._default(r.string().check(r.trim()),ue);t.add(Se,{description:"The alt text for the workspace's release banner image"});var ke=r.object({url:ve,alt:Se});t.add(ke,{description:"The workspace's banner image used during the release process"});var Oe=r.optional(r.string().check(r.trim()));t.add(Oe,{description:"A header message appended to the start of the workspace's release notes"});var Ae=r.optional(r.string().check(r.trim()));t.add(Ae,{description:"A footer message appended to the end of the workspace's release notes"});var $e=r.object({banner:r.union([ke,r.string().check(r.trim(),r.url())]),header:Oe,footer:Ae});t.add($e,{description:"The workspace's release config used during the release process"});var _e=r.optional(r.string().check(r.trim()));t.add(_e,{description:"A Twitter/X account associated with the organization/project"});var Le=r.optional(r.string().check(r.trim()));t.add(Le,{description:"A Discord account associated with the organization/project"});var Ie=r.optional(r.string().check(r.trim()));t.add(Ie,{description:"A Telegram account associated with the organization/project"});var Ne=r.optional(r.string().check(r.trim()));t.add(Ne,{description:"A Slack account associated with the organization/project"});var be=r.optional(r.string().check(r.trim()));t.add(be,{description:"A Medium account associated with the organization/project"});var ye=r.optional(r.string().check(r.trim()));t.add(ye,{description:"A GitHub account associated with the organization/project"});var we=r.object({twitter:_e,discord:Le,telegram:Ie,slack:Ne,medium:be,github:ye});t.add(we,{description:"The workspace's account config used to store various social media links"});var ze=r.optional(r.string().check(r.trim()));t.add(ze,{description:"The directory used to store the environment's cached file data"});var De=r.optional(r.string().check(r.trim()));t.add(De,{description:"The directory used to store the environment's data files"});var xe=r.optional(r.string().check(r.trim()));t.add(xe,{description:"The directory used to store the environment's configuration files"});var Ge=r.optional(r.string().check(r.trim()));t.add(Ge,{description:"The directory used to store the environment's temp files"});var Pe=r.optional(r.string().check(r.trim()));t.add(Pe,{description:"The directory used to store the environment's log files"});var Me=r._default(r.string().check(r.trim()),"dist");t.add(Me,{description:"The directory used to store the workspace's distributable files after a build (relative to the workspace root)"});var Fe=r.object({cache:ze,data:De,config:xe,temp:Ge,log:Pe,build:Me});t.add(Fe,{description:"Various directories used by the workspace to store data, cache, and configuration files"});var Ue=r._default(r.enum(["minimal","monorepo"]),"monorepo");t.add(Ue,{description:"The variant of the workspace. This can be used to enable or disable certain features or configurations."});var We=r._default(r.string().check(r.trim()),y);t.add(We,{description:"The path to the workspace's error codes JSON file"});var Be=r.optional(r.url());t.add(Be,{description:"A URL to a page that looks up the workspace's error messages given a specific error code"});var je=r.object({codesFile:We,url:Be});t.add(je,{description:"The workspace's error config used when creating error details during a system error"});var He=r.optional(r.string().check(r.trim(),r.toLowerCase()));t.add(He,{description:"The name of the organization"});var Ke=r.optional(r.string().check(r.trim()));t.add(Ke,{description:"A description of the organization"});var Ye=r.optional(r.url());t.add(Ye,{description:"A URL to the organization's logo image"});var Ze=r.optional(r.url());t.add(Ze,{description:"A URL to the organization's icon image"});var Ve=r.optional(r.url());t.add(Ve,{description:"A URL to a page that provides more information about the organization"});var Je=r.object({name:He,description:Ke,logo:Ye,icon:Ze,url:Ve});t.add(Je,{description:"The workspace's organization details"});var Xe=r._default(r.string().check(r.trim(),r.toLowerCase()),"https://public.storm-cdn.com/schemas/storm-workspace.schema.json");t.add(Xe,{description:"The URL or file path to the JSON schema file that describes the Storm configuration file"});var qe=r.string().check(r.trim(),r.toLowerCase());t.add(qe,{description:"The name of the workspace/project/service/package/scope using this configuration"});var Qe=r.string().check(r.trim(),r.toLowerCase());t.add(Qe,{description:"The namespace of the workspace/project/service/package/scope using this configuration"});var eo=r.union([Je,r.string().check(r.trim(),r.toLowerCase())]);t.add(eo,{description:"The organization of the workspace. This can be a string or an object containing the organization's details"});var oo=r.string().check(r.trim(),r.toLowerCase());t.add(oo,{description:"The repo URL of the workspace (i.e. the GitHub repository URL)"});var ro=r._default(r.string().check(r.trim()),"Apache-2.0");t.add(ro,{description:"The license type of the package"});var so=r.optional(r.url());t.add(so,{description:"The homepage of the workspace"});var to=r.optional(r.url());t.add(to,{description:"The documentation site for the workspace"});var no=r.optional(r.url());t.add(no,{description:"The development portal site for the workspace"});var ao=r.optional(r.url());t.add(ao,{description:"The licensing site for the workspace"});var io=r.optional(r.url());t.add(io,{description:"The contact site for the workspace"});var co=r.optional(r.url());t.add(co,{description:"The support site for the workspace. If not provided, this is defaulted to the `contact` config value"});var po=r._default(r.string().check(r.trim(),r.toLowerCase()),"main");t.add(po,{description:"The branch of the workspace"});var lo=r.optional(r.string().check(r.trim(),r.toLowerCase()));t.add(lo,{description:"A tag specifying the version pre-release identifier"});var mo=r.optional(r.string().check(r.trim(),r.toLowerCase()));t.add(mo,{description:"The owner of the package"});var uo=r._default(r.enum(["development","test","production"]).check(r.trim(),r.toLowerCase()),"production");t.add(uo,{description:"The current runtime environment mode for the package"});var go=r.string().check(r.trim(),r.toLowerCase());t.add(go,{description:"The root directory of the workspace"});var fo=r._default(r.boolean(),false);t.add(fo,{description:"Should all known types of workspace caching be skipped?"});var ho=r._default(r.enum(["npm","yarn","pnpm","bun"]),"npm");t.add(ho,{description:"The JavaScript/TypeScript package manager used by the repository"});var Eo=r._default(r.string().check(r.trim()),"America/New_York");t.add(Eo,{description:"The default timezone of the workspace"});var Ro=r._default(r.string().check(r.trim()),"en-US");t.add(Ro,{description:"The default locale of the workspace"});var To=r._default(r.enum(["silent","fatal","error","warn","success","info","performance","debug","trace","all"]),"info");t.add(To,{description:"The log level used to filter out lower priority log messages. If not provided, this is defaulted using the `environment` config value (if `environment` is set to `production` then `level` is `error`, else `level` is `debug`)."});var Co=r._default(r.boolean(),true);t.add(Co,{description:"Should the logging of the current Storm Workspace configuration be skipped?"});var vo=r._default(r.nullable(r.string().check(r.trim())),null);t.add(vo,{description:"The filepath of the Storm config. When this field is null, no config file was found in the current workspace."});var oe=r._default(r.record(r.string(),r.any()),{});t.add(oe,{description:"Configuration of each used extension"});var So=r.object({$schema:Xe,extends:Ee,name:qe,variant:Ue,namespace:Qe,organization:eo,repository:oo,license:ro,homepage:so,docs:to,portal:no,licensing:ao,contact:io,support:co,branch:po,preid:lo,owner:mo,bot:Ce,release:$e,socials:we,error:je,mode:uo,workspaceRoot:go,skipCache:fo,directories:Fe,packageManager:ho,timezone:Eo,locale:Ro,logLevel:To,skipConfigLogging:Co,registry:fe,configFile:vo,colors:r.union([ee,he]),extensions:oe});t.add(oe,{description:"Storm Workspace config values used during various dev-ops processes. This type is a combination of the StormPackageConfig and StormProject types. It represents the config of the entire monorepo."});async function ko(e){let o=me,s,n,a,i,c,p=O(e);if(existsSync(join(p,"package.json"))){let u=await readFile(S(p,"package.json"),"utf8");if(u){let g=JSON.parse(u);g.name&&(a=g.name),g.namespace&&(i=g.namespace),g.repository&&(typeof g.repository=="string"?c=g.repository:g.repository.url&&(c=g.repository.url)),g.license&&(o=g.license),g.homepage&&(s=g.homepage),g.bugs&&(typeof g.bugs=="string"?n=g.bugs:g.bugs.url&&(n=g.bugs.url));}}return {workspaceRoot:p,name:a,namespace:i,repository:c,license:o,homepage:s,support:n}}function Oo(e){return !e.support&&e.contact&&(e.support=e.contact),!e.contact&&e.support&&(e.contact=e.support),e.homepage&&(e.docs||(e.docs=`${e.homepage}/docs`),e.license||(e.license=`${e.homepage}/license`),e.support||(e.support=`${e.homepage}/support`),e.contact||(e.contact=`${e.homepage}/contact`),(!e.error?.codesFile||!e?.error?.url)&&(e.error??={codesFile:y},e.homepage&&(e.error.url??=`${e.homepage}/errors`))),e}var $o=async(e,o,s={})=>{let n=o||O(o),a=await Promise.all([loadConfig({cwd:n,packageJson:true,name:e,envName:e?.toUpperCase(),jitiOptions:{debug:false,fsCache:process.env.STORM_SKIP_CACHE==="true"?false:S(process.env.STORM_CACHE_DIR||"node_modules/.cache/storm","jiti")},...s}),loadConfig({cwd:n,packageJson:true,name:e,envName:e?.toUpperCase(),jitiOptions:{debug:false,fsCache:process.env.STORM_SKIP_CACHE==="true"?false:S(process.env.STORM_CACHE_DIR||"node_modules/.cache/storm","jiti")},configFile:e,...s})]);return _o(a[0]??{},a[1]??{})},Lo=async(e,o=[])=>{let s=e||O(e),n=await $o("storm-workspace",s),a=n.config,i=n.configFile;if(a&&i&&Object.keys(a).length>0&&!a.skipConfigLogging&&L(`Found Storm configuration file "${i.includes(`${s}/`)?i.replace(`${s}/`,""):i}" at "${s}"`,{logLevel:"all"}),o&&o.length>0){let c=await Promise.all(o.map(p=>$o(p,s)));for(let p of c)p?.config&&p?.configFile&&Object.keys(p.config).length>0&&(!a.skipConfigLogging&&!p.config.skipConfigLogging&&L(`Found alternative configuration file "${p.configFile.includes(`${s}/`)?p.configFile.replace(`${s}/`,""):p.configFile}" at "${s}"`,{logLevel:"all"}),a=_o(p.config??{},a??{}));}if(!(!a||Object.keys(a).length===0))return a.configFile=i,a};var yo=()=>{let e="STORM_",o={extends:process.env[`${e}EXTENDS`]||void 0,name:process.env[`${e}NAME`]||void 0,variant:process.env[`${e}VARIANT`]||void 0,namespace:process.env[`${e}NAMESPACE`]||void 0,owner:process.env[`${e}OWNER`]||void 0,bot:{name:process.env[`${e}BOT_NAME`]||void 0,email:process.env[`${e}BOT_EMAIL`]||void 0},release:{banner:{url:process.env[`${e}RELEASE_BANNER_URL`]||void 0,alt:process.env[`${e}RELEASE_BANNER_ALT`]||void 0},header:process.env[`${e}RELEASE_HEADER`]||void 0,footer:process.env[`${e}RELEASE_FOOTER`]||void 0},error:{codesFile:process.env[`${e}ERROR_CODES_FILE`]||void 0,url:process.env[`${e}ERROR_URL`]||void 0},socials:{twitter:process.env[`${e}SOCIAL_TWITTER`]||void 0,discord:process.env[`${e}SOCIAL_DISCORD`]||void 0,telegram:process.env[`${e}SOCIAL_TELEGRAM`]||void 0,slack:process.env[`${e}SOCIAL_SLACK`]||void 0,medium:process.env[`${e}SOCIAL_MEDIUM`]||void 0,github:process.env[`${e}SOCIAL_GITHUB`]||void 0},organization:process.env[`${e}ORG`]||process.env[`${e}ORGANIZATION`]||process.env[`${e}ORG_NAME`]||process.env[`${e}ORGANIZATION_NAME`]?process.env[`${e}ORG_DESCRIPTION`]||process.env[`${e}ORGANIZATION_DESCRIPTION`]||process.env[`${e}ORG_URL`]||process.env[`${e}ORGANIZATION_URL`]||process.env[`${e}ORG_LOGO`]||process.env[`${e}ORGANIZATION_LOGO`]?{name:process.env[`${e}ORG`]||process.env[`${e}ORGANIZATION`]||process.env[`${e}ORG_NAME`]||process.env[`${e}ORGANIZATION_NAME`],description:process.env[`${e}ORG_DESCRIPTION`]||process.env[`${e}ORGANIZATION_DESCRIPTION`]||void 0,url:process.env[`${e}ORG_URL`]||process.env[`${e}ORGANIZATION_URL`]||void 0,logo:process.env[`${e}ORG_LOGO`]||process.env[`${e}ORGANIZATION_LOGO`]||void 0,icon:process.env[`${e}ORG_ICON`]||process.env[`${e}ORGANIZATION_ICON`]||void 0}:process.env[`${e}ORG`]||process.env[`${e}ORGANIZATION`]||process.env[`${e}ORG_NAME`]||process.env[`${e}ORGANIZATION_NAME`]:void 0,packageManager:process.env[`${e}PACKAGE_MANAGER`]||void 0,license:process.env[`${e}LICENSE`]||void 0,homepage:process.env[`${e}HOMEPAGE`]||void 0,docs:process.env[`${e}DOCS`]||void 0,portal:process.env[`${e}PORTAL`]||void 0,licensing:process.env[`${e}LICENSING`]||void 0,contact:process.env[`${e}CONTACT`]||void 0,support:process.env[`${e}SUPPORT`]||void 0,timezone:process.env[`${e}TIMEZONE`]||process.env.TZ||void 0,locale:process.env[`${e}LOCALE`]||process.env.LOCALE||void 0,configFile:process.env[`${e}WORKSPACE_CONFIG_FILE`]?m(process.env[`${e}WORKSPACE_CONFIG_FILE`]):void 0,workspaceRoot:process.env[`${e}WORKSPACE_ROOT`]?m(process.env[`${e}WORKSPACE_ROOT`]):void 0,directories:{cache:process.env[`${e}CACHE_DIR`]?m(process.env[`${e}CACHE_DIR`]):process.env[`${e}CACHE_DIRECTORY`]?m(process.env[`${e}CACHE_DIRECTORY`]):void 0,data:process.env[`${e}DATA_DIR`]?m(process.env[`${e}DATA_DIR`]):process.env[`${e}DATA_DIRECTORY`]?m(process.env[`${e}DATA_DIRECTORY`]):void 0,config:process.env[`${e}CONFIG_DIR`]?m(process.env[`${e}CONFIG_DIR`]):process.env[`${e}CONFIG_DIRECTORY`]?m(process.env[`${e}CONFIG_DIRECTORY`]):void 0,temp:process.env[`${e}TEMP_DIR`]?m(process.env[`${e}TEMP_DIR`]):process.env[`${e}TEMP_DIRECTORY`]?m(process.env[`${e}TEMP_DIRECTORY`]):void 0,log:process.env[`${e}LOG_DIR`]?m(process.env[`${e}LOG_DIR`]):process.env[`${e}LOG_DIRECTORY`]?m(process.env[`${e}LOG_DIRECTORY`]):void 0,build:process.env[`${e}BUILD_DIR`]?m(process.env[`${e}BUILD_DIR`]):process.env[`${e}BUILD_DIRECTORY`]?m(process.env[`${e}BUILD_DIRECTORY`]):void 0},skipCache:process.env[`${e}SKIP_CACHE`]!==void 0?!!process.env[`${e}SKIP_CACHE`]:void 0,mode:(process.env[`${e}MODE`]??process.env.NODE_ENV??process.env.ENVIRONMENT)||void 0,repository:process.env[`${e}REPOSITORY`]||void 0,branch:process.env[`${e}BRANCH`]||void 0,preid:process.env[`${e}PRE_ID`]||void 0,registry:{github:process.env[`${e}REGISTRY_GITHUB`]||void 0,npm:process.env[`${e}REGISTRY_NPM`]||void 0,cargo:process.env[`${e}REGISTRY_CARGO`]||void 0,cyclone:process.env[`${e}REGISTRY_CYCLONE`]||void 0,container:process.env[`${e}REGISTRY_CONTAINER`]||void 0},logLevel:process.env[`${e}LOG_LEVEL`]!==null&&process.env[`${e}LOG_LEVEL`]!==void 0?process.env[`${e}LOG_LEVEL`]&&Number.isSafeInteger(Number.parseInt(process.env[`${e}LOG_LEVEL`]))?ne(Number.parseInt(process.env[`${e}LOG_LEVEL`])):process.env[`${e}LOG_LEVEL`]:void 0,skipConfigLogging:process.env[`${e}SKIP_CONFIG_LOGGING`]!==void 0?!!process.env[`${e}SKIP_CONFIG_LOGGING`]:void 0},s=Object.keys(process.env).filter(a=>a.startsWith(`${e}COLOR_`)&&ge.every(i=>!a.startsWith(`${e}COLOR_LIGHT_${i}`)&&!a.startsWith(`${e}COLOR_DARK_${i}`)));o.colors=s.length>0?s.reduce((a,i)=>(a[i]=Io(e,i),a),{}):Io(e),o.docs===de&&(o.homepage===I?o.docs=`${I}/projects/${o.name}/docs`:o.docs=`${o.homepage}/docs`),o.licensing===le&&(o.homepage===I?o.licensing=`${I}/projects/${o.name}/licensing`:o.licensing=`${o.homepage}/docs`);let n=process.env[`${e}WORKSPACE_CONFIG`];if(n){let a=JSON.parse(n);o={...o,...a,colors:{...o.colors,...a.colors},extensions:{...o.extensions,...a.extensions}};}return o},Io=(e,o)=>{let s=`COLOR_${o&&o!=="base"?`${o}_`:""}`.toUpperCase();return process.env[`${e}${s}LIGHT_BRAND`]||process.env[`${e}${s}DARK_BRAND`]?cr(e+s):ir(e+s)},ir=e=>{let o=[];if(process.env[`${e}GRADIENT_START`]&&process.env[`${e}GRADIENT_END`])o.push(process.env[`${e}GRADIENT_START`],process.env[`${e}GRADIENT_END`]);else if(process.env[`${e}GRADIENT_0`]||process.env[`${e}GRADIENT_1`]){let s=process.env[`${e}GRADIENT_0`]?0:1;for(;process.env[`${e}GRADIENT_${s}`];)o.push(process.env[`${e}GRADIENT_${s}`]),s++;}return {dark:process.env[`${e}DARK`],light:process.env[`${e}LIGHT`],brand:process.env[`${e}BRAND`],alternate:process.env[`${e}ALTERNATE`],accent:process.env[`${e}ACCENT`],link:process.env[`${e}LINK`],discovery:process.env[`${e}DISCOVERY`],success:process.env[`${e}SUCCESS`],info:process.env[`${e}INFO`],debug:process.env[`${e}DEBUG`],warning:process.env[`${e}WARNING`],danger:process.env[`${e}DANGER`],fatal:process.env[`${e}FATAL`],performance:process.env[`${e}PERFORMANCE`],positive:process.env[`${e}POSITIVE`],negative:process.env[`${e}NEGATIVE`],gradient:o}},cr=e=>({light:No(`${e}_LIGHT_`),dark:No(`${e}_DARK_`)}),No=e=>{let o=[];if(process.env[`${e}GRADIENT_START`]&&process.env[`${e}GRADIENT_END`])o.push(process.env[`${e}GRADIENT_START`],process.env[`${e}GRADIENT_END`]);else if(process.env[`${e}GRADIENT_0`]||process.env[`${e}GRADIENT_1`]){let s=process.env[`${e}GRADIENT_0`]?0:1;for(;process.env[`${e}GRADIENT_${s}`];)o.push(process.env[`${e}GRADIENT_${s}`]),s++;}return {foreground:process.env[`${e}FOREGROUND`],background:process.env[`${e}BACKGROUND`],brand:process.env[`${e}BRAND`],alternate:process.env[`${e}ALTERNATE`],accent:process.env[`${e}ACCENT`],link:process.env[`${e}LINK`],discovery:process.env[`${e}DISCOVERY`],success:process.env[`${e}SUCCESS`],info:process.env[`${e}INFO`],debug:process.env[`${e}DEBUG`],warning:process.env[`${e}WARNING`],danger:process.env[`${e}DANGER`],fatal:process.env[`${e}FATAL`],performance:process.env[`${e}PERFORMANCE`],positive:process.env[`${e}POSITIVE`],negative:process.env[`${e}NEGATIVE`],gradient:o}};var pr=(e,o)=>{for(let s of Object.keys(o??{}))if(o[s]){let n=s?.replace(/([A-Z])+/g,i=>i?i[0]?.toUpperCase()+i.slice(1):"").split(/(?=[A-Z])|[.\-\s_]/).map(i=>i.toLowerCase())??[],a;if(n.length===0)return;n.length===1?a=n[0]?.toUpperCase()??"":a=n.reduce((i,c)=>`${i}_${c.toLowerCase()}`),process.env[`STORM_EXTENSION_${e.toUpperCase()}_${a.toUpperCase()}`]=o[s];}},Do=e=>{let o="STORM_";if(e.extends&&(process.env[`${o}EXTENDS`]=Array.isArray(e.extends)?JSON.stringify(e.extends):e.extends),e.name&&(process.env[`${o}NAME`]=e.name),e.variant&&(process.env[`${o}VARIANT`]=e.variant),e.namespace&&(process.env[`${o}NAMESPACE`]=e.namespace),e.owner&&(process.env[`${o}OWNER`]=e.owner),e.bot&&(process.env[`${o}BOT_NAME`]=e.bot.name,process.env[`${o}BOT_EMAIL`]=e.bot.email),e.error&&(process.env[`${o}ERROR_CODES_FILE`]=e.error.codesFile,process.env[`${o}ERROR_URL`]=e.error.url),e.release&&(e.release.banner&&(typeof e.release.banner=="string"?(process.env[`${o}RELEASE_BANNER`]=e.release.banner,process.env[`${o}RELEASE_BANNER_URL`]=e.release.banner):(process.env[`${o}RELEASE_BANNER`]=e.release.banner.url,process.env[`${o}RELEASE_BANNER_URL`]=e.release.banner.url,process.env[`${o}RELEASE_BANNER_ALT`]=e.release.banner.alt)),process.env[`${o}RELEASE_HEADER`]=e.release.header,process.env[`${o}RELEASE_FOOTER`]=e.release.footer),e.socials&&(e.socials.twitter&&(process.env[`${o}SOCIAL_TWITTER`]=e.socials.twitter),e.socials.discord&&(process.env[`${o}SOCIAL_DISCORD`]=e.socials.discord),e.socials.telegram&&(process.env[`${o}SOCIAL_TELEGRAM`]=e.socials.telegram),e.socials.slack&&(process.env[`${o}SOCIAL_SLACK`]=e.socials.slack),e.socials.medium&&(process.env[`${o}SOCIAL_MEDIUM`]=e.socials.medium),e.socials.github&&(process.env[`${o}SOCIAL_GITHUB`]=e.socials.github)),e.organization&&(typeof e.organization=="string"?(process.env[`${o}ORG`]=e.organization,process.env[`${o}ORG_NAME`]=e.organization,process.env[`${o}ORGANIZATION`]=e.organization,process.env[`${o}ORGANIZATION_NAME`]=e.organization):(process.env[`${o}ORG`]=e.organization.name,process.env[`${o}ORG_NAME`]=e.organization.name,process.env[`${o}ORGANIZATION`]=e.organization.name,process.env[`${o}ORGANIZATION_NAME`]=e.organization.name,e.organization.url&&(process.env[`${o}ORG_URL`]=e.organization.url,process.env[`${o}ORGANIZATION_URL`]=e.organization.url),e.organization.description&&(process.env[`${o}ORG_DESCRIPTION`]=e.organization.description,process.env[`${o}ORGANIZATION_DESCRIPTION`]=e.organization.description),e.organization.logo&&(process.env[`${o}ORG_LOGO`]=e.organization.logo,process.env[`${o}ORGANIZATION_LOGO`]=e.organization.logo),e.organization.icon&&(process.env[`${o}ORG_ICON`]=e.organization.icon,process.env[`${o}ORGANIZATION_ICON`]=e.organization.icon))),e.packageManager&&(process.env[`${o}PACKAGE_MANAGER`]=e.packageManager),e.license&&(process.env[`${o}LICENSE`]=e.license),e.homepage&&(process.env[`${o}HOMEPAGE`]=e.homepage),e.docs&&(process.env[`${o}DOCS`]=e.docs),e.portal&&(process.env[`${o}PORTAL`]=e.portal),e.licensing&&(process.env[`${o}LICENSING`]=e.licensing),e.contact&&(process.env[`${o}CONTACT`]=e.contact),e.support&&(process.env[`${o}SUPPORT`]=e.support),e.timezone&&(process.env[`${o}TIMEZONE`]=e.timezone,process.env.TZ=e.timezone,process.env.DEFAULT_TIMEZONE=e.timezone,process.env.TIMEZONE=e.timezone),e.locale&&(process.env[`${o}LOCALE`]=e.locale,process.env.DEFAULT_LOCALE=e.locale,process.env.LOCALE=e.locale,process.env.LANG=e.locale?`${e.locale.replaceAll("-","_")}.UTF-8`:"en_US.UTF-8"),e.configFile&&(process.env[`${o}WORKSPACE_CONFIG_FILE`]=m(e.configFile)),e.workspaceRoot&&(process.env[`${o}WORKSPACE_ROOT`]=m(e.workspaceRoot),process.env.NX_WORKSPACE_ROOT=m(e.workspaceRoot),process.env.NX_WORKSPACE_ROOT_PATH=m(e.workspaceRoot)),e.directories&&(!e.skipCache&&e.directories.cache&&(process.env[`${o}CACHE_DIR`]=m(e.directories.cache),process.env[`${o}CACHE_DIRECTORY`]=process.env[`${o}CACHE_DIR`]),e.directories.data&&(process.env[`${o}DATA_DIR`]=m(e.directories.data),process.env[`${o}DATA_DIRECTORY`]=process.env[`${o}DATA_DIR`]),e.directories.config&&(process.env[`${o}CONFIG_DIR`]=m(e.directories.config),process.env[`${o}CONFIG_DIRECTORY`]=process.env[`${o}CONFIG_DIR`]),e.directories.temp&&(process.env[`${o}TEMP_DIR`]=m(e.directories.temp),process.env[`${o}TEMP_DIRECTORY`]=process.env[`${o}TEMP_DIR`]),e.directories.log&&(process.env[`${o}LOG_DIR`]=m(e.directories.log),process.env[`${o}LOG_DIRECTORY`]=process.env[`${o}LOG_DIR`]),e.directories.build&&(process.env[`${o}BUILD_DIR`]=m(e.directories.build),process.env[`${o}BUILD_DIRECTORY`]=process.env[`${o}BUILD_DIR`])),e.skipCache!==void 0&&(process.env[`${o}SKIP_CACHE`]=String(e.skipCache),e.skipCache&&(process.env.NX_SKIP_NX_CACHE??=String(e.skipCache),process.env.NX_CACHE_PROJECT_GRAPH??=String(e.skipCache))),e.mode&&(process.env[`${o}MODE`]=e.mode,process.env.NODE_ENV=e.mode,process.env.ENVIRONMENT=e.mode),e.colors?.base?.light||e.colors?.base?.dark)for(let s of Object.keys(e.colors))wo(`${o}COLOR_${s}_`,e.colors[s]);else wo(`${o}COLOR_`,e.colors);e.repository&&(process.env[`${o}REPOSITORY`]=e.repository),e.branch&&(process.env[`${o}BRANCH`]=e.branch),e.preid&&(process.env[`${o}PRE_ID`]=String(e.preid)),e.registry&&(e.registry.github&&(process.env[`${o}REGISTRY_GITHUB`]=String(e.registry.github)),e.registry.npm&&(process.env[`${o}REGISTRY_NPM`]=String(e.registry.npm)),e.registry.cargo&&(process.env[`${o}REGISTRY_CARGO`]=String(e.registry.cargo)),e.registry.cyclone&&(process.env[`${o}REGISTRY_CYCLONE`]=String(e.registry.cyclone)),e.registry.container&&(process.env[`${o}REGISTRY_CONTAINER`]=String(e.registry.container))),e.logLevel&&(process.env[`${o}LOG_LEVEL`]=String(e.logLevel),process.env.LOG_LEVEL=String(e.logLevel),process.env.NX_VERBOSE_LOGGING=String(A(e.logLevel)>=d.DEBUG),process.env.RUST_BACKTRACE=A(e.logLevel)>=d.DEBUG?"full":"none"),e.skipConfigLogging!==void 0&&(process.env[`${o}SKIP_CONFIG_LOGGING`]=String(e.skipConfigLogging)),process.env[`${o}WORKSPACE_CONFIG`]=JSON.stringify(e);for(let s of Object.keys(e.extensions??{}))e.extensions[s]&&Object.keys(e.extensions[s])&&pr(s,e.extensions[s]);},wo=(e,o)=>o?.light?.brand||o?.dark?.brand?lr(e,o):dr(e,o),dr=(e,o)=>{if(o.dark&&(process.env[`${e}DARK`]=o.dark),o.light&&(process.env[`${e}LIGHT`]=o.light),o.brand&&(process.env[`${e}BRAND`]=o.brand),o.alternate&&(process.env[`${e}ALTERNATE`]=o.alternate),o.accent&&(process.env[`${e}ACCENT`]=o.accent),o.link&&(process.env[`${e}LINK`]=o.link),o.discovery&&(process.env[`${e}DISCOVERY`]=o.discovery),o.success&&(process.env[`${e}SUCCESS`]=o.success),o.info&&(process.env[`${e}INFO`]=o.info),o.debug&&(process.env[`${e}DEBUG`]=o.debug),o.warning&&(process.env[`${e}WARNING`]=o.warning),o.danger&&(process.env[`${e}DANGER`]=o.danger),o.fatal&&(process.env[`${e}FATAL`]=o.fatal),o.performance&&(process.env[`${e}PERFORMANCE`]=o.performance),o.positive&&(process.env[`${e}POSITIVE`]=o.positive),o.negative&&(process.env[`${e}NEGATIVE`]=o.negative),o.gradient)for(let s=0;s<o.gradient.length;s++)process.env[`${e}GRADIENT_${s}`]=o.gradient[s];},lr=(e,o)=>({light:zo(`${e}LIGHT_`,o.light),dark:zo(`${e}DARK_`,o.dark)}),zo=(e,o)=>{if(o.foreground&&(process.env[`${e}FOREGROUND`]=o.foreground),o.background&&(process.env[`${e}BACKGROUND`]=o.background),o.brand&&(process.env[`${e}BRAND`]=o.brand),o.alternate&&(process.env[`${e}ALTERNATE`]=o.alternate),o.accent&&(process.env[`${e}ACCENT`]=o.accent),o.link&&(process.env[`${e}LINK`]=o.link),o.discovery&&(process.env[`${e}DISCOVERY`]=o.discovery),o.success&&(process.env[`${e}SUCCESS`]=o.success),o.info&&(process.env[`${e}INFO`]=o.info),o.debug&&(process.env[`${e}DEBUG`]=o.debug),o.warning&&(process.env[`${e}WARNING`]=o.warning),o.danger&&(process.env[`${e}DANGER`]=o.danger),o.fatal&&(process.env[`${e}FATAL`]=o.fatal),o.performance&&(process.env[`${e}PERFORMANCE`]=o.performance),o.positive&&(process.env[`${e}POSITIVE`]=o.positive),o.negative&&(process.env[`${e}NEGATIVE`]=o.negative),o.gradient)for(let s=0;s<o.gradient.length;s++)process.env[`${e}GRADIENT_${s}`]=o.gradient[s];};var N,ur=async(e,o,s,n=false,a=true)=>{let i;if(!N?.data||!N?.timestamp||N.timestamp<Date.now()-8e3){let c=s;c||(c=O());let p=yo(),u=await Lo(c);if(!u&&(n||ae("No Storm Workspace configuration file found in the current repository. Please ensure this is the expected behavior - you can add a `storm-workspace.json` file to the root of your workspace if it is not.\n",{logLevel:"all"}),a===false))return;let g=await ko(c),b=_o(p,u,g);b.variant||(b.variant=existsSync(S(c,"nx.json"))||existsSync(S(c,".nx"))||existsSync(S(c,"lerna.json"))||existsSync(S(c,"turbo.json"))?"monorepo":"minimal");try{let _=await Promise.resolve(So._zod.parse({value:b,issues:[]},{async:!0}));i=Oo(_.value),i.workspaceRoot??=c;}catch(_){throw new Error(`Failed to parse Storm Workspace configuration${_?.message?`: ${_.message}`:""}
27
27
 
28
- Please ensure your configuration file is valid JSON and matches the expected schema. The current workspace configuration input is: ${R(w)}`,{cause:L})}}else i=N.data;return N={timestamp:Date.now(),data:i},i},Do=async(e,o=false)=>{let t=await fr(void 0,void 0,e,o,true);return xo(t),!o&&!t.skipConfigLogging&&A(`\u2699\uFE0F Using Storm Workspace configuration:
29
- ${R(t)}`,t),t};function Er(e,o=false){return Do(e,o)}function Go(e=true,o={}){let t=o.workspaceRoot;return t||(t=T(o.cwd)),Er(t,e)}var kr={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:[Sr]};function Po(e=T(process.cwd())){let o=C(e,"package.json");if(!existsSync(o))throw new Error(`No \`package.json\` file found in workspace root (searched in: ${o}).`);return o}async function Cs(e=T(process.cwd())){let o=await readFile(Po(e),"utf8");if(o)return JSON.parse(o)}function vs(e){if(e.catalog)return e.catalog;let o=e.workspaces;if(o&&typeof o=="object"&&!Array.isArray(o))return o.catalog}function Ss(e,o){if(e.catalog){e.catalog=o;return}let t=e.workspaces;if(t&&typeof t=="object"&&!Array.isArray(t)&&t.catalog){t.catalog=o;return}e.catalog=o;}async function ks(e,o=T(process.cwd())){let t=await Go(),s=await format(JSON.stringify(e),kr);A(`Writing updated package.json file to workspace root: ${s}`,t),await writeFile(Po(o),s);}export{ae as a,Xr as b,A as c,C as d,T as e,Er as f,Go as g,Po as h,Cs as i,vs as j,Ss as k,ks as l};
28
+ Please ensure your configuration file is valid JSON and matches the expected schema. The current workspace configuration input is: ${R(b)}`,{cause:_})}}else i=N.data;return N={timestamp:Date.now(),data:i},i},xo=async(e,o=false)=>{let s=await ur(void 0,void 0,e,o,true);return Do(s),!o&&!s.skipConfigLogging&&L(`\u2699\uFE0F Using Storm Workspace configuration:
29
+ ${R(s)}`,s),s};function fr(e,o=false){return xo(e,o)}function st(e=true,o={}){let s=o.workspaceRoot;return s||(s=O(o.cwd)),fr(s,e)}export{ae as a,Br as b,L as c,S as d,O as e,fr as f,st as g};
@@ -0,0 +1,2 @@
1
+ 'use strict';var chunkWAL5SD4G_cjs=require('./chunk-WAL5SD4G.cjs'),chunkDK4D3PFF_cjs=require('./chunk-DK4D3PFF.cjs'),chunkHPYBH7QT_cjs=require('./chunk-HPYBH7QT.cjs'),chunkDW2HTWAU_cjs=require('./chunk-DW2HTWAU.cjs'),semver=require('semver');async function J(r=chunkDW2HTWAU_cjs.e(process.cwd())){let t=await chunkDK4D3PFF_cjs.b(r);if(!t){chunkDW2HTWAU_cjs.a(`No package.json file found in workspace root: ${r}`,{logLevel:"all"});return}let i=chunkDK4D3PFF_cjs.c(t);if(i)return Object.fromEntries(Object.entries(i).map(([o,f])=>[o,f.replaceAll('"',"").replaceAll("'","")]));console.warn(`No catalog found in package.json file located in workspace root: ${r}
2
+ File content: ${JSON.stringify(t,null,2)}`);}async function U(r=chunkDW2HTWAU_cjs.e(process.cwd())){let t=await J(r);if(!t)throw new Error("No catalog entries found in workspace root package.json file");return t}async function W(r,t=chunkDW2HTWAU_cjs.e(process.cwd())){let i=await chunkDK4D3PFF_cjs.b(t);if(!i)throw new Error("No package.json file found in workspace root");chunkDK4D3PFF_cjs.d(i,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 chunkDK4D3PFF_cjs.e(i,t);}async function L(r,t,i={}){let{tag:o=chunkHPYBH7QT_cjs.a,prefix:f="^",workspaceRoot:p=chunkDW2HTWAU_cjs.e(),verbose:d=false}=i,s=await chunkDW2HTWAU_cjs.g(true,{workspaceRoot:p});d&&chunkDW2HTWAU_cjs.c(`Upgrading catalog entry for package "${t}" with tag "${o}"`,s);let e=await(i.versionResolver??(async(g,j)=>chunkHPYBH7QT_cjs.c(g,j,{executable:"bun pm",registry:await chunkHPYBH7QT_cjs.b()})))(t,o);if(!e)throw new Error(`Failed to fetch version for package "${t}" with tag "${o}"`);if(!semver.valid(chunkWAL5SD4G_cjs.a(e),true))throw new Error(`Invalid version "${e}" fetched for package "${t}" with tag "${o}"`);let c=`${f||""}${chunkWAL5SD4G_cjs.a(e)}`,l=false;return r[t]?.startsWith("npm:")?(r[t]=c,chunkDW2HTWAU_cjs.b(`Writing version ${r[t]} to catalog for "${t}" package`,s)):!semver.valid(semver.coerce(r[t]))||semver.coerce(r[t])&&semver.coerce(c)&&semver.gt(semver.coerce(c),semver.coerce(r[t]))?(r[t]=`${f||""}${chunkWAL5SD4G_cjs.a(c)}`,chunkDW2HTWAU_cjs.b(`Writing version ${r[t]} to catalog for "${t}" package`,s),l=true):d&&chunkDW2HTWAU_cjs.b(`The current version ${r[t]} for package "${t}" is greater than or equal to the version ${chunkWAL5SD4G_cjs.a(c)} fetched from the npm registry with tag "${o}". No update performed.`,s),{catalog:r,updated:l}}async function _(r,t={}){let{tag:i=chunkHPYBH7QT_cjs.a,prefix:o="^",throwIfMissingInCatalog:f=false,workspaceRoot:p=chunkDW2HTWAU_cjs.e(),verbose:d=false}=t,s=await chunkDW2HTWAU_cjs.g(true,{workspaceRoot:p}),e=await U(p);if(!e)throw new Error("No catalog found");if(f===true&&!e[r])throw new Error(`Package "${r}" not found in catalog: ${JSON.stringify(e,null,2)}`);d&&chunkDW2HTWAU_cjs.c(`Upgrading catalog entry for package "${r}" with tag "${i}"`,s);let c=await chunkHPYBH7QT_cjs.b(),l=await chunkHPYBH7QT_cjs.c(r,i,{executable:"bun pm",registry:c});if(!l)throw new Error(`Failed to fetch version for package "${r}" with tag "${i}"`);if(!semver.valid(chunkWAL5SD4G_cjs.a(l),true))throw new Error(`Invalid version "${l}" fetched for package "${r}" with tag "${i}"`);let g=`${o||""}${chunkWAL5SD4G_cjs.a(l)}`;g===e[r]?d&&chunkDW2HTWAU_cjs.c(`The version for package "${r}" is already up to date in the catalog: ${g}`,s):!semver.valid(chunkWAL5SD4G_cjs.a(e[r]),true)||semver.coerce(e[r])&&semver.coerce(g)&&semver.gt(semver.coerce(g),semver.coerce(e[r]))?(e[r]=`${o||""}${chunkWAL5SD4G_cjs.a(g)}`,chunkDW2HTWAU_cjs.b(`Writing version ${e[r]} to catalog for "${r}" package`,s),await W(e,p)):d&&chunkDW2HTWAU_cjs.a(`The current version "${e[r]}" for package "${r}" is greater than or equal to the version "${g}" fetched from the npm registry with tag "${i}". No update performed.`,s);}exports.a=J;exports.b=U;exports.c=W;exports.d=L;exports.e=_;
@@ -0,0 +1 @@
1
+ import {d,e,g,c as c$1}from'./chunk-IVWMWBEI.js';import {existsSync}from'node:fs';import {readFile,writeFile}from'node:fs/promises';import {format}from'prettier';import d$1 from'prettier-plugin-packagejson';var k={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:[d$1]};function c(r=e(process.cwd())){let o=d(r,"package.json");if(!existsSync(o))throw new Error(`No \`package.json\` file found in workspace root (searched in: ${o}).`);return o}async function j(r=e(process.cwd())){let o=await readFile(c(r),"utf8");if(o)return JSON.parse(o)}function S(r){if(r.catalog)return r.catalog;let o=r.workspaces;if(o&&typeof o=="object"&&!Array.isArray(o))return o.catalog}function x(r,o){if(r.catalog){r.catalog=o;return}let e=r.workspaces;if(e&&typeof e=="object"&&!Array.isArray(e)&&e.catalog){e.catalog=o;return}r.catalog=o;}async function A(r,o=e(process.cwd())){let e=await g(),a=await format(JSON.stringify(r),k);c$1(`Writing updated package.json file to workspace root: ${a}`,e),await writeFile(c(o),a);}export{c as a,j as b,S as c,x as d,A as e};
@@ -0,0 +1 @@
1
+ 'use strict';var chunkHPYBH7QT_cjs=require('./chunk-HPYBH7QT.cjs'),a=require('env-paths'),unstorage=require('unstorage'),h=require('unstorage/drivers/fs');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var a__default=/*#__PURE__*/_interopDefault(a);var h__default=/*#__PURE__*/_interopDefault(h);var g=1e3*60*60*24,s=unstorage.createStorage({driver:h__default.default({base:a__default.default("storm-bun").cache})});function f(t,r){return `versions/${encodeURIComponent(r)}/${encodeURIComponent(t)}`}async function b(t,r){let n=f(t,r);try{let e=await s.getItem(n);if(e&&typeof e.checkedAt=="number"&&typeof e.version=="string"&&Date.now()-e.checkedAt<g)return e.version}catch{}let o=await chunkHPYBH7QT_cjs.c(t,r,{executable:"bun pm",registry:await chunkHPYBH7QT_cjs.b()});try{await s.setItem(n,{checkedAt:Date.now(),version:o});}catch{}return o}exports.a=b;
@@ -0,0 +1,2 @@
1
+ import {f}from'./chunk-IVWMWBEI.js';import {exec}from'node:child_process';import {valid}from'semver';import o from'strip-ansi';var P="https://registry.npmjs.org";var y="latest";var M=y;async function N(r="npm"){return new Promise((t,n)=>{exec(`${r} config get registry`,(e,u,a)=>e&&!e.message.toLowerCase().trim().startsWith("npm warn")?n(e):a&&!a.toLowerCase().trim().startsWith("npm warn")?n(a):t(u.trim()));})}async function F(){if(process.env.STORM_REGISTRY_NPM)return process.env.STORM_REGISTRY_NPM;let r=await f();return r?.registry?.npm?r?.registry?.npm:P}var d=/^(npm warn|\[[\d.]+ms\]|\[sys\]|\[warn\] request took)/i,V=/^\[[\d.]+ms\].*(?:\.env(?:\.local)?|"\.env)/i;function h(r){let t=r.trim();return t?[t,o(t)].some(e=>!e||d.test(e)||V.test(e)||/ms\].*\.env/i.test(e)?true:/\[[\d.]+ms\].*\.env/i.test(t)):true}function b(r){return r.split(/\r?\n/).map(t=>o(t).trim()).filter(t=>t.length>0).filter(t=>!h(t)).join(`
2
+ `).trim()}function C(r){let t=o(r).split(/\r?\n/).map(n=>n.trim()).filter(Boolean);for(let n=t.length-1;n>=0;n-=1){let e=t[n];if(e&&valid(e,true))return e}return o(r).trim()}async function z(r,t=M,n={}){let e=n.executable||"npm",u=n.retries??3,a=n.timeout??12e4,I=n.registry||await N(e),l;for(let c=0;c<=u;c++)try{let g=new AbortController,m=setTimeout(()=>{g.abort();},a),s=await Promise.resolve(new Promise((A,f)=>{exec(`${e} view ${r} version --registry=${I}`,{signal:g.signal,maxBuffer:1024*1024*10},(i,S,R)=>{let p=R?b(R):"",T=C(S);if(valid(T,!0))return A(T);let _=i?.message?o(i.message).trim():"";return i&&_&&!_.toLowerCase().startsWith("npm warn")&&!h(_)?f(p?new Error(p,{cause:i}):i):p?f(new Error(p)):i?f(i):A(T)});}));if(!valid(s,!0))throw clearTimeout(m),new Error(o(s).startsWith("[WARN] Request took")?`A timeout occurred while fetching the version for package "${r}" with tag "${t}".`:`Invalid version "${s}" fetched for package "${r}" with tag "${t}"`);return clearTimeout(m),s}catch(g){if(l=g,c<u){let m=Math.pow(2,c)*100;await new Promise(s=>setTimeout(s,m));}}throw l}export{M as a,F as b,z as c};
@@ -1 +1 @@
1
- 'use strict';var chunk75RDZ52U_cjs=require('../chunk-75RDZ52U.cjs');require('../chunk-WAL5SD4G.cjs'),require('../chunk-66TU3CP3.cjs');Object.defineProperty(exports,"getCatalog",{enumerable:true,get:function(){return chunk75RDZ52U_cjs.b}});Object.defineProperty(exports,"getCatalogSafe",{enumerable:true,get:function(){return chunk75RDZ52U_cjs.a}});Object.defineProperty(exports,"saveCatalog",{enumerable:true,get:function(){return chunk75RDZ52U_cjs.e}});Object.defineProperty(exports,"setCatalog",{enumerable:true,get:function(){return chunk75RDZ52U_cjs.c}});Object.defineProperty(exports,"upgradeCatalog",{enumerable:true,get:function(){return chunk75RDZ52U_cjs.d}});
1
+ 'use strict';var chunkIW73C7OV_cjs=require('../chunk-IW73C7OV.cjs');require('../chunk-WAL5SD4G.cjs'),require('../chunk-DK4D3PFF.cjs'),require('../chunk-HPYBH7QT.cjs'),require('../chunk-DW2HTWAU.cjs');Object.defineProperty(exports,"getCatalog",{enumerable:true,get:function(){return chunkIW73C7OV_cjs.b}});Object.defineProperty(exports,"getCatalogSafe",{enumerable:true,get:function(){return chunkIW73C7OV_cjs.a}});Object.defineProperty(exports,"saveCatalog",{enumerable:true,get:function(){return chunkIW73C7OV_cjs.e}});Object.defineProperty(exports,"setCatalog",{enumerable:true,get:function(){return chunkIW73C7OV_cjs.c}});Object.defineProperty(exports,"upgradeCatalog",{enumerable:true,get:function(){return chunkIW73C7OV_cjs.d}});
@@ -21,6 +21,12 @@ declare function getCatalog(workspaceRoot?: string): Promise<Record<string, stri
21
21
  */
22
22
  declare function setCatalog(catalog: Record<string, string>, workspaceRoot?: string): Promise<void>;
23
23
  interface UpgradeCatalogPackageOptions {
24
+ /**
25
+ * Resolve the npm version to use for the package.
26
+ *
27
+ * @defaultValue `getVersion(packageName, tag, { executable: "bun pm" })`
28
+ */
29
+ versionResolver?: (packageName: string, tag: string) => Promise<string>;
24
30
  /**
25
31
  * The npm tag to use when fetching the latest version of the package.
26
32
  *
@@ -21,6 +21,12 @@ declare function getCatalog(workspaceRoot?: string): Promise<Record<string, stri
21
21
  */
22
22
  declare function setCatalog(catalog: Record<string, string>, workspaceRoot?: string): Promise<void>;
23
23
  interface UpgradeCatalogPackageOptions {
24
+ /**
25
+ * Resolve the npm version to use for the package.
26
+ *
27
+ * @defaultValue `getVersion(packageName, tag, { executable: "bun pm" })`
28
+ */
29
+ versionResolver?: (packageName: string, tag: string) => Promise<string>;
24
30
  /**
25
31
  * The npm tag to use when fetching the latest version of the package.
26
32
  *
@@ -1 +1 @@
1
- export{b as getCatalog,a as getCatalogSafe,e as saveCatalog,c as setCatalog,d as upgradeCatalog}from'../chunk-FJDNIIEX.js';import'../chunk-7QKHH2VM.js';import'../chunk-6RUWDFGG.js';
1
+ export{b as getCatalog,a as getCatalogSafe,e as saveCatalog,c as setCatalog,d as upgradeCatalog}from'../chunk-ILE6NSRA.js';import'../chunk-7QKHH2VM.js';import'../chunk-LUXOLZKJ.js';import'../chunk-Y2HO4X3Y.js';import'../chunk-IVWMWBEI.js';
@@ -1 +1 @@
1
- 'use strict';require('../chunk-3CHW2FOO.cjs');var chunkX45K5DKT_cjs=require('../chunk-X45K5DKT.cjs'),chunk75RDZ52U_cjs=require('../chunk-75RDZ52U.cjs');require('../chunk-WAL5SD4G.cjs');var chunkGC3KXELW_cjs=require('../chunk-GC3KXELW.cjs'),chunk66TU3CP3_cjs=require('../chunk-66TU3CP3.cjs');Object.defineProperty(exports,"replaceDepsAliases",{enumerable:true,get:function(){return chunkX45K5DKT_cjs.a}});Object.defineProperty(exports,"getCatalog",{enumerable:true,get:function(){return chunk75RDZ52U_cjs.b}});Object.defineProperty(exports,"getCatalogSafe",{enumerable:true,get:function(){return chunk75RDZ52U_cjs.a}});Object.defineProperty(exports,"saveCatalog",{enumerable:true,get:function(){return chunk75RDZ52U_cjs.e}});Object.defineProperty(exports,"setCatalog",{enumerable:true,get:function(){return chunk75RDZ52U_cjs.c}});Object.defineProperty(exports,"upgradeCatalog",{enumerable:true,get:function(){return chunk75RDZ52U_cjs.d}});Object.defineProperty(exports,"getWorkspaceFilePath",{enumerable:true,get:function(){return chunkGC3KXELW_cjs.a}});Object.defineProperty(exports,"readWorkspaceFile",{enumerable:true,get:function(){return chunkGC3KXELW_cjs.b}});Object.defineProperty(exports,"writeWorkspaceFile",{enumerable:true,get:function(){return chunkGC3KXELW_cjs.c}});Object.defineProperty(exports,"getCatalogFromPackageJson",{enumerable:true,get:function(){return chunk66TU3CP3_cjs.j}});Object.defineProperty(exports,"getRootPackageJsonPath",{enumerable:true,get:function(){return chunk66TU3CP3_cjs.h}});Object.defineProperty(exports,"readRootPackageJson",{enumerable:true,get:function(){return chunk66TU3CP3_cjs.i}});Object.defineProperty(exports,"setCatalogInPackageJson",{enumerable:true,get:function(){return chunk66TU3CP3_cjs.k}});Object.defineProperty(exports,"writeRootPackageJson",{enumerable:true,get:function(){return chunk66TU3CP3_cjs.l}});
1
+ 'use strict';require('../chunk-AEB6NXCJ.cjs');var chunk3IUP2V2O_cjs=require('../chunk-3IUP2V2O.cjs'),chunk37GUJUMR_cjs=require('../chunk-37GUJUMR.cjs'),chunkIW73C7OV_cjs=require('../chunk-IW73C7OV.cjs');require('../chunk-WAL5SD4G.cjs');var chunkDK4D3PFF_cjs=require('../chunk-DK4D3PFF.cjs'),chunkUKAKS6IQ_cjs=require('../chunk-UKAKS6IQ.cjs');require('../chunk-HPYBH7QT.cjs'),require('../chunk-DW2HTWAU.cjs');Object.defineProperty(exports,"getWorkspaceFilePath",{enumerable:true,get:function(){return chunk3IUP2V2O_cjs.a}});Object.defineProperty(exports,"readWorkspaceFile",{enumerable:true,get:function(){return chunk3IUP2V2O_cjs.b}});Object.defineProperty(exports,"writeWorkspaceFile",{enumerable:true,get:function(){return chunk3IUP2V2O_cjs.c}});Object.defineProperty(exports,"replaceDepsAliases",{enumerable:true,get:function(){return chunk37GUJUMR_cjs.a}});Object.defineProperty(exports,"getCatalog",{enumerable:true,get:function(){return chunkIW73C7OV_cjs.b}});Object.defineProperty(exports,"getCatalogSafe",{enumerable:true,get:function(){return chunkIW73C7OV_cjs.a}});Object.defineProperty(exports,"saveCatalog",{enumerable:true,get:function(){return chunkIW73C7OV_cjs.e}});Object.defineProperty(exports,"setCatalog",{enumerable:true,get:function(){return chunkIW73C7OV_cjs.c}});Object.defineProperty(exports,"upgradeCatalog",{enumerable:true,get:function(){return chunkIW73C7OV_cjs.d}});Object.defineProperty(exports,"getCatalogFromPackageJson",{enumerable:true,get:function(){return chunkDK4D3PFF_cjs.c}});Object.defineProperty(exports,"getRootPackageJsonPath",{enumerable:true,get:function(){return chunkDK4D3PFF_cjs.a}});Object.defineProperty(exports,"readRootPackageJson",{enumerable:true,get:function(){return chunkDK4D3PFF_cjs.b}});Object.defineProperty(exports,"setCatalogInPackageJson",{enumerable:true,get:function(){return chunkDK4D3PFF_cjs.d}});Object.defineProperty(exports,"writeRootPackageJson",{enumerable:true,get:function(){return chunkDK4D3PFF_cjs.e}});Object.defineProperty(exports,"getCachedVersion",{enumerable:true,get:function(){return chunkUKAKS6IQ_cjs.a}});
@@ -1,5 +1,6 @@
1
1
  export { UpgradeCatalogPackageOptions, UpgradeCatalogResult, getCatalog, getCatalogSafe, saveCatalog, setCatalog, upgradeCatalog } from './catalog.cjs';
2
2
  export { getCatalogFromPackageJson, getRootPackageJsonPath, readRootPackageJson, setCatalogInPackageJson, writeRootPackageJson } from './package-json.cjs';
3
3
  export { replaceDepsAliases } from './replace-deps-aliases.cjs';
4
+ export { getCachedVersion } from './version-cache.cjs';
4
5
  export { getWorkspaceFilePath, readWorkspaceFile, writeWorkspaceFile } from './workspace.cjs';
5
6
  import '../types.cjs';
@@ -1,5 +1,6 @@
1
1
  export { UpgradeCatalogPackageOptions, UpgradeCatalogResult, getCatalog, getCatalogSafe, saveCatalog, setCatalog, upgradeCatalog } from './catalog.js';
2
2
  export { getCatalogFromPackageJson, getRootPackageJsonPath, readRootPackageJson, setCatalogInPackageJson, writeRootPackageJson } from './package-json.js';
3
3
  export { replaceDepsAliases } from './replace-deps-aliases.js';
4
+ export { getCachedVersion } from './version-cache.js';
4
5
  export { getWorkspaceFilePath, readWorkspaceFile, writeWorkspaceFile } from './workspace.js';
5
6
  import '../types.js';
@@ -1 +1 @@
1
- import'../chunk-PJBAL7AE.js';export{a as replaceDepsAliases}from'../chunk-5ZLN4X3W.js';export{b as getCatalog,a as getCatalogSafe,e as saveCatalog,c as setCatalog,d as upgradeCatalog}from'../chunk-FJDNIIEX.js';import'../chunk-7QKHH2VM.js';export{a as getWorkspaceFilePath,b as readWorkspaceFile,c as writeWorkspaceFile}from'../chunk-KWVKMOA5.js';export{j as getCatalogFromPackageJson,h as getRootPackageJsonPath,i as readRootPackageJson,k as setCatalogInPackageJson,l as writeRootPackageJson}from'../chunk-6RUWDFGG.js';
1
+ import'../chunk-RJQ4TKJL.js';export{a as getWorkspaceFilePath,b as readWorkspaceFile,c as writeWorkspaceFile}from'../chunk-ACIBJPTX.js';export{a as replaceDepsAliases}from'../chunk-IMROPYHM.js';export{b as getCatalog,a as getCatalogSafe,e as saveCatalog,c as setCatalog,d as upgradeCatalog}from'../chunk-ILE6NSRA.js';import'../chunk-7QKHH2VM.js';export{c as getCatalogFromPackageJson,a as getRootPackageJsonPath,b as readRootPackageJson,d as setCatalogInPackageJson,e as writeRootPackageJson}from'../chunk-LUXOLZKJ.js';export{a as getCachedVersion}from'../chunk-2GHXV3OE.js';import'../chunk-Y2HO4X3Y.js';import'../chunk-IVWMWBEI.js';
@@ -1 +1 @@
1
- 'use strict';var chunk66TU3CP3_cjs=require('../chunk-66TU3CP3.cjs');Object.defineProperty(exports,"getCatalogFromPackageJson",{enumerable:true,get:function(){return chunk66TU3CP3_cjs.j}});Object.defineProperty(exports,"getRootPackageJsonPath",{enumerable:true,get:function(){return chunk66TU3CP3_cjs.h}});Object.defineProperty(exports,"readRootPackageJson",{enumerable:true,get:function(){return chunk66TU3CP3_cjs.i}});Object.defineProperty(exports,"setCatalogInPackageJson",{enumerable:true,get:function(){return chunk66TU3CP3_cjs.k}});Object.defineProperty(exports,"writeRootPackageJson",{enumerable:true,get:function(){return chunk66TU3CP3_cjs.l}});
1
+ 'use strict';var chunkDK4D3PFF_cjs=require('../chunk-DK4D3PFF.cjs');require('../chunk-DW2HTWAU.cjs');Object.defineProperty(exports,"getCatalogFromPackageJson",{enumerable:true,get:function(){return chunkDK4D3PFF_cjs.c}});Object.defineProperty(exports,"getRootPackageJsonPath",{enumerable:true,get:function(){return chunkDK4D3PFF_cjs.a}});Object.defineProperty(exports,"readRootPackageJson",{enumerable:true,get:function(){return chunkDK4D3PFF_cjs.b}});Object.defineProperty(exports,"setCatalogInPackageJson",{enumerable:true,get:function(){return chunkDK4D3PFF_cjs.d}});Object.defineProperty(exports,"writeRootPackageJson",{enumerable:true,get:function(){return chunkDK4D3PFF_cjs.e}});
@@ -1 +1 @@
1
- export{j as getCatalogFromPackageJson,h as getRootPackageJsonPath,i as readRootPackageJson,k as setCatalogInPackageJson,l as writeRootPackageJson}from'../chunk-6RUWDFGG.js';
1
+ export{c as getCatalogFromPackageJson,a as getRootPackageJsonPath,b as readRootPackageJson,d as setCatalogInPackageJson,e as writeRootPackageJson}from'../chunk-LUXOLZKJ.js';import'../chunk-IVWMWBEI.js';
@@ -1 +1 @@
1
- 'use strict';var chunkX45K5DKT_cjs=require('../chunk-X45K5DKT.cjs');require('../chunk-75RDZ52U.cjs'),require('../chunk-WAL5SD4G.cjs'),require('../chunk-66TU3CP3.cjs');Object.defineProperty(exports,"replaceDepsAliases",{enumerable:true,get:function(){return chunkX45K5DKT_cjs.a}});
1
+ 'use strict';var chunk37GUJUMR_cjs=require('../chunk-37GUJUMR.cjs');require('../chunk-IW73C7OV.cjs'),require('../chunk-WAL5SD4G.cjs'),require('../chunk-DK4D3PFF.cjs'),require('../chunk-HPYBH7QT.cjs'),require('../chunk-DW2HTWAU.cjs');Object.defineProperty(exports,"replaceDepsAliases",{enumerable:true,get:function(){return chunk37GUJUMR_cjs.a}});
@@ -1 +1 @@
1
- export{a as replaceDepsAliases}from'../chunk-5ZLN4X3W.js';import'../chunk-FJDNIIEX.js';import'../chunk-7QKHH2VM.js';import'../chunk-6RUWDFGG.js';
1
+ export{a as replaceDepsAliases}from'../chunk-IMROPYHM.js';import'../chunk-ILE6NSRA.js';import'../chunk-7QKHH2VM.js';import'../chunk-LUXOLZKJ.js';import'../chunk-Y2HO4X3Y.js';import'../chunk-IVWMWBEI.js';
@@ -0,0 +1 @@
1
+ 'use strict';var chunkUKAKS6IQ_cjs=require('../chunk-UKAKS6IQ.cjs');require('../chunk-HPYBH7QT.cjs'),require('../chunk-DW2HTWAU.cjs');Object.defineProperty(exports,"getCachedVersion",{enumerable:true,get:function(){return chunkUKAKS6IQ_cjs.a}});
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Get an npm package version, using the Storm Bun user cache for one day.
3
+ *
4
+ * @param packageName The npm package to query.
5
+ * @param tag The npm dist-tag to query.
6
+ * @returns The cached or freshly fetched package version.
7
+ */
8
+ declare function getCachedVersion(packageName: string, tag: string): Promise<string>;
9
+
10
+ export { getCachedVersion };
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Get an npm package version, using the Storm Bun user cache for one day.
3
+ *
4
+ * @param packageName The npm package to query.
5
+ * @param tag The npm dist-tag to query.
6
+ * @returns The cached or freshly fetched package version.
7
+ */
8
+ declare function getCachedVersion(packageName: string, tag: string): Promise<string>;
9
+
10
+ export { getCachedVersion };
@@ -0,0 +1 @@
1
+ export{a as getCachedVersion}from'../chunk-2GHXV3OE.js';import'../chunk-Y2HO4X3Y.js';import'../chunk-IVWMWBEI.js';
@@ -1 +1 @@
1
- 'use strict';var chunkGC3KXELW_cjs=require('../chunk-GC3KXELW.cjs');require('../chunk-66TU3CP3.cjs');Object.defineProperty(exports,"getWorkspaceFilePath",{enumerable:true,get:function(){return chunkGC3KXELW_cjs.a}});Object.defineProperty(exports,"readWorkspaceFile",{enumerable:true,get:function(){return chunkGC3KXELW_cjs.b}});Object.defineProperty(exports,"writeWorkspaceFile",{enumerable:true,get:function(){return chunkGC3KXELW_cjs.c}});
1
+ 'use strict';var chunk3IUP2V2O_cjs=require('../chunk-3IUP2V2O.cjs');require('../chunk-DK4D3PFF.cjs'),require('../chunk-DW2HTWAU.cjs');Object.defineProperty(exports,"getWorkspaceFilePath",{enumerable:true,get:function(){return chunk3IUP2V2O_cjs.a}});Object.defineProperty(exports,"readWorkspaceFile",{enumerable:true,get:function(){return chunk3IUP2V2O_cjs.b}});Object.defineProperty(exports,"writeWorkspaceFile",{enumerable:true,get:function(){return chunk3IUP2V2O_cjs.c}});
@@ -1 +1 @@
1
- export{a as getWorkspaceFilePath,b as readWorkspaceFile,c as writeWorkspaceFile}from'../chunk-KWVKMOA5.js';import'../chunk-6RUWDFGG.js';
1
+ export{a as getWorkspaceFilePath,b as readWorkspaceFile,c as writeWorkspaceFile}from'../chunk-ACIBJPTX.js';import'../chunk-LUXOLZKJ.js';import'../chunk-IVWMWBEI.js';
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- 'use strict';require('./chunk-SFZRYJZ2.cjs'),require('./chunk-3CHW2FOO.cjs');var chunkX45K5DKT_cjs=require('./chunk-X45K5DKT.cjs'),chunk75RDZ52U_cjs=require('./chunk-75RDZ52U.cjs');require('./chunk-WAL5SD4G.cjs');var chunkGC3KXELW_cjs=require('./chunk-GC3KXELW.cjs'),chunk66TU3CP3_cjs=require('./chunk-66TU3CP3.cjs');Object.defineProperty(exports,"replaceDepsAliases",{enumerable:true,get:function(){return chunkX45K5DKT_cjs.a}});Object.defineProperty(exports,"getCatalog",{enumerable:true,get:function(){return chunk75RDZ52U_cjs.b}});Object.defineProperty(exports,"getCatalogSafe",{enumerable:true,get:function(){return chunk75RDZ52U_cjs.a}});Object.defineProperty(exports,"saveCatalog",{enumerable:true,get:function(){return chunk75RDZ52U_cjs.e}});Object.defineProperty(exports,"setCatalog",{enumerable:true,get:function(){return chunk75RDZ52U_cjs.c}});Object.defineProperty(exports,"upgradeCatalog",{enumerable:true,get:function(){return chunk75RDZ52U_cjs.d}});Object.defineProperty(exports,"getWorkspaceFilePath",{enumerable:true,get:function(){return chunkGC3KXELW_cjs.a}});Object.defineProperty(exports,"readWorkspaceFile",{enumerable:true,get:function(){return chunkGC3KXELW_cjs.b}});Object.defineProperty(exports,"writeWorkspaceFile",{enumerable:true,get:function(){return chunkGC3KXELW_cjs.c}});Object.defineProperty(exports,"getCatalogFromPackageJson",{enumerable:true,get:function(){return chunk66TU3CP3_cjs.j}});Object.defineProperty(exports,"getRootPackageJsonPath",{enumerable:true,get:function(){return chunk66TU3CP3_cjs.h}});Object.defineProperty(exports,"readRootPackageJson",{enumerable:true,get:function(){return chunk66TU3CP3_cjs.i}});Object.defineProperty(exports,"setCatalogInPackageJson",{enumerable:true,get:function(){return chunk66TU3CP3_cjs.k}});Object.defineProperty(exports,"writeRootPackageJson",{enumerable:true,get:function(){return chunk66TU3CP3_cjs.l}});
1
+ 'use strict';require('./chunk-SFZRYJZ2.cjs'),require('./chunk-AEB6NXCJ.cjs');var chunk3IUP2V2O_cjs=require('./chunk-3IUP2V2O.cjs'),chunk37GUJUMR_cjs=require('./chunk-37GUJUMR.cjs'),chunkIW73C7OV_cjs=require('./chunk-IW73C7OV.cjs');require('./chunk-WAL5SD4G.cjs');var chunkDK4D3PFF_cjs=require('./chunk-DK4D3PFF.cjs'),chunkUKAKS6IQ_cjs=require('./chunk-UKAKS6IQ.cjs');require('./chunk-HPYBH7QT.cjs'),require('./chunk-DW2HTWAU.cjs');Object.defineProperty(exports,"getWorkspaceFilePath",{enumerable:true,get:function(){return chunk3IUP2V2O_cjs.a}});Object.defineProperty(exports,"readWorkspaceFile",{enumerable:true,get:function(){return chunk3IUP2V2O_cjs.b}});Object.defineProperty(exports,"writeWorkspaceFile",{enumerable:true,get:function(){return chunk3IUP2V2O_cjs.c}});Object.defineProperty(exports,"replaceDepsAliases",{enumerable:true,get:function(){return chunk37GUJUMR_cjs.a}});Object.defineProperty(exports,"getCatalog",{enumerable:true,get:function(){return chunkIW73C7OV_cjs.b}});Object.defineProperty(exports,"getCatalogSafe",{enumerable:true,get:function(){return chunkIW73C7OV_cjs.a}});Object.defineProperty(exports,"saveCatalog",{enumerable:true,get:function(){return chunkIW73C7OV_cjs.e}});Object.defineProperty(exports,"setCatalog",{enumerable:true,get:function(){return chunkIW73C7OV_cjs.c}});Object.defineProperty(exports,"upgradeCatalog",{enumerable:true,get:function(){return chunkIW73C7OV_cjs.d}});Object.defineProperty(exports,"getCatalogFromPackageJson",{enumerable:true,get:function(){return chunkDK4D3PFF_cjs.c}});Object.defineProperty(exports,"getRootPackageJsonPath",{enumerable:true,get:function(){return chunkDK4D3PFF_cjs.a}});Object.defineProperty(exports,"readRootPackageJson",{enumerable:true,get:function(){return chunkDK4D3PFF_cjs.b}});Object.defineProperty(exports,"setCatalogInPackageJson",{enumerable:true,get:function(){return chunkDK4D3PFF_cjs.d}});Object.defineProperty(exports,"writeRootPackageJson",{enumerable:true,get:function(){return chunkDK4D3PFF_cjs.e}});Object.defineProperty(exports,"getCachedVersion",{enumerable:true,get:function(){return chunkUKAKS6IQ_cjs.a}});
package/dist/index.d.cts CHANGED
@@ -1,5 +1,6 @@
1
1
  export { UpgradeCatalogPackageOptions, UpgradeCatalogResult, getCatalog, getCatalogSafe, saveCatalog, setCatalog, upgradeCatalog } from './helpers/catalog.cjs';
2
2
  export { getCatalogFromPackageJson, getRootPackageJsonPath, readRootPackageJson, setCatalogInPackageJson, writeRootPackageJson } from './helpers/package-json.cjs';
3
3
  export { replaceDepsAliases } from './helpers/replace-deps-aliases.cjs';
4
+ export { getCachedVersion } from './helpers/version-cache.cjs';
4
5
  export { getWorkspaceFilePath, readWorkspaceFile, writeWorkspaceFile } from './helpers/workspace.cjs';
5
6
  export { WorkspacePackageJson } from './types.cjs';
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export { UpgradeCatalogPackageOptions, UpgradeCatalogResult, getCatalog, getCatalogSafe, saveCatalog, setCatalog, upgradeCatalog } from './helpers/catalog.js';
2
2
  export { getCatalogFromPackageJson, getRootPackageJsonPath, readRootPackageJson, setCatalogInPackageJson, writeRootPackageJson } from './helpers/package-json.js';
3
3
  export { replaceDepsAliases } from './helpers/replace-deps-aliases.js';
4
+ export { getCachedVersion } from './helpers/version-cache.js';
4
5
  export { getWorkspaceFilePath, readWorkspaceFile, writeWorkspaceFile } from './helpers/workspace.js';
5
6
  export { WorkspacePackageJson } from './types.js';
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import'./chunk-GGNOJ77I.js';import'./chunk-PJBAL7AE.js';export{a as replaceDepsAliases}from'./chunk-5ZLN4X3W.js';export{b as getCatalog,a as getCatalogSafe,e as saveCatalog,c as setCatalog,d as upgradeCatalog}from'./chunk-FJDNIIEX.js';import'./chunk-7QKHH2VM.js';export{a as getWorkspaceFilePath,b as readWorkspaceFile,c as writeWorkspaceFile}from'./chunk-KWVKMOA5.js';export{j as getCatalogFromPackageJson,h as getRootPackageJsonPath,i as readRootPackageJson,k as setCatalogInPackageJson,l as writeRootPackageJson}from'./chunk-6RUWDFGG.js';
1
+ import'./chunk-GGNOJ77I.js';import'./chunk-RJQ4TKJL.js';export{a as getWorkspaceFilePath,b as readWorkspaceFile,c as writeWorkspaceFile}from'./chunk-ACIBJPTX.js';export{a as replaceDepsAliases}from'./chunk-IMROPYHM.js';export{b as getCatalog,a as getCatalogSafe,e as saveCatalog,c as setCatalog,d as upgradeCatalog}from'./chunk-ILE6NSRA.js';import'./chunk-7QKHH2VM.js';export{c as getCatalogFromPackageJson,a as getRootPackageJsonPath,b as readRootPackageJson,d as setCatalogInPackageJson,e as writeRootPackageJson}from'./chunk-LUXOLZKJ.js';export{a as getCachedVersion}from'./chunk-2GHXV3OE.js';import'./chunk-Y2HO4X3Y.js';import'./chunk-IVWMWBEI.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storm-software/bun-tools",
3
- "version": "0.0.48",
3
+ "version": "0.0.50",
4
4
  "private": false,
5
5
  "description": "A set of [Bun](https://bun.sh/) plugins and utilities for managing workspace packages/dependencies.",
6
6
  "repository": {
@@ -73,19 +73,21 @@
73
73
  "storm-bun-esm": "./bin/bun.js"
74
74
  },
75
75
  "dependencies": {
76
- "@storm-software/config": "1.138.71",
77
- "@storm-software/config-tools": "1.190.135",
78
- "@storm-software/npm-tools": "0.6.255",
79
- "@storm-software/package-constants": "0.1.147",
76
+ "@storm-software/config": "1.138.73",
77
+ "@storm-software/config-tools": "1.190.137",
78
+ "@storm-software/npm-tools": "0.6.257",
79
+ "@storm-software/package-constants": "0.1.149",
80
80
  "chalk": "^4.1.2",
81
81
  "commander": "^12.1.0",
82
82
  "defu": "^6.1.7",
83
83
  "prettier": "^3.9.6",
84
84
  "prettier-plugin-packagejson": "^3.0.2",
85
+ "env-paths": "^4.0.0",
85
86
  "semver": "^7.8.5",
86
- "yaml": "^2.9.0"
87
+ "unstorage": "^1.17.5",
88
+ "yaml": "^2.9.1"
87
89
  },
88
- "devDependencies": { "@types/node": "^25.9.5", "tsup": "8.4.0" },
90
+ "devDependencies": { "@types/node": "^25.9.7", "tsup": "8.4.0" },
89
91
  "publishConfig": { "access": "public" },
90
- "gitHead": "619f68a39def28214e7937c316f9405b5282ddaa"
92
+ "gitHead": "4bc8322cc61eba7fef88596d749ccf13040f1712"
91
93
  }
@@ -1,3 +0,0 @@
1
- 'use strict';var chunkWAL5SD4G_cjs=require('./chunk-WAL5SD4G.cjs'),chunk66TU3CP3_cjs=require('./chunk-66TU3CP3.cjs'),child_process=require('child_process'),semver=require('semver'),d=require('strip-ansi');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var d__default=/*#__PURE__*/_interopDefault(d);var W="https://registry.npmjs.org";var k="latest";var $=k;async function F(t="npm"){return new Promise((r,o)=>{child_process.exec(`${t} config get registry`,(e,a,f)=>e&&!e.message.toLowerCase().trim().startsWith("npm warn")?o(e):f&&!f.toLowerCase().trim().startsWith("npm warn")?o(f):r(a.trim()));})}async function C(){if(process.env.STORM_REGISTRY_NPM)return process.env.STORM_REGISTRY_NPM;let t=await chunk66TU3CP3_cjs.f();return t?.registry?.npm?t?.registry?.npm:W}var N=/^(npm warn|\[[\d.]+ms\]|\[sys\]|\[warn\] request took)/i,H=/^\[[\d.]+ms\].*(?:\.env(?:\.local)?|"\.env)/i;function B(t){let r=t.trim();return r?[r,d__default.default(r)].some(e=>!e||N.test(e)||H.test(e)||/ms\].*\.env/i.test(e)?true:/\[[\d.]+ms\].*\.env/i.test(r)):true}function q(t){return t.split(/\r?\n/).map(r=>d__default.default(r).trim()).filter(r=>r.length>0).filter(r=>!B(r)).join(`
2
- `).trim()}function K(t){let r=d__default.default(t).split(/\r?\n/).map(o=>o.trim()).filter(Boolean);for(let o=r.length-1;o>=0;o-=1){let e=r[o];if(e&&semver.valid(e,true))return e}return d__default.default(t).trim()}async function M(t,r=$,o={}){let e=o.executable||"npm",a=o.retries??3,f=o.timeout??12e4,l=o.registry||await F(e),g;for(let n=0;n<=a;n++)try{let c=new AbortController,s=setTimeout(()=>{c.abort();},f),i=await Promise.resolve(new Promise((I,_)=>{child_process.exec(`${e} view ${t} version --registry=${l}`,{signal:c.signal,maxBuffer:1024*1024*10},(w,D,S)=>{let T=S?q(S):"",x=K(D);if(semver.valid(x,!0))return I(x);let P=w?.message?d__default.default(w.message).trim():"";return w&&P&&!P.toLowerCase().startsWith("npm warn")&&!B(P)?_(T?new Error(T,{cause:w}):w):T?_(new Error(T)):w?_(w):I(x)});}));if(!semver.valid(i,!0))throw clearTimeout(s),new Error(d__default.default(i).startsWith("[WARN] Request took")?`A timeout occurred while fetching the version for package "${t}" with tag "${r}".`:`Invalid version "${i}" fetched for package "${t}" with tag "${r}"`);return clearTimeout(s),i}catch(c){if(g=c,n<a){let s=Math.pow(2,n)*100;await new Promise(i=>setTimeout(i,s));}}throw g}async function X(t=chunk66TU3CP3_cjs.e(process.cwd())){let r=await chunk66TU3CP3_cjs.i(t);if(!r){chunk66TU3CP3_cjs.a(`No package.json file found in workspace root: ${t}`,{logLevel:"all"});return}let o=chunk66TU3CP3_cjs.j(r);if(o)return Object.fromEntries(Object.entries(o).map(([e,a])=>[e,a.replaceAll('"',"").replaceAll("'","")]));console.warn(`No catalog found in package.json file located in workspace root: ${t}
3
- File content: ${JSON.stringify(r,null,2)}`);}async function Q(t=chunk66TU3CP3_cjs.e(process.cwd())){let r=await X(t);if(!r)throw new Error("No catalog entries found in workspace root package.json file");return r}async function Z(t,r=chunk66TU3CP3_cjs.e(process.cwd())){let o=await chunk66TU3CP3_cjs.i(r);if(!o)throw new Error("No package.json file found in workspace root");chunk66TU3CP3_cjs.k(o,Object.fromEntries(Object.entries(t).filter(([,e])=>e&&(e.startsWith("npm:")||semver.valid(chunkWAL5SD4G_cjs.a(e),true))).map(([e,a])=>[e,a.replaceAll('"',"").replaceAll("'","")]))),await chunk66TU3CP3_cjs.l(o,r);}async function At(t,r,o={}){let{tag:e=$,prefix:a="^",workspaceRoot:f=chunk66TU3CP3_cjs.e(),verbose:l=false}=o,g=await chunk66TU3CP3_cjs.g(true,{workspaceRoot:f});l&&chunk66TU3CP3_cjs.c(`Upgrading catalog entry for package "${r}" with tag "${e}"`,g);let n=await C(),c=await M(r,e,{executable:"bun pm",registry:n});if(!c)throw new Error(`Failed to fetch version for package "${r}" with tag "${e}"`);if(!semver.valid(chunkWAL5SD4G_cjs.a(c),true))throw new Error(`Invalid version "${c}" fetched for package "${r}" with tag "${e}"`);let s=`${a||""}${chunkWAL5SD4G_cjs.a(c)}`,i=false;return t[r]?.startsWith("npm:")?(t[r]=s,chunk66TU3CP3_cjs.b(`Writing version ${t[r]} to catalog for "${r}" package`,g)):!semver.valid(semver.coerce(t[r]))||semver.coerce(t[r])&&semver.coerce(s)&&semver.gt(semver.coerce(s),semver.coerce(t[r]))?(t[r]=`${a||""}${chunkWAL5SD4G_cjs.a(s)}`,chunk66TU3CP3_cjs.b(`Writing version ${t[r]} to catalog for "${r}" package`,g),i=true):l&&chunk66TU3CP3_cjs.b(`The current version ${t[r]} for package "${r}" is greater than or equal to the version ${chunkWAL5SD4G_cjs.a(s)} fetched from the npm registry with tag "${e}". No update performed.`,g),{catalog:t,updated:i}}async function vt(t,r={}){let{tag:o=$,prefix:e="^",throwIfMissingInCatalog:a=false,workspaceRoot:f=chunk66TU3CP3_cjs.e(),verbose:l=false}=r,g=await chunk66TU3CP3_cjs.g(true,{workspaceRoot:f}),n=await Q(f);if(!n)throw new Error("No catalog found");if(a===true&&!n[t])throw new Error(`Package "${t}" not found in catalog: ${JSON.stringify(n,null,2)}`);l&&chunk66TU3CP3_cjs.c(`Upgrading catalog entry for package "${t}" with tag "${o}"`,g);let c=await C(),s=await M(t,o,{executable:"bun pm",registry:c});if(!s)throw new Error(`Failed to fetch version for package "${t}" with tag "${o}"`);if(!semver.valid(chunkWAL5SD4G_cjs.a(s),true))throw new Error(`Invalid version "${s}" fetched for package "${t}" with tag "${o}"`);let i=`${e||""}${chunkWAL5SD4G_cjs.a(s)}`;i===n[t]?l&&chunk66TU3CP3_cjs.c(`The version for package "${t}" is already up to date in the catalog: ${i}`,g):!semver.valid(chunkWAL5SD4G_cjs.a(n[t]),true)||semver.coerce(n[t])&&semver.coerce(i)&&semver.gt(semver.coerce(i),semver.coerce(n[t]))?(n[t]=`${e||""}${chunkWAL5SD4G_cjs.a(i)}`,chunk66TU3CP3_cjs.b(`Writing version ${n[t]} to catalog for "${t}" package`,g),await Z(n,f)):l&&chunk66TU3CP3_cjs.a(`The current version "${n[t]}" for package "${t}" is greater than or equal to the version "${i}" fetched from the npm registry with tag "${o}". No update performed.`,g);}exports.a=X;exports.b=Q;exports.c=Z;exports.d=At;exports.e=vt;
@@ -1,3 +0,0 @@
1
- import {a as a$1}from'./chunk-7QKHH2VM.js';import {i,a,j,e,k as k$1,l,g,c,b as b$1,f}from'./chunk-6RUWDFGG.js';import {exec}from'node:child_process';import {valid,coerce,gt}from'semver';import d from'strip-ansi';var k="https://registry.npmjs.org";var F="latest";var $=F;async function B(t="npm"){return new Promise((r,o)=>{exec(`${t} config get registry`,(e,a,f)=>e&&!e.message.toLowerCase().trim().startsWith("npm warn")?o(e):f&&!f.toLowerCase().trim().startsWith("npm warn")?o(f):r(a.trim()));})}async function b(){if(process.env.STORM_REGISTRY_NPM)return process.env.STORM_REGISTRY_NPM;let t=await f();return t?.registry?.npm?t?.registry?.npm:k}var H=/^(npm warn|\[[\d.]+ms\]|\[sys\]|\[warn\] request took)/i,q=/^\[[\d.]+ms\].*(?:\.env(?:\.local)?|"\.env)/i;function Y(t){let r=t.trim();return r?[r,d(r)].some(e=>!e||H.test(e)||q.test(e)||/ms\].*\.env/i.test(e)?true:/\[[\d.]+ms\].*\.env/i.test(r)):true}function K(t){return t.split(/\r?\n/).map(r=>d(r).trim()).filter(r=>r.length>0).filter(r=>!Y(r)).join(`
2
- `).trim()}function X(t){let r=d(t).split(/\r?\n/).map(o=>o.trim()).filter(Boolean);for(let o=r.length-1;o>=0;o-=1){let e=r[o];if(e&&valid(e,true))return e}return d(t).trim()}async function I(t,r=$,o={}){let e=o.executable||"npm",a=o.retries??3,f=o.timeout??12e4,l=o.registry||await B(e),g;for(let n=0;n<=a;n++)try{let c=new AbortController,s=setTimeout(()=>{c.abort();},f),i=await Promise.resolve(new Promise((S,_)=>{exec(`${e} view ${t} version --registry=${l}`,{signal:c.signal,maxBuffer:1024*1024*10},(w,J,O)=>{let T=O?K(O):"",x=X(J);if(valid(x,!0))return S(x);let P=w?.message?d(w.message).trim():"";return w&&P&&!P.toLowerCase().startsWith("npm warn")&&!Y(P)?_(T?new Error(T,{cause:w}):w):T?_(new Error(T)):w?_(w):S(x)});}));if(!valid(i,!0))throw clearTimeout(s),new Error(d(i).startsWith("[WARN] Request took")?`A timeout occurred while fetching the version for package "${t}" with tag "${r}".`:`Invalid version "${i}" fetched for package "${t}" with tag "${r}"`);return clearTimeout(s),i}catch(c){if(g=c,n<a){let s=Math.pow(2,n)*100;await new Promise(i=>setTimeout(i,s));}}throw g}async function Q(t=e(process.cwd())){let r=await i(t);if(!r){a(`No package.json file found in workspace root: ${t}`,{logLevel:"all"});return}let o=j(r);if(o)return Object.fromEntries(Object.entries(o).map(([e,a])=>[e,a.replaceAll('"',"").replaceAll("'","")]));console.warn(`No catalog found in package.json file located in workspace root: ${t}
3
- File content: ${JSON.stringify(r,null,2)}`);}async function Z(t=e(process.cwd())){let r=await Q(t);if(!r)throw new Error("No catalog entries found in workspace root package.json file");return r}async function z(t,r=e(process.cwd())){let o=await i(r);if(!o)throw new Error("No package.json file found in workspace root");k$1(o,Object.fromEntries(Object.entries(t).filter(([,e])=>e&&(e.startsWith("npm:")||valid(a$1(e),true))).map(([e,a])=>[e,a.replaceAll('"',"").replaceAll("'","")]))),await l(o,r);}async function vt(t,r,o={}){let{tag:e$1=$,prefix:a="^",workspaceRoot:f=e(),verbose:l=false}=o,g$1=await g(true,{workspaceRoot:f});l&&c(`Upgrading catalog entry for package "${r}" with tag "${e$1}"`,g$1);let n=await b(),c$1=await I(r,e$1,{executable:"bun pm",registry:n});if(!c$1)throw new Error(`Failed to fetch version for package "${r}" with tag "${e$1}"`);if(!valid(a$1(c$1),true))throw new Error(`Invalid version "${c$1}" fetched for package "${r}" with tag "${e$1}"`);let s=`${a||""}${a$1(c$1)}`,i=false;return t[r]?.startsWith("npm:")?(t[r]=s,b$1(`Writing version ${t[r]} to catalog for "${r}" package`,g$1)):!valid(coerce(t[r]))||coerce(t[r])&&coerce(s)&&gt(coerce(s),coerce(t[r]))?(t[r]=`${a||""}${a$1(s)}`,b$1(`Writing version ${t[r]} to catalog for "${r}" package`,g$1),i=true):l&&b$1(`The current version ${t[r]} for package "${r}" is greater than or equal to the version ${a$1(s)} fetched from the npm registry with tag "${e$1}". No update performed.`,g$1),{catalog:t,updated:i}}async function Gt(t,r={}){let{tag:o=$,prefix:e$1="^",throwIfMissingInCatalog:a$2=false,workspaceRoot:f=e(),verbose:l=false}=r,g$1=await g(true,{workspaceRoot:f}),n=await Z(f);if(!n)throw new Error("No catalog found");if(a$2===true&&!n[t])throw new Error(`Package "${t}" not found in catalog: ${JSON.stringify(n,null,2)}`);l&&c(`Upgrading catalog entry for package "${t}" with tag "${o}"`,g$1);let c$1=await b(),s=await I(t,o,{executable:"bun pm",registry:c$1});if(!s)throw new Error(`Failed to fetch version for package "${t}" with tag "${o}"`);if(!valid(a$1(s),true))throw new Error(`Invalid version "${s}" fetched for package "${t}" with tag "${o}"`);let i=`${e$1||""}${a$1(s)}`;i===n[t]?l&&c(`The version for package "${t}" is already up to date in the catalog: ${i}`,g$1):!valid(a$1(n[t]),true)||coerce(n[t])&&coerce(i)&&gt(coerce(i),coerce(n[t]))?(n[t]=`${e$1||""}${a$1(i)}`,b$1(`Writing version ${n[t]} to catalog for "${t}" package`,g$1),await z(n,f)):l&&a(`The current version "${n[t]}" for package "${t}" is greater than or equal to the version "${i}" fetched from the npm registry with tag "${o}". No update performed.`,g$1);}export{Q as a,Z as b,z as c,vt as d,Gt as e};
@@ -1 +0,0 @@
1
- 'use strict';var chunk66TU3CP3_cjs=require('./chunk-66TU3CP3.cjs'),g=require('defu');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var g__default=/*#__PURE__*/_interopDefault(g);function d(a=chunk66TU3CP3_cjs.e(process.cwd())){return chunk66TU3CP3_cjs.h(a)}async function w(a=chunk66TU3CP3_cjs.e(process.cwd())){let s=await chunk66TU3CP3_cjs.i(a);if(s)return s}async function u(a,s=chunk66TU3CP3_cjs.e(process.cwd())){let o=await chunk66TU3CP3_cjs.i(s);if(!o)throw new Error("No package.json file found in workspace root");if(a.catalog&&chunk66TU3CP3_cjs.k(o,a.catalog),!a.packages)throw new Error("No packages found in workspace file");Array.isArray(o.workspaces)||!o.workspaces?o.workspaces={packages:a.packages,catalog:a.catalog}:(o.workspaces.packages=g__default.default(a.packages,o.workspaces.packages),a.catalog&&(o.workspaces.catalog=g__default.default(a.catalog,o.workspaces.catalog))),await chunk66TU3CP3_cjs.l(o,s);}exports.a=d;exports.b=w;exports.c=u;
@@ -1 +0,0 @@
1
- import {h,e,i,k,l}from'./chunk-6RUWDFGG.js';import g from'defu';function w(a=e(process.cwd())){return h(a)}async function u(a=e(process.cwd())){let s=await i(a);if(s)return s}async function P(a,s=e(process.cwd())){let o=await i(s);if(!o)throw new Error("No package.json file found in workspace root");if(a.catalog&&k(o,a.catalog),!a.packages)throw new Error("No packages found in workspace file");Array.isArray(o.workspaces)||!o.workspaces?o.workspaces={packages:a.packages,catalog:a.catalog}:(o.workspaces.packages=g(a.packages,o.workspaces.packages),a.catalog&&(o.workspaces.catalog=g(a.catalog,o.workspaces.catalog))),await l(o,s);}export{w as a,u as b,P as c};
File without changes
File without changes