@storm-software/pnpm-tools 0.4.5 → 0.4.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,24 @@
2
2
 
3
3
  # Changelog for Storm Ops - Pnpm Tools
4
4
 
5
+ ## [0.4.5](https://github.com/storm-software/storm-ops/releases/tag/pnpm-tools%400.4.5) (2025-09-20)
6
+
7
+ ### Bug Fixes
8
+
9
+ - **pnpm-tools:** Resolve issue with invalid import path
10
+ ([a28aa7fe5](https://github.com/storm-software/storm-ops/commit/a28aa7fe5))
11
+
12
+ ### Miscellaneous
13
+
14
+ - **monorepo:** Update workspace package links
15
+ ([2eed9fa1f](https://github.com/storm-software/storm-ops/commit/2eed9fa1f))
16
+
17
+ ### Updated Dependencies
18
+
19
+ - Updated config-tools to 1.187.0
20
+ - Updated npm-tools to 0.4.5
21
+ - Updated config to 1.133.0
22
+
5
23
  ## [0.4.4](https://github.com/storm-software/storm-ops/releases/tag/pnpm-tools%400.4.4) (2025-09-20)
6
24
 
7
25
  ### Bug Fixes
package/README.md CHANGED
@@ -21,7 +21,7 @@ This package is part of the <b>⚡Storm-Ops</b> monorepo. The Storm-Ops packages
21
21
 
22
22
  <h3 align="center">💻 Visit <a href="https://stormsoftware.com" target="_blank">stormsoftware.com</a> to stay up to date with this developer</h3><br />
23
23
 
24
- [![Version](https://img.shields.io/badge/version-0.4.3-1fb2a6.svg?style=for-the-badge&color=1fb2a6)](https://prettier.io/)&nbsp;[![Nx](https://img.shields.io/badge/Nx-17.0.2-lightgrey?style=for-the-badge&logo=nx&logoWidth=20&&color=1fb2a6)](http://nx.dev/)&nbsp;[![NextJs](https://img.shields.io/badge/Next.js-14.0.2-lightgrey?style=for-the-badge&logo=nextdotjs&logoWidth=20&color=1fb2a6)](https://nextjs.org/)&nbsp;[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg?style=for-the-badge&logo=commitlint&color=1fb2a6)](http://commitizen.github.io/cz-cli/)&nbsp;![Semantic-Release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=for-the-badge&color=1fb2a6)&nbsp;[![documented with Fumadocs](https://img.shields.io/badge/documented_with-fumadocs-success.svg?style=for-the-badge&logo=readthedocs&color=1fb2a6)](https://fumadocs.vercel.app/)&nbsp;![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/storm-software/storm-ops/cr.yml?style=for-the-badge&logo=github-actions&color=1fb2a6)
24
+ [![Version](https://img.shields.io/badge/version-0.4.4-1fb2a6.svg?style=for-the-badge&color=1fb2a6)](https://prettier.io/)&nbsp;[![Nx](https://img.shields.io/badge/Nx-17.0.2-lightgrey?style=for-the-badge&logo=nx&logoWidth=20&&color=1fb2a6)](http://nx.dev/)&nbsp;[![NextJs](https://img.shields.io/badge/Next.js-14.0.2-lightgrey?style=for-the-badge&logo=nextdotjs&logoWidth=20&color=1fb2a6)](https://nextjs.org/)&nbsp;[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg?style=for-the-badge&logo=commitlint&color=1fb2a6)](http://commitizen.github.io/cz-cli/)&nbsp;![Semantic-Release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=for-the-badge&color=1fb2a6)&nbsp;[![documented with Fumadocs](https://img.shields.io/badge/documented_with-fumadocs-success.svg?style=for-the-badge&logo=readthedocs&color=1fb2a6)](https://fumadocs.vercel.app/)&nbsp;![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/storm-software/storm-ops/cr.yml?style=for-the-badge&logo=github-actions&color=1fb2a6)
25
25
 
26
26
  <!-- prettier-ignore-start -->
27
27
  <!-- markdownlint-disable -->
package/bin/pnpm.cjs CHANGED
@@ -59,7 +59,7 @@ async function getCatalogSafe(workspaceRoot = (0, import_find_workspace_root2.fi
59
59
  if (pnpmWorkspaceFile?.catalog) {
60
60
  return Object.fromEntries(
61
61
  Object.entries(pnpmWorkspaceFile.catalog).map(([key, value]) => {
62
- return [key, value.replaceAll(/^"/g, "").replaceAll(/"$/g, "")];
62
+ return [key, value.replaceAll('"', "").replaceAll("'", "")];
63
63
  })
64
64
  );
65
65
  } else {
@@ -88,7 +88,7 @@ async function setCatalog(catalog, workspaceRoot = (0, import_find_workspace_roo
88
88
  }
89
89
  pnpmWorkspaceFile.catalog = Object.fromEntries(
90
90
  Object.entries(catalog).map(([key, value]) => {
91
- return [key, `"${value}"`];
91
+ return [key, value.replaceAll('"', "").replaceAll("'", "")];
92
92
  })
93
93
  );
94
94
  await writePnpmWorkspaceFile(pnpmWorkspaceFile, workspaceRoot);
package/bin/pnpm.js CHANGED
@@ -73,7 +73,7 @@ async function getCatalogSafe(workspaceRoot = findWorkspaceRoot2(process.cwd()))
73
73
  if (pnpmWorkspaceFile?.catalog) {
74
74
  return Object.fromEntries(
75
75
  Object.entries(pnpmWorkspaceFile.catalog).map(([key, value]) => {
76
- return [key, value.replaceAll(/^"/g, "").replaceAll(/"$/g, "")];
76
+ return [key, value.replaceAll('"', "").replaceAll("'", "")];
77
77
  })
78
78
  );
79
79
  } else {
@@ -102,7 +102,7 @@ async function setCatalog(catalog, workspaceRoot = findWorkspaceRoot2(process.cw
102
102
  }
103
103
  pnpmWorkspaceFile.catalog = Object.fromEntries(
104
104
  Object.entries(catalog).map(([key, value]) => {
105
- return [key, `"${value}"`];
105
+ return [key, value.replaceAll('"', "").replaceAll("'", "")];
106
106
  })
107
107
  );
108
108
  await writePnpmWorkspaceFile(pnpmWorkspaceFile, workspaceRoot);
@@ -1,4 +1,4 @@
1
- 'use strict';var chunkCZ7PAWK2_cjs=require('./chunk-CZ7PAWK2.cjs'),r=require('zod/mini'),Ao=require('defu'),fs=require('fs'),c12=require('c12'),Ho=require('chalk'),promises=require('fs/promises'),path=require('path'),child_process=require('child_process'),semver=require('semver');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var r__namespace=/*#__PURE__*/_interopNamespace(r);var Ao__default=/*#__PURE__*/_interopDefault(Ao);var Ho__default=/*#__PURE__*/_interopDefault(Ho);var re="https://docs.stormsoftware.com",$="https://stormsoftware.com";var te="https://stormsoftware.com/license",se="Apache-2.0";var y="tools/errors/codes.json",ne="The workspace's banner image";var s=r__namespace.registry(),f=r__namespace.string().check(r__namespace.length(7),r__namespace.toLowerCase(),r__namespace.regex(/^#([0-9a-f]{3}){1,2}$/i),r__namespace.trim());s.add(f,{description:"A base schema for describing the format of colors"});var w=r__namespace._default(f,"#151718");s.add(w,{description:"The dark background color of the workspace"});var z=r__namespace._default(f,"#cbd5e1");s.add(z,{description:"The light background color of the workspace"});var b=r__namespace._default(f,"#1fb2a6");s.add(b,{description:"The primary brand specific color of the workspace"});var x=r__namespace.optional(f);s.add(x,{description:"The alternate brand specific color of the workspace"});var D=r__namespace.optional(f);s.add(D,{description:"The secondary brand specific color of the workspace"});var G=r__namespace._default(f,"#3fa6ff");s.add(G,{description:"The color used to display hyperlink text"});var M=r__namespace._default(f,"#818cf8");s.add(M,{description:"The second brand specific color of the workspace"});var P=r__namespace._default(f,"#45b27e");s.add(P,{description:"The success color of the workspace"});var F=r__namespace._default(f,"#38bdf8");s.add(F,{description:"The informational color of the workspace"});var U=r__namespace._default(f,"#f3d371");s.add(U,{description:"The warning color of the workspace"});var W=r__namespace._default(f,"#d8314a");s.add(W,{description:"The danger color of the workspace"});var B=r__namespace.optional(f);s.add(B,{description:"The fatal color of the workspace"});var j=r__namespace._default(f,"#4ade80");s.add(j,{description:"The positive number color of the workspace"});var H=r__namespace._default(f,"#ef4444");s.add(H,{description:"The negative number color of the workspace"});var Y=r__namespace.optional(r__namespace.array(f));s.add(Y,{description:"The color stops for the base gradient color pattern used in the workspace"});var Uo=r__namespace.object({foreground:z,background:w,brand:b,alternate:x,accent:D,link:G,help:M,success:P,info:F,warning:U,danger:W,fatal:B,positive:j,negative:H,gradient:Y}),Wo=r__namespace.object({foreground:w,background:z,brand:b,alternate:x,accent:D,link:G,help:M,success:P,info:F,warning:U,danger:W,fatal:B,positive:j,negative:H,gradient:Y}),Bo=r__namespace.object({dark:Uo,light:Wo}),jo=r__namespace.object({dark:w,light:z,brand:b,alternate:x,accent:D,link:G,help:M,success:P,info:F,warning:U,danger:W,fatal:B,positive:j,negative:H,gradient:Y}),O=r__namespace.optional(r__namespace.url());s.add(O,{description:"A remote registry URL used to publish distributable packages"});var ae=r__namespace._default(r__namespace.object({github:O,npm:O,cargo:O,cyclone:O,container:O}),{});s.add(ae,{description:"A list of remote registry URLs used by Storm Software"});var X=r__namespace.union([jo,Bo]);s.add(X,{description:"Colors used for various workspace elements"});var ie=r__namespace.record(r__namespace.union([r__namespace.union([r__namespace.literal("base"),r__namespace.string()]),r__namespace.string()]),X);s.add(ie,{description:"Storm theme config values used for styling various package elements"});var ce=r__namespace.optional(r__namespace.union([r__namespace.string().check(r__namespace.trim()),r__namespace.array(r__namespace.string().check(r__namespace.trim()))]));s.add(ce,{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 pe=r__namespace.string().check(r__namespace.trim());s.add(pe,{description:"The workspace bot user's name (this is the bot that will be used to perform various tasks)"});var de=r__namespace.string().check(r__namespace.trim());s.add(de,{description:"The email of the workspace bot"});var le=r__namespace.object({name:pe,email:de});s.add(le,{description:"The workspace's bot user's config used to automated various operations tasks"});var me=r__namespace.optional(r__namespace.string().check(r__namespace.trim(),r__namespace.url()));s.add(me,{description:"A URL to a banner image used to display the workspace's release"});var ge=r__namespace._default(r__namespace.string().check(r__namespace.trim()),ne);s.add(ge,{description:"The alt text for the workspace's release banner image"});var ue=r__namespace.object({url:me,alt:ge});s.add(ue,{description:"The workspace's banner image used during the release process"});var fe=r__namespace.optional(r__namespace.string().check(r__namespace.trim()));s.add(fe,{description:"A header message appended to the start of the workspace's release notes"});var he=r__namespace.optional(r__namespace.string().check(r__namespace.trim()));s.add(he,{description:"A footer message appended to the end of the workspace's release notes"});var Te=r__namespace.object({banner:r__namespace.union([ue,r__namespace.string().check(r__namespace.trim(),r__namespace.url())]),header:fe,footer:he});s.add(Te,{description:"The workspace's release config used during the release process"});var Ce=r__namespace.optional(r__namespace.string().check(r__namespace.trim()));s.add(Ce,{description:"A Twitter/X account associated with the organization/project"});var Ee=r__namespace.optional(r__namespace.string().check(r__namespace.trim()));s.add(Ee,{description:"A Discord account associated with the organization/project"});var Re=r__namespace.optional(r__namespace.string().check(r__namespace.trim()));s.add(Re,{description:"A Telegram account associated with the organization/project"});var Se=r__namespace.optional(r__namespace.string().check(r__namespace.trim()));s.add(Se,{description:"A Slack account associated with the organization/project"});var ve=r__namespace.optional(r__namespace.string().check(r__namespace.trim()));s.add(ve,{description:"A Medium account associated with the organization/project"});var ke=r__namespace.optional(r__namespace.string().check(r__namespace.trim()));s.add(ke,{description:"A GitHub account associated with the organization/project"});var Ae=r__namespace.object({twitter:Ce,discord:Ee,telegram:Re,slack:Se,medium:ve,github:ke});s.add(Ae,{description:"The workspace's account config used to store various social media links"});var Oe=r__namespace.optional(r__namespace.string().check(r__namespace.trim()));s.add(Oe,{description:"The directory used to store the environment's cached file data"});var Le=r__namespace.optional(r__namespace.string().check(r__namespace.trim()));s.add(Le,{description:"The directory used to store the environment's data files"});var $e=r__namespace.optional(r__namespace.string().check(r__namespace.trim()));s.add($e,{description:"The directory used to store the environment's configuration files"});var _e=r__namespace.optional(r__namespace.string().check(r__namespace.trim()));s.add(_e,{description:"The directory used to store the environment's temp files"});var Ie=r__namespace.optional(r__namespace.string().check(r__namespace.trim()));s.add(Ie,{description:"The directory used to store the environment's log files"});var Ne=r__namespace._default(r__namespace.string().check(r__namespace.trim()),"dist");s.add(Ne,{description:"The directory used to store the workspace's distributable files after a build (relative to the workspace root)"});var ye=r__namespace.object({cache:Oe,data:Le,config:$e,temp:_e,log:Ie,build:Ne});s.add(ye,{description:"Various directories used by the workspace to store data, cache, and configuration files"});var we=r__namespace._default(r__namespace.enum(["minimal","monorepo"]),"monorepo");s.add(we,{description:"The variant of the workspace. This can be used to enable or disable certain features or configurations."});var ze=r__namespace._default(r__namespace.string().check(r__namespace.trim()),y);s.add(ze,{description:"The path to the workspace's error codes JSON file"});var be=r__namespace.optional(r__namespace.url());s.add(be,{description:"A URL to a page that looks up the workspace's error messages given a specific error code"});var xe=r__namespace.object({codesFile:ze,url:be});s.add(xe,{description:"The workspace's error config used when creating error details during a system error"});var De=r__namespace.optional(r__namespace.string().check(r__namespace.trim(),r__namespace.toLowerCase()));s.add(De,{description:"The name of the organization"});var Ge=r__namespace.optional(r__namespace.string().check(r__namespace.trim()));s.add(Ge,{description:"A description of the organization"});var Me=r__namespace.optional(r__namespace.url());s.add(Me,{description:"A URL to the organization's logo image"});var Pe=r__namespace.optional(r__namespace.url());s.add(Pe,{description:"A URL to the organization's icon image"});var Fe=r__namespace.optional(r__namespace.url());s.add(Fe,{description:"A URL to a page that provides more information about the organization"});var Ue=r__namespace.object({name:De,description:Ge,logo:Me,icon:Pe,url:Fe});s.add(Ue,{description:"The workspace's organization details"});var We=r__namespace._default(r__namespace.string().check(r__namespace.trim(),r__namespace.toLowerCase()),"https://public.storm-cdn.com/schemas/storm-workspace.schema.json");s.add(We,{description:"The URL or file path to the JSON schema file that describes the Storm configuration file"});var Be=r__namespace.string().check(r__namespace.trim(),r__namespace.toLowerCase());s.add(Be,{description:"The name of the workspace/project/service/package/scope using this configuration"});var je=r__namespace.string().check(r__namespace.trim(),r__namespace.toLowerCase());s.add(je,{description:"The namespace of the workspace/project/service/package/scope using this configuration"});var He=r__namespace.union([Ue,r__namespace.string().check(r__namespace.trim(),r__namespace.toLowerCase())]);s.add(He,{description:"The organization of the workspace. This can be a string or an object containing the organization's details"});var Ye=r__namespace.string().check(r__namespace.trim(),r__namespace.toLowerCase());s.add(Ye,{description:"The repo URL of the workspace (i.e. the GitHub repository URL)"});var Ve=r__namespace._default(r__namespace.string().check(r__namespace.trim()),"Apache-2.0");s.add(Ve,{description:"The license type of the package"});var Ke=r__namespace.optional(r__namespace.url());s.add(Ke,{description:"The homepage of the workspace"});var Ze=r__namespace.optional(r__namespace.url());s.add(Ze,{description:"The documentation site for the workspace"});var Je=r__namespace.optional(r__namespace.url());s.add(Je,{description:"The development portal site for the workspace"});var Xe=r__namespace.optional(r__namespace.url());s.add(Xe,{description:"The licensing site for the workspace"});var qe=r__namespace.optional(r__namespace.url());s.add(qe,{description:"The contact site for the workspace"});var Qe=r__namespace.optional(r__namespace.url());s.add(Qe,{description:"The support site for the workspace. If not provided, this is defaulted to the `contact` config value"});var eo=r__namespace._default(r__namespace.string().check(r__namespace.trim(),r__namespace.toLowerCase()),"main");s.add(eo,{description:"The branch of the workspace"});var oo=r__namespace.optional(r__namespace.string().check(r__namespace.trim(),r__namespace.toLowerCase()));s.add(oo,{description:"A tag specifying the version pre-release identifier"});var ro=r__namespace.optional(r__namespace.string().check(r__namespace.trim(),r__namespace.toLowerCase()));s.add(ro,{description:"The owner of the package"});var to=r__namespace._default(r__namespace.enum(["development","staging","production"]).check(r__namespace.trim(),r__namespace.toLowerCase()),"production");s.add(to,{description:"The current runtime environment mode for the package"});var so=r__namespace.string().check(r__namespace.trim(),r__namespace.toLowerCase());s.add(so,{description:"The root directory of the workspace"});var no=r__namespace._default(r__namespace.boolean(),false);s.add(no,{description:"Should all known types of workspace caching be skipped?"});var ao=r__namespace._default(r__namespace.enum(["npm","yarn","pnpm","bun"]),"npm");s.add(ao,{description:"The JavaScript/TypeScript package manager used by the repository"});var io=r__namespace._default(r__namespace.string().check(r__namespace.trim()),"America/New_York");s.add(io,{description:"The default timezone of the workspace"});var co=r__namespace._default(r__namespace.string().check(r__namespace.trim()),"en-US");s.add(co,{description:"The default locale of the workspace"});var po=r__namespace._default(r__namespace.enum(["silent","fatal","error","warn","success","info","debug","trace","all"]),"info");s.add(po,{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 lo=r__namespace._default(r__namespace.boolean(),true);s.add(lo,{description:"Should the logging of the current Storm Workspace configuration be skipped?"});var mo=r__namespace._default(r__namespace.nullable(r__namespace.string().check(r__namespace.trim())),null);s.add(mo,{description:"The filepath of the Storm config. When this field is null, no config file was found in the current workspace."});var q=r__namespace._default(r__namespace.record(r__namespace.string(),r__namespace.any()),{});s.add(q,{description:"Configuration of each used extension"});var go=r__namespace.object({$schema:We,extends:ce,name:Be,variant:we,namespace:je,organization:He,repository:Ye,license:Ve,homepage:Ke,docs:Ze,portal:Je,licensing:Xe,contact:qe,support:Qe,branch:eo,preid:oo,owner:ro,bot:le,release:Te,socials:Ae,error:xe,mode:to,workspaceRoot:so,skipCache:no,directories:ye,packageManager:ao,timezone:io,locale:co,logLevel:po,skipConfigLogging:lo,registry:ae,configFile:mo,colors:r__namespace.union([X,ie]),extensions:q});s.add(q,{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."});var c={SILENT:0,FATAL:10,ERROR:20,WARN:30,SUCCESS:35,INFO:40,DEBUG:60,TRACE:70,ALL:100},d={SILENT:"silent",FATAL:"fatal",ERROR:"error",WARN:"warn",SUCCESS:"success",INFO:"info",DEBUG:"debug",TRACE:"trace",ALL:"all"};var C={dark:{brand:"#2dd4bf",success:"#10b981",info:"#58a6ff",warning:"#f3d371",danger:"#D8314A",fatal:"#a40e26"}};var Yo={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}},uo=()=>{let e=Ho__default.default;return (!e?.hex||!e?.bold?.hex||!e?.bgHex||!e?.whiteBright||!e?.white)&&(e=Yo),e};function fo(){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)=>fo()?e:o,R={[d.ERROR]:k("\u2718","\xD7"),[d.FATAL]:k("\u{1F480}","\xD7"),[d.WARN]:k("\u26A0","\u203C"),[d.INFO]:k("\u2139","i"),[d.SUCCESS]:k("\u2714","\u221A"),[d.DEBUG]:k("\u{1F6E0}","D"),[d.TRACE]:k("\u{1F6E0}","T"),[d.ALL]:k("\u2709","\u2192")};var S=(e=new Date)=>`${e.toLocaleDateString()} ${e.toLocaleTimeString()}`;var L=e=>{switch(e){case "all":return c.ALL;case "trace":return c.TRACE;case "debug":return c.DEBUG;case "info":return c.INFO;case "warn":return c.WARN;case "error":return c.ERROR;case "fatal":return c.FATAL;case "silent":return c.SILENT;default:return c.INFO}},ho=(e=c.INFO)=>e>=c.ALL?d.ALL:e>=c.TRACE?d.TRACE:e>=c.DEBUG?d.DEBUG:e>=c.INFO?d.INFO:e>=c.WARN?d.WARN:e>=c.ERROR?d.ERROR:e>=c.FATAL?d.FATAL:e<=c.SILENT?d.SILENT:d.INFO;var Q=(e=c.INFO,o={},t=uo())=>{let i=!o.colors?.dark&&!o.colors?.base&&!o.colors?.base?.dark?C: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:C,a=o.logLevel||process.env.STORM_LOG_LEVEL||d.INFO;return e>L(a)||e<=c.SILENT||L(a)<=c.SILENT?n=>{}:typeof e=="number"&&c.FATAL>=e?n=>{console.error(`
1
+ 'use strict';var chunkCZ7PAWK2_cjs=require('./chunk-CZ7PAWK2.cjs'),r=require('zod/mini'),ko=require('defu'),fs=require('fs'),c12=require('c12'),Ho=require('chalk'),promises=require('fs/promises'),path=require('path'),child_process=require('child_process'),semver=require('semver');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var r__namespace=/*#__PURE__*/_interopNamespace(r);var ko__default=/*#__PURE__*/_interopDefault(ko);var Ho__default=/*#__PURE__*/_interopDefault(Ho);var re="https://docs.stormsoftware.com",$="https://stormsoftware.com";var te="https://stormsoftware.com/license",se="Apache-2.0";var y="tools/errors/codes.json",ne="The workspace's banner image";var s=r__namespace.registry(),f=r__namespace.string().check(r__namespace.length(7),r__namespace.toLowerCase(),r__namespace.regex(/^#([0-9a-f]{3}){1,2}$/i),r__namespace.trim());s.add(f,{description:"A base schema for describing the format of colors"});var w=r__namespace._default(f,"#151718");s.add(w,{description:"The dark background color of the workspace"});var z=r__namespace._default(f,"#cbd5e1");s.add(z,{description:"The light background color of the workspace"});var b=r__namespace._default(f,"#1fb2a6");s.add(b,{description:"The primary brand specific color of the workspace"});var x=r__namespace.optional(f);s.add(x,{description:"The alternate brand specific color of the workspace"});var D=r__namespace.optional(f);s.add(D,{description:"The secondary brand specific color of the workspace"});var G=r__namespace._default(f,"#3fa6ff");s.add(G,{description:"The color used to display hyperlink text"});var M=r__namespace._default(f,"#818cf8");s.add(M,{description:"The second brand specific color of the workspace"});var P=r__namespace._default(f,"#45b27e");s.add(P,{description:"The success color of the workspace"});var F=r__namespace._default(f,"#38bdf8");s.add(F,{description:"The informational color of the workspace"});var U=r__namespace._default(f,"#f3d371");s.add(U,{description:"The warning color of the workspace"});var W=r__namespace._default(f,"#d8314a");s.add(W,{description:"The danger color of the workspace"});var B=r__namespace.optional(f);s.add(B,{description:"The fatal color of the workspace"});var j=r__namespace._default(f,"#4ade80");s.add(j,{description:"The positive number color of the workspace"});var H=r__namespace._default(f,"#ef4444");s.add(H,{description:"The negative number color of the workspace"});var Y=r__namespace.optional(r__namespace.array(f));s.add(Y,{description:"The color stops for the base gradient color pattern used in the workspace"});var Uo=r__namespace.object({foreground:z,background:w,brand:b,alternate:x,accent:D,link:G,help:M,success:P,info:F,warning:U,danger:W,fatal:B,positive:j,negative:H,gradient:Y}),Wo=r__namespace.object({foreground:w,background:z,brand:b,alternate:x,accent:D,link:G,help:M,success:P,info:F,warning:U,danger:W,fatal:B,positive:j,negative:H,gradient:Y}),Bo=r__namespace.object({dark:Uo,light:Wo}),jo=r__namespace.object({dark:w,light:z,brand:b,alternate:x,accent:D,link:G,help:M,success:P,info:F,warning:U,danger:W,fatal:B,positive:j,negative:H,gradient:Y}),O=r__namespace.optional(r__namespace.url());s.add(O,{description:"A remote registry URL used to publish distributable packages"});var ae=r__namespace._default(r__namespace.object({github:O,npm:O,cargo:O,cyclone:O,container:O}),{});s.add(ae,{description:"A list of remote registry URLs used by Storm Software"});var X=r__namespace.union([jo,Bo]);s.add(X,{description:"Colors used for various workspace elements"});var ie=r__namespace.record(r__namespace.union([r__namespace.union([r__namespace.literal("base"),r__namespace.string()]),r__namespace.string()]),X);s.add(ie,{description:"Storm theme config values used for styling various package elements"});var ce=r__namespace.optional(r__namespace.union([r__namespace.string().check(r__namespace.trim()),r__namespace.array(r__namespace.string().check(r__namespace.trim()))]));s.add(ce,{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 pe=r__namespace.string().check(r__namespace.trim());s.add(pe,{description:"The workspace bot user's name (this is the bot that will be used to perform various tasks)"});var de=r__namespace.string().check(r__namespace.trim());s.add(de,{description:"The email of the workspace bot"});var le=r__namespace.object({name:pe,email:de});s.add(le,{description:"The workspace's bot user's config used to automated various operations tasks"});var me=r__namespace.optional(r__namespace.string().check(r__namespace.trim(),r__namespace.url()));s.add(me,{description:"A URL to a banner image used to display the workspace's release"});var ge=r__namespace._default(r__namespace.string().check(r__namespace.trim()),ne);s.add(ge,{description:"The alt text for the workspace's release banner image"});var ue=r__namespace.object({url:me,alt:ge});s.add(ue,{description:"The workspace's banner image used during the release process"});var fe=r__namespace.optional(r__namespace.string().check(r__namespace.trim()));s.add(fe,{description:"A header message appended to the start of the workspace's release notes"});var he=r__namespace.optional(r__namespace.string().check(r__namespace.trim()));s.add(he,{description:"A footer message appended to the end of the workspace's release notes"});var Te=r__namespace.object({banner:r__namespace.union([ue,r__namespace.string().check(r__namespace.trim(),r__namespace.url())]),header:fe,footer:he});s.add(Te,{description:"The workspace's release config used during the release process"});var Ce=r__namespace.optional(r__namespace.string().check(r__namespace.trim()));s.add(Ce,{description:"A Twitter/X account associated with the organization/project"});var Ee=r__namespace.optional(r__namespace.string().check(r__namespace.trim()));s.add(Ee,{description:"A Discord account associated with the organization/project"});var Re=r__namespace.optional(r__namespace.string().check(r__namespace.trim()));s.add(Re,{description:"A Telegram account associated with the organization/project"});var Se=r__namespace.optional(r__namespace.string().check(r__namespace.trim()));s.add(Se,{description:"A Slack account associated with the organization/project"});var ve=r__namespace.optional(r__namespace.string().check(r__namespace.trim()));s.add(ve,{description:"A Medium account associated with the organization/project"});var Ae=r__namespace.optional(r__namespace.string().check(r__namespace.trim()));s.add(Ae,{description:"A GitHub account associated with the organization/project"});var ke=r__namespace.object({twitter:Ce,discord:Ee,telegram:Re,slack:Se,medium:ve,github:Ae});s.add(ke,{description:"The workspace's account config used to store various social media links"});var Oe=r__namespace.optional(r__namespace.string().check(r__namespace.trim()));s.add(Oe,{description:"The directory used to store the environment's cached file data"});var Le=r__namespace.optional(r__namespace.string().check(r__namespace.trim()));s.add(Le,{description:"The directory used to store the environment's data files"});var $e=r__namespace.optional(r__namespace.string().check(r__namespace.trim()));s.add($e,{description:"The directory used to store the environment's configuration files"});var _e=r__namespace.optional(r__namespace.string().check(r__namespace.trim()));s.add(_e,{description:"The directory used to store the environment's temp files"});var Ie=r__namespace.optional(r__namespace.string().check(r__namespace.trim()));s.add(Ie,{description:"The directory used to store the environment's log files"});var Ne=r__namespace._default(r__namespace.string().check(r__namespace.trim()),"dist");s.add(Ne,{description:"The directory used to store the workspace's distributable files after a build (relative to the workspace root)"});var ye=r__namespace.object({cache:Oe,data:Le,config:$e,temp:_e,log:Ie,build:Ne});s.add(ye,{description:"Various directories used by the workspace to store data, cache, and configuration files"});var we=r__namespace._default(r__namespace.enum(["minimal","monorepo"]),"monorepo");s.add(we,{description:"The variant of the workspace. This can be used to enable or disable certain features or configurations."});var ze=r__namespace._default(r__namespace.string().check(r__namespace.trim()),y);s.add(ze,{description:"The path to the workspace's error codes JSON file"});var be=r__namespace.optional(r__namespace.url());s.add(be,{description:"A URL to a page that looks up the workspace's error messages given a specific error code"});var xe=r__namespace.object({codesFile:ze,url:be});s.add(xe,{description:"The workspace's error config used when creating error details during a system error"});var De=r__namespace.optional(r__namespace.string().check(r__namespace.trim(),r__namespace.toLowerCase()));s.add(De,{description:"The name of the organization"});var Ge=r__namespace.optional(r__namespace.string().check(r__namespace.trim()));s.add(Ge,{description:"A description of the organization"});var Me=r__namespace.optional(r__namespace.url());s.add(Me,{description:"A URL to the organization's logo image"});var Pe=r__namespace.optional(r__namespace.url());s.add(Pe,{description:"A URL to the organization's icon image"});var Fe=r__namespace.optional(r__namespace.url());s.add(Fe,{description:"A URL to a page that provides more information about the organization"});var Ue=r__namespace.object({name:De,description:Ge,logo:Me,icon:Pe,url:Fe});s.add(Ue,{description:"The workspace's organization details"});var We=r__namespace._default(r__namespace.string().check(r__namespace.trim(),r__namespace.toLowerCase()),"https://public.storm-cdn.com/schemas/storm-workspace.schema.json");s.add(We,{description:"The URL or file path to the JSON schema file that describes the Storm configuration file"});var Be=r__namespace.string().check(r__namespace.trim(),r__namespace.toLowerCase());s.add(Be,{description:"The name of the workspace/project/service/package/scope using this configuration"});var je=r__namespace.string().check(r__namespace.trim(),r__namespace.toLowerCase());s.add(je,{description:"The namespace of the workspace/project/service/package/scope using this configuration"});var He=r__namespace.union([Ue,r__namespace.string().check(r__namespace.trim(),r__namespace.toLowerCase())]);s.add(He,{description:"The organization of the workspace. This can be a string or an object containing the organization's details"});var Ye=r__namespace.string().check(r__namespace.trim(),r__namespace.toLowerCase());s.add(Ye,{description:"The repo URL of the workspace (i.e. the GitHub repository URL)"});var Ve=r__namespace._default(r__namespace.string().check(r__namespace.trim()),"Apache-2.0");s.add(Ve,{description:"The license type of the package"});var Ke=r__namespace.optional(r__namespace.url());s.add(Ke,{description:"The homepage of the workspace"});var Ze=r__namespace.optional(r__namespace.url());s.add(Ze,{description:"The documentation site for the workspace"});var Je=r__namespace.optional(r__namespace.url());s.add(Je,{description:"The development portal site for the workspace"});var Xe=r__namespace.optional(r__namespace.url());s.add(Xe,{description:"The licensing site for the workspace"});var qe=r__namespace.optional(r__namespace.url());s.add(qe,{description:"The contact site for the workspace"});var Qe=r__namespace.optional(r__namespace.url());s.add(Qe,{description:"The support site for the workspace. If not provided, this is defaulted to the `contact` config value"});var eo=r__namespace._default(r__namespace.string().check(r__namespace.trim(),r__namespace.toLowerCase()),"main");s.add(eo,{description:"The branch of the workspace"});var oo=r__namespace.optional(r__namespace.string().check(r__namespace.trim(),r__namespace.toLowerCase()));s.add(oo,{description:"A tag specifying the version pre-release identifier"});var ro=r__namespace.optional(r__namespace.string().check(r__namespace.trim(),r__namespace.toLowerCase()));s.add(ro,{description:"The owner of the package"});var to=r__namespace._default(r__namespace.enum(["development","staging","production"]).check(r__namespace.trim(),r__namespace.toLowerCase()),"production");s.add(to,{description:"The current runtime environment mode for the package"});var so=r__namespace.string().check(r__namespace.trim(),r__namespace.toLowerCase());s.add(so,{description:"The root directory of the workspace"});var no=r__namespace._default(r__namespace.boolean(),false);s.add(no,{description:"Should all known types of workspace caching be skipped?"});var ao=r__namespace._default(r__namespace.enum(["npm","yarn","pnpm","bun"]),"npm");s.add(ao,{description:"The JavaScript/TypeScript package manager used by the repository"});var io=r__namespace._default(r__namespace.string().check(r__namespace.trim()),"America/New_York");s.add(io,{description:"The default timezone of the workspace"});var co=r__namespace._default(r__namespace.string().check(r__namespace.trim()),"en-US");s.add(co,{description:"The default locale of the workspace"});var po=r__namespace._default(r__namespace.enum(["silent","fatal","error","warn","success","info","debug","trace","all"]),"info");s.add(po,{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 lo=r__namespace._default(r__namespace.boolean(),true);s.add(lo,{description:"Should the logging of the current Storm Workspace configuration be skipped?"});var mo=r__namespace._default(r__namespace.nullable(r__namespace.string().check(r__namespace.trim())),null);s.add(mo,{description:"The filepath of the Storm config. When this field is null, no config file was found in the current workspace."});var q=r__namespace._default(r__namespace.record(r__namespace.string(),r__namespace.any()),{});s.add(q,{description:"Configuration of each used extension"});var go=r__namespace.object({$schema:We,extends:ce,name:Be,variant:we,namespace:je,organization:He,repository:Ye,license:Ve,homepage:Ke,docs:Ze,portal:Je,licensing:Xe,contact:qe,support:Qe,branch:eo,preid:oo,owner:ro,bot:le,release:Te,socials:ke,error:xe,mode:to,workspaceRoot:so,skipCache:no,directories:ye,packageManager:ao,timezone:io,locale:co,logLevel:po,skipConfigLogging:lo,registry:ae,configFile:mo,colors:r__namespace.union([X,ie]),extensions:q});s.add(q,{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."});var c={SILENT:0,FATAL:10,ERROR:20,WARN:30,SUCCESS:35,INFO:40,DEBUG:60,TRACE:70,ALL:100},d={SILENT:"silent",FATAL:"fatal",ERROR:"error",WARN:"warn",SUCCESS:"success",INFO:"info",DEBUG:"debug",TRACE:"trace",ALL:"all"};var C={dark:{brand:"#2dd4bf",success:"#10b981",info:"#58a6ff",warning:"#f3d371",danger:"#D8314A",fatal:"#a40e26"}};var Yo={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}},uo=()=>{let e=Ho__default.default;return (!e?.hex||!e?.bold?.hex||!e?.bgHex||!e?.whiteBright||!e?.white)&&(e=Yo),e};function fo(){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 A=(e,o)=>fo()?e:o,R={[d.ERROR]:A("\u2718","\xD7"),[d.FATAL]:A("\u{1F480}","\xD7"),[d.WARN]:A("\u26A0","\u203C"),[d.INFO]:A("\u2139","i"),[d.SUCCESS]:A("\u2714","\u221A"),[d.DEBUG]:A("\u{1F6E0}","D"),[d.TRACE]:A("\u{1F6E0}","T"),[d.ALL]:A("\u2709","\u2192")};var S=(e=new Date)=>`${e.toLocaleDateString()} ${e.toLocaleTimeString()}`;var L=e=>{switch(e){case "all":return c.ALL;case "trace":return c.TRACE;case "debug":return c.DEBUG;case "info":return c.INFO;case "warn":return c.WARN;case "error":return c.ERROR;case "fatal":return c.FATAL;case "silent":return c.SILENT;default:return c.INFO}},ho=(e=c.INFO)=>e>=c.ALL?d.ALL:e>=c.TRACE?d.TRACE:e>=c.DEBUG?d.DEBUG:e>=c.INFO?d.INFO:e>=c.WARN?d.WARN:e>=c.ERROR?d.ERROR:e>=c.FATAL?d.FATAL:e<=c.SILENT?d.SILENT:d.INFO;var Q=(e=c.INFO,o={},t=uo())=>{let i=!o.colors?.dark&&!o.colors?.base&&!o.colors?.base?.dark?C: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:C,a=o.logLevel||process.env.STORM_LOG_LEVEL||d.INFO;return e>L(a)||e<=c.SILENT||L(a)<=c.SILENT?n=>{}:typeof e=="number"&&c.FATAL>=e?n=>{console.error(`
2
2
  ${t.gray(S())} ${t.hex(i.fatal??C.dark.fatal)(`[${R[d.FATAL]} Fatal] `)}${t.bold.whiteBright(T(n))}
3
3
  `);}:typeof e=="number"&&c.ERROR>=e?n=>{console.error(`
4
4
  ${t.gray(S())} ${t.hex(i.danger??C.dark.danger)(`[${R[d.ERROR]} Error] `)}${t.bold.whiteBright(T(n))}
@@ -14,12 +14,12 @@ ${t.gray(S())} ${t.hex(i.info??C.dark.info)(`[${R[d.DEBUG]} Debug] `)}${t.bold.w
14
14
  ${t.gray(S())} ${t.hex(i.info??C.dark.info)(`[${R[d.TRACE]} Trace] `)}${t.bold.whiteBright(T(n))}
15
15
  `);}:n=>{console.log(`
16
16
  ${t.gray(S())} ${t.hex(i.brand??C.dark.brand)(`[${R[d.ALL]} System] `)}${t.bold.whiteBright(T(n))}
17
- `);}};var To=(e,o)=>Q(c.WARN,o)(e);var Co=(e,o)=>Q(c.DEBUG,o)(e),A=(e,o)=>Q(c.TRACE,o)(e);var Vo=4,T=(e,o={},t=0)=>{if(t>Vo)return "<max depth>";let i=o.prefix??"-",a=o.skip??[];return typeof e>"u"||e===null||!e&&typeof e!="boolean"?"<none>":typeof e=="string"?e:Array.isArray(e)?`
17
+ `);}};var To=(e,o)=>Q(c.WARN,o)(e);var Co=(e,o)=>Q(c.DEBUG,o)(e),k=(e,o)=>Q(c.TRACE,o)(e);var Vo=4,T=(e,o={},t=0)=>{if(t>Vo)return "<max depth>";let i=o.prefix??"-",a=o.skip??[];return typeof e>"u"||e===null||!e&&typeof e!="boolean"?"<none>":typeof e=="string"?e:Array.isArray(e)?`
18
18
  ${e.map((n,p)=>` ${i}> #${p} = ${T(n,{prefix:`${i}-`,skip:a},t+1)}`).join(`
19
19
  `)}`:typeof e=="object"?`
20
20
  ${Object.keys(e).filter(n=>!a.includes(n)).map(n=>` ${i}> ${n} = ${Ko(e[n])?"<function>":typeof e[n]=="object"?T(e[n],{prefix:`${i}-`,skip:a},t+1):e[n]}`).join(`
21
- `)}`:e},Ko=e=>{try{return e instanceof Function||typeof e=="function"||!!(e?.constructor&&e?.call&&e?.apply)}catch{return false}};var Eo=["dark","light","base","brand","alternate","accent","link","success","help","info","warning","danger","fatal","positive","negative"];async function Ro(e){let o=se,t,i,a,n,p,m=chunkCZ7PAWK2_cjs.c(e);if(fs.existsSync(path.join(m,"package.json"))){let v=await promises.readFile(chunkCZ7PAWK2_cjs.b(m,"package.json"),"utf8");if(v){let u=JSON.parse(v);u.name&&(a=u.name),u.namespace&&(n=u.namespace),u.repository&&(typeof u.repository=="string"?p=u.repository:u.repository.url&&(p=u.repository.url)),u.license&&(o=u.license),u.homepage&&(t=u.homepage),u.bugs&&(typeof u.bugs=="string"?i=u.bugs:u.bugs.url&&(i=u.bugs.url));}}return {workspaceRoot:m,name:a,namespace:n,repository:p,license:o,homepage:t,support:i}}function So(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 ko=async(e,o,t={})=>{let i=o||chunkCZ7PAWK2_cjs.c(o),a=await Promise.all([c12.loadConfig({cwd:i,packageJson:true,name:e,envName:e?.toUpperCase(),jitiOptions:{debug:false,fsCache:process.env.STORM_SKIP_CACHE==="true"?false:chunkCZ7PAWK2_cjs.b(process.env.STORM_CACHE_DIR||"node_modules/.cache/storm","jiti")},...t}),c12.loadConfig({cwd:i,packageJson:true,name:e,envName:e?.toUpperCase(),jitiOptions:{debug:false,fsCache:process.env.STORM_SKIP_CACHE==="true"?false:chunkCZ7PAWK2_cjs.b(process.env.STORM_CACHE_DIR||"node_modules/.cache/storm","jiti")},configFile:e,...t})]);return Ao__default.default(a[0]??{},a[1]??{})},Oo=async(e,o=[])=>{let t=e||chunkCZ7PAWK2_cjs.c(e),i=await ko("storm-workspace",t),a=i.config,n=i.configFile;if(a&&n&&Object.keys(a).length>0&&!a.skipConfigLogging&&A(`Found Storm configuration file "${n.includes(`${t}/`)?n.replace(`${t}/`,""):n}" at "${t}"`,{logLevel:"all"}),o&&o.length>0){let p=await Promise.all(o.map(m=>ko(m,t)));for(let m of p)m?.config&&m?.configFile&&Object.keys(m.config).length>0&&(!a.skipConfigLogging&&!m.config.skipConfigLogging&&A(`Found alternative configuration file "${m.configFile.includes(`${t}/`)?m.configFile.replace(`${t}/`,""):m.configFile}" at "${t}"`,{logLevel:"all"}),a=Ao__default.default(m.config??{},a??{}));}if(!(!a||Object.keys(a).length===0))return a.configFile=n,a};var Io=()=>{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`]?chunkCZ7PAWK2_cjs.a(process.env[`${e}WORKSPACE_CONFIG_FILE`]):void 0,workspaceRoot:process.env[`${e}WORKSPACE_ROOT`]?chunkCZ7PAWK2_cjs.a(process.env[`${e}WORKSPACE_ROOT`]):void 0,directories:{cache:process.env[`${e}CACHE_DIR`]?chunkCZ7PAWK2_cjs.a(process.env[`${e}CACHE_DIR`]):process.env[`${e}CACHE_DIRECTORY`]?chunkCZ7PAWK2_cjs.a(process.env[`${e}CACHE_DIRECTORY`]):void 0,data:process.env[`${e}DATA_DIR`]?chunkCZ7PAWK2_cjs.a(process.env[`${e}DATA_DIR`]):process.env[`${e}DATA_DIRECTORY`]?chunkCZ7PAWK2_cjs.a(process.env[`${e}DATA_DIRECTORY`]):void 0,config:process.env[`${e}CONFIG_DIR`]?chunkCZ7PAWK2_cjs.a(process.env[`${e}CONFIG_DIR`]):process.env[`${e}CONFIG_DIRECTORY`]?chunkCZ7PAWK2_cjs.a(process.env[`${e}CONFIG_DIRECTORY`]):void 0,temp:process.env[`${e}TEMP_DIR`]?chunkCZ7PAWK2_cjs.a(process.env[`${e}TEMP_DIR`]):process.env[`${e}TEMP_DIRECTORY`]?chunkCZ7PAWK2_cjs.a(process.env[`${e}TEMP_DIRECTORY`]):void 0,log:process.env[`${e}LOG_DIR`]?chunkCZ7PAWK2_cjs.a(process.env[`${e}LOG_DIR`]):process.env[`${e}LOG_DIRECTORY`]?chunkCZ7PAWK2_cjs.a(process.env[`${e}LOG_DIRECTORY`]):void 0,build:process.env[`${e}BUILD_DIR`]?chunkCZ7PAWK2_cjs.a(process.env[`${e}BUILD_DIR`]):process.env[`${e}BUILD_DIRECTORY`]?chunkCZ7PAWK2_cjs.a(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`]))?ho(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_`)&&Eo.every(n=>!a.startsWith(`${e}COLOR_LIGHT_${n}`)&&!a.startsWith(`${e}COLOR_DARK_${n}`)));o.colors=t.length>0?t.reduce((a,n)=>(a[n]=Lo(e,n),a),{}):Lo(e),o.docs===re&&(o.homepage===$?o.docs=`${$}/projects/${o.name}/docs`:o.docs=`${o.homepage}/docs`),o.licensing===te&&(o.homepage===$?o.licensing=`${$}/projects/${o.name}/licensing`:o.licensing=`${o.homepage}/docs`);let i=process.env[`${e}WORKSPACE_CONFIG`];if(i){let a=JSON.parse(i);o={...o,...a,colors:{...o.colors,...a.colors},extensions:{...o.extensions,...a.extensions}};}return o},Lo=(e,o)=>{let t=`COLOR_${o&&o!=="base"?`${o}_`:""}`.toUpperCase();return process.env[`${e}${t}LIGHT_BRAND`]||process.env[`${e}${t}DARK_BRAND`]?Qo(e+t):qo(e+t)},qo=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`],help:process.env[`${e}HELP`],success:process.env[`${e}SUCCESS`],info:process.env[`${e}INFO`],warning:process.env[`${e}WARNING`],danger:process.env[`${e}DANGER`],fatal:process.env[`${e}FATAL`],positive:process.env[`${e}POSITIVE`],negative:process.env[`${e}NEGATIVE`],gradient:o}},Qo=e=>({light:$o(`${e}_LIGHT_`),dark:$o(`${e}_DARK_`)}),$o=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`],help:process.env[`${e}HELP`],success:process.env[`${e}SUCCESS`],info:process.env[`${e}INFO`],warning:process.env[`${e}WARNING`],danger:process.env[`${e}DANGER`],fatal:process.env[`${e}FATAL`],positive:process.env[`${e}POSITIVE`],negative:process.env[`${e}NEGATIVE`],gradient:o}};var er=(e,o)=>{for(let t of Object.keys(o??{}))if(o[t]){let i=t?.replace(/([A-Z])+/g,n=>n?n[0]?.toUpperCase()+n.slice(1):"").split(/(?=[A-Z])|[.\-\s_]/).map(n=>n.toLowerCase())??[],a;if(i.length===0)return;i.length===1?a=i[0]?.toUpperCase()??"":a=i.reduce((n,p)=>`${n}_${p.toLowerCase()}`),process.env[`STORM_EXTENSION_${e.toUpperCase()}_${a.toUpperCase()}`]=o[t];}},wo=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`]=chunkCZ7PAWK2_cjs.a(e.configFile)),e.workspaceRoot&&(process.env[`${o}WORKSPACE_ROOT`]=chunkCZ7PAWK2_cjs.a(e.workspaceRoot),process.env.NX_WORKSPACE_ROOT=chunkCZ7PAWK2_cjs.a(e.workspaceRoot),process.env.NX_WORKSPACE_ROOT_PATH=chunkCZ7PAWK2_cjs.a(e.workspaceRoot)),e.directories&&(!e.skipCache&&e.directories.cache&&(process.env[`${o}CACHE_DIR`]=chunkCZ7PAWK2_cjs.a(e.directories.cache),process.env[`${o}CACHE_DIRECTORY`]=process.env[`${o}CACHE_DIR`]),e.directories.data&&(process.env[`${o}DATA_DIR`]=chunkCZ7PAWK2_cjs.a(e.directories.data),process.env[`${o}DATA_DIRECTORY`]=process.env[`${o}DATA_DIR`]),e.directories.config&&(process.env[`${o}CONFIG_DIR`]=chunkCZ7PAWK2_cjs.a(e.directories.config),process.env[`${o}CONFIG_DIRECTORY`]=process.env[`${o}CONFIG_DIR`]),e.directories.temp&&(process.env[`${o}TEMP_DIR`]=chunkCZ7PAWK2_cjs.a(e.directories.temp),process.env[`${o}TEMP_DIRECTORY`]=process.env[`${o}TEMP_DIR`]),e.directories.log&&(process.env[`${o}LOG_DIR`]=chunkCZ7PAWK2_cjs.a(e.directories.log),process.env[`${o}LOG_DIRECTORY`]=process.env[`${o}LOG_DIR`]),e.directories.build&&(process.env[`${o}BUILD_DIR`]=chunkCZ7PAWK2_cjs.a(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))No(`${o}COLOR_${t}_`,e.colors[t]);else No(`${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(L(e.logLevel)>=c.DEBUG),process.env.RUST_BACKTRACE=L(e.logLevel)>=c.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])&&er(t,e.extensions[t]);},No=(e,o)=>o?.light?.brand||o?.dark?.brand?rr(e,o):or(e,o),or=(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.help&&(process.env[`${e}HELP`]=o.help),o.success&&(process.env[`${e}SUCCESS`]=o.success),o.info&&(process.env[`${e}INFO`]=o.info),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.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];},rr=(e,o)=>({light:yo(`${e}LIGHT_`,o.light),dark:yo(`${e}DARK_`,o.dark)}),yo=(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.help&&(process.env[`${e}HELP`]=o.help),o.success&&(process.env[`${e}SUCCESS`]=o.success),o.info&&(process.env[`${e}INFO`]=o.info),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.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 _,sr=async(e,o,t,i=false,a=true)=>{let n;if(!_?.data||!_?.timestamp||_.timestamp<Date.now()-8e3){let p=t;p||(p=chunkCZ7PAWK2_cjs.c());let m=Io(),v=await Oo(p);if(!v&&(i||To("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 u=await Ro(p),N=Ao__default.default(m,v,u);N.variant||(N.variant=fs.existsSync(chunkCZ7PAWK2_cjs.b(p,"nx.json"))||fs.existsSync(chunkCZ7PAWK2_cjs.b(p,".nx"))||fs.existsSync(chunkCZ7PAWK2_cjs.b(p,"lerna.json"))||fs.existsSync(chunkCZ7PAWK2_cjs.b(p,"turbo.json"))?"monorepo":"minimal");try{n=So(await go.parseAsync(N)),n.workspaceRoot??=p;}catch(Z){throw new Error(`Failed to parse Storm Workspace configuration${Z?.message?`: ${Z.message}`:""}
21
+ `)}`:e},Ko=e=>{try{return e instanceof Function||typeof e=="function"||!!(e?.constructor&&e?.call&&e?.apply)}catch{return false}};var Eo=["dark","light","base","brand","alternate","accent","link","success","help","info","warning","danger","fatal","positive","negative"];async function Ro(e){let o=se,t,i,a,n,p,m=chunkCZ7PAWK2_cjs.c(e);if(fs.existsSync(path.join(m,"package.json"))){let v=await promises.readFile(chunkCZ7PAWK2_cjs.b(m,"package.json"),"utf8");if(v){let u=JSON.parse(v);u.name&&(a=u.name),u.namespace&&(n=u.namespace),u.repository&&(typeof u.repository=="string"?p=u.repository:u.repository.url&&(p=u.repository.url)),u.license&&(o=u.license),u.homepage&&(t=u.homepage),u.bugs&&(typeof u.bugs=="string"?i=u.bugs:u.bugs.url&&(i=u.bugs.url));}}return {workspaceRoot:m,name:a,namespace:n,repository:p,license:o,homepage:t,support:i}}function So(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 Ao=async(e,o,t={})=>{let i=o||chunkCZ7PAWK2_cjs.c(o),a=await Promise.all([c12.loadConfig({cwd:i,packageJson:true,name:e,envName:e?.toUpperCase(),jitiOptions:{debug:false,fsCache:process.env.STORM_SKIP_CACHE==="true"?false:chunkCZ7PAWK2_cjs.b(process.env.STORM_CACHE_DIR||"node_modules/.cache/storm","jiti")},...t}),c12.loadConfig({cwd:i,packageJson:true,name:e,envName:e?.toUpperCase(),jitiOptions:{debug:false,fsCache:process.env.STORM_SKIP_CACHE==="true"?false:chunkCZ7PAWK2_cjs.b(process.env.STORM_CACHE_DIR||"node_modules/.cache/storm","jiti")},configFile:e,...t})]);return ko__default.default(a[0]??{},a[1]??{})},Oo=async(e,o=[])=>{let t=e||chunkCZ7PAWK2_cjs.c(e),i=await Ao("storm-workspace",t),a=i.config,n=i.configFile;if(a&&n&&Object.keys(a).length>0&&!a.skipConfigLogging&&k(`Found Storm configuration file "${n.includes(`${t}/`)?n.replace(`${t}/`,""):n}" at "${t}"`,{logLevel:"all"}),o&&o.length>0){let p=await Promise.all(o.map(m=>Ao(m,t)));for(let m of p)m?.config&&m?.configFile&&Object.keys(m.config).length>0&&(!a.skipConfigLogging&&!m.config.skipConfigLogging&&k(`Found alternative configuration file "${m.configFile.includes(`${t}/`)?m.configFile.replace(`${t}/`,""):m.configFile}" at "${t}"`,{logLevel:"all"}),a=ko__default.default(m.config??{},a??{}));}if(!(!a||Object.keys(a).length===0))return a.configFile=n,a};var Io=()=>{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`]?chunkCZ7PAWK2_cjs.a(process.env[`${e}WORKSPACE_CONFIG_FILE`]):void 0,workspaceRoot:process.env[`${e}WORKSPACE_ROOT`]?chunkCZ7PAWK2_cjs.a(process.env[`${e}WORKSPACE_ROOT`]):void 0,directories:{cache:process.env[`${e}CACHE_DIR`]?chunkCZ7PAWK2_cjs.a(process.env[`${e}CACHE_DIR`]):process.env[`${e}CACHE_DIRECTORY`]?chunkCZ7PAWK2_cjs.a(process.env[`${e}CACHE_DIRECTORY`]):void 0,data:process.env[`${e}DATA_DIR`]?chunkCZ7PAWK2_cjs.a(process.env[`${e}DATA_DIR`]):process.env[`${e}DATA_DIRECTORY`]?chunkCZ7PAWK2_cjs.a(process.env[`${e}DATA_DIRECTORY`]):void 0,config:process.env[`${e}CONFIG_DIR`]?chunkCZ7PAWK2_cjs.a(process.env[`${e}CONFIG_DIR`]):process.env[`${e}CONFIG_DIRECTORY`]?chunkCZ7PAWK2_cjs.a(process.env[`${e}CONFIG_DIRECTORY`]):void 0,temp:process.env[`${e}TEMP_DIR`]?chunkCZ7PAWK2_cjs.a(process.env[`${e}TEMP_DIR`]):process.env[`${e}TEMP_DIRECTORY`]?chunkCZ7PAWK2_cjs.a(process.env[`${e}TEMP_DIRECTORY`]):void 0,log:process.env[`${e}LOG_DIR`]?chunkCZ7PAWK2_cjs.a(process.env[`${e}LOG_DIR`]):process.env[`${e}LOG_DIRECTORY`]?chunkCZ7PAWK2_cjs.a(process.env[`${e}LOG_DIRECTORY`]):void 0,build:process.env[`${e}BUILD_DIR`]?chunkCZ7PAWK2_cjs.a(process.env[`${e}BUILD_DIR`]):process.env[`${e}BUILD_DIRECTORY`]?chunkCZ7PAWK2_cjs.a(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`]))?ho(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_`)&&Eo.every(n=>!a.startsWith(`${e}COLOR_LIGHT_${n}`)&&!a.startsWith(`${e}COLOR_DARK_${n}`)));o.colors=t.length>0?t.reduce((a,n)=>(a[n]=Lo(e,n),a),{}):Lo(e),o.docs===re&&(o.homepage===$?o.docs=`${$}/projects/${o.name}/docs`:o.docs=`${o.homepage}/docs`),o.licensing===te&&(o.homepage===$?o.licensing=`${$}/projects/${o.name}/licensing`:o.licensing=`${o.homepage}/docs`);let i=process.env[`${e}WORKSPACE_CONFIG`];if(i){let a=JSON.parse(i);o={...o,...a,colors:{...o.colors,...a.colors},extensions:{...o.extensions,...a.extensions}};}return o},Lo=(e,o)=>{let t=`COLOR_${o&&o!=="base"?`${o}_`:""}`.toUpperCase();return process.env[`${e}${t}LIGHT_BRAND`]||process.env[`${e}${t}DARK_BRAND`]?Qo(e+t):qo(e+t)},qo=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`],help:process.env[`${e}HELP`],success:process.env[`${e}SUCCESS`],info:process.env[`${e}INFO`],warning:process.env[`${e}WARNING`],danger:process.env[`${e}DANGER`],fatal:process.env[`${e}FATAL`],positive:process.env[`${e}POSITIVE`],negative:process.env[`${e}NEGATIVE`],gradient:o}},Qo=e=>({light:$o(`${e}_LIGHT_`),dark:$o(`${e}_DARK_`)}),$o=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`],help:process.env[`${e}HELP`],success:process.env[`${e}SUCCESS`],info:process.env[`${e}INFO`],warning:process.env[`${e}WARNING`],danger:process.env[`${e}DANGER`],fatal:process.env[`${e}FATAL`],positive:process.env[`${e}POSITIVE`],negative:process.env[`${e}NEGATIVE`],gradient:o}};var er=(e,o)=>{for(let t of Object.keys(o??{}))if(o[t]){let i=t?.replace(/([A-Z])+/g,n=>n?n[0]?.toUpperCase()+n.slice(1):"").split(/(?=[A-Z])|[.\-\s_]/).map(n=>n.toLowerCase())??[],a;if(i.length===0)return;i.length===1?a=i[0]?.toUpperCase()??"":a=i.reduce((n,p)=>`${n}_${p.toLowerCase()}`),process.env[`STORM_EXTENSION_${e.toUpperCase()}_${a.toUpperCase()}`]=o[t];}},wo=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`]=chunkCZ7PAWK2_cjs.a(e.configFile)),e.workspaceRoot&&(process.env[`${o}WORKSPACE_ROOT`]=chunkCZ7PAWK2_cjs.a(e.workspaceRoot),process.env.NX_WORKSPACE_ROOT=chunkCZ7PAWK2_cjs.a(e.workspaceRoot),process.env.NX_WORKSPACE_ROOT_PATH=chunkCZ7PAWK2_cjs.a(e.workspaceRoot)),e.directories&&(!e.skipCache&&e.directories.cache&&(process.env[`${o}CACHE_DIR`]=chunkCZ7PAWK2_cjs.a(e.directories.cache),process.env[`${o}CACHE_DIRECTORY`]=process.env[`${o}CACHE_DIR`]),e.directories.data&&(process.env[`${o}DATA_DIR`]=chunkCZ7PAWK2_cjs.a(e.directories.data),process.env[`${o}DATA_DIRECTORY`]=process.env[`${o}DATA_DIR`]),e.directories.config&&(process.env[`${o}CONFIG_DIR`]=chunkCZ7PAWK2_cjs.a(e.directories.config),process.env[`${o}CONFIG_DIRECTORY`]=process.env[`${o}CONFIG_DIR`]),e.directories.temp&&(process.env[`${o}TEMP_DIR`]=chunkCZ7PAWK2_cjs.a(e.directories.temp),process.env[`${o}TEMP_DIRECTORY`]=process.env[`${o}TEMP_DIR`]),e.directories.log&&(process.env[`${o}LOG_DIR`]=chunkCZ7PAWK2_cjs.a(e.directories.log),process.env[`${o}LOG_DIRECTORY`]=process.env[`${o}LOG_DIR`]),e.directories.build&&(process.env[`${o}BUILD_DIR`]=chunkCZ7PAWK2_cjs.a(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))No(`${o}COLOR_${t}_`,e.colors[t]);else No(`${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(L(e.logLevel)>=c.DEBUG),process.env.RUST_BACKTRACE=L(e.logLevel)>=c.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])&&er(t,e.extensions[t]);},No=(e,o)=>o?.light?.brand||o?.dark?.brand?rr(e,o):or(e,o),or=(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.help&&(process.env[`${e}HELP`]=o.help),o.success&&(process.env[`${e}SUCCESS`]=o.success),o.info&&(process.env[`${e}INFO`]=o.info),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.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];},rr=(e,o)=>({light:yo(`${e}LIGHT_`,o.light),dark:yo(`${e}DARK_`,o.dark)}),yo=(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.help&&(process.env[`${e}HELP`]=o.help),o.success&&(process.env[`${e}SUCCESS`]=o.success),o.info&&(process.env[`${e}INFO`]=o.info),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.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 _,sr=async(e,o,t,i=false,a=true)=>{let n;if(!_?.data||!_?.timestamp||_.timestamp<Date.now()-8e3){let p=t;p||(p=chunkCZ7PAWK2_cjs.c());let m=Io(),v=await Oo(p);if(!v&&(i||To("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 u=await Ro(p),N=ko__default.default(m,v,u);N.variant||(N.variant=fs.existsSync(chunkCZ7PAWK2_cjs.b(p,"nx.json"))||fs.existsSync(chunkCZ7PAWK2_cjs.b(p,".nx"))||fs.existsSync(chunkCZ7PAWK2_cjs.b(p,"lerna.json"))||fs.existsSync(chunkCZ7PAWK2_cjs.b(p,"turbo.json"))?"monorepo":"minimal");try{n=So(await go.parseAsync(N)),n.workspaceRoot??=p;}catch(Z){throw new Error(`Failed to parse Storm Workspace configuration${Z?.message?`: ${Z.message}`:""}
22
22
 
23
- Please ensure your configuration file is valid JSON and matches the expected schema. The current workspace configuration input is: ${T(N)}`,{cause:Z})}}else n=_.data;return _={timestamp:Date.now(),data:n},n},zo=async(e,o=false)=>{let t=await sr(void 0,void 0,e,o,true);return wo(t),!o&&!t.skipConfigLogging&&A(`\u2699\uFE0F Using Storm Workspace configuration:
24
- ${T(t)}`,t),t};var ar=(e,o=false)=>zo(e,o),bo=(e=true,o={})=>{let t=o.workspaceRoot;return t||(t=chunkCZ7PAWK2_cjs.c(o.cwd)),ar(t,e)};var xo="latest";var K=xo;async function Do(){return new Promise((e,o)=>{child_process.exec("npm config get registry",(t,i,a)=>t?o(t):a?o(a):e(i.trim()));})}async function Go(e,o=K,t={}){let{registry:i=await Do()}=t;return new Promise((a,n)=>{child_process.exec(`npm view ${e} version --registry=${i} --tag=${o}`,(p,m,v)=>p?n(p):v?n(v):a(m.trim()));})}async function lr(e=chunkCZ7PAWK2_cjs.c(process.cwd())){let o=await chunkCZ7PAWK2_cjs.e(e);if(!o)throw new Error("No pnpm-workspace.yaml file found");if(o?.catalog)return Object.fromEntries(Object.entries(o.catalog).map(([t,i])=>[t,i.replaceAll(/^"/g,"").replaceAll(/"$/g,"")]));console.warn(`No catalog found in pnpm-workspace.yaml file located in workspace root: ${e}
25
- File content: ${JSON.stringify(o,null,2)}`);}async function mr(e=chunkCZ7PAWK2_cjs.c(process.cwd())){let o=await lr(e);if(!o)throw new Error("No catalog entries found in pnpm-workspace.yaml file");return o}async function gr(e,o=chunkCZ7PAWK2_cjs.c(process.cwd())){let t=await chunkCZ7PAWK2_cjs.e(o);if(!t)throw new Error("No pnpm-workspace.yaml file found");t.catalog=Object.fromEntries(Object.entries(e).map(([i,a])=>[i,`"${a}"`])),await chunkCZ7PAWK2_cjs.f(t,o);}async function us(e,o={}){let{tag:t=K,throwIfMissingInCatalog:i=false,workspaceRoot:a=chunkCZ7PAWK2_cjs.c()}=o,n=await bo(true,{workspaceRoot:a}),p=await mr(a);if(!p)throw new Error("No catalog found");if(i===true&&!p[e])throw new Error(`Package "${e}" not found in catalog: ${JSON.stringify(p,null,2)}`);A(`Upgrading catalog entry for package "${e}" with tag "${t}"`,n);let m=await Go(e,t);(!semver.valid(semver.coerce(p[e]))||semver.coerce(p[e])&&semver.coerce(m)&&semver.gt(semver.coerce(m),semver.coerce(p[e])))&&(p[e]=m),Co(`Writing version ${m} to catalog for "${e}" package`,n),await gr(p,a);}exports.a=lr;exports.b=mr;exports.c=gr;exports.d=us;
23
+ Please ensure your configuration file is valid JSON and matches the expected schema. The current workspace configuration input is: ${T(N)}`,{cause:Z})}}else n=_.data;return _={timestamp:Date.now(),data:n},n},zo=async(e,o=false)=>{let t=await sr(void 0,void 0,e,o,true);return wo(t),!o&&!t.skipConfigLogging&&k(`\u2699\uFE0F Using Storm Workspace configuration:
24
+ ${T(t)}`,t),t};var ar=(e,o=false)=>zo(e,o),bo=(e=true,o={})=>{let t=o.workspaceRoot;return t||(t=chunkCZ7PAWK2_cjs.c(o.cwd)),ar(t,e)};var xo="latest";var K=xo;async function Do(){return new Promise((e,o)=>{child_process.exec("npm config get registry",(t,i,a)=>t?o(t):a?o(a):e(i.trim()));})}async function Go(e,o=K,t={}){let{registry:i=await Do()}=t;return new Promise((a,n)=>{child_process.exec(`npm view ${e} version --registry=${i} --tag=${o}`,(p,m,v)=>p?n(p):v?n(v):a(m.trim()));})}async function lr(e=chunkCZ7PAWK2_cjs.c(process.cwd())){let o=await chunkCZ7PAWK2_cjs.e(e);if(!o)throw new Error("No pnpm-workspace.yaml file found");if(o?.catalog)return Object.fromEntries(Object.entries(o.catalog).map(([t,i])=>[t,i.replaceAll('"',"").replaceAll("'","")]));console.warn(`No catalog found in pnpm-workspace.yaml file located in workspace root: ${e}
25
+ File content: ${JSON.stringify(o,null,2)}`);}async function mr(e=chunkCZ7PAWK2_cjs.c(process.cwd())){let o=await lr(e);if(!o)throw new Error("No catalog entries found in pnpm-workspace.yaml file");return o}async function gr(e,o=chunkCZ7PAWK2_cjs.c(process.cwd())){let t=await chunkCZ7PAWK2_cjs.e(o);if(!t)throw new Error("No pnpm-workspace.yaml file found");t.catalog=Object.fromEntries(Object.entries(e).map(([i,a])=>[i,a.replaceAll('"',"").replaceAll("'","")])),await chunkCZ7PAWK2_cjs.f(t,o);}async function us(e,o={}){let{tag:t=K,throwIfMissingInCatalog:i=false,workspaceRoot:a=chunkCZ7PAWK2_cjs.c()}=o,n=await bo(true,{workspaceRoot:a}),p=await mr(a);if(!p)throw new Error("No catalog found");if(i===true&&!p[e])throw new Error(`Package "${e}" not found in catalog: ${JSON.stringify(p,null,2)}`);k(`Upgrading catalog entry for package "${e}" with tag "${t}"`,n);let m=await Go(e,t);(!semver.valid(semver.coerce(p[e]))||semver.coerce(p[e])&&semver.coerce(m)&&semver.gt(semver.coerce(m),semver.coerce(p[e])))&&(p[e]=m),Co(`Writing version ${m} to catalog for "${e}" package`,n),await gr(p,a);}exports.a=lr;exports.b=mr;exports.c=gr;exports.d=us;
@@ -1 +1 @@
1
- 'use strict';var chunkKYBZXCNC_cjs=require('./chunk-KYBZXCNC.cjs'),chunkCZ7PAWK2_cjs=require('./chunk-CZ7PAWK2.cjs'),devkit=require('@nx/devkit'),fs=require('fs'),promises=require('fs/promises'),prettier=require('prettier');async function C(c=process.cwd(),i=chunkCZ7PAWK2_cjs.c(c)){let l=chunkCZ7PAWK2_cjs.b(c,"package.json"),m=await promises.readFile(l,"utf8");if(!m)throw new Error("No package.json file found in package root: "+c);let p=await chunkKYBZXCNC_cjs.b(i),r=JSON.parse(m),g=chunkCZ7PAWK2_cjs.b(i,"pnpm-workspace.yaml");if(!fs.existsSync(g))return console.warn(`No \`pnpm-workspace.yaml\` file found in workspace root (searching in: ${g}). Skipping pnpm catalog read for now.`),r;if(!p){console.warn("No pnpm catalog found. Skipping dependencies replacement for now.");return}for(let a of ["dependencies","devDependencies","peerDependencies"]){let o=r[a];if(o){for(let e of Object.keys(o))if(o[e]==="catalog:"){if(!p)throw new Error(`Dependency ${e} is marked as \`catalog:\`, but no catalog exists in the workspace root's \`pnpm-workspace.yaml\` file.`);let t=p[e];if(!t)throw new Error("Missing pnpm catalog version for "+e);o[e]=t;}else if(o[e].startsWith("catalog:"))throw new Error("multiple named catalogs not supported")}}let n;try{n=devkit.readCachedProjectGraph();}catch{await devkit.createProjectGraphAsync(),n=devkit.readCachedProjectGraph();}let d={};n&&await Promise.all(Object.keys(n.nodes).map(async a=>{let o=n.nodes[a];if(o?.data.root){let e=chunkCZ7PAWK2_cjs.b(i,o.data.root,"package.json");if(fs.existsSync(e)){let t=await promises.readFile(e,"utf8"),f=JSON.parse(t);f.private!==true&&(d[f.name]=f.version);}}}));for(let a of ["dependencies","devDependencies","peerDependencies"]){let o=r[a];if(o){for(let e of Object.keys(o))if(o[e].startsWith("workspace:"))if(d[e])o[e]=`^${d[e]}`;else throw new Error(`Workspace dependency ${e} not found in workspace packages.`)}}return promises.writeFile(l,await prettier.format(JSON.stringify(r),{parser:"json",proseWrap:"always",trailingComma:"none",tabWidth:2,semi:true,singleQuote:false,quoteProps:"as-needed",insertPragma:false,bracketSameLine:true,printWidth:80,bracketSpacing:true,arrowParens:"avoid",endOfLine:"lf",plugins:["prettier-plugin-pkg"]}))}exports.a=C;
1
+ 'use strict';var chunk3AMGJZOB_cjs=require('./chunk-3AMGJZOB.cjs'),chunkCZ7PAWK2_cjs=require('./chunk-CZ7PAWK2.cjs'),devkit=require('@nx/devkit'),fs=require('fs'),promises=require('fs/promises'),prettier=require('prettier');async function C(c=process.cwd(),i=chunkCZ7PAWK2_cjs.c(c)){let l=chunkCZ7PAWK2_cjs.b(c,"package.json"),m=await promises.readFile(l,"utf8");if(!m)throw new Error("No package.json file found in package root: "+c);let p=await chunk3AMGJZOB_cjs.b(i),r=JSON.parse(m),g=chunkCZ7PAWK2_cjs.b(i,"pnpm-workspace.yaml");if(!fs.existsSync(g))return console.warn(`No \`pnpm-workspace.yaml\` file found in workspace root (searching in: ${g}). Skipping pnpm catalog read for now.`),r;if(!p){console.warn("No pnpm catalog found. Skipping dependencies replacement for now.");return}for(let a of ["dependencies","devDependencies","peerDependencies"]){let o=r[a];if(o){for(let e of Object.keys(o))if(o[e]==="catalog:"){if(!p)throw new Error(`Dependency ${e} is marked as \`catalog:\`, but no catalog exists in the workspace root's \`pnpm-workspace.yaml\` file.`);let t=p[e];if(!t)throw new Error("Missing pnpm catalog version for "+e);o[e]=t;}else if(o[e].startsWith("catalog:"))throw new Error("multiple named catalogs not supported")}}let n;try{n=devkit.readCachedProjectGraph();}catch{await devkit.createProjectGraphAsync(),n=devkit.readCachedProjectGraph();}let d={};n&&await Promise.all(Object.keys(n.nodes).map(async a=>{let o=n.nodes[a];if(o?.data.root){let e=chunkCZ7PAWK2_cjs.b(i,o.data.root,"package.json");if(fs.existsSync(e)){let t=await promises.readFile(e,"utf8"),f=JSON.parse(t);f.private!==true&&(d[f.name]=f.version);}}}));for(let a of ["dependencies","devDependencies","peerDependencies"]){let o=r[a];if(o){for(let e of Object.keys(o))if(o[e].startsWith("workspace:"))if(d[e])o[e]=`^${d[e]}`;else throw new Error(`Workspace dependency ${e} not found in workspace packages.`)}}return promises.writeFile(l,await prettier.format(JSON.stringify(r),{parser:"json",proseWrap:"always",trailingComma:"none",tabWidth:2,semi:true,singleQuote:false,quoteProps:"as-needed",insertPragma:false,bracketSameLine:true,printWidth:80,bracketSpacing:true,arrowParens:"avoid",endOfLine:"lf",plugins:["prettier-plugin-pkg"]}))}exports.a=C;
@@ -1 +1 @@
1
- import {b as b$1}from'./chunk-DYCELEEX.js';import {c,b}from'./chunk-LGDN3UHN.js';import {readCachedProjectGraph,createProjectGraphAsync}from'@nx/devkit';import {existsSync}from'node:fs';import {readFile,writeFile}from'node:fs/promises';import {format}from'prettier';async function $(c$1=process.cwd(),i=c(c$1)){let l=b(c$1,"package.json"),m=await readFile(l,"utf8");if(!m)throw new Error("No package.json file found in package root: "+c$1);let p=await b$1(i),r=JSON.parse(m),g=b(i,"pnpm-workspace.yaml");if(!existsSync(g))return console.warn(`No \`pnpm-workspace.yaml\` file found in workspace root (searching in: ${g}). Skipping pnpm catalog read for now.`),r;if(!p){console.warn("No pnpm catalog found. Skipping dependencies replacement for now.");return}for(let a of ["dependencies","devDependencies","peerDependencies"]){let o=r[a];if(o){for(let e of Object.keys(o))if(o[e]==="catalog:"){if(!p)throw new Error(`Dependency ${e} is marked as \`catalog:\`, but no catalog exists in the workspace root's \`pnpm-workspace.yaml\` file.`);let t=p[e];if(!t)throw new Error("Missing pnpm catalog version for "+e);o[e]=t;}else if(o[e].startsWith("catalog:"))throw new Error("multiple named catalogs not supported")}}let n;try{n=readCachedProjectGraph();}catch{await createProjectGraphAsync(),n=readCachedProjectGraph();}let d={};n&&await Promise.all(Object.keys(n.nodes).map(async a=>{let o=n.nodes[a];if(o?.data.root){let e=b(i,o.data.root,"package.json");if(existsSync(e)){let t=await readFile(e,"utf8"),f=JSON.parse(t);f.private!==true&&(d[f.name]=f.version);}}}));for(let a of ["dependencies","devDependencies","peerDependencies"]){let o=r[a];if(o){for(let e of Object.keys(o))if(o[e].startsWith("workspace:"))if(d[e])o[e]=`^${d[e]}`;else throw new Error(`Workspace dependency ${e} not found in workspace packages.`)}}return writeFile(l,await format(JSON.stringify(r),{parser:"json",proseWrap:"always",trailingComma:"none",tabWidth:2,semi:true,singleQuote:false,quoteProps:"as-needed",insertPragma:false,bracketSameLine:true,printWidth:80,bracketSpacing:true,arrowParens:"avoid",endOfLine:"lf",plugins:["prettier-plugin-pkg"]}))}export{$ as a};
1
+ import {b as b$1}from'./chunk-IRDZWJUO.js';import {c,b}from'./chunk-LGDN3UHN.js';import {readCachedProjectGraph,createProjectGraphAsync}from'@nx/devkit';import {existsSync}from'node:fs';import {readFile,writeFile}from'node:fs/promises';import {format}from'prettier';async function $(c$1=process.cwd(),i=c(c$1)){let l=b(c$1,"package.json"),m=await readFile(l,"utf8");if(!m)throw new Error("No package.json file found in package root: "+c$1);let p=await b$1(i),r=JSON.parse(m),g=b(i,"pnpm-workspace.yaml");if(!existsSync(g))return console.warn(`No \`pnpm-workspace.yaml\` file found in workspace root (searching in: ${g}). Skipping pnpm catalog read for now.`),r;if(!p){console.warn("No pnpm catalog found. Skipping dependencies replacement for now.");return}for(let a of ["dependencies","devDependencies","peerDependencies"]){let o=r[a];if(o){for(let e of Object.keys(o))if(o[e]==="catalog:"){if(!p)throw new Error(`Dependency ${e} is marked as \`catalog:\`, but no catalog exists in the workspace root's \`pnpm-workspace.yaml\` file.`);let t=p[e];if(!t)throw new Error("Missing pnpm catalog version for "+e);o[e]=t;}else if(o[e].startsWith("catalog:"))throw new Error("multiple named catalogs not supported")}}let n;try{n=readCachedProjectGraph();}catch{await createProjectGraphAsync(),n=readCachedProjectGraph();}let d={};n&&await Promise.all(Object.keys(n.nodes).map(async a=>{let o=n.nodes[a];if(o?.data.root){let e=b(i,o.data.root,"package.json");if(existsSync(e)){let t=await readFile(e,"utf8"),f=JSON.parse(t);f.private!==true&&(d[f.name]=f.version);}}}));for(let a of ["dependencies","devDependencies","peerDependencies"]){let o=r[a];if(o){for(let e of Object.keys(o))if(o[e].startsWith("workspace:"))if(d[e])o[e]=`^${d[e]}`;else throw new Error(`Workspace dependency ${e} not found in workspace packages.`)}}return writeFile(l,await format(JSON.stringify(r),{parser:"json",proseWrap:"always",trailingComma:"none",tabWidth:2,semi:true,singleQuote:false,quoteProps:"as-needed",insertPragma:false,bracketSameLine:true,printWidth:80,bracketSpacing:true,arrowParens:"avoid",endOfLine:"lf",plugins:["prettier-plugin-pkg"]}))}export{$ as a};
@@ -1,4 +1,4 @@
1
- import {c as c$1,e,f,b as b$1,a}from'./chunk-LGDN3UHN.js';import*as r from'zod/mini';import Oo from'defu';import {existsSync}from'node:fs';import {loadConfig}from'c12';import Yo from'chalk';import {readFile}from'node:fs/promises';import {join}from'node:path';import {exec}from'node:child_process';import {valid,coerce,gt}from'semver';var te="https://docs.stormsoftware.com",_="https://stormsoftware.com";var se="https://stormsoftware.com/license",ne="Apache-2.0";var w="tools/errors/codes.json",ae="The workspace's banner image";var s=r.registry(),h=r.string().check(r.length(7),r.toLowerCase(),r.regex(/^#([0-9a-f]{3}){1,2}$/i),r.trim());s.add(h,{description:"A base schema for describing the format of colors"});var z=r._default(h,"#151718");s.add(z,{description:"The dark background color of the workspace"});var b=r._default(h,"#cbd5e1");s.add(b,{description:"The light background color of the workspace"});var x=r._default(h,"#1fb2a6");s.add(x,{description:"The primary brand specific color of the workspace"});var D=r.optional(h);s.add(D,{description:"The alternate brand specific color of the workspace"});var G=r.optional(h);s.add(G,{description:"The secondary brand specific color of the workspace"});var M=r._default(h,"#3fa6ff");s.add(M,{description:"The color used to display hyperlink text"});var P=r._default(h,"#818cf8");s.add(P,{description:"The second brand specific color of the workspace"});var F=r._default(h,"#45b27e");s.add(F,{description:"The success color of the workspace"});var U=r._default(h,"#38bdf8");s.add(U,{description:"The informational color of the workspace"});var W=r._default(h,"#f3d371");s.add(W,{description:"The warning color of the workspace"});var B=r._default(h,"#d8314a");s.add(B,{description:"The danger color of the workspace"});var j=r.optional(h);s.add(j,{description:"The fatal color of the workspace"});var H=r._default(h,"#4ade80");s.add(H,{description:"The positive number color of the workspace"});var Y=r._default(h,"#ef4444");s.add(Y,{description:"The negative number color of the workspace"});var V=r.optional(r.array(h));s.add(V,{description:"The color stops for the base gradient color pattern used in the workspace"});var Wo=r.object({foreground:b,background:z,brand:x,alternate:D,accent:G,link:M,help:P,success:F,info:U,warning:W,danger:B,fatal:j,positive:H,negative:Y,gradient:V}),Bo=r.object({foreground:z,background:b,brand:x,alternate:D,accent:G,link:M,help:P,success:F,info:U,warning:W,danger:B,fatal:j,positive:H,negative:Y,gradient:V}),jo=r.object({dark:Wo,light:Bo}),Ho=r.object({dark:z,light:b,brand:x,alternate:D,accent:G,link:M,help:P,success:F,info:U,warning:W,danger:B,fatal:j,positive:H,negative:Y,gradient:V}),L=r.optional(r.url());s.add(L,{description:"A remote registry URL used to publish distributable packages"});var ie=r._default(r.object({github:L,npm:L,cargo:L,cyclone:L,container:L}),{});s.add(ie,{description:"A list of remote registry URLs used by Storm Software"});var q=r.union([Ho,jo]);s.add(q,{description:"Colors used for various workspace elements"});var ce=r.record(r.union([r.union([r.literal("base"),r.string()]),r.string()]),q);s.add(ce,{description:"Storm theme config values used for styling various package elements"});var pe=r.optional(r.union([r.string().check(r.trim()),r.array(r.string().check(r.trim()))]));s.add(pe,{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 de=r.string().check(r.trim());s.add(de,{description:"The workspace bot user's name (this is the bot that will be used to perform various tasks)"});var le=r.string().check(r.trim());s.add(le,{description:"The email of the workspace bot"});var me=r.object({name:de,email:le});s.add(me,{description:"The workspace's bot user's config used to automated various operations tasks"});var ge=r.optional(r.string().check(r.trim(),r.url()));s.add(ge,{description:"A URL to a banner image used to display the workspace's release"});var ue=r._default(r.string().check(r.trim()),ae);s.add(ue,{description:"The alt text for the workspace's release banner image"});var fe=r.object({url:ge,alt:ue});s.add(fe,{description:"The workspace's banner image used during the release process"});var he=r.optional(r.string().check(r.trim()));s.add(he,{description:"A header message appended to the start of the workspace's release notes"});var Te=r.optional(r.string().check(r.trim()));s.add(Te,{description:"A footer message appended to the end of the workspace's release notes"});var Ce=r.object({banner:r.union([fe,r.string().check(r.trim(),r.url())]),header:he,footer:Te});s.add(Ce,{description:"The workspace's release config used during the release process"});var Ee=r.optional(r.string().check(r.trim()));s.add(Ee,{description:"A Twitter/X account associated with the organization/project"});var Re=r.optional(r.string().check(r.trim()));s.add(Re,{description:"A Discord account associated with the organization/project"});var Se=r.optional(r.string().check(r.trim()));s.add(Se,{description:"A Telegram account associated with the organization/project"});var ve=r.optional(r.string().check(r.trim()));s.add(ve,{description:"A Slack account associated with the organization/project"});var ke=r.optional(r.string().check(r.trim()));s.add(ke,{description:"A Medium account associated with the organization/project"});var Ae=r.optional(r.string().check(r.trim()));s.add(Ae,{description:"A GitHub account associated with the organization/project"});var Oe=r.object({twitter:Ee,discord:Re,telegram:Se,slack:ve,medium:ke,github:Ae});s.add(Oe,{description:"The workspace's account config used to store various social media links"});var Le=r.optional(r.string().check(r.trim()));s.add(Le,{description:"The directory used to store the environment's cached file data"});var $e=r.optional(r.string().check(r.trim()));s.add($e,{description:"The directory used to store the environment's data files"});var _e=r.optional(r.string().check(r.trim()));s.add(_e,{description:"The directory used to store the environment's configuration files"});var Ie=r.optional(r.string().check(r.trim()));s.add(Ie,{description:"The directory used to store the environment's temp files"});var Ne=r.optional(r.string().check(r.trim()));s.add(Ne,{description:"The directory used to store the environment's log files"});var ye=r._default(r.string().check(r.trim()),"dist");s.add(ye,{description:"The directory used to store the workspace's distributable files after a build (relative to the workspace root)"});var we=r.object({cache:Le,data:$e,config:_e,temp:Ie,log:Ne,build:ye});s.add(we,{description:"Various directories used by the workspace to store data, cache, and configuration files"});var ze=r._default(r.enum(["minimal","monorepo"]),"monorepo");s.add(ze,{description:"The variant of the workspace. This can be used to enable or disable certain features or configurations."});var be=r._default(r.string().check(r.trim()),w);s.add(be,{description:"The path to the workspace's error codes JSON file"});var xe=r.optional(r.url());s.add(xe,{description:"A URL to a page that looks up the workspace's error messages given a specific error code"});var De=r.object({codesFile:be,url:xe});s.add(De,{description:"The workspace's error config used when creating error details during a system error"});var Ge=r.optional(r.string().check(r.trim(),r.toLowerCase()));s.add(Ge,{description:"The name of the organization"});var Me=r.optional(r.string().check(r.trim()));s.add(Me,{description:"A description of the organization"});var Pe=r.optional(r.url());s.add(Pe,{description:"A URL to the organization's logo image"});var Fe=r.optional(r.url());s.add(Fe,{description:"A URL to the organization's icon image"});var Ue=r.optional(r.url());s.add(Ue,{description:"A URL to a page that provides more information about the organization"});var We=r.object({name:Ge,description:Me,logo:Pe,icon:Fe,url:Ue});s.add(We,{description:"The workspace's organization details"});var Be=r._default(r.string().check(r.trim(),r.toLowerCase()),"https://public.storm-cdn.com/schemas/storm-workspace.schema.json");s.add(Be,{description:"The URL or file path to the JSON schema file that describes the Storm configuration file"});var je=r.string().check(r.trim(),r.toLowerCase());s.add(je,{description:"The name of the workspace/project/service/package/scope using this configuration"});var He=r.string().check(r.trim(),r.toLowerCase());s.add(He,{description:"The namespace of the workspace/project/service/package/scope using this configuration"});var Ye=r.union([We,r.string().check(r.trim(),r.toLowerCase())]);s.add(Ye,{description:"The organization of the workspace. This can be a string or an object containing the organization's details"});var Ve=r.string().check(r.trim(),r.toLowerCase());s.add(Ve,{description:"The repo URL of the workspace (i.e. the GitHub repository URL)"});var Ke=r._default(r.string().check(r.trim()),"Apache-2.0");s.add(Ke,{description:"The license type of the package"});var Ze=r.optional(r.url());s.add(Ze,{description:"The homepage of the workspace"});var Je=r.optional(r.url());s.add(Je,{description:"The documentation site for the workspace"});var Xe=r.optional(r.url());s.add(Xe,{description:"The development portal site for the workspace"});var qe=r.optional(r.url());s.add(qe,{description:"The licensing site for the workspace"});var Qe=r.optional(r.url());s.add(Qe,{description:"The contact site for the workspace"});var eo=r.optional(r.url());s.add(eo,{description:"The support site for the workspace. If not provided, this is defaulted to the `contact` config value"});var oo=r._default(r.string().check(r.trim(),r.toLowerCase()),"main");s.add(oo,{description:"The branch of the workspace"});var ro=r.optional(r.string().check(r.trim(),r.toLowerCase()));s.add(ro,{description:"A tag specifying the version pre-release identifier"});var to=r.optional(r.string().check(r.trim(),r.toLowerCase()));s.add(to,{description:"The owner of the package"});var so=r._default(r.enum(["development","staging","production"]).check(r.trim(),r.toLowerCase()),"production");s.add(so,{description:"The current runtime environment mode for the package"});var no=r.string().check(r.trim(),r.toLowerCase());s.add(no,{description:"The root directory of the workspace"});var ao=r._default(r.boolean(),false);s.add(ao,{description:"Should all known types of workspace caching be skipped?"});var io=r._default(r.enum(["npm","yarn","pnpm","bun"]),"npm");s.add(io,{description:"The JavaScript/TypeScript package manager used by the repository"});var co=r._default(r.string().check(r.trim()),"America/New_York");s.add(co,{description:"The default timezone of the workspace"});var po=r._default(r.string().check(r.trim()),"en-US");s.add(po,{description:"The default locale of the workspace"});var lo=r._default(r.enum(["silent","fatal","error","warn","success","info","debug","trace","all"]),"info");s.add(lo,{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 mo=r._default(r.boolean(),true);s.add(mo,{description:"Should the logging of the current Storm Workspace configuration be skipped?"});var go=r._default(r.nullable(r.string().check(r.trim())),null);s.add(go,{description:"The filepath of the Storm config. When this field is null, no config file was found in the current workspace."});var Q=r._default(r.record(r.string(),r.any()),{});s.add(Q,{description:"Configuration of each used extension"});var uo=r.object({$schema:Be,extends:pe,name:je,variant:ze,namespace:He,organization:Ye,repository:Ve,license:Ke,homepage:Ze,docs:Je,portal:Xe,licensing:qe,contact:Qe,support:eo,branch:oo,preid:ro,owner:to,bot:me,release:Ce,socials:Oe,error:De,mode:so,workspaceRoot:no,skipCache:ao,directories:we,packageManager:io,timezone:co,locale:po,logLevel:lo,skipConfigLogging:mo,registry:ie,configFile:go,colors:r.union([q,ce]),extensions:Q});s.add(Q,{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."});var c={SILENT:0,FATAL:10,ERROR:20,WARN:30,SUCCESS:35,INFO:40,DEBUG:60,TRACE:70,ALL:100},d={SILENT:"silent",FATAL:"fatal",ERROR:"error",WARN:"warn",SUCCESS:"success",INFO:"info",DEBUG:"debug",TRACE:"trace",ALL:"all"};var E={dark:{brand:"#2dd4bf",success:"#10b981",info:"#58a6ff",warning:"#f3d371",danger:"#D8314A",fatal:"#a40e26"}};var Vo={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}},fo=()=>{let e=Yo;return (!e?.hex||!e?.bold?.hex||!e?.bgHex||!e?.whiteBright||!e?.white)&&(e=Vo),e};function ho(){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 A=(e,o)=>ho()?e:o,S={[d.ERROR]:A("\u2718","\xD7"),[d.FATAL]:A("\u{1F480}","\xD7"),[d.WARN]:A("\u26A0","\u203C"),[d.INFO]:A("\u2139","i"),[d.SUCCESS]:A("\u2714","\u221A"),[d.DEBUG]:A("\u{1F6E0}","D"),[d.TRACE]:A("\u{1F6E0}","T"),[d.ALL]:A("\u2709","\u2192")};var v=(e=new Date)=>`${e.toLocaleDateString()} ${e.toLocaleTimeString()}`;var $=e=>{switch(e){case "all":return c.ALL;case "trace":return c.TRACE;case "debug":return c.DEBUG;case "info":return c.INFO;case "warn":return c.WARN;case "error":return c.ERROR;case "fatal":return c.FATAL;case "silent":return c.SILENT;default:return c.INFO}},To=(e=c.INFO)=>e>=c.ALL?d.ALL:e>=c.TRACE?d.TRACE:e>=c.DEBUG?d.DEBUG:e>=c.INFO?d.INFO:e>=c.WARN?d.WARN:e>=c.ERROR?d.ERROR:e>=c.FATAL?d.FATAL:e<=c.SILENT?d.SILENT:d.INFO;var ee=(e=c.INFO,o={},t=fo())=>{let i=!o.colors?.dark&&!o.colors?.base&&!o.colors?.base?.dark?E: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:E,a=o.logLevel||process.env.STORM_LOG_LEVEL||d.INFO;return e>$(a)||e<=c.SILENT||$(a)<=c.SILENT?n=>{}:typeof e=="number"&&c.FATAL>=e?n=>{console.error(`
1
+ import {c as c$1,e,f,b as b$1,a}from'./chunk-LGDN3UHN.js';import*as r from'zod/mini';import Oo from'defu';import {existsSync}from'node:fs';import {loadConfig}from'c12';import Yo from'chalk';import {readFile}from'node:fs/promises';import {join}from'node:path';import {exec}from'node:child_process';import {valid,coerce,gt}from'semver';var te="https://docs.stormsoftware.com",_="https://stormsoftware.com";var se="https://stormsoftware.com/license",ne="Apache-2.0";var w="tools/errors/codes.json",ae="The workspace's banner image";var s=r.registry(),h=r.string().check(r.length(7),r.toLowerCase(),r.regex(/^#([0-9a-f]{3}){1,2}$/i),r.trim());s.add(h,{description:"A base schema for describing the format of colors"});var z=r._default(h,"#151718");s.add(z,{description:"The dark background color of the workspace"});var b=r._default(h,"#cbd5e1");s.add(b,{description:"The light background color of the workspace"});var x=r._default(h,"#1fb2a6");s.add(x,{description:"The primary brand specific color of the workspace"});var D=r.optional(h);s.add(D,{description:"The alternate brand specific color of the workspace"});var G=r.optional(h);s.add(G,{description:"The secondary brand specific color of the workspace"});var M=r._default(h,"#3fa6ff");s.add(M,{description:"The color used to display hyperlink text"});var P=r._default(h,"#818cf8");s.add(P,{description:"The second brand specific color of the workspace"});var F=r._default(h,"#45b27e");s.add(F,{description:"The success color of the workspace"});var U=r._default(h,"#38bdf8");s.add(U,{description:"The informational color of the workspace"});var W=r._default(h,"#f3d371");s.add(W,{description:"The warning color of the workspace"});var B=r._default(h,"#d8314a");s.add(B,{description:"The danger color of the workspace"});var j=r.optional(h);s.add(j,{description:"The fatal color of the workspace"});var H=r._default(h,"#4ade80");s.add(H,{description:"The positive number color of the workspace"});var Y=r._default(h,"#ef4444");s.add(Y,{description:"The negative number color of the workspace"});var V=r.optional(r.array(h));s.add(V,{description:"The color stops for the base gradient color pattern used in the workspace"});var Wo=r.object({foreground:b,background:z,brand:x,alternate:D,accent:G,link:M,help:P,success:F,info:U,warning:W,danger:B,fatal:j,positive:H,negative:Y,gradient:V}),Bo=r.object({foreground:z,background:b,brand:x,alternate:D,accent:G,link:M,help:P,success:F,info:U,warning:W,danger:B,fatal:j,positive:H,negative:Y,gradient:V}),jo=r.object({dark:Wo,light:Bo}),Ho=r.object({dark:z,light:b,brand:x,alternate:D,accent:G,link:M,help:P,success:F,info:U,warning:W,danger:B,fatal:j,positive:H,negative:Y,gradient:V}),L=r.optional(r.url());s.add(L,{description:"A remote registry URL used to publish distributable packages"});var ie=r._default(r.object({github:L,npm:L,cargo:L,cyclone:L,container:L}),{});s.add(ie,{description:"A list of remote registry URLs used by Storm Software"});var q=r.union([Ho,jo]);s.add(q,{description:"Colors used for various workspace elements"});var ce=r.record(r.union([r.union([r.literal("base"),r.string()]),r.string()]),q);s.add(ce,{description:"Storm theme config values used for styling various package elements"});var pe=r.optional(r.union([r.string().check(r.trim()),r.array(r.string().check(r.trim()))]));s.add(pe,{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 de=r.string().check(r.trim());s.add(de,{description:"The workspace bot user's name (this is the bot that will be used to perform various tasks)"});var le=r.string().check(r.trim());s.add(le,{description:"The email of the workspace bot"});var me=r.object({name:de,email:le});s.add(me,{description:"The workspace's bot user's config used to automated various operations tasks"});var ge=r.optional(r.string().check(r.trim(),r.url()));s.add(ge,{description:"A URL to a banner image used to display the workspace's release"});var ue=r._default(r.string().check(r.trim()),ae);s.add(ue,{description:"The alt text for the workspace's release banner image"});var fe=r.object({url:ge,alt:ue});s.add(fe,{description:"The workspace's banner image used during the release process"});var he=r.optional(r.string().check(r.trim()));s.add(he,{description:"A header message appended to the start of the workspace's release notes"});var Te=r.optional(r.string().check(r.trim()));s.add(Te,{description:"A footer message appended to the end of the workspace's release notes"});var Ce=r.object({banner:r.union([fe,r.string().check(r.trim(),r.url())]),header:he,footer:Te});s.add(Ce,{description:"The workspace's release config used during the release process"});var Ee=r.optional(r.string().check(r.trim()));s.add(Ee,{description:"A Twitter/X account associated with the organization/project"});var Re=r.optional(r.string().check(r.trim()));s.add(Re,{description:"A Discord account associated with the organization/project"});var Se=r.optional(r.string().check(r.trim()));s.add(Se,{description:"A Telegram account associated with the organization/project"});var ve=r.optional(r.string().check(r.trim()));s.add(ve,{description:"A Slack account associated with the organization/project"});var Ae=r.optional(r.string().check(r.trim()));s.add(Ae,{description:"A Medium account associated with the organization/project"});var ke=r.optional(r.string().check(r.trim()));s.add(ke,{description:"A GitHub account associated with the organization/project"});var Oe=r.object({twitter:Ee,discord:Re,telegram:Se,slack:ve,medium:Ae,github:ke});s.add(Oe,{description:"The workspace's account config used to store various social media links"});var Le=r.optional(r.string().check(r.trim()));s.add(Le,{description:"The directory used to store the environment's cached file data"});var $e=r.optional(r.string().check(r.trim()));s.add($e,{description:"The directory used to store the environment's data files"});var _e=r.optional(r.string().check(r.trim()));s.add(_e,{description:"The directory used to store the environment's configuration files"});var Ie=r.optional(r.string().check(r.trim()));s.add(Ie,{description:"The directory used to store the environment's temp files"});var Ne=r.optional(r.string().check(r.trim()));s.add(Ne,{description:"The directory used to store the environment's log files"});var ye=r._default(r.string().check(r.trim()),"dist");s.add(ye,{description:"The directory used to store the workspace's distributable files after a build (relative to the workspace root)"});var we=r.object({cache:Le,data:$e,config:_e,temp:Ie,log:Ne,build:ye});s.add(we,{description:"Various directories used by the workspace to store data, cache, and configuration files"});var ze=r._default(r.enum(["minimal","monorepo"]),"monorepo");s.add(ze,{description:"The variant of the workspace. This can be used to enable or disable certain features or configurations."});var be=r._default(r.string().check(r.trim()),w);s.add(be,{description:"The path to the workspace's error codes JSON file"});var xe=r.optional(r.url());s.add(xe,{description:"A URL to a page that looks up the workspace's error messages given a specific error code"});var De=r.object({codesFile:be,url:xe});s.add(De,{description:"The workspace's error config used when creating error details during a system error"});var Ge=r.optional(r.string().check(r.trim(),r.toLowerCase()));s.add(Ge,{description:"The name of the organization"});var Me=r.optional(r.string().check(r.trim()));s.add(Me,{description:"A description of the organization"});var Pe=r.optional(r.url());s.add(Pe,{description:"A URL to the organization's logo image"});var Fe=r.optional(r.url());s.add(Fe,{description:"A URL to the organization's icon image"});var Ue=r.optional(r.url());s.add(Ue,{description:"A URL to a page that provides more information about the organization"});var We=r.object({name:Ge,description:Me,logo:Pe,icon:Fe,url:Ue});s.add(We,{description:"The workspace's organization details"});var Be=r._default(r.string().check(r.trim(),r.toLowerCase()),"https://public.storm-cdn.com/schemas/storm-workspace.schema.json");s.add(Be,{description:"The URL or file path to the JSON schema file that describes the Storm configuration file"});var je=r.string().check(r.trim(),r.toLowerCase());s.add(je,{description:"The name of the workspace/project/service/package/scope using this configuration"});var He=r.string().check(r.trim(),r.toLowerCase());s.add(He,{description:"The namespace of the workspace/project/service/package/scope using this configuration"});var Ye=r.union([We,r.string().check(r.trim(),r.toLowerCase())]);s.add(Ye,{description:"The organization of the workspace. This can be a string or an object containing the organization's details"});var Ve=r.string().check(r.trim(),r.toLowerCase());s.add(Ve,{description:"The repo URL of the workspace (i.e. the GitHub repository URL)"});var Ke=r._default(r.string().check(r.trim()),"Apache-2.0");s.add(Ke,{description:"The license type of the package"});var Ze=r.optional(r.url());s.add(Ze,{description:"The homepage of the workspace"});var Je=r.optional(r.url());s.add(Je,{description:"The documentation site for the workspace"});var Xe=r.optional(r.url());s.add(Xe,{description:"The development portal site for the workspace"});var qe=r.optional(r.url());s.add(qe,{description:"The licensing site for the workspace"});var Qe=r.optional(r.url());s.add(Qe,{description:"The contact site for the workspace"});var eo=r.optional(r.url());s.add(eo,{description:"The support site for the workspace. If not provided, this is defaulted to the `contact` config value"});var oo=r._default(r.string().check(r.trim(),r.toLowerCase()),"main");s.add(oo,{description:"The branch of the workspace"});var ro=r.optional(r.string().check(r.trim(),r.toLowerCase()));s.add(ro,{description:"A tag specifying the version pre-release identifier"});var to=r.optional(r.string().check(r.trim(),r.toLowerCase()));s.add(to,{description:"The owner of the package"});var so=r._default(r.enum(["development","staging","production"]).check(r.trim(),r.toLowerCase()),"production");s.add(so,{description:"The current runtime environment mode for the package"});var no=r.string().check(r.trim(),r.toLowerCase());s.add(no,{description:"The root directory of the workspace"});var ao=r._default(r.boolean(),false);s.add(ao,{description:"Should all known types of workspace caching be skipped?"});var io=r._default(r.enum(["npm","yarn","pnpm","bun"]),"npm");s.add(io,{description:"The JavaScript/TypeScript package manager used by the repository"});var co=r._default(r.string().check(r.trim()),"America/New_York");s.add(co,{description:"The default timezone of the workspace"});var po=r._default(r.string().check(r.trim()),"en-US");s.add(po,{description:"The default locale of the workspace"});var lo=r._default(r.enum(["silent","fatal","error","warn","success","info","debug","trace","all"]),"info");s.add(lo,{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 mo=r._default(r.boolean(),true);s.add(mo,{description:"Should the logging of the current Storm Workspace configuration be skipped?"});var go=r._default(r.nullable(r.string().check(r.trim())),null);s.add(go,{description:"The filepath of the Storm config. When this field is null, no config file was found in the current workspace."});var Q=r._default(r.record(r.string(),r.any()),{});s.add(Q,{description:"Configuration of each used extension"});var uo=r.object({$schema:Be,extends:pe,name:je,variant:ze,namespace:He,organization:Ye,repository:Ve,license:Ke,homepage:Ze,docs:Je,portal:Xe,licensing:qe,contact:Qe,support:eo,branch:oo,preid:ro,owner:to,bot:me,release:Ce,socials:Oe,error:De,mode:so,workspaceRoot:no,skipCache:ao,directories:we,packageManager:io,timezone:co,locale:po,logLevel:lo,skipConfigLogging:mo,registry:ie,configFile:go,colors:r.union([q,ce]),extensions:Q});s.add(Q,{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."});var c={SILENT:0,FATAL:10,ERROR:20,WARN:30,SUCCESS:35,INFO:40,DEBUG:60,TRACE:70,ALL:100},d={SILENT:"silent",FATAL:"fatal",ERROR:"error",WARN:"warn",SUCCESS:"success",INFO:"info",DEBUG:"debug",TRACE:"trace",ALL:"all"};var E={dark:{brand:"#2dd4bf",success:"#10b981",info:"#58a6ff",warning:"#f3d371",danger:"#D8314A",fatal:"#a40e26"}};var Vo={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}},fo=()=>{let e=Yo;return (!e?.hex||!e?.bold?.hex||!e?.bgHex||!e?.whiteBright||!e?.white)&&(e=Vo),e};function ho(){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)=>ho()?e:o,S={[d.ERROR]:k("\u2718","\xD7"),[d.FATAL]:k("\u{1F480}","\xD7"),[d.WARN]:k("\u26A0","\u203C"),[d.INFO]:k("\u2139","i"),[d.SUCCESS]:k("\u2714","\u221A"),[d.DEBUG]:k("\u{1F6E0}","D"),[d.TRACE]:k("\u{1F6E0}","T"),[d.ALL]:k("\u2709","\u2192")};var v=(e=new Date)=>`${e.toLocaleDateString()} ${e.toLocaleTimeString()}`;var $=e=>{switch(e){case "all":return c.ALL;case "trace":return c.TRACE;case "debug":return c.DEBUG;case "info":return c.INFO;case "warn":return c.WARN;case "error":return c.ERROR;case "fatal":return c.FATAL;case "silent":return c.SILENT;default:return c.INFO}},To=(e=c.INFO)=>e>=c.ALL?d.ALL:e>=c.TRACE?d.TRACE:e>=c.DEBUG?d.DEBUG:e>=c.INFO?d.INFO:e>=c.WARN?d.WARN:e>=c.ERROR?d.ERROR:e>=c.FATAL?d.FATAL:e<=c.SILENT?d.SILENT:d.INFO;var ee=(e=c.INFO,o={},t=fo())=>{let i=!o.colors?.dark&&!o.colors?.base&&!o.colors?.base?.dark?E: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:E,a=o.logLevel||process.env.STORM_LOG_LEVEL||d.INFO;return e>$(a)||e<=c.SILENT||$(a)<=c.SILENT?n=>{}:typeof e=="number"&&c.FATAL>=e?n=>{console.error(`
2
2
  ${t.gray(v())} ${t.hex(i.fatal??E.dark.fatal)(`[${S[d.FATAL]} Fatal] `)}${t.bold.whiteBright(C(n))}
3
3
  `);}:typeof e=="number"&&c.ERROR>=e?n=>{console.error(`
4
4
  ${t.gray(v())} ${t.hex(i.danger??E.dark.danger)(`[${S[d.ERROR]} Error] `)}${t.bold.whiteBright(C(n))}
@@ -18,8 +18,8 @@ ${t.gray(v())} ${t.hex(i.brand??E.dark.brand)(`[${S[d.ALL]} System] `)}${t.bold.
18
18
  ${e.map((n,p)=>` ${i}> #${p} = ${C(n,{prefix:`${i}-`,skip:a},t+1)}`).join(`
19
19
  `)}`:typeof e=="object"?`
20
20
  ${Object.keys(e).filter(n=>!a.includes(n)).map(n=>` ${i}> ${n} = ${Zo(e[n])?"<function>":typeof e[n]=="object"?C(e[n],{prefix:`${i}-`,skip:a},t+1):e[n]}`).join(`
21
- `)}`:e},Zo=e=>{try{return e instanceof Function||typeof e=="function"||!!(e?.constructor&&e?.call&&e?.apply)}catch{return false}};var Ro=["dark","light","base","brand","alternate","accent","link","success","help","info","warning","danger","fatal","positive","negative"];async function So(e){let o=ne,t,i,a,n,p,m=c$1(e);if(existsSync(join(m,"package.json"))){let k=await readFile(b$1(m,"package.json"),"utf8");if(k){let f=JSON.parse(k);f.name&&(a=f.name),f.namespace&&(n=f.namespace),f.repository&&(typeof f.repository=="string"?p=f.repository:f.repository.url&&(p=f.repository.url)),f.license&&(o=f.license),f.homepage&&(t=f.homepage),f.bugs&&(typeof f.bugs=="string"?i=f.bugs:f.bugs.url&&(i=f.bugs.url));}}return {workspaceRoot:m,name:a,namespace:n,repository:p,license:o,homepage:t,support:i}}function vo(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:w},e.homepage&&(e.error.url??=`${e.homepage}/errors`))),e}var Ao=async(e,o,t={})=>{let i=o||c$1(o),a=await Promise.all([loadConfig({cwd:i,packageJson:true,name:e,envName:e?.toUpperCase(),jitiOptions:{debug:false,fsCache:process.env.STORM_SKIP_CACHE==="true"?false:b$1(process.env.STORM_CACHE_DIR||"node_modules/.cache/storm","jiti")},...t}),loadConfig({cwd:i,packageJson:true,name:e,envName:e?.toUpperCase(),jitiOptions:{debug:false,fsCache:process.env.STORM_SKIP_CACHE==="true"?false:b$1(process.env.STORM_CACHE_DIR||"node_modules/.cache/storm","jiti")},configFile:e,...t})]);return Oo(a[0]??{},a[1]??{})},Lo=async(e,o=[])=>{let t=e||c$1(e),i=await Ao("storm-workspace",t),a=i.config,n=i.configFile;if(a&&n&&Object.keys(a).length>0&&!a.skipConfigLogging&&O(`Found Storm configuration file "${n.includes(`${t}/`)?n.replace(`${t}/`,""):n}" at "${t}"`,{logLevel:"all"}),o&&o.length>0){let p=await Promise.all(o.map(m=>Ao(m,t)));for(let m of p)m?.config&&m?.configFile&&Object.keys(m.config).length>0&&(!a.skipConfigLogging&&!m.config.skipConfigLogging&&O(`Found alternative configuration file "${m.configFile.includes(`${t}/`)?m.configFile.replace(`${t}/`,""):m.configFile}" at "${t}"`,{logLevel:"all"}),a=Oo(m.config??{},a??{}));}if(!(!a||Object.keys(a).length===0))return a.configFile=n,a};var No=()=>{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`]?a(process.env[`${e}WORKSPACE_CONFIG_FILE`]):void 0,workspaceRoot:process.env[`${e}WORKSPACE_ROOT`]?a(process.env[`${e}WORKSPACE_ROOT`]):void 0,directories:{cache:process.env[`${e}CACHE_DIR`]?a(process.env[`${e}CACHE_DIR`]):process.env[`${e}CACHE_DIRECTORY`]?a(process.env[`${e}CACHE_DIRECTORY`]):void 0,data:process.env[`${e}DATA_DIR`]?a(process.env[`${e}DATA_DIR`]):process.env[`${e}DATA_DIRECTORY`]?a(process.env[`${e}DATA_DIRECTORY`]):void 0,config:process.env[`${e}CONFIG_DIR`]?a(process.env[`${e}CONFIG_DIR`]):process.env[`${e}CONFIG_DIRECTORY`]?a(process.env[`${e}CONFIG_DIRECTORY`]):void 0,temp:process.env[`${e}TEMP_DIR`]?a(process.env[`${e}TEMP_DIR`]):process.env[`${e}TEMP_DIRECTORY`]?a(process.env[`${e}TEMP_DIRECTORY`]):void 0,log:process.env[`${e}LOG_DIR`]?a(process.env[`${e}LOG_DIR`]):process.env[`${e}LOG_DIRECTORY`]?a(process.env[`${e}LOG_DIRECTORY`]):void 0,build:process.env[`${e}BUILD_DIR`]?a(process.env[`${e}BUILD_DIR`]):process.env[`${e}BUILD_DIRECTORY`]?a(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`]))?To(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_`)&&Ro.every(n=>!a.startsWith(`${e}COLOR_LIGHT_${n}`)&&!a.startsWith(`${e}COLOR_DARK_${n}`)));o.colors=t.length>0?t.reduce((a,n)=>(a[n]=$o(e,n),a),{}):$o(e),o.docs===te&&(o.homepage===_?o.docs=`${_}/projects/${o.name}/docs`:o.docs=`${o.homepage}/docs`),o.licensing===se&&(o.homepage===_?o.licensing=`${_}/projects/${o.name}/licensing`:o.licensing=`${o.homepage}/docs`);let i=process.env[`${e}WORKSPACE_CONFIG`];if(i){let a=JSON.parse(i);o={...o,...a,colors:{...o.colors,...a.colors},extensions:{...o.extensions,...a.extensions}};}return o},$o=(e,o)=>{let t=`COLOR_${o&&o!=="base"?`${o}_`:""}`.toUpperCase();return process.env[`${e}${t}LIGHT_BRAND`]||process.env[`${e}${t}DARK_BRAND`]?er(e+t):Qo(e+t)},Qo=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`],help:process.env[`${e}HELP`],success:process.env[`${e}SUCCESS`],info:process.env[`${e}INFO`],warning:process.env[`${e}WARNING`],danger:process.env[`${e}DANGER`],fatal:process.env[`${e}FATAL`],positive:process.env[`${e}POSITIVE`],negative:process.env[`${e}NEGATIVE`],gradient:o}},er=e=>({light:_o(`${e}_LIGHT_`),dark:_o(`${e}_DARK_`)}),_o=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`],help:process.env[`${e}HELP`],success:process.env[`${e}SUCCESS`],info:process.env[`${e}INFO`],warning:process.env[`${e}WARNING`],danger:process.env[`${e}DANGER`],fatal:process.env[`${e}FATAL`],positive:process.env[`${e}POSITIVE`],negative:process.env[`${e}NEGATIVE`],gradient:o}};var or=(e,o)=>{for(let t of Object.keys(o??{}))if(o[t]){let i=t?.replace(/([A-Z])+/g,n=>n?n[0]?.toUpperCase()+n.slice(1):"").split(/(?=[A-Z])|[.\-\s_]/).map(n=>n.toLowerCase())??[],a;if(i.length===0)return;i.length===1?a=i[0]?.toUpperCase()??"":a=i.reduce((n,p)=>`${n}_${p.toLowerCase()}`),process.env[`STORM_EXTENSION_${e.toUpperCase()}_${a.toUpperCase()}`]=o[t];}},zo=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`]=a(e.configFile)),e.workspaceRoot&&(process.env[`${o}WORKSPACE_ROOT`]=a(e.workspaceRoot),process.env.NX_WORKSPACE_ROOT=a(e.workspaceRoot),process.env.NX_WORKSPACE_ROOT_PATH=a(e.workspaceRoot)),e.directories&&(!e.skipCache&&e.directories.cache&&(process.env[`${o}CACHE_DIR`]=a(e.directories.cache),process.env[`${o}CACHE_DIRECTORY`]=process.env[`${o}CACHE_DIR`]),e.directories.data&&(process.env[`${o}DATA_DIR`]=a(e.directories.data),process.env[`${o}DATA_DIRECTORY`]=process.env[`${o}DATA_DIR`]),e.directories.config&&(process.env[`${o}CONFIG_DIR`]=a(e.directories.config),process.env[`${o}CONFIG_DIRECTORY`]=process.env[`${o}CONFIG_DIR`]),e.directories.temp&&(process.env[`${o}TEMP_DIR`]=a(e.directories.temp),process.env[`${o}TEMP_DIRECTORY`]=process.env[`${o}TEMP_DIR`]),e.directories.log&&(process.env[`${o}LOG_DIR`]=a(e.directories.log),process.env[`${o}LOG_DIRECTORY`]=process.env[`${o}LOG_DIR`]),e.directories.build&&(process.env[`${o}BUILD_DIR`]=a(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)>=c.DEBUG),process.env.RUST_BACKTRACE=$(e.logLevel)>=c.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])&&or(t,e.extensions[t]);},yo=(e,o)=>o?.light?.brand||o?.dark?.brand?tr(e,o):rr(e,o),rr=(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.help&&(process.env[`${e}HELP`]=o.help),o.success&&(process.env[`${e}SUCCESS`]=o.success),o.info&&(process.env[`${e}INFO`]=o.info),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.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];},tr=(e,o)=>({light:wo(`${e}LIGHT_`,o.light),dark:wo(`${e}DARK_`,o.dark)}),wo=(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.help&&(process.env[`${e}HELP`]=o.help),o.success&&(process.env[`${e}SUCCESS`]=o.success),o.info&&(process.env[`${e}INFO`]=o.info),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.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 I,nr=async(e,o,t,i=false,a=true)=>{let n;if(!I?.data||!I?.timestamp||I.timestamp<Date.now()-8e3){let p=t;p||(p=c$1());let m=No(),k=await Lo(p);if(!k&&(i||Co("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 f=await So(p),y=Oo(m,k,f);y.variant||(y.variant=existsSync(b$1(p,"nx.json"))||existsSync(b$1(p,".nx"))||existsSync(b$1(p,"lerna.json"))||existsSync(b$1(p,"turbo.json"))?"monorepo":"minimal");try{n=vo(await uo.parseAsync(y)),n.workspaceRoot??=p;}catch(J){throw new Error(`Failed to parse Storm Workspace configuration${J?.message?`: ${J.message}`:""}
21
+ `)}`:e},Zo=e=>{try{return e instanceof Function||typeof e=="function"||!!(e?.constructor&&e?.call&&e?.apply)}catch{return false}};var Ro=["dark","light","base","brand","alternate","accent","link","success","help","info","warning","danger","fatal","positive","negative"];async function So(e){let o=ne,t,i,a,n,p,m=c$1(e);if(existsSync(join(m,"package.json"))){let A=await readFile(b$1(m,"package.json"),"utf8");if(A){let f=JSON.parse(A);f.name&&(a=f.name),f.namespace&&(n=f.namespace),f.repository&&(typeof f.repository=="string"?p=f.repository:f.repository.url&&(p=f.repository.url)),f.license&&(o=f.license),f.homepage&&(t=f.homepage),f.bugs&&(typeof f.bugs=="string"?i=f.bugs:f.bugs.url&&(i=f.bugs.url));}}return {workspaceRoot:m,name:a,namespace:n,repository:p,license:o,homepage:t,support:i}}function vo(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:w},e.homepage&&(e.error.url??=`${e.homepage}/errors`))),e}var ko=async(e,o,t={})=>{let i=o||c$1(o),a=await Promise.all([loadConfig({cwd:i,packageJson:true,name:e,envName:e?.toUpperCase(),jitiOptions:{debug:false,fsCache:process.env.STORM_SKIP_CACHE==="true"?false:b$1(process.env.STORM_CACHE_DIR||"node_modules/.cache/storm","jiti")},...t}),loadConfig({cwd:i,packageJson:true,name:e,envName:e?.toUpperCase(),jitiOptions:{debug:false,fsCache:process.env.STORM_SKIP_CACHE==="true"?false:b$1(process.env.STORM_CACHE_DIR||"node_modules/.cache/storm","jiti")},configFile:e,...t})]);return Oo(a[0]??{},a[1]??{})},Lo=async(e,o=[])=>{let t=e||c$1(e),i=await ko("storm-workspace",t),a=i.config,n=i.configFile;if(a&&n&&Object.keys(a).length>0&&!a.skipConfigLogging&&O(`Found Storm configuration file "${n.includes(`${t}/`)?n.replace(`${t}/`,""):n}" at "${t}"`,{logLevel:"all"}),o&&o.length>0){let p=await Promise.all(o.map(m=>ko(m,t)));for(let m of p)m?.config&&m?.configFile&&Object.keys(m.config).length>0&&(!a.skipConfigLogging&&!m.config.skipConfigLogging&&O(`Found alternative configuration file "${m.configFile.includes(`${t}/`)?m.configFile.replace(`${t}/`,""):m.configFile}" at "${t}"`,{logLevel:"all"}),a=Oo(m.config??{},a??{}));}if(!(!a||Object.keys(a).length===0))return a.configFile=n,a};var No=()=>{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`]?a(process.env[`${e}WORKSPACE_CONFIG_FILE`]):void 0,workspaceRoot:process.env[`${e}WORKSPACE_ROOT`]?a(process.env[`${e}WORKSPACE_ROOT`]):void 0,directories:{cache:process.env[`${e}CACHE_DIR`]?a(process.env[`${e}CACHE_DIR`]):process.env[`${e}CACHE_DIRECTORY`]?a(process.env[`${e}CACHE_DIRECTORY`]):void 0,data:process.env[`${e}DATA_DIR`]?a(process.env[`${e}DATA_DIR`]):process.env[`${e}DATA_DIRECTORY`]?a(process.env[`${e}DATA_DIRECTORY`]):void 0,config:process.env[`${e}CONFIG_DIR`]?a(process.env[`${e}CONFIG_DIR`]):process.env[`${e}CONFIG_DIRECTORY`]?a(process.env[`${e}CONFIG_DIRECTORY`]):void 0,temp:process.env[`${e}TEMP_DIR`]?a(process.env[`${e}TEMP_DIR`]):process.env[`${e}TEMP_DIRECTORY`]?a(process.env[`${e}TEMP_DIRECTORY`]):void 0,log:process.env[`${e}LOG_DIR`]?a(process.env[`${e}LOG_DIR`]):process.env[`${e}LOG_DIRECTORY`]?a(process.env[`${e}LOG_DIRECTORY`]):void 0,build:process.env[`${e}BUILD_DIR`]?a(process.env[`${e}BUILD_DIR`]):process.env[`${e}BUILD_DIRECTORY`]?a(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`]))?To(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_`)&&Ro.every(n=>!a.startsWith(`${e}COLOR_LIGHT_${n}`)&&!a.startsWith(`${e}COLOR_DARK_${n}`)));o.colors=t.length>0?t.reduce((a,n)=>(a[n]=$o(e,n),a),{}):$o(e),o.docs===te&&(o.homepage===_?o.docs=`${_}/projects/${o.name}/docs`:o.docs=`${o.homepage}/docs`),o.licensing===se&&(o.homepage===_?o.licensing=`${_}/projects/${o.name}/licensing`:o.licensing=`${o.homepage}/docs`);let i=process.env[`${e}WORKSPACE_CONFIG`];if(i){let a=JSON.parse(i);o={...o,...a,colors:{...o.colors,...a.colors},extensions:{...o.extensions,...a.extensions}};}return o},$o=(e,o)=>{let t=`COLOR_${o&&o!=="base"?`${o}_`:""}`.toUpperCase();return process.env[`${e}${t}LIGHT_BRAND`]||process.env[`${e}${t}DARK_BRAND`]?er(e+t):Qo(e+t)},Qo=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`],help:process.env[`${e}HELP`],success:process.env[`${e}SUCCESS`],info:process.env[`${e}INFO`],warning:process.env[`${e}WARNING`],danger:process.env[`${e}DANGER`],fatal:process.env[`${e}FATAL`],positive:process.env[`${e}POSITIVE`],negative:process.env[`${e}NEGATIVE`],gradient:o}},er=e=>({light:_o(`${e}_LIGHT_`),dark:_o(`${e}_DARK_`)}),_o=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`],help:process.env[`${e}HELP`],success:process.env[`${e}SUCCESS`],info:process.env[`${e}INFO`],warning:process.env[`${e}WARNING`],danger:process.env[`${e}DANGER`],fatal:process.env[`${e}FATAL`],positive:process.env[`${e}POSITIVE`],negative:process.env[`${e}NEGATIVE`],gradient:o}};var or=(e,o)=>{for(let t of Object.keys(o??{}))if(o[t]){let i=t?.replace(/([A-Z])+/g,n=>n?n[0]?.toUpperCase()+n.slice(1):"").split(/(?=[A-Z])|[.\-\s_]/).map(n=>n.toLowerCase())??[],a;if(i.length===0)return;i.length===1?a=i[0]?.toUpperCase()??"":a=i.reduce((n,p)=>`${n}_${p.toLowerCase()}`),process.env[`STORM_EXTENSION_${e.toUpperCase()}_${a.toUpperCase()}`]=o[t];}},zo=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`]=a(e.configFile)),e.workspaceRoot&&(process.env[`${o}WORKSPACE_ROOT`]=a(e.workspaceRoot),process.env.NX_WORKSPACE_ROOT=a(e.workspaceRoot),process.env.NX_WORKSPACE_ROOT_PATH=a(e.workspaceRoot)),e.directories&&(!e.skipCache&&e.directories.cache&&(process.env[`${o}CACHE_DIR`]=a(e.directories.cache),process.env[`${o}CACHE_DIRECTORY`]=process.env[`${o}CACHE_DIR`]),e.directories.data&&(process.env[`${o}DATA_DIR`]=a(e.directories.data),process.env[`${o}DATA_DIRECTORY`]=process.env[`${o}DATA_DIR`]),e.directories.config&&(process.env[`${o}CONFIG_DIR`]=a(e.directories.config),process.env[`${o}CONFIG_DIRECTORY`]=process.env[`${o}CONFIG_DIR`]),e.directories.temp&&(process.env[`${o}TEMP_DIR`]=a(e.directories.temp),process.env[`${o}TEMP_DIRECTORY`]=process.env[`${o}TEMP_DIR`]),e.directories.log&&(process.env[`${o}LOG_DIR`]=a(e.directories.log),process.env[`${o}LOG_DIRECTORY`]=process.env[`${o}LOG_DIR`]),e.directories.build&&(process.env[`${o}BUILD_DIR`]=a(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)>=c.DEBUG),process.env.RUST_BACKTRACE=$(e.logLevel)>=c.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])&&or(t,e.extensions[t]);},yo=(e,o)=>o?.light?.brand||o?.dark?.brand?tr(e,o):rr(e,o),rr=(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.help&&(process.env[`${e}HELP`]=o.help),o.success&&(process.env[`${e}SUCCESS`]=o.success),o.info&&(process.env[`${e}INFO`]=o.info),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.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];},tr=(e,o)=>({light:wo(`${e}LIGHT_`,o.light),dark:wo(`${e}DARK_`,o.dark)}),wo=(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.help&&(process.env[`${e}HELP`]=o.help),o.success&&(process.env[`${e}SUCCESS`]=o.success),o.info&&(process.env[`${e}INFO`]=o.info),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.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 I,nr=async(e,o,t,i=false,a=true)=>{let n;if(!I?.data||!I?.timestamp||I.timestamp<Date.now()-8e3){let p=t;p||(p=c$1());let m=No(),A=await Lo(p);if(!A&&(i||Co("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 f=await So(p),y=Oo(m,A,f);y.variant||(y.variant=existsSync(b$1(p,"nx.json"))||existsSync(b$1(p,".nx"))||existsSync(b$1(p,"lerna.json"))||existsSync(b$1(p,"turbo.json"))?"monorepo":"minimal");try{n=vo(await uo.parseAsync(y)),n.workspaceRoot??=p;}catch(J){throw new Error(`Failed to parse Storm Workspace configuration${J?.message?`: ${J.message}`:""}
22
22
 
23
23
  Please ensure your configuration file is valid JSON and matches the expected schema. The current workspace configuration input is: ${C(y)}`,{cause:J})}}else n=I.data;return I={timestamp:Date.now(),data:n},n},bo=async(e,o=false)=>{let t=await nr(void 0,void 0,e,o,true);return zo(t),!o&&!t.skipConfigLogging&&O(`\u2699\uFE0F Using Storm Workspace configuration:
24
- ${C(t)}`,t),t};var ir=(e,o=false)=>bo(e,o),xo=(e=true,o={})=>{let t=o.workspaceRoot;return t||(t=c$1(o.cwd)),ir(t,e)};var Do="latest";var Z=Do;async function Go(){return new Promise((e,o)=>{exec("npm config get registry",(t,i,a)=>t?o(t):a?o(a):e(i.trim()));})}async function Mo(e,o=Z,t={}){let{registry:i=await Go()}=t;return new Promise((a,n)=>{exec(`npm view ${e} version --registry=${i} --tag=${o}`,(p,m,k)=>p?n(p):k?n(k):a(m.trim()));})}async function mr(e$1=c$1(process.cwd())){let o=await e(e$1);if(!o)throw new Error("No pnpm-workspace.yaml file found");if(o?.catalog)return Object.fromEntries(Object.entries(o.catalog).map(([t,i])=>[t,i.replaceAll(/^"/g,"").replaceAll(/"$/g,"")]));console.warn(`No catalog found in pnpm-workspace.yaml file located in workspace root: ${e$1}
25
- File content: ${JSON.stringify(o,null,2)}`);}async function gr(e=c$1(process.cwd())){let o=await mr(e);if(!o)throw new Error("No catalog entries found in pnpm-workspace.yaml file");return o}async function ur(e$1,o=c$1(process.cwd())){let t=await e(o);if(!t)throw new Error("No pnpm-workspace.yaml file found");t.catalog=Object.fromEntries(Object.entries(e$1).map(([i,a])=>[i,`"${a}"`])),await f(t,o);}async function fs(e,o={}){let{tag:t=Z,throwIfMissingInCatalog:i=false,workspaceRoot:a=c$1()}=o,n=await xo(true,{workspaceRoot:a}),p=await gr(a);if(!p)throw new Error("No catalog found");if(i===true&&!p[e])throw new Error(`Package "${e}" not found in catalog: ${JSON.stringify(p,null,2)}`);O(`Upgrading catalog entry for package "${e}" with tag "${t}"`,n);let m=await Mo(e,t);(!valid(coerce(p[e]))||coerce(p[e])&&coerce(m)&&gt(coerce(m),coerce(p[e])))&&(p[e]=m),Eo(`Writing version ${m} to catalog for "${e}" package`,n),await ur(p,a);}export{mr as a,gr as b,ur as c,fs as d};
24
+ ${C(t)}`,t),t};var ir=(e,o=false)=>bo(e,o),xo=(e=true,o={})=>{let t=o.workspaceRoot;return t||(t=c$1(o.cwd)),ir(t,e)};var Do="latest";var Z=Do;async function Go(){return new Promise((e,o)=>{exec("npm config get registry",(t,i,a)=>t?o(t):a?o(a):e(i.trim()));})}async function Mo(e,o=Z,t={}){let{registry:i=await Go()}=t;return new Promise((a,n)=>{exec(`npm view ${e} version --registry=${i} --tag=${o}`,(p,m,A)=>p?n(p):A?n(A):a(m.trim()));})}async function mr(e$1=c$1(process.cwd())){let o=await e(e$1);if(!o)throw new Error("No pnpm-workspace.yaml file found");if(o?.catalog)return Object.fromEntries(Object.entries(o.catalog).map(([t,i])=>[t,i.replaceAll('"',"").replaceAll("'","")]));console.warn(`No catalog found in pnpm-workspace.yaml file located in workspace root: ${e$1}
25
+ File content: ${JSON.stringify(o,null,2)}`);}async function gr(e=c$1(process.cwd())){let o=await mr(e);if(!o)throw new Error("No catalog entries found in pnpm-workspace.yaml file");return o}async function ur(e$1,o=c$1(process.cwd())){let t=await e(o);if(!t)throw new Error("No pnpm-workspace.yaml file found");t.catalog=Object.fromEntries(Object.entries(e$1).map(([i,a])=>[i,a.replaceAll('"',"").replaceAll("'","")])),await f(t,o);}async function fs(e,o={}){let{tag:t=Z,throwIfMissingInCatalog:i=false,workspaceRoot:a=c$1()}=o,n=await xo(true,{workspaceRoot:a}),p=await gr(a);if(!p)throw new Error("No catalog found");if(i===true&&!p[e])throw new Error(`Package "${e}" not found in catalog: ${JSON.stringify(p,null,2)}`);O(`Upgrading catalog entry for package "${e}" with tag "${t}"`,n);let m=await Mo(e,t);(!valid(coerce(p[e]))||coerce(p[e])&&coerce(m)&&gt(coerce(m),coerce(p[e])))&&(p[e]=m),Eo(`Writing version ${m} to catalog for "${e}" package`,n),await ur(p,a);}export{mr as a,gr as b,ur as c,fs as d};
@@ -1 +1 @@
1
- 'use strict';var chunkKYBZXCNC_cjs=require('../chunk-KYBZXCNC.cjs');require('../chunk-CZ7PAWK2.cjs');Object.defineProperty(exports,"getCatalog",{enumerable:true,get:function(){return chunkKYBZXCNC_cjs.b}});Object.defineProperty(exports,"getCatalogSafe",{enumerable:true,get:function(){return chunkKYBZXCNC_cjs.a}});Object.defineProperty(exports,"setCatalog",{enumerable:true,get:function(){return chunkKYBZXCNC_cjs.c}});Object.defineProperty(exports,"upgradeCatalogPackage",{enumerable:true,get:function(){return chunkKYBZXCNC_cjs.d}});
1
+ 'use strict';var chunk3AMGJZOB_cjs=require('../chunk-3AMGJZOB.cjs');require('../chunk-CZ7PAWK2.cjs');Object.defineProperty(exports,"getCatalog",{enumerable:true,get:function(){return chunk3AMGJZOB_cjs.b}});Object.defineProperty(exports,"getCatalogSafe",{enumerable:true,get:function(){return chunk3AMGJZOB_cjs.a}});Object.defineProperty(exports,"setCatalog",{enumerable:true,get:function(){return chunk3AMGJZOB_cjs.c}});Object.defineProperty(exports,"upgradeCatalogPackage",{enumerable:true,get:function(){return chunk3AMGJZOB_cjs.d}});
@@ -1 +1 @@
1
- export{b as getCatalog,a as getCatalogSafe,c as setCatalog,d as upgradeCatalogPackage}from'../chunk-DYCELEEX.js';import'../chunk-LGDN3UHN.js';
1
+ export{b as getCatalog,a as getCatalogSafe,c as setCatalog,d as upgradeCatalogPackage}from'../chunk-IRDZWJUO.js';import'../chunk-LGDN3UHN.js';
@@ -1 +1 @@
1
- 'use strict';require('../chunk-QNTSKZUU.cjs');var chunk53XFZTBM_cjs=require('../chunk-53XFZTBM.cjs'),chunkKYBZXCNC_cjs=require('../chunk-KYBZXCNC.cjs'),chunkCZ7PAWK2_cjs=require('../chunk-CZ7PAWK2.cjs');Object.defineProperty(exports,"replaceDepsAliases",{enumerable:true,get:function(){return chunk53XFZTBM_cjs.a}});Object.defineProperty(exports,"getCatalog",{enumerable:true,get:function(){return chunkKYBZXCNC_cjs.b}});Object.defineProperty(exports,"getCatalogSafe",{enumerable:true,get:function(){return chunkKYBZXCNC_cjs.a}});Object.defineProperty(exports,"setCatalog",{enumerable:true,get:function(){return chunkKYBZXCNC_cjs.c}});Object.defineProperty(exports,"upgradeCatalogPackage",{enumerable:true,get:function(){return chunkKYBZXCNC_cjs.d}});Object.defineProperty(exports,"getPnpmWorkspaceFilePath",{enumerable:true,get:function(){return chunkCZ7PAWK2_cjs.d}});Object.defineProperty(exports,"readPnpmWorkspaceFile",{enumerable:true,get:function(){return chunkCZ7PAWK2_cjs.e}});Object.defineProperty(exports,"writePnpmWorkspaceFile",{enumerable:true,get:function(){return chunkCZ7PAWK2_cjs.f}});
1
+ 'use strict';require('../chunk-QNTSKZUU.cjs');var chunk63WRYQQA_cjs=require('../chunk-63WRYQQA.cjs'),chunk3AMGJZOB_cjs=require('../chunk-3AMGJZOB.cjs'),chunkCZ7PAWK2_cjs=require('../chunk-CZ7PAWK2.cjs');Object.defineProperty(exports,"replaceDepsAliases",{enumerable:true,get:function(){return chunk63WRYQQA_cjs.a}});Object.defineProperty(exports,"getCatalog",{enumerable:true,get:function(){return chunk3AMGJZOB_cjs.b}});Object.defineProperty(exports,"getCatalogSafe",{enumerable:true,get:function(){return chunk3AMGJZOB_cjs.a}});Object.defineProperty(exports,"setCatalog",{enumerable:true,get:function(){return chunk3AMGJZOB_cjs.c}});Object.defineProperty(exports,"upgradeCatalogPackage",{enumerable:true,get:function(){return chunk3AMGJZOB_cjs.d}});Object.defineProperty(exports,"getPnpmWorkspaceFilePath",{enumerable:true,get:function(){return chunkCZ7PAWK2_cjs.d}});Object.defineProperty(exports,"readPnpmWorkspaceFile",{enumerable:true,get:function(){return chunkCZ7PAWK2_cjs.e}});Object.defineProperty(exports,"writePnpmWorkspaceFile",{enumerable:true,get:function(){return chunkCZ7PAWK2_cjs.f}});
@@ -1 +1 @@
1
- import'../chunk-GV6YH6UO.js';export{a as replaceDepsAliases}from'../chunk-T24DVDOA.js';export{b as getCatalog,a as getCatalogSafe,c as setCatalog,d as upgradeCatalogPackage}from'../chunk-DYCELEEX.js';export{d as getPnpmWorkspaceFilePath,e as readPnpmWorkspaceFile,f as writePnpmWorkspaceFile}from'../chunk-LGDN3UHN.js';
1
+ import'../chunk-GV6YH6UO.js';export{a as replaceDepsAliases}from'../chunk-EZWVVW7F.js';export{b as getCatalog,a as getCatalogSafe,c as setCatalog,d as upgradeCatalogPackage}from'../chunk-IRDZWJUO.js';export{d as getPnpmWorkspaceFilePath,e as readPnpmWorkspaceFile,f as writePnpmWorkspaceFile}from'../chunk-LGDN3UHN.js';
@@ -1 +1 @@
1
- 'use strict';var chunk53XFZTBM_cjs=require('../chunk-53XFZTBM.cjs');require('../chunk-KYBZXCNC.cjs'),require('../chunk-CZ7PAWK2.cjs');Object.defineProperty(exports,"replaceDepsAliases",{enumerable:true,get:function(){return chunk53XFZTBM_cjs.a}});
1
+ 'use strict';var chunk63WRYQQA_cjs=require('../chunk-63WRYQQA.cjs');require('../chunk-3AMGJZOB.cjs'),require('../chunk-CZ7PAWK2.cjs');Object.defineProperty(exports,"replaceDepsAliases",{enumerable:true,get:function(){return chunk63WRYQQA_cjs.a}});
@@ -1 +1 @@
1
- export{a as replaceDepsAliases}from'../chunk-T24DVDOA.js';import'../chunk-DYCELEEX.js';import'../chunk-LGDN3UHN.js';
1
+ export{a as replaceDepsAliases}from'../chunk-EZWVVW7F.js';import'../chunk-IRDZWJUO.js';import'../chunk-LGDN3UHN.js';
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- 'use strict';require('./chunk-SFZRYJZ2.cjs'),require('./chunk-QNTSKZUU.cjs');var chunk53XFZTBM_cjs=require('./chunk-53XFZTBM.cjs'),chunkKYBZXCNC_cjs=require('./chunk-KYBZXCNC.cjs'),chunkCZ7PAWK2_cjs=require('./chunk-CZ7PAWK2.cjs');Object.defineProperty(exports,"replaceDepsAliases",{enumerable:true,get:function(){return chunk53XFZTBM_cjs.a}});Object.defineProperty(exports,"getCatalog",{enumerable:true,get:function(){return chunkKYBZXCNC_cjs.b}});Object.defineProperty(exports,"getCatalogSafe",{enumerable:true,get:function(){return chunkKYBZXCNC_cjs.a}});Object.defineProperty(exports,"setCatalog",{enumerable:true,get:function(){return chunkKYBZXCNC_cjs.c}});Object.defineProperty(exports,"upgradeCatalogPackage",{enumerable:true,get:function(){return chunkKYBZXCNC_cjs.d}});Object.defineProperty(exports,"getPnpmWorkspaceFilePath",{enumerable:true,get:function(){return chunkCZ7PAWK2_cjs.d}});Object.defineProperty(exports,"readPnpmWorkspaceFile",{enumerable:true,get:function(){return chunkCZ7PAWK2_cjs.e}});Object.defineProperty(exports,"writePnpmWorkspaceFile",{enumerable:true,get:function(){return chunkCZ7PAWK2_cjs.f}});
1
+ 'use strict';require('./chunk-SFZRYJZ2.cjs'),require('./chunk-QNTSKZUU.cjs');var chunk63WRYQQA_cjs=require('./chunk-63WRYQQA.cjs'),chunk3AMGJZOB_cjs=require('./chunk-3AMGJZOB.cjs'),chunkCZ7PAWK2_cjs=require('./chunk-CZ7PAWK2.cjs');Object.defineProperty(exports,"replaceDepsAliases",{enumerable:true,get:function(){return chunk63WRYQQA_cjs.a}});Object.defineProperty(exports,"getCatalog",{enumerable:true,get:function(){return chunk3AMGJZOB_cjs.b}});Object.defineProperty(exports,"getCatalogSafe",{enumerable:true,get:function(){return chunk3AMGJZOB_cjs.a}});Object.defineProperty(exports,"setCatalog",{enumerable:true,get:function(){return chunk3AMGJZOB_cjs.c}});Object.defineProperty(exports,"upgradeCatalogPackage",{enumerable:true,get:function(){return chunk3AMGJZOB_cjs.d}});Object.defineProperty(exports,"getPnpmWorkspaceFilePath",{enumerable:true,get:function(){return chunkCZ7PAWK2_cjs.d}});Object.defineProperty(exports,"readPnpmWorkspaceFile",{enumerable:true,get:function(){return chunkCZ7PAWK2_cjs.e}});Object.defineProperty(exports,"writePnpmWorkspaceFile",{enumerable:true,get:function(){return chunkCZ7PAWK2_cjs.f}});
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import'./chunk-GGNOJ77I.js';import'./chunk-GV6YH6UO.js';export{a as replaceDepsAliases}from'./chunk-T24DVDOA.js';export{b as getCatalog,a as getCatalogSafe,c as setCatalog,d as upgradeCatalogPackage}from'./chunk-DYCELEEX.js';export{d as getPnpmWorkspaceFilePath,e as readPnpmWorkspaceFile,f as writePnpmWorkspaceFile}from'./chunk-LGDN3UHN.js';
1
+ import'./chunk-GGNOJ77I.js';import'./chunk-GV6YH6UO.js';export{a as replaceDepsAliases}from'./chunk-EZWVVW7F.js';export{b as getCatalog,a as getCatalogSafe,c as setCatalog,d as upgradeCatalogPackage}from'./chunk-IRDZWJUO.js';export{d as getPnpmWorkspaceFilePath,e as readPnpmWorkspaceFile,f as writePnpmWorkspaceFile}from'./chunk-LGDN3UHN.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storm-software/pnpm-tools",
3
- "version": "0.4.5",
3
+ "version": "0.4.6",
4
4
  "type": "module",
5
5
  "description": "A set of [pnpm](https://pnpm.io/) plugins and utilities for managing workspace packages/dependencies.",
6
6
  "repository": {
@@ -90,8 +90,8 @@
90
90
  "@pnpm/plugin-better-defaults": "^0.2.1",
91
91
  "@pnpm/plugin-esm-node-path": "^0.1.2",
92
92
  "@storm-software/config": "^1.133.0",
93
- "@storm-software/config-tools": "^1.187.0",
94
- "@storm-software/npm-tools": "^0.4.5",
93
+ "@storm-software/config-tools": "^1.187.1",
94
+ "@storm-software/npm-tools": "^0.4.6",
95
95
  "commander": "^12.1.0",
96
96
  "defu": "6.1.4",
97
97
  "prettier": "^3.5.1",
@@ -105,5 +105,5 @@
105
105
  "tsup": "8.4.0"
106
106
  },
107
107
  "publishConfig": { "access": "public" },
108
- "gitHead": "4d44644a8d56ed0d61e060cf74147fcc83210a5c"
108
+ "gitHead": "6928556be32247f000a29f9aa3e3aa14f83149c3"
109
109
  }