@decaf-ts/utils 0.8.0 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -28,7 +28,7 @@ A comprehensive TypeScript utility library providing robust tools for command-li
28
28
 
29
29
  Documentation available [here](https://decaf-ts.github.io/utils/)
30
30
 
31
- Minimal size: 11.5 KB kb gzipped
31
+ Minimal size: 11.6 KB kb gzipped
32
32
 
33
33
  ### Description
34
34
 
package/dist/utils.cjs CHANGED
@@ -1,2 +1,2 @@
1
- var e,t;e=this,t=function(e,t,o,a,s,r,n,i,l,c,g,d,f,h,u,m,p){"use strict";function S(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function y(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(o=>{if("default"!==o){var a=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,a.get?a:{enumerable:!0,get:()=>e[o]})}}),t.default=e,Object.freeze(t)}var T=S(t),b=S(s),v=S(r),C=S(l),w=S(c),D=S(d),k=S(f),$=S(u),E=y(p);class I{static{this.logger=a.Logging.for(I)}constructor(e){this.type="text",this.name=e}setType(e){return I.logger.verbose("Setting type to: "+e),this.type=e,this}setMessage(e){return I.logger.verbose("Setting message to: "+e),this.message=e,this}setInitial(e){return I.logger.verbose("Setting initial value to: "+e),this.initial=e,this}setStyle(e){return I.logger.verbose("Setting style to: "+e),this.style=e,this}setFormat(e){return I.logger.verbose("Setting format function"),this.format=e,this}setValidate(e){return I.logger.verbose("Setting validate function"),this.validate=e,this}setOnState(e){return I.logger.verbose("Setting onState callback"),this.onState=e,this}setMin(e){return I.logger.verbose("Setting min value to: "+e),this.min=e,this}setMax(e){return I.logger.verbose("Setting max value to: "+e),this.max=e,this}setFloat(e){return I.logger.verbose("Setting float to: "+e),this.float=e,this}setRound(e){return I.logger.verbose("Setting round to: "+e),this.round=e,this}setInstructions(e){return I.logger.verbose("Setting instructions to: "+e),this.instructions=e,this}setIncrement(e){return I.logger.verbose("Setting increment to: "+e),this.increment=e,this}setSeparator(e){return I.logger.verbose("Setting separator to: "+e),this.separator=e,this}setActive(e){return I.logger.verbose("Setting active style to: "+e),this.active=e,this}setInactive(e){return I.logger.verbose("Setting inactive style to: "+e),this.inactive=e,this}setChoices(e){return I.logger.verbose("Setting choices: "+JSON.stringify(e)),this.choices=e,this}setHint(e){return I.logger.verbose("Setting hint to: "+e),this.hint=e,this}setWarn(e){return I.logger.verbose("Setting warn to: "+e),this.warn=e,this}setSuggest(e){return I.logger.verbose("Setting suggest function"),this.suggest=e,this}setLimit(e){return I.logger.verbose("Setting limit to: "+e),this.limit=e,this}setMask(e){return I.logger.verbose("Setting mask to: "+e),this.mask=e,this}setStdout(e){return I.logger.verbose("Setting stdout stream"),this.stdout=e,this}setStdin(e){return this.stdin=e,this}async ask(){return(await I.ask(this))[this.name]}static async ask(e){const t=I.logger.for(this.ask);let o;Array.isArray(e)||(e=[e]);try{t.verbose("Asking questions: "+e.map(e=>e.name).join(", ")),o=await T.default(e),t.verbose("Received answers: "+JSON.stringify(o,null,2))}catch(e){throw Error("Error while getting input: "+e)}return o}static async askNumber(e,t,o,a,s){I.logger.for(this.askNumber).verbose(`Asking number input: undefined, question: ${t}, min: ${o}, max: ${a}, initial: ${s}`);const r=new I(e).setMessage(t).setType("number");return"number"==typeof o&&r.setMin(o),"number"==typeof a&&r.setMax(a),"number"==typeof s&&r.setInitial(s),(await this.ask(r))[e]}static async askText(e,t,o=void 0,a){I.logger.for(this.askText).verbose(`Asking text input: undefined, question: ${t}, mask: ${o}, initial: ${a}`);const s=new I(e).setMessage(t);return o&&s.setMask(o),"string"==typeof a&&s.setInitial(a),(await this.ask(s))[e]}static async askConfirmation(e,t,o){I.logger.for(this.askConfirmation).verbose(`Asking confirmation input: undefined, question: ${t}, initial: ${o}`);const a=new I(e).setMessage(t).setType("confirm");return void 0!==o&&a.setInitial(o),(await this.ask(a))[e]}static async insist(e,t,o,a=1){const s=I.logger.for(this.insist);let r;s.verbose(`Insisting on input: ${e.name}, test: ${t.toString()}, defaultConfirmation: ${o}, limit: ${a}`);let n,i=0;try{do{r=(await I.ask(e))[e.name],t(r)?(n=await I.askConfirmation(e.name+"-confirm",`Is the ${e.type} correct?`,o),n||(r=void 0)):r=void 0}while(void 0===r&&a>1&&i++<a)}catch(e){throw s.error("Error while insisting: "+e),e}return void 0===r&&s.info("no selection..."),r}static async insistForText(e,t,o,a=void 0,s,r=!1,n=-1){I.logger.for(this.insistForText).verbose(`Insisting for text input: undefined, question: ${t}, test: ${o.toString()}, mask: ${a}, initial: ${s}, defaultConfirmation: ${r}, limit: ${n}`);const i=new I(e).setMessage(t);return a&&i.setMask(a),"string"==typeof s&&i.setInitial(s),await this.insist(i,o,r,n)}static async insistForNumber(e,t,o,a,s,r,n=!1,i=-1){I.logger.for(this.insistForNumber).verbose(`Insisting for number input: undefined, question: ${t}, test: ${o.toString()}, min: ${a}, max: ${s}, initial: ${r}, defaultConfirmation: ${n}, limit: ${i}`);const l=new I(e).setMessage(t).setType("number");return"number"==typeof a&&l.setMin(a),"number"==typeof s&&l.setMax(s),"number"==typeof r&&l.setInitial(r),await this.insist(l,o,n,i)}static parseArgs(e){const t=I.logger.for(this.parseArgs),a={args:process.argv.slice(2),options:e};t.debug("Parsing arguments: "+JSON.stringify(a,null,2));try{return o.parseArgs(a)}catch(o){throw t.debug(`Error while parsing arguments:\n${JSON.stringify(a,null,2)}\n | options\n${JSON.stringify(e,null,2)}\n | ${o}`),Error("Error while parsing arguments: "+o)}}}const F={verbose:{type:"boolean",short:"V",default:void 0},version:{type:"boolean",short:"v",default:void 0},help:{type:"boolean",short:"h",default:!1},logLevel:{type:"string",default:"info"},logStyle:{type:"boolean",default:!0},timestamp:{type:"boolean",default:!0},banner:{type:"boolean",default:!0}},j=Object.keys(F).reduce((e,t)=>(e[t]=F[t].default,e),{}),x="utf-8",N=/^(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z])))/g;var A;e.SemVersion=void 0,(A=e.SemVersion||(e.SemVersion={})).PATCH="patch",A.MINOR="minor",A.MAJOR="major";const B="-no-ci";var M;e.Tokens=void 0,(M=e.Tokens||(e.Tokens={})).GIT=".token",M.NPM=".npmtoken",M.DOCKER=".dockertoken",M.CONFLUENCE=".confluence-token";const P="Aborted";class L{constructor(e,t,...o){this.cmd=e,this.lock=t,this.logger=a.Logging.for(this.cmd)}log(e,t){t=Buffer.isBuffer(t)?t.toString(x):t;const o="stderr"===e?i.style(t).red.text:t;this.logger.info(o)}data(e){this.log("stdout",e+"")}error(e){this.log("stderr",e+"")}errors(e){this.log("stderr","Error executing command exited : "+e)}exit(e,t){this.log("stdout","command exited code : "+(0===e?i.style(e.toString()).green.text:i.style(null===e?"null":e.toString()).red.text)),0===e?this.resolve(t.map(e=>e.trim()).join("\n")):this.reject(Error(t.length?t.join("\n"):e.toString()))}parseCommand(e){return e="string"==typeof e?e.split(" "):e,this.cmd=e.join(" "),[e[0],e.slice(1)]}resolve(e){this.log("stdout",`${this.cmd} executed successfully: ${i.style(e?"ran to completion":e).green}`),this.lock.resolve(e)}reject(e){e instanceof Error||(e=Error("number"==typeof e?"Exit code "+e:e)),this.log("stderr",`${this.cmd} failed to execute: ${i.style(e.message).red}`),this.lock.reject(e)}}function O(e,...t){let o,a;if(e instanceof AbortSignal?(a=new AbortController,o=[e,...t]):(a=e,o=t),a.signal.aborted)return a;const s=()=>a.abort();for(const e of o){if(e.aborted){a.abort();break}e.addEventListener("abort",s,{once:!0,signal:a.signal})}return a}function U(e,t,o,a,s){function r(t,a){const[r,i]=e.parseCommand(t);s.info("Running command: "+r),s.debug("with args: "+i.join(" "));const l=n.spawn(r,i,{...o,cwd:o.cwd||process.cwd(),env:Object.assign({},process.env,o.env,{PATH:process.env.PATH}),shell:o.shell||!1,signal:a.signal});return s.verbose("pid : "+l.pid),l}const i=t.match(/[<>$#]/g);if(i)throw Error(`Invalid command: ${t}. contains invalid characters: ${i}`);if(t.includes(" | ")){const e=t.split(" | "),o=[],s=Array(e.length);s[0]=a;for(let t=0;t<e.length;t++)0!==t&&(s[t]=O(s[t-1].signal)),o.push(r(e[t],s[t])),0!==t&&o[t-1].stdout.pipe(o[t].stdin);return o[e.length-1]}return r(t,a)}function R(e,t={},o=L,...s){const r=a.Logging.for(R),n=new AbortController,i={abort:n,command:e,logs:[],errs:[]},l=new Promise((a,l)=>{let c;try{c=new o(e,{resolve:a,reject:l},...s),i.cmd=U(c,e,t,n,r)}catch(t){return l(Error(`Error running command ${e}: ${t}`))}i.cmd.stdout.setEncoding("utf8"),i.cmd.stdout.on("data",e=>{e=e.toString(),i.logs.push(e),c.data(e)}),i.cmd.stderr.on("data",e=>{e=e.toString(),i.errs.push(e),c.error(e)}),i.cmd.once("error",e=>{c.exit(e.message,i.errs)}),i.cmd.once("exit",(e=0)=>{n.signal.aborted&&null===e&&(e=P),c.exit(e,0===e?i.logs:i.errs)})});return Object.assign(i,{promise:l,pipe:async t=>{const o=r.for("pipe");try{o.verbose(`Executing pipe function ${e}...`);const a=await l;return o.verbose(`Piping output to ${t.name}: ${a}`),t(a)}catch(e){throw o.error("Error piping command output: "+e),e}}}),i}const J=a.Logging.for("fs");function V(e,t){const o=J.for(V);if(!b.default.existsSync(e))throw Error(`File not found at path "${e}".`);let s=W(e);try{o.verbose(`Patching file "${e}"...`),o.debug("with value: "+JSON.stringify(t)),s=a.patchString(s,t)}catch(e){throw Error("Error patching file: "+e)}q(e,s)}function W(e){const t=J.for(W);try{return t.verbose(`Reading file "${e}"...`),b.default.readFileSync(e,"utf8")}catch(o){throw t.verbose(`Error reading file "${e}": ${o}`),Error(`Error reading file "${e}": ${o}`)}}function q(e,t){const o=J.for(q);try{o.verbose(`Writing file "${e} with ${t.length} bytes...`),b.default.writeFileSync(e,t,"utf8")}catch(t){throw o.verbose(`Error writing file "${e}": ${t}`),Error(`Error writing file "${e}": ${t}`)}}function K(e,t){const o=J.for(K),a=[];try{return o.verbose(`Retrieving all files from "${e}"...`),b.default.readdirSync(e).forEach(t=>{const o=v.default.join(e,t),s=b.default.statSync(o);s.isFile()?a.push(o):s.isDirectory()&&a.push(...K(o))}),t?a.filter(t):a}catch(t){throw o.verbose(`Error retrieving files from "${e}": ${t}`),Error(`Error retrieving files from "${e}": ${t}`)}}async function X(e,t){const o=J.for(X);let a,s;try{a=b.default.statSync(e)}catch(t){throw o.verbose(`Source path "${e}" does not exist: ${t}`),Error(`Source path "${e}" does not exist: ${t}`)}try{s=b.default.statSync(t)}catch(e){}if(s)throw o.verbose(`Destination path "${t}" already exists`),Error(`Destination path "${t}" already exists`);try{o.verbose(`Renaming ${a.isFile()?"file":"directory"} "${e}" to "${t}...`),b.default.renameSync(e,t),o.verbose(`Successfully renamed to "${t}"`)}catch(s){throw o.verbose(`Error renaming ${a.isFile()?"file":"directory"} "${e}" to "${t}": ${s}`),Error(`Error renaming ${a.isFile()?"file":"directory"} "${e}" to "${t}": ${s}`)}}function _(e,t){const o=J.for(_);let a,s;try{a=b.default.statSync(e)}catch(t){throw o.verbose(`Source path "${e}" does not exist: ${t}`),Error(`Source path "${e}" does not exist: ${t}`)}try{s=b.default.statSync(t)}catch(e){a.isDirectory()&&(o.verbose(`Dest path "${t}" does not exist. creating`),b.default.mkdirSync(t,{recursive:!0}))}try{o.verbose(`Copying ${a.isFile()?"file":"directory"} "${e}" to "${t}...`),b.default.cpSync(e,t,{recursive:!0})}catch(s){throw o.verbose(`Error copying ${a.isFile()?"file":"directory"} "${e}" to "${t}: ${s}`),Error(`Error copying ${a.isFile()?"file":"directory"} "${e}" to "${t}: ${s}`)}}function z(e){const t=J.for(z);try{const o=b.default.statSync(e);o.isFile()?(t.verbose(`Deleting file "${e}...`),b.default.rmSync(e,{recursive:!0,force:!0})):o.isDirectory()&&b.default.rmSync(e,{recursive:!0,force:!0})}catch(o){throw t.verbose(`Error Deleting "${e}": ${o}`),Error(`Error Deleting "${e}": ${o}`)}}function G(e=process.cwd(),t){let o;try{o=JSON.parse(W(v.default.join(e,"package.json")))}catch(e){throw Error('Failed to retrieve package information" '+e)}if(t){if(!(t in o))throw Error(`Property "${t}" not found in package.json`);return o[t]}return o}function H(e=process.cwd()){return G(e,"version")}async function Y(e=process.cwd()){let t;try{t=JSON.parse(await R("npm ls --json",{cwd:e}).promise)}catch(e){throw Error("Failed to retrieve dependencies: "+e)}const o=(e,t)=>({name:e[0],version:e[1].version});return{prod:Object.entries(t.dependencies||{}).map(o),dev:Object.entries(t.devDependencies||{}).map(o),peer:Object.entries(t.peerDependencies||{}).map(o)}}async function Z(e){const t=J.for(Z),o=e.prod||[],a=e.dev||[],s=e.peer||[];o.length&&(t.info(`Installing dependencies ${o.join(", ")}...`),await R("npm install "+o.join(" "),{cwd:process.cwd()}).promise),a.length&&(t.info(`Installing devDependencies ${a.join(", ")}...`),await R("npm install --save-dev "+a.join(" "),{cwd:process.cwd()}).promise),s.length&&(t.info(`Installing peerDependencies ${s.join(", ")}...`),await R("npm install --save-peer "+s.join(" "),{cwd:process.cwd()}).promise)}async function Q(e){const t=J.for(Q);try{const o=b.default.readdirSync(e).map(t=>v.default.join(e,t)).filter(e=>{try{return b.default.statSync(e).isFile()&&(e.endsWith(".js")||e.endsWith(".cjs")||e.endsWith(".mjs"))}catch{return!1}});if(0===o.length)throw Error("No JS files found in directory "+e);let a=o[0],s=b.default.statSync(a).size;for(const e of o.slice(1)){const t=b.default.statSync(e).size;s>t&&(a=e,s=t)}t.verbose(`Selected smallest bundle: ${a} (${s} bytes)`);const r=b.default.readFileSync(a),n=C.default.gzipSync(r),i=Number((n.length/1024).toFixed(1));return t.verbose(`Gzipped size: ${n.length} bytes (${i} KB)`),i}catch(o){throw t.verbose(`Failed to compute gzipped size for ${e}: ${o}`),o}}function ee(e=v.default.join(process.cwd(),"node_modules")){const t=J.for(ee);try{if(!b.default.existsSync(e))return[];const o=b.default.readdirSync(e,{withFileTypes:!0}),a=[];for(const s of o)try{if(!s.isDirectory())continue;if(s.name.startsWith("."))continue;if(s.name.startsWith("@")){const o=v.default.join(e,s.name);try{const e=b.default.readdirSync(o,{withFileTypes:!0});for(const t of e)t.isDirectory()&&!t.name.startsWith(".")&&a.push(`${s.name}/${t.name}`)}catch(e){t.verbose(`Failed to read scope ${o}: ${e}`)}}else a.push(s.name)}catch(e){t.verbose(`Skipping entry ${s.name} due to error: ${e}`)}return a}catch(o){return t.verbose(`Failed to list node_modules packages at ${e}: ${o}`),[]}}const te=[{Slogan:"No caffeine, no chaos. Just clean code.",Tags:"Coffee-themed, Calm, Tech"},{Slogan:"Full flavor, no jitters. That's Decaf-TS.",Tags:"Coffee-themed, Cheerful"},{Slogan:"Chill fullstack. Powered by Decaf.",Tags:"Coffee-themed, Fun, Tech"},{Slogan:"Decaf-TS: Brewed for calm code.",Tags:"Coffee-themed, Branding"},{Slogan:"Smooth as your morning Decaf.",Tags:"Coffee-themed, Chill"},{Slogan:"All the kick, none of the crash.",Tags:"Coffee-themed, Energetic"},{Slogan:"Sip back and ship faster.",Tags:"Coffee-themed, Fun"},{Slogan:"Keep calm and code Decaf.",Tags:"Coffee-themed, Playful"},{Slogan:"Code without the caffeine shakes.",Tags:"Coffee-themed, Humorous"},{Slogan:"Your fullstack, decaffeinated.",Tags:"Coffee-themed, Technical"},{Slogan:"No caffeine, no chaos. Just clean code.",Tags:"Coffee-themed, Calm, Tech"},{Slogan:"Full flavor, no jitters. That\u2019s Decaf-TS.",Tags:"Coffee-themed, Cheerful"},{Slogan:"Chill fullstack. Powered by Decaf.",Tags:"Coffee-themed, Fun, Tech"},{Slogan:"Decaf-TS: Brewed for calm code.",Tags:"Coffee-themed, Branding"},{Slogan:"Smooth as your morning Decaf.",Tags:"Coffee-themed, Chill"},{Slogan:"All the kick, none of the crash.",Tags:"Coffee-themed, Energetic"},{Slogan:"Sip back and ship faster.",Tags:"Coffee-themed, Fun"},{Slogan:"Keep calm and code Decaf.",Tags:"Coffee-themed, Playful"},{Slogan:"Code without the caffeine shakes.",Tags:"Coffee-themed, Humorous"},{Slogan:"Your fullstack, decaffeinated.",Tags:"Coffee-themed, Technical"},{Slogan:"No caffeine, no chaos. Just clean code.",Tags:"Coffee-themed, Calm, Tech"},{Slogan:"Full flavor, no jitters. That\u2019s Decaf-TS.",Tags:"Coffee-themed, Cheerful"},{Slogan:"Chill fullstack. Powered by Decaf.",Tags:"Coffee-themed, Fun, Tech"},{Slogan:"Decaf-TS: Brewed for calm code.",Tags:"Coffee-themed, Branding"},{Slogan:"Smooth as your morning Decaf.",Tags:"Coffee-themed, Chill"},{Slogan:"All the kick, none of the crash.",Tags:"Coffee-themed, Energetic"},{Slogan:"Sip back and ship faster.",Tags:"Coffee-themed, Fun"},{Slogan:"Keep calm and code Decaf.",Tags:"Coffee-themed, Playful"},{Slogan:"Code without the caffeine shakes.",Tags:"Coffee-themed, Humorous"},{Slogan:"Your fullstack, decaffeinated.",Tags:"Coffee-themed, Technical"},{Slogan:"No caffeine, no chaos. Just clean code.",Tags:"Coffee-themed, Calm, Tech"},{Slogan:"Full flavor, no jitters. That\u2019s Decaf-TS.",Tags:"Coffee-themed, Cheerful"},{Slogan:"Chill fullstack. Powered by Decaf.",Tags:"Coffee-themed, Fun, Tech"},{Slogan:"Decaf-TS: Brewed for calm code.",Tags:"Coffee-themed, Branding"},{Slogan:"Smooth as your morning Decaf.",Tags:"Coffee-themed, Chill"},{Slogan:"All the kick, none of the crash.",Tags:"Coffee-themed, Energetic"},{Slogan:"Sip back and ship faster.",Tags:"Coffee-themed, Fun"},{Slogan:"Keep calm and code Decaf.",Tags:"Coffee-themed, Playful"},{Slogan:"Code without the caffeine shakes.",Tags:"Coffee-themed, Humorous"},{Slogan:"Your fullstack, decaffeinated.",Tags:"Coffee-themed, Technical"},{Slogan:"No caffeine, no chaos. Just clean code.",Tags:"Coffee-themed, Calm, Tech"},{Slogan:"Full flavor, no jitters. That\u2019s Decaf-TS.",Tags:"Coffee-themed, Cheerful"},{Slogan:"Chill fullstack. Powered by Decaf.",Tags:"Coffee-themed, Fun, Tech"},{Slogan:"Decaf-TS: Brewed for calm code.",Tags:"Coffee-themed, Branding"},{Slogan:"Smooth as your morning Decaf.",Tags:"Coffee-themed, Chill"},{Slogan:"All the kick, none of the crash.",Tags:"Coffee-themed, Energetic"},{Slogan:"Sip back and ship faster.",Tags:"Coffee-themed, Fun"},{Slogan:"Keep calm and code Decaf.",Tags:"Coffee-themed, Playful"},{Slogan:"Code without the caffeine shakes.",Tags:"Coffee-themed, Humorous"},{Slogan:"Your fullstack, decaffeinated.",Tags:"Coffee-themed, Technical"},{Slogan:"No caffeine, no chaos. Just clean code.",Tags:"Coffee-themed, Calm, Tech"},{Slogan:"Full flavor, no jitters. That\u2019s Decaf-TS.",Tags:"Coffee-themed, Cheerful"},{Slogan:"Chill fullstack. Powered by Decaf.",Tags:"Coffee-themed, Fun, Tech"},{Slogan:"Decaf-TS: Brewed for calm code.",Tags:"Coffee-themed, Branding"},{Slogan:"Smooth as your morning Decaf.",Tags:"Coffee-themed, Chill"},{Slogan:"All the kick, none of the crash.",Tags:"Coffee-themed, Energetic"},{Slogan:"Sip back and ship faster.",Tags:"Coffee-themed, Fun"},{Slogan:"Keep calm and code Decaf.",Tags:"Coffee-themed, Playful"},{Slogan:"Code without the caffeine shakes.",Tags:"Coffee-themed, Humorous"},{Slogan:"Your fullstack, decaffeinated.",Tags:"Coffee-themed, Technical"},{Slogan:"No caffeine, no chaos. Just clean code.",Tags:"Coffee-themed, Calm, Tech"},{Slogan:"Full flavor, no jitters. That\u2019s Decaf-TS.",Tags:"Coffee-themed, Cheerful"},{Slogan:"Chill fullstack. Powered by Decaf.",Tags:"Coffee-themed, Fun, Tech"},{Slogan:"Decaf-TS: Brewed for calm code.",Tags:"Coffee-themed, Branding"},{Slogan:"Smooth as your morning Decaf.",Tags:"Coffee-themed, Chill"},{Slogan:"All the kick, none of the crash.",Tags:"Coffee-themed, Energetic"},{Slogan:"Sip back and ship faster.",Tags:"Coffee-themed, Fun"},{Slogan:"Keep calm and code Decaf.",Tags:"Coffee-themed, Playful"},{Slogan:"Code without the caffeine shakes.",Tags:"Coffee-themed, Humorous"},{Slogan:"Your fullstack, decaffeinated.",Tags:"Coffee-themed, Technical"},{Slogan:"No caffeine, no chaos. Just clean code.",Tags:"Coffee-themed, Calm, Tech"},{Slogan:"Full flavor, no jitters. That\u2019s Decaf-TS.",Tags:"Coffee-themed, Cheerful"},{Slogan:"Chill fullstack. Powered by Decaf.",Tags:"Coffee-themed, Fun, Tech"},{Slogan:"Decaf-TS: Brewed for calm code.",Tags:"Coffee-themed, Branding"},{Slogan:"Smooth as your morning Decaf.",Tags:"Coffee-themed, Chill"},{Slogan:"All the kick, none of the crash.",Tags:"Coffee-themed, Energetic"},{Slogan:"Sip back and ship faster.",Tags:"Coffee-themed, Fun"},{Slogan:"Keep calm and code Decaf.",Tags:"Coffee-themed, Playful"},{Slogan:"Code without the caffeine shakes.",Tags:"Coffee-themed, Humorous"},{Slogan:"Your fullstack, decaffeinated.",Tags:"Coffee-themed, Technical"},{Slogan:"No caffeine, no chaos. Just clean code.",Tags:"Coffee-themed, Calm, Tech"},{Slogan:"Full flavor, no jitters. That\u2019s Decaf-TS.",Tags:"Coffee-themed, Cheerful"},{Slogan:"Chill fullstack. Powered by Decaf.",Tags:"Coffee-themed, Fun, Tech"},{Slogan:"Decaf-TS: Brewed for calm code.",Tags:"Coffee-themed, Branding"},{Slogan:"Smooth as your morning Decaf.",Tags:"Coffee-themed, Chill"},{Slogan:"All the kick, none of the crash.",Tags:"Coffee-themed, Energetic"},{Slogan:"Sip back and ship faster.",Tags:"Coffee-themed, Fun"},{Slogan:"Keep calm and code Decaf.",Tags:"Coffee-themed, Playful"},{Slogan:"Code without the caffeine shakes.",Tags:"Coffee-themed, Humorous"},{Slogan:"Your fullstack, decaffeinated.",Tags:"Coffee-themed, Technical"},{Slogan:"No caffeine, no chaos. Just clean code.",Tags:"Coffee-themed, Calm, Tech"},{Slogan:"Full flavor, no jitters. That\u2019s Decaf-TS.",Tags:"Coffee-themed, Cheerful"},{Slogan:"Chill fullstack. Powered by Decaf.",Tags:"Coffee-themed, Fun, Tech"},{Slogan:"Decaf-TS: Brewed for calm code.",Tags:"Coffee-themed, Branding"},{Slogan:"Smooth as your morning Decaf.",Tags:"Coffee-themed, Chill"},{Slogan:"All the kick, none of the crash.",Tags:"Coffee-themed, Energetic"},{Slogan:"Sip back and ship faster.",Tags:"Coffee-themed, Fun"},{Slogan:"Keep calm and code Decaf.",Tags:"Coffee-themed, Playful"},{Slogan:"Code without the caffeine shakes.",Tags:"Coffee-themed, Humorous"},{Slogan:"Your fullstack, decaffeinated.",Tags:"Coffee-themed, Technical"},{Slogan:"Decaf-TS: Where smart contracts meet smart interfaces.",Tags:"Blockchain, Smart Contracts, Tech"},{Slogan:"Ship dApps without the stress.",Tags:"Blockchain, Cheerful, Developer"},{Slogan:"No CRUD, no problem \u2014 Decaf your data.",Tags:"Data, No-CRUD, Chill"},{Slogan:"From DID to UI, without breaking a sweat.",Tags:"DID, SSI, UI, Calm"},{Slogan:"Decaf-TS: Your frontend already understands your smart contract.",Tags:"Smart Contracts, DX, Magic"},{Slogan:"Self-sovereign by design. Productive by default.",Tags:"SSI, Developer, Calm"},{Slogan:"Build once. Deploy everywhere. Decentralized and delightful.",Tags:"Blockchain, Multi-platform, Happy"},{Slogan:"Data that defines its own destiny.",Tags:"SSI, Data-driven, Empowerment"},{Slogan:"Goodbye CRUD, hello intent-based interfaces.",Tags:"No-CRUD, UI, Technical"},{Slogan:"The smoothest path from DID to done.",Tags:"DID, Workflow, Chill"},{Slogan:"Because your dApp deserves more than boilerplate.",Tags:"Blockchain, DevX, Efficiency"},{Slogan:"Own your data. Own your flow.",Tags:"SSI, Control, Ownership"},{Slogan:"Write logic like it belongs with the data \u2014 because it does.",Tags:"Data Logic, Developer, Smart"},{Slogan:"From smart contracts to smarter frontends.",Tags:"Smart Contracts, UI, DX"},{Slogan:"No caffeine. No CRUD. Just the future.",Tags:"No-CRUD, Coffee-themed, Futuristic"},{Slogan:"The future of web3 UX is Decaf.",Tags:"Blockchain, UX, Vision"},{Slogan:"Code with confidence. Govern with clarity.",Tags:"Blockchain, Governance, Calm"},{Slogan:"Interfaces that obey the data, not the other way around.",Tags:"UI, Data Logic, Self-aware"},{Slogan:"Brew business logic right into your bytes.",Tags:"Data Logic, Coffee-themed, Fun"},{Slogan:"DIDs done differently \u2014 and delightfully.",Tags:"DID, Self-Sovereign, Playful"},{Slogan:"Decaf-TS-TS: Where blockchain contracts meet smart interfaces.",Tags:"Blockchain, Smart Contracts, Tech"},{Slogan:"Ship dApps without the stress.",Tags:"Blockchain, Cheerful, Developer"},{Slogan:"No boilerplate, no problem \u2014 Decaf-TS your data.",Tags:"Data, No-CRUD, Chill"},{Slogan:"From DID to UI, without breaking a sweat.",Tags:"DID, SSI, UI, Calm"},{Slogan:"Decaf-TS-TS: Your frontend already understands your blockchain contract.",Tags:"Smart Contracts, DX, Magic"},{Slogan:"Self-sovereign by design. Productive by default.",Tags:"SSI, Developer, Calm"},{Slogan:"Build once. Deploy everywhere. Decentralized and delightful.",Tags:"Blockchain, Multi-platform, Happy"},{Slogan:"Data that defines its own destiny.",Tags:"SSI, Data-driven, Empowerment"},{Slogan:"Goodbye boilerplate, hello intent-based interfaces.",Tags:"No-CRUD, UI, Technical"},{Slogan:"The smoothest path from DID to done.",Tags:"DID, Workflow, Chill"},{Slogan:"Because your dApp deserves more than boilerplate.",Tags:"Blockchain, DevX, Efficiency"},{Slogan:"Own your data. Own your flow.",Tags:"SSI, Control, Ownership"},{Slogan:"Write logic like it belongs with the data \u2014 because it does.",Tags:"Data Logic, Developer, Smart"},{Slogan:"From blockchain contracts to smarter frontends.",Tags:"Smart Contracts, UI, DX"},{Slogan:"No caffeine. No boilerplate. Just the future.",Tags:"No-CRUD, Coffee-themed, Futuristic"},{Slogan:"The future of web3 UX is Decaf-TS.",Tags:"Blockchain, UX, Vision"},{Slogan:"Code with confidence. Govern with clarity.",Tags:"Blockchain, Governance, Calm"},{Slogan:"Interfaces that obey the data, not the other way around.",Tags:"UI, Data Logic, Self-aware"},{Slogan:"Brew business logic right into your bytes.",Tags:"Data Logic, Coffee-themed, Fun"},{Slogan:"DIDs done differently \u2014 and delightfully.",Tags:"DID, Self-Sovereign, Playful"},{Slogan:"Decaf-TS-TS: Where blockchain contracts meet smart interfaces.",Tags:"Blockchain, Smart Contracts, Tech"},{Slogan:"Ship dApps without the stress.",Tags:"Blockchain, Cheerful, Developer"},{Slogan:"No boilerplate, no problem \u2014 Decaf-TS your data.",Tags:"Data, No-CRUD, Chill"},{Slogan:"From DID to UI, without breaking a sweat.",Tags:"DID, SSI, UI, Calm"},{Slogan:"Decaf-TS-TS: Your frontend already understands your blockchain contract.",Tags:"Smart Contracts, DX, Magic"},{Slogan:"Self-sovereign by design. Productive by default.",Tags:"SSI, Developer, Calm"},{Slogan:"Build once. Deploy everywhere. Decentralized and delightful.",Tags:"Blockchain, Multi-platform, Happy"},{Slogan:"Data that defines its own destiny.",Tags:"SSI, Data-driven, Empowerment"},{Slogan:"Goodbye boilerplate, hello intent-based interfaces.",Tags:"No-CRUD, UI, Technical"},{Slogan:"The smoothest path from DID to done.",Tags:"DID, Workflow, Chill"},{Slogan:"Because your dApp deserves more than boilerplate.",Tags:"Blockchain, DevX, Efficiency"},{Slogan:"Own your data. Own your flow.",Tags:"SSI, Control, Ownership"},{Slogan:"Write logic like it belongs with the data \u2014 because it does.",Tags:"Data Logic, Developer, Smart"},{Slogan:"From blockchain contracts to smarter frontends.",Tags:"Smart Contracts, UI, DX"},{Slogan:"No caffeine. No boilerplate. Just the future.",Tags:"No-CRUD, Coffee-themed, Futuristic"},{Slogan:"The future of web3 UX is Decaf-TS.",Tags:"Blockchain, UX, Vision"},{Slogan:"Code with confidence. Govern with clarity.",Tags:"Blockchain, Governance, Calm"},{Slogan:"Interfaces that obey the data, not the other way around.",Tags:"UI, Data Logic, Self-aware"},{Slogan:"Brew business logic right into your bytes.",Tags:"Data Logic, Coffee-themed, Fun"},{Slogan:"DIDs done differently \u2014 and delightfully.",Tags:"DID, Self-Sovereign, Playful"},{Slogan:"Decaf-TS-TS: Where blockchain contracts meet smart interfaces.",Tags:"Blockchain, Smart Contracts, Tech"},{Slogan:"Ship dApps without the stress.",Tags:"Blockchain, Cheerful, Developer"},{Slogan:"No boilerplate, no problem \u2014 Decaf-TS your data.",Tags:"Data, No-CRUD, Chill"},{Slogan:"From DID to UI, without breaking a sweat.",Tags:"DID, SSI, UI, Calm"},{Slogan:"Decaf-TS-TS: Your frontend already understands your blockchain contract.",Tags:"Smart Contracts, DX, Magic"},{Slogan:"Self-sovereign by design. Productive by default.",Tags:"SSI, Developer, Calm"},{Slogan:"Build once. Deploy everywhere. Decentralized and delightful.",Tags:"Blockchain, Multi-platform, Happy"},{Slogan:"Data that defines its own destiny.",Tags:"SSI, Data-driven, Empowerment"},{Slogan:"Goodbye boilerplate, hello intent-based interfaces.",Tags:"No-CRUD, UI, Technical"},{Slogan:"The smoothest path from DID to done.",Tags:"DID, Workflow, Chill"},{Slogan:"Because your dApp deserves more than boilerplate.",Tags:"Blockchain, DevX, Efficiency"},{Slogan:"Own your data. Own your flow.",Tags:"SSI, Control, Ownership"},{Slogan:"Write logic like it belongs with the data \u2014 because it does.",Tags:"Data Logic, Developer, Smart"},{Slogan:"From blockchain contracts to smarter frontends.",Tags:"Smart Contracts, UI, DX"},{Slogan:"No caffeine. No boilerplate. Just the future.",Tags:"No-CRUD, Coffee-themed, Futuristic"},{Slogan:"The future of web3 UX is Decaf-TS.",Tags:"Blockchain, UX, Vision"},{Slogan:"Code with confidence. Govern with clarity.",Tags:"Blockchain, Governance, Calm"},{Slogan:"Interfaces that obey the data, not the other way around.",Tags:"UI, Data Logic, Self-aware"},{Slogan:"Brew business logic right into your bytes.",Tags:"Data Logic, Coffee-themed, Fun"},{Slogan:"DIDs done differently \u2014 and delightfully.",Tags:"DID, Self-Sovereign, Playful"},{Slogan:"Decaf-TS-TS: Where blockchain contracts meet smart interfaces.",Tags:"Blockchain, Smart Contracts, Tech"},{Slogan:"Ship dApps without the stress.",Tags:"Blockchain, Cheerful, Developer"},{Slogan:"No boilerplate, no problem \u2014 Decaf-TS your data.",Tags:"Data, No-CRUD, Chill"},{Slogan:"From DID to UI, without breaking a sweat.",Tags:"DID, SSI, UI, Calm"},{Slogan:"Decaf-TS-TS: Your frontend already understands your blockchain contract.",Tags:"Smart Contracts, DX, Magic"},{Slogan:"Self-sovereign by design. Productive by default.",Tags:"SSI, Developer, Calm"},{Slogan:"Build once. Deploy everywhere. Decentralized and delightful.",Tags:"Blockchain, Multi-platform, Happy"},{Slogan:"Data that defines its own destiny.",Tags:"SSI, Data-driven, Empowerment"},{Slogan:"Goodbye boilerplate, hello intent-based interfaces.",Tags:"No-CRUD, UI, Technical"},{Slogan:"The smoothest path from DID to done.",Tags:"DID, Workflow, Chill"},{Slogan:"Because your dApp deserves more than boilerplate.",Tags:"Blockchain, DevX, Efficiency"},{Slogan:"Own your data. Own your flow.",Tags:"SSI, Control, Ownership"},{Slogan:"Write logic like it belongs with the data \u2014 because it does.",Tags:"Data Logic, Developer, Smart"},{Slogan:"From blockchain contracts to smarter frontends.",Tags:"Smart Contracts, UI, DX"},{Slogan:"No caffeine. No boilerplate. Just the future.",Tags:"No-CRUD, Coffee-themed, Futuristic"},{Slogan:"The future of web3 UX is Decaf-TS.",Tags:"Blockchain, UX, Vision"},{Slogan:"Code with confidence. Govern with clarity.",Tags:"Blockchain, Governance, Calm"},{Slogan:"Interfaces that obey the data, not the other way around.",Tags:"UI, Data Logic, Self-aware"},{Slogan:"Brew business logic right into your bytes.",Tags:"Data Logic, Coffee-themed, Fun"},{Slogan:"DIDs done differently \u2014 and delightfully.",Tags:"DID, Self-Sovereign, Playful"}],oe=["\x1b[38;5;215m","\x1b[38;5;209m","\x1b[38;5;205m","\x1b[38;5;210m","\x1b[38;5;217m","\x1b[38;5;216m","\x1b[38;5;224m","\x1b[38;5;230m","\x1b[38;5;230m"];function ae(e){const t=se(),o="# \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \n# ( ( \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \n# ) ) \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \n# [=======] \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \n# `-----\xb4 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \n# \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \n# \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \n#".split("\n"),a=o.reduce((e,t)=>Math.max(e,t.length),0);o.push("# "+t.padStart(a-3)),o.forEach((t,o)=>{(e?e.info.bind(e):(()=>{}).bind())(i.style(t||"").raw(oe[o]).text)})}function se(e){try{return e=void 0===e?Math.floor(Math.random()*te.length):e,te[e].Slogan}catch(e){throw Error("Failed to retrieve slogans: "+e)}}class re extends a.LoggedClass{constructor(e,t={},o=[]){super(),this.name=e,this.inputs=t,this.requirements=o,re.log||Object.defineProperty(re,"log",{writable:!1,value:a.Logging.for(re.name)}),this.inputs=Object.assign({},F,t)}async checkRequirements(){const{prod:e,dev:t,peer:o}=await Y(),a=[],s=Array.from(new Set([...e,...t,...o]).values()).map(e=>e.name);for(const e of this.requirements)s.includes(e)||a.push(e);a.length}help(e){return this.log.info("This is help. I'm no use because I should have been overridden.")}async execute(){const e=I.parseArgs(this.inputs),t=a.LoggedEnvironment.accumulate(j).accumulate(e.values),{version:o,help:s,banner:r}=t;if(o)return H();if(s)return this.help(e);let n;r&&ae(this.log.for(ae,{timestamp:!1,style:!1,context:!1,logLevel:!1}));try{n=await this.run(t)}catch(e){throw e}return n}}class ne{static{this.log=a.Logging.for(ne)}static async downloadFile(e){return new Promise((t,o)=>{!function e(a){a=encodeURI(a),w.default.get(a,s=>{if(301===s.statusCode||307===s.statusCode)return e(s.headers.location);if(200!==s.statusCode)return ne.log.error(`Failed to fetch ${a} (status: ${s.statusCode})`),o(Error("Failed to fetch "+a));let r="";s.on("data",e=>{r+=e}),s.on("error",e=>{o(e)}),s.on("end",()=>{t(r)})})}(e)})}}function ie(e){return e?Array.isArray(e)?e.map(e=>(""+e).trim()).filter(Boolean):(""+e).split(",").map(e=>e.trim()).filter(Boolean):[]}function le(e){return e.replace(/^@/,"").split(/[/\-_.]+/).filter(Boolean).map((e,t)=>0===t?e.replace(/[^a-zA-Z0-9]/g,""):`${e.charAt(0).toUpperCase()}${e.slice(1)}`).join("")}function ce(){let e;try{e=G(process.cwd())}catch{e=void 0}try{if(!e||!(Object.keys(e.dependencies||{}).length>0||Object.keys(e.devDependencies||{}).length>0||Object.keys(e.peerDependencies||{}).length>0)){const t=v.default.resolve(__dirname,"../../..");try{e=G(t)}catch{}}}catch{}const t=Object.keys(e&&e.dependencies||{}),o=Object.keys(e&&e.peerDependencies||{}),a=Object.keys(e&&e.devDependencies||{});return Array.from(new Set([...t,...o,...a]))}const ge="##PACKAGE_SIZE##";var de,fe;(e=>{e.CJS="commonjs",e.ESM="es2022"})(de||(de={})),(e=>{e.BUILD="build",e.BUNDLE="bundle",e.ALL="all"})(fe||(fe={}));const he={prod:{type:"boolean",default:!1},dev:{type:"boolean",default:!1},buildMode:{type:"string",default:fe.ALL},includes:{type:"string",default:""},externals:{type:"string",default:""},docs:{type:"boolean",default:!1},commands:{type:"boolean",default:!1},banner:{type:"boolean",default:!1}},ue=(e=".cjs")=>{const t=me.log.for(ue),o=new Map;return a=>s=>{const r=v.default.dirname(s.fileName);function n(a){const s=JSON.stringify([r,a]),n=o.get(s);if(null!=n)return n;let i,l=a;try{l=v.default.resolve(r,l+".ts")}catch(e){throw Error(`Failed to resolve path ${a}: ${e}`)}try{i=b.default.statSync(l)}catch(e){try{t.verbose(`Testing existence of path ${l} as a folder defaulting to index file`),i=b.default.statSync(l.replace(/\.ts$/gm,""))}catch(t){throw Error(`Failed to resolve path ${a}: ${e}, ${t}`)}}if(i.isDirectory()&&(l=l.replace(/\.ts$/gm,"/index.ts")),v.default.isAbsolute(l)){const t=(/\.tsx?$/.exec(v.default.basename(l))||[])[0]||void 0;l="./"+v.default.relative(r,v.default.resolve(v.default.dirname(l),v.default.basename(l,t)+e))}return o.set(s,l),l}return E.visitNode(s,function e(t){if((e=>!(!E.isImportDeclaration(e)&&!E.isExportDeclaration(e)||void 0===e.moduleSpecifier||!E.isStringLiteral(e.moduleSpecifier)||!e.moduleSpecifier.text.startsWith("./")&&!e.moduleSpecifier.text.startsWith("../")||""!==v.default.extname(e.moduleSpecifier.text)))(t)){if(E.isImportDeclaration(t)){const e=n(t.moduleSpecifier.text),o=a.factory.createStringLiteral(e);return a.factory.updateImportDeclaration(t,t.modifiers,t.importClause,o,void 0)}if(E.isExportDeclaration(t)){const e=n(t.moduleSpecifier.text),o=a.factory.createStringLiteral(e);return a.factory.updateExportDeclaration(t,t.modifiers,t.isTypeOnly,t.exportClause,o,void 0)}}return E.visitEachChild(t,e,a)})}};class me extends re{constructor(){super("BuildScripts",Object.assign({},F,he)),this.replacements={};const e=G(),{name:t,version:o}=e;this.pkgName=t.includes("@")?t.split("/")[1]:t,this.pkgVersion=o,this.replacements["0.7.0"]=this.pkgVersion,this.replacements["@decaf-ts/utils"]=t}patchFiles(e){const t=this.log.for(this.patchFiles),{name:o,version:a}=G();t.info(`Patching ${o} ${a} module in ${e}...`),b.default.statSync(e).isDirectory()&&b.default.readdirSync(e,{withFileTypes:!0,recursive:!0}).filter(e=>e.isFile()).forEach(e=>V(v.default.join(e.parentPath,e.name),this.replacements)),t.verbose(`Module ${o} ${a} patched in ${e}...`)}reportDiagnostics(e,t){const o=this.formatDiagnostics(e);try{this.log[t](o)}catch(e){throw e}return o}formatDiagnostics(e){return e.map(e=>{let t="";if(e.file&&e.start){const{line:o,character:a}=e.file.getLineAndCharacterOfPosition(e.start);t+=`${e.file.fileName} (${o+1},${a+1})`}return t+=": "+E.flattenDiagnosticMessageText(e.messageText,"\n"),t}).join("\n")}readConfigFile(e){const t=b.default.readFileSync(e).toString(),o=E.parseConfigFileTextToJson(e,t),s=o.config;s||this.reportDiagnostics([o.error],a.LogLevel.error);const r=E.parseJsonConfigFileContent(s,E.sys,v.default.dirname(e));return r.errors.length>0&&this.reportDiagnostics(r.errors,a.LogLevel.error),r}evalDiagnostics(e){if(e&&e.length>0){const t=e.filter(e=>e.category===E.DiagnosticCategory.Error),o=e.filter(e=>e.category===E.DiagnosticCategory.Warning),s=e.filter(e=>e.category===E.DiagnosticCategory.Suggestion),r=e.filter(e=>e.category===E.DiagnosticCategory.Message);if(o.length&&this.reportDiagnostics(o,a.LogLevel.warn),t.length)throw this.reportDiagnostics(e,a.LogLevel.error),Error(`TypeScript reported ${e.length} diagnostic(s) during check; aborting.`);s.length&&this.reportDiagnostics(s,a.LogLevel.info),r.length&&this.reportDiagnostics(r,a.LogLevel.info)}}preCheckDiagnostics(e){const t=E.getPreEmitDiagnostics(e);this.evalDiagnostics(t)}async checkTsDiagnostics(e,t,o=!1){const a=this.log.for(this.checkTsDiagnostics);let s;try{s=this.readConfigFile("./tsconfig.json")}catch(e){throw Error("Failed to parse tsconfig.json: "+e)}o?(s.options.module=p.ModuleKind.AMD,s.options.outDir="dist",s.options.isolatedModules=!1,s.options.outFile=this.pkgName):(s.options.outDir="lib"+(t===de.ESM?"/esm":""),s.options.module=t===de.ESM?p.ModuleKind.ES2022:p.ModuleKind.CommonJS),s.options.inlineSourceMap=!1,s.options.inlineSources=!1,s.options.sourceMap=!0;const r=E.createProgram(s.fileNames,s.options);this.preCheckDiagnostics(r),a.verbose(`TypeScript checks passed (${o?"bundle":"normal"} mode).`)}async buildTs(e,t,o=!1){let a;this.log.for(this.buildTs).info(`Building ${this.pkgName} ${this.pkgVersion} module (${t}) in ${e?"dev":"prod"} mode...`);try{a=this.readConfigFile("./tsconfig.json")}catch(e){throw Error("Failed to parse tsconfig.json: "+e)}o?(a.options.module=p.ModuleKind.AMD,a.options.outDir="dist",a.options.isolatedModules=!1,a.options.outFile=this.pkgName):(a.options.outDir="lib"+(t===de.ESM?"/esm":""),a.options.module=t===de.ESM?p.ModuleKind.ES2022:p.ModuleKind.CommonJS),e?(a.options.inlineSourceMap=!0,a.options.inlineSources=!0,a.options.sourceMap=!1):(a.options.inlineSourceMap=!1,a.options.inlineSources=!1,a.options.sourceMap=!0);const s=E.createProgram(a.fileNames,a.options),r={};t===de.CJS?r.before=[ue(".cjs")]:t===de.ESM&&(r.before=[ue(".js")]);const n=s.emit(void 0,void 0,void 0,void 0,r),i=E.getPreEmitDiagnostics(s).concat(n.diagnostics);this.evalDiagnostics(i)}async build(e,t,o=!1){const a=this.log.for(this.build);if(await this.buildTs(e,t,o),a.verbose(`Module ${this.pkgName} ${this.pkgVersion} (${t}) built in ${e?"dev":"prod"} mode...`),t===de.CJS&&!o){const e=K("lib",e=>e.endsWith(".js")&&!e.includes("/esm/"));for(const t of e){a.verbose(`Patching ${t}'s cjs imports...`);const e=t.replace(".js",".cjs");await X(t,e)}}}copyAssets(e){const t=this.log.for(this.copyAssets);let o=!1;try{o=b.default.statSync("./src/assets").isDirectory()}catch(e){return t.verbose("No assets found in ./src/assets to copy")}o&&_("./src/assets",`./${e===de.CJS?"lib":"dist"}/assets`)}async bundle(e,t,o,a="src/index.ts",s=this.pkgName,r,n=["prompts","styled-string-builder","typed-object-accumulator","@decaf-ts/logging"]){await this.checkTsDiagnostics(t,e,!0);const i=e===de.ESM,l=this.pkgName,c=this.log,d=Array.from(new Set([...ie(n)]));let f=ie(r);if(0===f.length){try{f=ee(v.default.join(process.cwd(),"node_modules"))}catch{}f&&0!==f.length||(f=ce())}const u=Array.from(new Set([...(()=>{try{return Array.isArray(m.builtinModules)?m.builtinModules:[]}catch{return["fs","path","process","child_process","util","https","http","os","stream","crypto","zlib","net","tls","url","querystring","assert","events","tty","dns","querystring"]}})(),...f])),p=!t||"inline",S=[D.default({compilerOptions:{module:"esnext",declaration:!1,outDir:o?"bin":"dist",sourceMap:!t,inlineSourceMap:!!t,inlineSources:!!t},include:["src/**/*.ts"],exclude:["node_modules","**/*.spec.ts"],tsconfig:"./tsconfig.json"}),$.default()];o&&S.push(k.default({include:[],exclude:f}),h.nodeResolve({resolveOnly:d}));try{const C=await import("@rollup/plugin-terser"),w=C&&C.terser||C.default||C,E={parse:{ecma:2020},compress:!1,mangle:!1,format:{comments:!1,beautify:!0}},I={parse:{ecma:2020},compress:{ecma:2020,passes:5,drop_console:!0,drop_debugger:!0,toplevel:!0,module:i,unsafe:!0,unsafe_arrows:!0,unsafe_comps:!0,collapse_vars:!0,reduce_funcs:!0,reduce_vars:!0},mangle:{toplevel:!0},format:{comments:!1,ascii_only:!0},toplevel:!0};S.push(w(t?E:I))}catch{}const y={input:a,plugins:S,external:u,onwarn:void 0,treeshake:!t},T={};u.forEach(e=>{T[e]=le(e)});const b=[{file:`${o?"bin/":"dist/"}${s||".bundle."+(t?"":"min")}${i?".js":".cjs"}`,format:o?"cjs":i?"esm":"umd",name:l,esModule:i,sourcemap:p,globals:T,exports:"auto"}];try{const F=await g.rollup(y);async function j(e){for(const t of b)await e.write(t)}c.verbose(F.watchFiles),await j(F)}catch(x){throw Error("Failed to bundle: "+x)}}async buildByEnv(e,t=fe.ALL,o,a){try{z("lib")}catch(e){}try{z("dist")}catch(e){}b.default.mkdirSync("lib"),b.default.mkdirSync("dist"),[fe.ALL,fe.BUILD].includes(t)&&(await this.build(e,de.ESM),await this.build(e,de.CJS),this.patchFiles("lib")),[fe.ALL,fe.BUNDLE].includes(t)&&(await this.bundle(de.ESM,e,!1,"src/index.ts",this.pkgName,a,o),await this.bundle(de.CJS,e,!1,"src/index.ts",this.pkgName,a,o),this.patchFiles("dist")),this.copyAssets(de.CJS),this.copyAssets(de.ESM)}async buildDev(e=fe.ALL,t,o){return this.buildByEnv(!0,e,t,o)}async buildProd(e=fe.ALL,t,o){return this.buildByEnv(!1,e,t,o)}async buildDocs(){await R("npm install better-docs taffydb").promise,await R("npx markdown-include ./workdocs/readme-md.json").promise,await R("npx jsdoc -c ./workdocs/jsdocs.json -t ./node_modules/better-docs").promise,await R("npm remove better-docs taffydb").promise,[{src:"workdocs/assets",dest:"./docs/workdocs/assets"},{src:"workdocs/reports/coverage",dest:"./docs/workdocs/reports/coverage"},{src:"workdocs/reports/html",dest:"./docs/workdocs/reports/html"},{src:"workdocs/resources",dest:"./docs/workdocs/resources"},{src:"LICENSE.md",dest:"./docs/LICENSE.md"}].forEach(e=>{const{src:t,dest:o}=e;_(t,o)});try{const e=await Q(v.default.resolve(v.default.join(process.cwd(),"dist")));this.replacements[ge]=e+" KB"}catch{this.replacements[ge]="unknown"}try{V("./README.md",this.replacements)}catch(e){this.log.for(this.buildDocs).verbose("Failed to patch README.md: "+e)}}async run(e){const{dev:t,prod:o,docs:a,buildMode:s,includes:r,externals:n}=e;return t?await this.buildDev(s,r,n):o?await this.buildProd(s,r,n):a?await this.buildDocs():void 0}}const pe={ci:{type:"boolean",default:!0},message:{type:"string",short:"m"},tag:{type:"string",short:"t",default:void 0}};e.AbortCode=P,e.BuildScripts=me,e.Command=re,e.DefaultCommandOptions=F,e.DefaultCommandValues=j,e.Encoding=x,e.HttpClient=ne,e.NoCIFLag=B,e.PACKAGE_NAME="@decaf-ts/utils",e.RegexpOutputWriter=class extends L{constructor(e,t,o,a="g"){super(e,t);try{this.regexp="string"==typeof o?RegExp(o,a):o}catch(e){throw Error("Invalid regular expression: "+e)}}test(e){let t;this.regexp.lastIndex=0;try{t=this.regexp.exec(e)}catch(e){return}return t}testAndResolve(e){const t=this.test(e);t&&this.resolve(t[0])}testAndReject(e){const t=this.test(e);t&&this.reject(t[0])}data(e){super.data(e),this.testAndResolve(e+"")}error(e){super.error(e),this.testAndReject(e+"")}},e.ReleaseScript=class extends re{constructor(){super("ReleaseScript",pe)}async prepareVersion(e){const t=this.log.for(this.prepareVersion);return(e=this.testVersion(e||""))||(t.verbose("No release message provided. Prompting for one:"),t.info("Listing latest git tags:"),await R("git tag --sort=-taggerdate | head -n 5").promise,await I.insistForText("tag","Enter the new tag number (accepts v*.*.*[-...])",e=>!!e.toString().match(/^v[0-9]+\.[0-9]+.[0-9]+(-[0-9a-zA-Z-]+)?$/)))}testVersion(t){const o=this.log.for(this.testVersion);switch(t=t.trim().toLowerCase()){case e.SemVersion.PATCH:case e.SemVersion.MINOR:case e.SemVersion.MAJOR:return o.verbose("Using provided SemVer update: "+t,1),t;default:return o.verbose("Testing provided version for SemVer compatibility: "+t,1),RegExp(N).test(t)?(o.verbose("version approved: "+t,1),t):void o.debug("Invalid version number: "+t)}}async prepareMessage(e){const t=this.log.for(this.prepareMessage);return e||(t.verbose("No release message provided. Prompting for one"),await I.insistForText("message","What should be the release message/ticket?",e=>!!e&&e.toString().length>5))}async run(e){let t;const{ci:o}=e;let{tag:a,message:s}=e;a=await this.prepareVersion(a),s=await this.prepareMessage(s),t=await R(`npm run prepare-release -- ${a} ${s}`,{cwd:process.cwd()}).promise,t=await R("git status --porcelain").promise,await t,t.logs.length&&await I.askConfirmation("git-changes","Do you want to push the changes to the remote repository?",!0)&&(await R("git add .").promise,await R(`git commit -m "${a} - ${s} - after release preparation${o?"":B}"`).promise),await R(`npm version "${a}" -m "${s}${o?"":B}"`).promise,await R("git push --follow-tags").promise,o||await R("NPM_TOKEN=$(cat .npmtoken) npm publish --access public").promise}},e.SemVersionRegex=N,e.SetupScriptKey="postinstall",e.StandardOutputWriter=L,e.UserInput=I,e.VERSION="0.7.0",e.chainAbortController=O,e.copyFile=_,e.deletePath=z,e.getAllFiles=K,e.getDependencies=Y,e.getFileSizeZipped=Q,e.getPackage=G,e.getPackageDependencies=ce,e.getPackageVersion=H,e.getSlogan=se,e.installDependencies=Z,e.installIfNotAvailable=async(e,t)=>{if(!t){const e=await Y();t={prod:e.prod?.map(e=>e.name)||[],dev:e.dev?.map(e=>e.name)||[],peer:e.peer?.map(e=>e.name)||[]}}const{prod:o,dev:a,peer:s}=t,r=Array.from(new Set([...o||[],...a||[],...s||[]])),n=(e="string"==typeof e?[e]:e).filter(e=>!r.includes(e));return n.length&&await Z({dev:n}),t.dev=t.dev||[],t.dev.push(...n),t},e.listFolder=function e(t=process.cwd(),o){const a=J.for(e);try{return b.default.existsSync(t)?b.default.readdirSync(t,{withFileTypes:!0}).filter(e=>!o||o(e.name,e)).map(e=>e.name):[]}catch(e){return a.verbose(`Failed to list folder ${t}: ${e}`),[]}},e.listNodeModulesPackages=ee,e.lockify=e=>{let t=Promise.resolve();return(...o)=>{const a=t.then(()=>e(...o));return t=a.catch(()=>{}),a}},e.normalizeImport=async e=>e.then(e=>e.default||e),e.packageToGlobal=le,e.parseList=ie,e.patchFile=V,e.printBanner=ae,e.pushToGit=async function e(){const t=J.for(e),o=await R("git config user.name").promise,a=await R("git config user.email").promise;t.verbose(`cached git id: ${o}/${a}. changing to automation`),await R('git config user.email "automation@decaf.ts"').promise,await R('git config user.name "decaf"').promise,t.info("Pushing changes to git..."),await R("git add .").promise,await R('git commit -m "refs #1 - after repo setup"').promise,await R("git push").promise,await R(`git config user.email "${a}"`).promise,await R(`git config user.name "${o}"`).promise,t.verbose(`reverted to git id: ${o}/${a}`)},e.readFile=W,e.renameFile=X,e.runCommand=R,e.setPackageAttribute=(e,t,o=process.cwd())=>{const a=G(o);a[e]=t,q(v.default.join(o,"package.json"),JSON.stringify(a,null,2))},e.spawnCommand=U,e.updateDependencies=async function e(){const t=J.for(e);t.info("checking for updates..."),await R("npx npm-check-updates -u").promise,t.info("updating..."),await R("npx npm run do-install").promise},e.writeFile=q},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("prompts"),require("util"),require("@decaf-ts/logging"),require("fs"),require("path"),require("child_process"),require("styled-string-builder"),require("zlib"),require("https"),require("rollup"),require("@rollup/plugin-typescript"),require("@rollup/plugin-commonjs"),require("@rollup/plugin-node-resolve"),require("@rollup/plugin-json"),require("module"),require("typescript")):"function"==typeof define&&define.amd?define(["exports","prompts","util","@decaf-ts/logging","fs","path","child_process","styled-string-builder","zlib","https","rollup","@rollup/plugin-typescript","@rollup/plugin-commonjs","@rollup/plugin-node-resolve","@rollup/plugin-json","module","typescript"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).utils={},e.prompts,e.util,e.decafTsLogging,e.fs,e.path,e.childProcess,e.styledStringBuilder,e.zlib,e.https,e.rollup,e.rollupPluginTypescript,e.rollupPluginCommonjs,e.rollupPluginNodeResolve,e.rollupPluginJson,e.module,e.typescript);
1
+ var e,t;e=this,t=function(e,t,o,a,s,r,n,i,l,c,g,d,f,u,h,p,m){"use strict";function S(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function y(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(o=>{if("default"!==o){var a=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,a.get?a:{enumerable:!0,get:()=>e[o]})}}),t.default=e,Object.freeze(t)}var T=S(t),b=S(s),v=S(r),C=S(l),w=S(c),D=S(d),k=S(f),$=S(h),E=y(m);class I{static{this.logger=a.Logging.for(I)}constructor(e){this.type="text",this.name=e}setType(e){return I.logger.verbose("Setting type to: "+e),this.type=e,this}setMessage(e){return I.logger.verbose("Setting message to: "+e),this.message=e,this}setInitial(e){return I.logger.verbose("Setting initial value to: "+e),this.initial=e,this}setStyle(e){return I.logger.verbose("Setting style to: "+e),this.style=e,this}setFormat(e){return I.logger.verbose("Setting format function"),this.format=e,this}setValidate(e){return I.logger.verbose("Setting validate function"),this.validate=e,this}setOnState(e){return I.logger.verbose("Setting onState callback"),this.onState=e,this}setMin(e){return I.logger.verbose("Setting min value to: "+e),this.min=e,this}setMax(e){return I.logger.verbose("Setting max value to: "+e),this.max=e,this}setFloat(e){return I.logger.verbose("Setting float to: "+e),this.float=e,this}setRound(e){return I.logger.verbose("Setting round to: "+e),this.round=e,this}setInstructions(e){return I.logger.verbose("Setting instructions to: "+e),this.instructions=e,this}setIncrement(e){return I.logger.verbose("Setting increment to: "+e),this.increment=e,this}setSeparator(e){return I.logger.verbose("Setting separator to: "+e),this.separator=e,this}setActive(e){return I.logger.verbose("Setting active style to: "+e),this.active=e,this}setInactive(e){return I.logger.verbose("Setting inactive style to: "+e),this.inactive=e,this}setChoices(e){return I.logger.verbose("Setting choices: "+JSON.stringify(e)),this.choices=e,this}setHint(e){return I.logger.verbose("Setting hint to: "+e),this.hint=e,this}setWarn(e){return I.logger.verbose("Setting warn to: "+e),this.warn=e,this}setSuggest(e){return I.logger.verbose("Setting suggest function"),this.suggest=e,this}setLimit(e){return I.logger.verbose("Setting limit to: "+e),this.limit=e,this}setMask(e){return I.logger.verbose("Setting mask to: "+e),this.mask=e,this}setStdout(e){return I.logger.verbose("Setting stdout stream"),this.stdout=e,this}setStdin(e){return this.stdin=e,this}async ask(){return(await I.ask(this))[this.name]}static async ask(e){const t=I.logger.for(this.ask);let o;Array.isArray(e)||(e=[e]);try{t.verbose("Asking questions: "+e.map(e=>e.name).join(", ")),o=await T.default(e),t.verbose("Received answers: "+JSON.stringify(o,null,2))}catch(e){throw Error("Error while getting input: "+e)}return o}static async askNumber(e,t,o,a,s){I.logger.for(this.askNumber).verbose(`Asking number input: undefined, question: ${t}, min: ${o}, max: ${a}, initial: ${s}`);const r=new I(e).setMessage(t).setType("number");return"number"==typeof o&&r.setMin(o),"number"==typeof a&&r.setMax(a),"number"==typeof s&&r.setInitial(s),(await this.ask(r))[e]}static async askText(e,t,o=void 0,a){I.logger.for(this.askText).verbose(`Asking text input: undefined, question: ${t}, mask: ${o}, initial: ${a}`);const s=new I(e).setMessage(t);return o&&s.setMask(o),"string"==typeof a&&s.setInitial(a),(await this.ask(s))[e]}static async askConfirmation(e,t,o){I.logger.for(this.askConfirmation).verbose(`Asking confirmation input: undefined, question: ${t}, initial: ${o}`);const a=new I(e).setMessage(t).setType("confirm");return void 0!==o&&a.setInitial(o),(await this.ask(a))[e]}static async insist(e,t,o,a=1){const s=I.logger.for(this.insist);let r;s.verbose(`Insisting on input: ${e.name}, test: ${t.toString()}, defaultConfirmation: ${o}, limit: ${a}`);let n,i=0;try{do{r=(await I.ask(e))[e.name],t(r)?(n=await I.askConfirmation(e.name+"-confirm",`Is the ${e.type} correct?`,o),n||(r=void 0)):r=void 0}while(void 0===r&&a>1&&i++<a)}catch(e){throw s.error("Error while insisting: "+e),e}return void 0===r&&s.info("no selection..."),r}static async insistForText(e,t,o,a=void 0,s,r=!1,n=-1){I.logger.for(this.insistForText).verbose(`Insisting for text input: undefined, question: ${t}, test: ${o.toString()}, mask: ${a}, initial: ${s}, defaultConfirmation: ${r}, limit: ${n}`);const i=new I(e).setMessage(t);return a&&i.setMask(a),"string"==typeof s&&i.setInitial(s),await this.insist(i,o,r,n)}static async insistForNumber(e,t,o,a,s,r,n=!1,i=-1){I.logger.for(this.insistForNumber).verbose(`Insisting for number input: undefined, question: ${t}, test: ${o.toString()}, min: ${a}, max: ${s}, initial: ${r}, defaultConfirmation: ${n}, limit: ${i}`);const l=new I(e).setMessage(t).setType("number");return"number"==typeof a&&l.setMin(a),"number"==typeof s&&l.setMax(s),"number"==typeof r&&l.setInitial(r),await this.insist(l,o,n,i)}static parseArgs(e){const t=I.logger.for(this.parseArgs),a={args:process.argv.slice(2),options:e};t.debug("Parsing arguments: "+JSON.stringify(a,null,2));try{return o.parseArgs(a)}catch(o){throw t.debug(`Error while parsing arguments:\n${JSON.stringify(a,null,2)}\n | options\n${JSON.stringify(e,null,2)}\n | ${o}`),Error("Error while parsing arguments: "+o)}}}const F={verbose:{type:"boolean",short:"V",default:void 0},version:{type:"boolean",short:"v",default:void 0},help:{type:"boolean",short:"h",default:!1},logLevel:{type:"string",default:"info"},logStyle:{type:"boolean",default:!0},timestamp:{type:"boolean",default:!0},banner:{type:"boolean",default:!0}},x=Object.keys(F).reduce((e,t)=>(e[t]=F[t].default,e),{}),A="utf-8",N=/^(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z])))/g;var j;e.SemVersion=void 0,(j=e.SemVersion||(e.SemVersion={})).PATCH="patch",j.MINOR="minor",j.MAJOR="major";const B="-no-ci";var M;e.Tokens=void 0,(M=e.Tokens||(e.Tokens={})).GIT=".token",M.NPM=".npmtoken",M.DOCKER=".dockertoken",M.CONFLUENCE=".confluence-token";const P="Aborted";class L{constructor(e,t,...o){this.cmd=e,this.lock=t,this.logger=a.Logging.for(this.cmd)}log(e,t){t=Buffer.isBuffer(t)?t.toString(A):t;const o="stderr"===e?i.style(t).red.text:t;this.logger.info(o)}data(e){this.log("stdout",e+"")}error(e){this.log("stderr",e+"")}errors(e){this.log("stderr","Error executing command exited : "+e)}exit(e,t){this.log("stdout","command exited code : "+(0===e?i.style(e.toString()).green.text:i.style(null===e?"null":e.toString()).red.text)),0===e?this.resolve(t.map(e=>e.trim()).join("\n")):this.reject(Error(t.length?t.join("\n"):e.toString()))}parseCommand(e){return e="string"==typeof e?e.split(" "):e,this.cmd=e.join(" "),[e[0],e.slice(1)]}resolve(e){this.log("stdout",`${this.cmd} executed successfully: ${i.style(e?"ran to completion":e).green}`),this.lock.resolve(e)}reject(e){e instanceof Error||(e=Error("number"==typeof e?"Exit code "+e:e)),this.log("stderr",`${this.cmd} failed to execute: ${i.style(e.message).red}`),this.lock.reject(e)}}function O(e,...t){let o,a;if(e instanceof AbortSignal?(a=new AbortController,o=[e,...t]):(a=e,o=t),a.signal.aborted)return a;const s=()=>a.abort();for(const e of o){if(e.aborted){a.abort();break}e.addEventListener("abort",s,{once:!0,signal:a.signal})}return a}function U(e,t,o,a,s){function r(t,a){const[r,i]=e.parseCommand(t);s.info("Running command: "+r),s.debug("with args: "+i.join(" "));const l=n.spawn(r,i,{...o,cwd:o.cwd||process.cwd(),env:Object.assign({},process.env,o.env,{PATH:process.env.PATH}),shell:o.shell||!1,signal:a.signal});return s.verbose("pid : "+l.pid),l}const i=t.match(/[<>$#]/g);if(i)throw Error(`Invalid command: ${t}. contains invalid characters: ${i}`);if(t.includes(" | ")){const e=t.split(" | "),o=[],s=Array(e.length);s[0]=a;for(let t=0;t<e.length;t++)0!==t&&(s[t]=O(s[t-1].signal)),o.push(r(e[t],s[t])),0!==t&&o[t-1].stdout.pipe(o[t].stdin);return o[e.length-1]}return r(t,a)}function R(e,t={},o=L,...s){const r=a.Logging.for(R),n=new AbortController,i={abort:n,command:e,logs:[],errs:[]},l=new Promise((a,l)=>{let c;try{c=new o(e,{resolve:a,reject:l},...s),i.cmd=U(c,e,t,n,r)}catch(t){return l(Error(`Error running command ${e}: ${t}`))}i.cmd.stdout.setEncoding("utf8"),i.cmd.stdout.on("data",e=>{e=e.toString(),i.logs.push(e),c.data(e)}),i.cmd.stderr.on("data",e=>{e=e.toString(),i.errs.push(e),c.error(e)}),i.cmd.once("error",e=>{c.exit(e.message,i.errs)}),i.cmd.once("exit",(e=0)=>{n.signal.aborted&&null===e&&(e=P),c.exit(e,0===e?i.logs:i.errs)})});return Object.assign(i,{promise:l,pipe:async t=>{const o=r.for("pipe");try{o.verbose(`Executing pipe function ${e}...`);const a=await l;return o.verbose(`Piping output to ${t.name}: ${a}`),t(a)}catch(e){throw o.error("Error piping command output: "+e),e}}}),i}const J=a.Logging.for("fs");function V(e,t,o){const s=J.for(V);if(!b.default.existsSync(e))throw Error(`File not found at path "${e}".`);let r=W(e);s.verbose(`Patching file "${e}"...`),s.debug("with value: "+JSON.stringify(t));try{r=((e,t,o="g",s)=>(Object.entries(t).forEach(([t,r])=>{const n=RegExp(a.escapeRegExp(t),o);e=e.replace(n,e=>(!s||s(e),r))}),e))(r,t,"g",o)}catch(e){throw Error("Error patching file: "+e)}K(e,r)}function W(e){const t=J.for(W);try{return t.verbose(`Reading file "${e}"...`),b.default.readFileSync(e,"utf8")}catch(o){throw t.verbose(`Error reading file "${e}": ${o}`),Error(`Error reading file "${e}": ${o}`)}}function K(e,t){const o=J.for(K);try{o.verbose(`Writing file "${e} with ${t.length} bytes...`),b.default.writeFileSync(e,t,"utf8")}catch(t){throw o.verbose(`Error writing file "${e}": ${t}`),Error(`Error writing file "${e}": ${t}`)}}function q(e,t){const o=J.for(q),a=[];try{return o.verbose(`Retrieving all files from "${e}"...`),b.default.readdirSync(e).forEach(t=>{const o=v.default.join(e,t),s=b.default.statSync(o);s.isFile()?a.push(o):s.isDirectory()&&a.push(...q(o))}),t?a.filter(t):a}catch(t){throw o.verbose(`Error retrieving files from "${e}": ${t}`),Error(`Error retrieving files from "${e}": ${t}`)}}async function _(e,t){const o=J.for(_);let a,s;try{a=b.default.statSync(e)}catch(t){throw o.verbose(`Source path "${e}" does not exist: ${t}`),Error(`Source path "${e}" does not exist: ${t}`)}try{s=b.default.statSync(t)}catch(e){}if(s)throw o.verbose(`Destination path "${t}" already exists`),Error(`Destination path "${t}" already exists`);try{o.verbose(`Renaming ${a.isFile()?"file":"directory"} "${e}" to "${t}...`),b.default.renameSync(e,t),o.verbose(`Successfully renamed to "${t}"`)}catch(s){throw o.verbose(`Error renaming ${a.isFile()?"file":"directory"} "${e}" to "${t}": ${s}`),Error(`Error renaming ${a.isFile()?"file":"directory"} "${e}" to "${t}": ${s}`)}}function G(e,t){const o=J.for(G);let a,s;try{a=b.default.statSync(e)}catch(t){throw o.verbose(`Source path "${e}" does not exist: ${t}`),Error(`Source path "${e}" does not exist: ${t}`)}try{s=b.default.statSync(t)}catch(e){a.isDirectory()&&(o.verbose(`Dest path "${t}" does not exist. creating`),b.default.mkdirSync(t,{recursive:!0}))}try{o.verbose(`Copying ${a.isFile()?"file":"directory"} "${e}" to "${t}...`),b.default.cpSync(e,t,{recursive:!0})}catch(s){throw o.verbose(`Error copying ${a.isFile()?"file":"directory"} "${e}" to "${t}: ${s}`),Error(`Error copying ${a.isFile()?"file":"directory"} "${e}" to "${t}: ${s}`)}}function X(e){const t=J.for(X);try{const o=b.default.statSync(e);o.isFile()?(t.verbose(`Deleting file "${e}...`),b.default.rmSync(e,{recursive:!0,force:!0})):o.isDirectory()&&b.default.rmSync(e,{recursive:!0,force:!0})}catch(o){throw t.verbose(`Error Deleting "${e}": ${o}`),Error(`Error Deleting "${e}": ${o}`)}}function z(e=process.cwd(),t){let o;try{o=JSON.parse(W(v.default.join(e,"package.json")))}catch(e){throw Error('Failed to retrieve package information" '+e)}if(t){if(!(t in o))throw Error(`Property "${t}" not found in package.json`);return o[t]}return o}function H(e=process.cwd()){return z(e,"version")}async function Y(e=process.cwd()){let t;try{t=JSON.parse(await R("npm ls --json",{cwd:e}).promise)}catch(e){throw Error("Failed to retrieve dependencies: "+e)}const o=(e,t)=>({name:e[0],version:e[1].version});return{prod:Object.entries(t.dependencies||{}).map(o),dev:Object.entries(t.devDependencies||{}).map(o),peer:Object.entries(t.peerDependencies||{}).map(o)}}async function Z(e){const t=J.for(Z),o=e.prod||[],a=e.dev||[],s=e.peer||[];o.length&&(t.info(`Installing dependencies ${o.join(", ")}...`),await R("npm install "+o.join(" "),{cwd:process.cwd()}).promise),a.length&&(t.info(`Installing devDependencies ${a.join(", ")}...`),await R("npm install --save-dev "+a.join(" "),{cwd:process.cwd()}).promise),s.length&&(t.info(`Installing peerDependencies ${s.join(", ")}...`),await R("npm install --save-peer "+s.join(" "),{cwd:process.cwd()}).promise)}async function Q(e){const t=J.for(Q);try{const o=b.default.readdirSync(e).map(t=>v.default.join(e,t)).filter(e=>{try{return b.default.statSync(e).isFile()&&(e.endsWith(".js")||e.endsWith(".cjs")||e.endsWith(".mjs"))}catch{return!1}});if(0===o.length)throw Error("No JS files found in directory "+e);let a=o[0],s=b.default.statSync(a).size;for(const e of o.slice(1)){const t=b.default.statSync(e).size;s>t&&(a=e,s=t)}t.verbose(`Selected smallest bundle: ${a} (${s} bytes)`);const r=b.default.readFileSync(a),n=C.default.gzipSync(r),i=Number((n.length/1024).toFixed(1));return t.verbose(`Gzipped size: ${n.length} bytes (${i} KB)`),i}catch(o){throw t.verbose(`Failed to compute gzipped size for ${e}: ${o}`),o}}function ee(e=v.default.join(process.cwd(),"node_modules")){const t=J.for(ee);try{if(!b.default.existsSync(e))return[];const o=b.default.readdirSync(e,{withFileTypes:!0}),a=[];for(const s of o)try{if(!s.isDirectory())continue;if(s.name.startsWith("."))continue;if(s.name.startsWith("@")){const o=v.default.join(e,s.name);try{const e=b.default.readdirSync(o,{withFileTypes:!0});for(const t of e)t.isDirectory()&&!t.name.startsWith(".")&&a.push(`${s.name}/${t.name}`)}catch(e){t.verbose(`Failed to read scope ${o}: ${e}`)}}else a.push(s.name)}catch(e){t.verbose(`Skipping entry ${s.name} due to error: ${e}`)}return a}catch(o){return t.verbose(`Failed to list node_modules packages at ${e}: ${o}`),[]}}const te=[{Slogan:"No caffeine, no chaos. Just clean code.",Tags:"Coffee-themed, Calm, Tech"},{Slogan:"Full flavor, no jitters. That's Decaf-TS.",Tags:"Coffee-themed, Cheerful"},{Slogan:"Chill fullstack. Powered by Decaf.",Tags:"Coffee-themed, Fun, Tech"},{Slogan:"Decaf-TS: Brewed for calm code.",Tags:"Coffee-themed, Branding"},{Slogan:"Smooth as your morning Decaf.",Tags:"Coffee-themed, Chill"},{Slogan:"All the kick, none of the crash.",Tags:"Coffee-themed, Energetic"},{Slogan:"Sip back and ship faster.",Tags:"Coffee-themed, Fun"},{Slogan:"Keep calm and code Decaf.",Tags:"Coffee-themed, Playful"},{Slogan:"Code without the caffeine shakes.",Tags:"Coffee-themed, Humorous"},{Slogan:"Your fullstack, decaffeinated.",Tags:"Coffee-themed, Technical"},{Slogan:"No caffeine, no chaos. Just clean code.",Tags:"Coffee-themed, Calm, Tech"},{Slogan:"Full flavor, no jitters. That\u2019s Decaf-TS.",Tags:"Coffee-themed, Cheerful"},{Slogan:"Chill fullstack. Powered by Decaf.",Tags:"Coffee-themed, Fun, Tech"},{Slogan:"Decaf-TS: Brewed for calm code.",Tags:"Coffee-themed, Branding"},{Slogan:"Smooth as your morning Decaf.",Tags:"Coffee-themed, Chill"},{Slogan:"All the kick, none of the crash.",Tags:"Coffee-themed, Energetic"},{Slogan:"Sip back and ship faster.",Tags:"Coffee-themed, Fun"},{Slogan:"Keep calm and code Decaf.",Tags:"Coffee-themed, Playful"},{Slogan:"Code without the caffeine shakes.",Tags:"Coffee-themed, Humorous"},{Slogan:"Your fullstack, decaffeinated.",Tags:"Coffee-themed, Technical"},{Slogan:"No caffeine, no chaos. Just clean code.",Tags:"Coffee-themed, Calm, Tech"},{Slogan:"Full flavor, no jitters. That\u2019s Decaf-TS.",Tags:"Coffee-themed, Cheerful"},{Slogan:"Chill fullstack. Powered by Decaf.",Tags:"Coffee-themed, Fun, Tech"},{Slogan:"Decaf-TS: Brewed for calm code.",Tags:"Coffee-themed, Branding"},{Slogan:"Smooth as your morning Decaf.",Tags:"Coffee-themed, Chill"},{Slogan:"All the kick, none of the crash.",Tags:"Coffee-themed, Energetic"},{Slogan:"Sip back and ship faster.",Tags:"Coffee-themed, Fun"},{Slogan:"Keep calm and code Decaf.",Tags:"Coffee-themed, Playful"},{Slogan:"Code without the caffeine shakes.",Tags:"Coffee-themed, Humorous"},{Slogan:"Your fullstack, decaffeinated.",Tags:"Coffee-themed, Technical"},{Slogan:"No caffeine, no chaos. Just clean code.",Tags:"Coffee-themed, Calm, Tech"},{Slogan:"Full flavor, no jitters. That\u2019s Decaf-TS.",Tags:"Coffee-themed, Cheerful"},{Slogan:"Chill fullstack. Powered by Decaf.",Tags:"Coffee-themed, Fun, Tech"},{Slogan:"Decaf-TS: Brewed for calm code.",Tags:"Coffee-themed, Branding"},{Slogan:"Smooth as your morning Decaf.",Tags:"Coffee-themed, Chill"},{Slogan:"All the kick, none of the crash.",Tags:"Coffee-themed, Energetic"},{Slogan:"Sip back and ship faster.",Tags:"Coffee-themed, Fun"},{Slogan:"Keep calm and code Decaf.",Tags:"Coffee-themed, Playful"},{Slogan:"Code without the caffeine shakes.",Tags:"Coffee-themed, Humorous"},{Slogan:"Your fullstack, decaffeinated.",Tags:"Coffee-themed, Technical"},{Slogan:"No caffeine, no chaos. Just clean code.",Tags:"Coffee-themed, Calm, Tech"},{Slogan:"Full flavor, no jitters. That\u2019s Decaf-TS.",Tags:"Coffee-themed, Cheerful"},{Slogan:"Chill fullstack. Powered by Decaf.",Tags:"Coffee-themed, Fun, Tech"},{Slogan:"Decaf-TS: Brewed for calm code.",Tags:"Coffee-themed, Branding"},{Slogan:"Smooth as your morning Decaf.",Tags:"Coffee-themed, Chill"},{Slogan:"All the kick, none of the crash.",Tags:"Coffee-themed, Energetic"},{Slogan:"Sip back and ship faster.",Tags:"Coffee-themed, Fun"},{Slogan:"Keep calm and code Decaf.",Tags:"Coffee-themed, Playful"},{Slogan:"Code without the caffeine shakes.",Tags:"Coffee-themed, Humorous"},{Slogan:"Your fullstack, decaffeinated.",Tags:"Coffee-themed, Technical"},{Slogan:"No caffeine, no chaos. Just clean code.",Tags:"Coffee-themed, Calm, Tech"},{Slogan:"Full flavor, no jitters. That\u2019s Decaf-TS.",Tags:"Coffee-themed, Cheerful"},{Slogan:"Chill fullstack. Powered by Decaf.",Tags:"Coffee-themed, Fun, Tech"},{Slogan:"Decaf-TS: Brewed for calm code.",Tags:"Coffee-themed, Branding"},{Slogan:"Smooth as your morning Decaf.",Tags:"Coffee-themed, Chill"},{Slogan:"All the kick, none of the crash.",Tags:"Coffee-themed, Energetic"},{Slogan:"Sip back and ship faster.",Tags:"Coffee-themed, Fun"},{Slogan:"Keep calm and code Decaf.",Tags:"Coffee-themed, Playful"},{Slogan:"Code without the caffeine shakes.",Tags:"Coffee-themed, Humorous"},{Slogan:"Your fullstack, decaffeinated.",Tags:"Coffee-themed, Technical"},{Slogan:"No caffeine, no chaos. Just clean code.",Tags:"Coffee-themed, Calm, Tech"},{Slogan:"Full flavor, no jitters. That\u2019s Decaf-TS.",Tags:"Coffee-themed, Cheerful"},{Slogan:"Chill fullstack. Powered by Decaf.",Tags:"Coffee-themed, Fun, Tech"},{Slogan:"Decaf-TS: Brewed for calm code.",Tags:"Coffee-themed, Branding"},{Slogan:"Smooth as your morning Decaf.",Tags:"Coffee-themed, Chill"},{Slogan:"All the kick, none of the crash.",Tags:"Coffee-themed, Energetic"},{Slogan:"Sip back and ship faster.",Tags:"Coffee-themed, Fun"},{Slogan:"Keep calm and code Decaf.",Tags:"Coffee-themed, Playful"},{Slogan:"Code without the caffeine shakes.",Tags:"Coffee-themed, Humorous"},{Slogan:"Your fullstack, decaffeinated.",Tags:"Coffee-themed, Technical"},{Slogan:"No caffeine, no chaos. Just clean code.",Tags:"Coffee-themed, Calm, Tech"},{Slogan:"Full flavor, no jitters. That\u2019s Decaf-TS.",Tags:"Coffee-themed, Cheerful"},{Slogan:"Chill fullstack. Powered by Decaf.",Tags:"Coffee-themed, Fun, Tech"},{Slogan:"Decaf-TS: Brewed for calm code.",Tags:"Coffee-themed, Branding"},{Slogan:"Smooth as your morning Decaf.",Tags:"Coffee-themed, Chill"},{Slogan:"All the kick, none of the crash.",Tags:"Coffee-themed, Energetic"},{Slogan:"Sip back and ship faster.",Tags:"Coffee-themed, Fun"},{Slogan:"Keep calm and code Decaf.",Tags:"Coffee-themed, Playful"},{Slogan:"Code without the caffeine shakes.",Tags:"Coffee-themed, Humorous"},{Slogan:"Your fullstack, decaffeinated.",Tags:"Coffee-themed, Technical"},{Slogan:"No caffeine, no chaos. Just clean code.",Tags:"Coffee-themed, Calm, Tech"},{Slogan:"Full flavor, no jitters. That\u2019s Decaf-TS.",Tags:"Coffee-themed, Cheerful"},{Slogan:"Chill fullstack. Powered by Decaf.",Tags:"Coffee-themed, Fun, Tech"},{Slogan:"Decaf-TS: Brewed for calm code.",Tags:"Coffee-themed, Branding"},{Slogan:"Smooth as your morning Decaf.",Tags:"Coffee-themed, Chill"},{Slogan:"All the kick, none of the crash.",Tags:"Coffee-themed, Energetic"},{Slogan:"Sip back and ship faster.",Tags:"Coffee-themed, Fun"},{Slogan:"Keep calm and code Decaf.",Tags:"Coffee-themed, Playful"},{Slogan:"Code without the caffeine shakes.",Tags:"Coffee-themed, Humorous"},{Slogan:"Your fullstack, decaffeinated.",Tags:"Coffee-themed, Technical"},{Slogan:"No caffeine, no chaos. Just clean code.",Tags:"Coffee-themed, Calm, Tech"},{Slogan:"Full flavor, no jitters. That\u2019s Decaf-TS.",Tags:"Coffee-themed, Cheerful"},{Slogan:"Chill fullstack. Powered by Decaf.",Tags:"Coffee-themed, Fun, Tech"},{Slogan:"Decaf-TS: Brewed for calm code.",Tags:"Coffee-themed, Branding"},{Slogan:"Smooth as your morning Decaf.",Tags:"Coffee-themed, Chill"},{Slogan:"All the kick, none of the crash.",Tags:"Coffee-themed, Energetic"},{Slogan:"Sip back and ship faster.",Tags:"Coffee-themed, Fun"},{Slogan:"Keep calm and code Decaf.",Tags:"Coffee-themed, Playful"},{Slogan:"Code without the caffeine shakes.",Tags:"Coffee-themed, Humorous"},{Slogan:"Your fullstack, decaffeinated.",Tags:"Coffee-themed, Technical"},{Slogan:"Decaf-TS: Where smart contracts meet smart interfaces.",Tags:"Blockchain, Smart Contracts, Tech"},{Slogan:"Ship dApps without the stress.",Tags:"Blockchain, Cheerful, Developer"},{Slogan:"No CRUD, no problem \u2014 Decaf your data.",Tags:"Data, No-CRUD, Chill"},{Slogan:"From DID to UI, without breaking a sweat.",Tags:"DID, SSI, UI, Calm"},{Slogan:"Decaf-TS: Your frontend already understands your smart contract.",Tags:"Smart Contracts, DX, Magic"},{Slogan:"Self-sovereign by design. Productive by default.",Tags:"SSI, Developer, Calm"},{Slogan:"Build once. Deploy everywhere. Decentralized and delightful.",Tags:"Blockchain, Multi-platform, Happy"},{Slogan:"Data that defines its own destiny.",Tags:"SSI, Data-driven, Empowerment"},{Slogan:"Goodbye CRUD, hello intent-based interfaces.",Tags:"No-CRUD, UI, Technical"},{Slogan:"The smoothest path from DID to done.",Tags:"DID, Workflow, Chill"},{Slogan:"Because your dApp deserves more than boilerplate.",Tags:"Blockchain, DevX, Efficiency"},{Slogan:"Own your data. Own your flow.",Tags:"SSI, Control, Ownership"},{Slogan:"Write logic like it belongs with the data \u2014 because it does.",Tags:"Data Logic, Developer, Smart"},{Slogan:"From smart contracts to smarter frontends.",Tags:"Smart Contracts, UI, DX"},{Slogan:"No caffeine. No CRUD. Just the future.",Tags:"No-CRUD, Coffee-themed, Futuristic"},{Slogan:"The future of web3 UX is Decaf.",Tags:"Blockchain, UX, Vision"},{Slogan:"Code with confidence. Govern with clarity.",Tags:"Blockchain, Governance, Calm"},{Slogan:"Interfaces that obey the data, not the other way around.",Tags:"UI, Data Logic, Self-aware"},{Slogan:"Brew business logic right into your bytes.",Tags:"Data Logic, Coffee-themed, Fun"},{Slogan:"DIDs done differently \u2014 and delightfully.",Tags:"DID, Self-Sovereign, Playful"},{Slogan:"Decaf-TS-TS: Where blockchain contracts meet smart interfaces.",Tags:"Blockchain, Smart Contracts, Tech"},{Slogan:"Ship dApps without the stress.",Tags:"Blockchain, Cheerful, Developer"},{Slogan:"No boilerplate, no problem \u2014 Decaf-TS your data.",Tags:"Data, No-CRUD, Chill"},{Slogan:"From DID to UI, without breaking a sweat.",Tags:"DID, SSI, UI, Calm"},{Slogan:"Decaf-TS-TS: Your frontend already understands your blockchain contract.",Tags:"Smart Contracts, DX, Magic"},{Slogan:"Self-sovereign by design. Productive by default.",Tags:"SSI, Developer, Calm"},{Slogan:"Build once. Deploy everywhere. Decentralized and delightful.",Tags:"Blockchain, Multi-platform, Happy"},{Slogan:"Data that defines its own destiny.",Tags:"SSI, Data-driven, Empowerment"},{Slogan:"Goodbye boilerplate, hello intent-based interfaces.",Tags:"No-CRUD, UI, Technical"},{Slogan:"The smoothest path from DID to done.",Tags:"DID, Workflow, Chill"},{Slogan:"Because your dApp deserves more than boilerplate.",Tags:"Blockchain, DevX, Efficiency"},{Slogan:"Own your data. Own your flow.",Tags:"SSI, Control, Ownership"},{Slogan:"Write logic like it belongs with the data \u2014 because it does.",Tags:"Data Logic, Developer, Smart"},{Slogan:"From blockchain contracts to smarter frontends.",Tags:"Smart Contracts, UI, DX"},{Slogan:"No caffeine. No boilerplate. Just the future.",Tags:"No-CRUD, Coffee-themed, Futuristic"},{Slogan:"The future of web3 UX is Decaf-TS.",Tags:"Blockchain, UX, Vision"},{Slogan:"Code with confidence. Govern with clarity.",Tags:"Blockchain, Governance, Calm"},{Slogan:"Interfaces that obey the data, not the other way around.",Tags:"UI, Data Logic, Self-aware"},{Slogan:"Brew business logic right into your bytes.",Tags:"Data Logic, Coffee-themed, Fun"},{Slogan:"DIDs done differently \u2014 and delightfully.",Tags:"DID, Self-Sovereign, Playful"},{Slogan:"Decaf-TS-TS: Where blockchain contracts meet smart interfaces.",Tags:"Blockchain, Smart Contracts, Tech"},{Slogan:"Ship dApps without the stress.",Tags:"Blockchain, Cheerful, Developer"},{Slogan:"No boilerplate, no problem \u2014 Decaf-TS your data.",Tags:"Data, No-CRUD, Chill"},{Slogan:"From DID to UI, without breaking a sweat.",Tags:"DID, SSI, UI, Calm"},{Slogan:"Decaf-TS-TS: Your frontend already understands your blockchain contract.",Tags:"Smart Contracts, DX, Magic"},{Slogan:"Self-sovereign by design. Productive by default.",Tags:"SSI, Developer, Calm"},{Slogan:"Build once. Deploy everywhere. Decentralized and delightful.",Tags:"Blockchain, Multi-platform, Happy"},{Slogan:"Data that defines its own destiny.",Tags:"SSI, Data-driven, Empowerment"},{Slogan:"Goodbye boilerplate, hello intent-based interfaces.",Tags:"No-CRUD, UI, Technical"},{Slogan:"The smoothest path from DID to done.",Tags:"DID, Workflow, Chill"},{Slogan:"Because your dApp deserves more than boilerplate.",Tags:"Blockchain, DevX, Efficiency"},{Slogan:"Own your data. Own your flow.",Tags:"SSI, Control, Ownership"},{Slogan:"Write logic like it belongs with the data \u2014 because it does.",Tags:"Data Logic, Developer, Smart"},{Slogan:"From blockchain contracts to smarter frontends.",Tags:"Smart Contracts, UI, DX"},{Slogan:"No caffeine. No boilerplate. Just the future.",Tags:"No-CRUD, Coffee-themed, Futuristic"},{Slogan:"The future of web3 UX is Decaf-TS.",Tags:"Blockchain, UX, Vision"},{Slogan:"Code with confidence. Govern with clarity.",Tags:"Blockchain, Governance, Calm"},{Slogan:"Interfaces that obey the data, not the other way around.",Tags:"UI, Data Logic, Self-aware"},{Slogan:"Brew business logic right into your bytes.",Tags:"Data Logic, Coffee-themed, Fun"},{Slogan:"DIDs done differently \u2014 and delightfully.",Tags:"DID, Self-Sovereign, Playful"},{Slogan:"Decaf-TS-TS: Where blockchain contracts meet smart interfaces.",Tags:"Blockchain, Smart Contracts, Tech"},{Slogan:"Ship dApps without the stress.",Tags:"Blockchain, Cheerful, Developer"},{Slogan:"No boilerplate, no problem \u2014 Decaf-TS your data.",Tags:"Data, No-CRUD, Chill"},{Slogan:"From DID to UI, without breaking a sweat.",Tags:"DID, SSI, UI, Calm"},{Slogan:"Decaf-TS-TS: Your frontend already understands your blockchain contract.",Tags:"Smart Contracts, DX, Magic"},{Slogan:"Self-sovereign by design. Productive by default.",Tags:"SSI, Developer, Calm"},{Slogan:"Build once. Deploy everywhere. Decentralized and delightful.",Tags:"Blockchain, Multi-platform, Happy"},{Slogan:"Data that defines its own destiny.",Tags:"SSI, Data-driven, Empowerment"},{Slogan:"Goodbye boilerplate, hello intent-based interfaces.",Tags:"No-CRUD, UI, Technical"},{Slogan:"The smoothest path from DID to done.",Tags:"DID, Workflow, Chill"},{Slogan:"Because your dApp deserves more than boilerplate.",Tags:"Blockchain, DevX, Efficiency"},{Slogan:"Own your data. Own your flow.",Tags:"SSI, Control, Ownership"},{Slogan:"Write logic like it belongs with the data \u2014 because it does.",Tags:"Data Logic, Developer, Smart"},{Slogan:"From blockchain contracts to smarter frontends.",Tags:"Smart Contracts, UI, DX"},{Slogan:"No caffeine. No boilerplate. Just the future.",Tags:"No-CRUD, Coffee-themed, Futuristic"},{Slogan:"The future of web3 UX is Decaf-TS.",Tags:"Blockchain, UX, Vision"},{Slogan:"Code with confidence. Govern with clarity.",Tags:"Blockchain, Governance, Calm"},{Slogan:"Interfaces that obey the data, not the other way around.",Tags:"UI, Data Logic, Self-aware"},{Slogan:"Brew business logic right into your bytes.",Tags:"Data Logic, Coffee-themed, Fun"},{Slogan:"DIDs done differently \u2014 and delightfully.",Tags:"DID, Self-Sovereign, Playful"},{Slogan:"Decaf-TS-TS: Where blockchain contracts meet smart interfaces.",Tags:"Blockchain, Smart Contracts, Tech"},{Slogan:"Ship dApps without the stress.",Tags:"Blockchain, Cheerful, Developer"},{Slogan:"No boilerplate, no problem \u2014 Decaf-TS your data.",Tags:"Data, No-CRUD, Chill"},{Slogan:"From DID to UI, without breaking a sweat.",Tags:"DID, SSI, UI, Calm"},{Slogan:"Decaf-TS-TS: Your frontend already understands your blockchain contract.",Tags:"Smart Contracts, DX, Magic"},{Slogan:"Self-sovereign by design. Productive by default.",Tags:"SSI, Developer, Calm"},{Slogan:"Build once. Deploy everywhere. Decentralized and delightful.",Tags:"Blockchain, Multi-platform, Happy"},{Slogan:"Data that defines its own destiny.",Tags:"SSI, Data-driven, Empowerment"},{Slogan:"Goodbye boilerplate, hello intent-based interfaces.",Tags:"No-CRUD, UI, Technical"},{Slogan:"The smoothest path from DID to done.",Tags:"DID, Workflow, Chill"},{Slogan:"Because your dApp deserves more than boilerplate.",Tags:"Blockchain, DevX, Efficiency"},{Slogan:"Own your data. Own your flow.",Tags:"SSI, Control, Ownership"},{Slogan:"Write logic like it belongs with the data \u2014 because it does.",Tags:"Data Logic, Developer, Smart"},{Slogan:"From blockchain contracts to smarter frontends.",Tags:"Smart Contracts, UI, DX"},{Slogan:"No caffeine. No boilerplate. Just the future.",Tags:"No-CRUD, Coffee-themed, Futuristic"},{Slogan:"The future of web3 UX is Decaf-TS.",Tags:"Blockchain, UX, Vision"},{Slogan:"Code with confidence. Govern with clarity.",Tags:"Blockchain, Governance, Calm"},{Slogan:"Interfaces that obey the data, not the other way around.",Tags:"UI, Data Logic, Self-aware"},{Slogan:"Brew business logic right into your bytes.",Tags:"Data Logic, Coffee-themed, Fun"},{Slogan:"DIDs done differently \u2014 and delightfully.",Tags:"DID, Self-Sovereign, Playful"}],oe=["\x1b[38;5;215m","\x1b[38;5;209m","\x1b[38;5;205m","\x1b[38;5;210m","\x1b[38;5;217m","\x1b[38;5;216m","\x1b[38;5;224m","\x1b[38;5;230m","\x1b[38;5;230m"];function ae(e){const t=se(),o="# \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \n# ( ( \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \n# ) ) \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \n# [=======] \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \n# `-----\xb4 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \n# \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \n# \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591\u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2593\u2592\u2591 \u2591\u2592\u2593\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2593\u2592\u2591 \n#".split("\n"),a=o.reduce((e,t)=>Math.max(e,t.length),0);o.push("# "+t.padStart(a-3)),o.forEach((t,o)=>{(e?e.info.bind(e):(()=>{}).bind())(i.style(t||"").raw(oe[o]).text)})}function se(e){try{return e=void 0===e?Math.floor(Math.random()*te.length):e,te[e].Slogan}catch(e){throw Error("Failed to retrieve slogans: "+e)}}class re extends a.LoggedClass{constructor(e,t={},o=[]){super(),this.name=e,this.inputs=t,this.requirements=o,re.log||Object.defineProperty(re,"log",{writable:!1,value:a.Logging.for(re.name)}),this.inputs=Object.assign({},F,t)}async checkRequirements(){const{prod:e,dev:t,peer:o}=await Y(),a=[],s=Array.from(new Set([...e,...t,...o]).values()).map(e=>e.name);for(const e of this.requirements)s.includes(e)||a.push(e);a.length}help(e){return this.log.info("This is help. I'm no use because I should have been overridden.")}async execute(){const e=I.parseArgs(this.inputs),t=a.LoggedEnvironment.accumulate(x).accumulate(e.values),{version:o,help:s,banner:r}=t;if(o)return H();if(s)return this.help(e);let n;r&&ae(this.log.for(ae,{timestamp:!1,style:!1,context:!1,logLevel:!1}));try{n=await this.run(t)}catch(e){throw e}return n}}class ne{static{this.log=a.Logging.for(ne)}static async downloadFile(e){return new Promise((t,o)=>{!function e(a){a=encodeURI(a),w.default.get(a,s=>{if(301===s.statusCode||307===s.statusCode)return e(s.headers.location);if(200!==s.statusCode)return ne.log.error(`Failed to fetch ${a} (status: ${s.statusCode})`),o(Error("Failed to fetch "+a));let r="";s.on("data",e=>{r+=e}),s.on("error",e=>{o(e)}),s.on("end",()=>{t(r)})})}(e)})}}function ie(e){return e?Array.isArray(e)?e.map(e=>(""+e).trim()).filter(Boolean):(""+e).split(",").map(e=>e.trim()).filter(Boolean):[]}function le(e){return e.replace(/^@/,"").split(/[/\-_.]+/).filter(Boolean).map((e,t)=>0===t?e.replace(/[^a-zA-Z0-9]/g,""):`${e.charAt(0).toUpperCase()}${e.slice(1)}`).join("")}function ce(){let e;try{e=z(process.cwd())}catch{e=void 0}try{if(!e||!(Object.keys(e.dependencies||{}).length>0||Object.keys(e.devDependencies||{}).length>0||Object.keys(e.peerDependencies||{}).length>0)){const t=v.default.resolve(__dirname,"../../..");try{e=z(t)}catch{}}}catch{}const t=Object.keys(e&&e.dependencies||{}),o=Object.keys(e&&e.peerDependencies||{}),a=Object.keys(e&&e.devDependencies||{});return Array.from(new Set([...t,...o,...a]))}const ge="##VERSION##",de="##PACKAGE##",fe="##PACKAGE_SIZE##";var ue,he;(e=>{e.CJS="commonjs",e.ESM="es2022"})(ue||(ue={})),(e=>{e.BUILD="build",e.BUNDLE="bundle",e.ALL="all"})(he||(he={}));const pe={prod:{type:"boolean",default:!1},dev:{type:"boolean",default:!1},buildMode:{type:"string",default:he.ALL},includes:{type:"string",default:""},externals:{type:"string",default:""},docs:{type:"boolean",default:!1},commands:{type:"boolean",default:!1},banner:{type:"boolean",default:!1}},me=(e=".cjs")=>{const t=Se.log.for(me),o=new Map;return a=>s=>{const r=v.default.dirname(s.fileName);function n(a){const s=JSON.stringify([r,a]),n=o.get(s);if(null!=n)return n;let i,l=a;try{l=v.default.resolve(r,l+".ts")}catch(e){throw Error(`Failed to resolve path ${a}: ${e}`)}try{i=b.default.statSync(l)}catch(e){try{t.verbose(`Testing existence of path ${l} as a folder defaulting to index file`),i=b.default.statSync(l.replace(/\.ts$/gm,""))}catch(t){throw Error(`Failed to resolve path ${a}: ${e}, ${t}`)}}if(i.isDirectory()&&(l=l.replace(/\.ts$/gm,"/index.ts")),v.default.isAbsolute(l)){const t=(/\.tsx?$/.exec(v.default.basename(l))||[])[0]||void 0;l="./"+v.default.relative(r,v.default.resolve(v.default.dirname(l),v.default.basename(l,t)+e))}return o.set(s,l),l}return E.visitNode(s,function e(t){if((e=>!(!E.isImportDeclaration(e)&&!E.isExportDeclaration(e)||void 0===e.moduleSpecifier||!E.isStringLiteral(e.moduleSpecifier)||!e.moduleSpecifier.text.startsWith("./")&&!e.moduleSpecifier.text.startsWith("../")||""!==v.default.extname(e.moduleSpecifier.text)))(t)){if(E.isImportDeclaration(t)){const e=n(t.moduleSpecifier.text),o=a.factory.createStringLiteral(e);return a.factory.updateImportDeclaration(t,t.modifiers,t.importClause,o,void 0)}if(E.isExportDeclaration(t)){const e=n(t.moduleSpecifier.text),o=a.factory.createStringLiteral(e);return a.factory.updateExportDeclaration(t,t.modifiers,t.isTypeOnly,t.exportClause,o,void 0)}}return E.visitEachChild(t,e,a)})}};class Se extends re{constructor(){super("BuildScripts",Object.assign({},F,pe)),this.replacements={};const e=z(),{name:t,version:o}=e;this.pkgName=t.includes("@")?t.split("/")[1]:t,this.pkgVersion=o,this.replacements[ge]=this.pkgVersion,this.replacements[de]=t}patchFiles(e){const t=this.log.for(this.patchFiles),{name:o,version:a}=z();t.info(`Patching ${o} ${a} module in ${e}...`),b.default.statSync(e).isDirectory()&&b.default.readdirSync(e,{withFileTypes:!0,recursive:!0}).filter(e=>e.isFile()).forEach(e=>V(v.default.join(e.parentPath,e.name),Object.entries(this.replacements).reduce((e,[o,a])=>{switch(o){case ge:t.debug("Found VERSION string to replace"),e[`export const VERSION = "${ge}";`]=`export const VERSION = "${a}";`;break;case de:t.debug("Found PACKAGE_NAME string to replace"),e[`export const PACKAGE_NAME = "${de}";`]=`export const PACKAGE_NAME = "${a}";`;break;default:e[o]=a}return e},{}))),t.verbose(`Module ${o} ${a} patched in ${e}...`)}reportDiagnostics(e,t){const o=this.formatDiagnostics(e);try{this.log[t](o)}catch(e){throw e}return o}formatDiagnostics(e){return e.map(e=>{let t="";if(e.file&&e.start){const{line:o,character:a}=e.file.getLineAndCharacterOfPosition(e.start);t+=`${e.file.fileName} (${o+1},${a+1})`}return t+=": "+E.flattenDiagnosticMessageText(e.messageText,"\n"),t}).join("\n")}readConfigFile(e){const t=b.default.readFileSync(e).toString(),o=E.parseConfigFileTextToJson(e,t),s=o.config;s||this.reportDiagnostics([o.error],a.LogLevel.error);const r=E.parseJsonConfigFileContent(s,E.sys,v.default.dirname(e));return r.errors.length>0&&this.reportDiagnostics(r.errors,a.LogLevel.error),r}evalDiagnostics(e){if(e&&e.length>0){const t=e.filter(e=>e.category===E.DiagnosticCategory.Error),o=e.filter(e=>e.category===E.DiagnosticCategory.Warning),s=e.filter(e=>e.category===E.DiagnosticCategory.Suggestion),r=e.filter(e=>e.category===E.DiagnosticCategory.Message);if(o.length&&this.reportDiagnostics(o,a.LogLevel.warn),t.length)throw this.reportDiagnostics(e,a.LogLevel.error),Error(`TypeScript reported ${e.length} diagnostic(s) during check; aborting.`);s.length&&this.reportDiagnostics(s,a.LogLevel.info),r.length&&this.reportDiagnostics(r,a.LogLevel.info)}}preCheckDiagnostics(e){const t=E.getPreEmitDiagnostics(e);this.evalDiagnostics(t)}async checkTsDiagnostics(e,t,o=!1){const a=this.log.for(this.checkTsDiagnostics);let s;try{s=this.readConfigFile("./tsconfig.json")}catch(e){throw Error("Failed to parse tsconfig.json: "+e)}o?(s.options.module=m.ModuleKind.AMD,s.options.outDir="dist",s.options.isolatedModules=!1,s.options.outFile=this.pkgName):(s.options.outDir="lib"+(t===ue.ESM?"/esm":""),s.options.module=t===ue.ESM?m.ModuleKind.ES2022:m.ModuleKind.CommonJS),s.options.inlineSourceMap=!1,s.options.inlineSources=!1,s.options.sourceMap=!0;const r=E.createProgram(s.fileNames,s.options);this.preCheckDiagnostics(r),a.verbose(`TypeScript checks passed (${o?"bundle":"normal"} mode).`)}async buildTs(e,t,o=!1){let a;this.log.for(this.buildTs).info(`Building ${this.pkgName} ${this.pkgVersion} module (${t}) in ${e?"dev":"prod"} mode...`);try{a=this.readConfigFile("./tsconfig.json")}catch(e){throw Error("Failed to parse tsconfig.json: "+e)}o?(a.options.module=m.ModuleKind.AMD,a.options.outDir="dist",a.options.isolatedModules=!1,a.options.outFile=this.pkgName):(a.options.outDir="lib"+(t===ue.ESM?"/esm":""),a.options.module=t===ue.ESM?m.ModuleKind.ES2022:m.ModuleKind.CommonJS),e?(a.options.inlineSourceMap=!0,a.options.inlineSources=!0,a.options.sourceMap=!1):(a.options.inlineSourceMap=!1,a.options.inlineSources=!1,a.options.sourceMap=!0);const s=E.createProgram(a.fileNames,a.options),r={};t===ue.CJS?r.before=[me(".cjs")]:t===ue.ESM&&(r.before=[me(".js")]);const n=s.emit(void 0,void 0,void 0,void 0,r),i=E.getPreEmitDiagnostics(s).concat(n.diagnostics);this.evalDiagnostics(i)}async build(e,t,o=!1){const a=this.log.for(this.build);if(await this.buildTs(e,t,o),a.verbose(`Module ${this.pkgName} ${this.pkgVersion} (${t}) built in ${e?"dev":"prod"} mode...`),t===ue.CJS&&!o){const e=q("lib",e=>e.endsWith(".js")&&!e.includes("/esm/"));for(const t of e){a.verbose(`Patching ${t}'s cjs imports...`);const e=t.replace(".js",".cjs");await _(t,e)}}}copyAssets(e){const t=this.log.for(this.copyAssets);let o=!1;try{o=b.default.statSync("./src/assets").isDirectory()}catch(e){return t.verbose("No assets found in ./src/assets to copy")}o&&G("./src/assets",`./${e===ue.CJS?"lib":"dist"}/assets`)}async bundle(e,t,o,a="src/index.ts",s=this.pkgName,r,n=["prompts","styled-string-builder","typed-object-accumulator","@decaf-ts/logging"]){await this.checkTsDiagnostics(t,e,!0);const i=e===ue.ESM,l=this.pkgName,c=this.log,d=Array.from(new Set([...ie(n)]));let f=ie(r);if(0===f.length){try{f=ee(v.default.join(process.cwd(),"node_modules"))}catch{}f&&0!==f.length||(f=ce())}const h=Array.from(new Set([...(()=>{try{return Array.isArray(p.builtinModules)?p.builtinModules:[]}catch{return["fs","path","process","child_process","util","https","http","os","stream","crypto","zlib","net","tls","url","querystring","assert","events","tty","dns","querystring"]}})(),...f])),m=!t||"inline",S=[D.default({compilerOptions:{module:"esnext",declaration:!1,outDir:o?"bin":"dist",sourceMap:!t,inlineSourceMap:!!t,inlineSources:!!t},include:["src/**/*.ts"],exclude:["node_modules","**/*.spec.ts"],tsconfig:"./tsconfig.json"}),$.default()];o&&S.push(k.default({include:[],exclude:f}),u.nodeResolve({resolveOnly:d}));try{const C=await import("@rollup/plugin-terser"),w=C&&C.terser||C.default||C,E={parse:{ecma:2020},compress:!1,mangle:!1,format:{comments:!1,beautify:!0}},I={parse:{ecma:2020},compress:{ecma:2020,passes:5,drop_console:!0,drop_debugger:!0,toplevel:!0,module:i,unsafe:!0,unsafe_arrows:!0,unsafe_comps:!0,collapse_vars:!0,reduce_funcs:!0,reduce_vars:!0},mangle:{toplevel:!0},format:{comments:!1,ascii_only:!0},toplevel:!0};S.push(w(t?E:I))}catch{}const y={input:a,plugins:S,external:h,onwarn:void 0,treeshake:!t},T={};h.forEach(e=>{T[e]=le(e)});const b=[{file:`${o?"bin/":"dist/"}${s||".bundle."+(t?"":"min")}${i?".js":".cjs"}`,format:o?"cjs":i?"esm":"umd",name:l,esModule:i,sourcemap:m,globals:T,exports:"auto"}];try{const F=await g.rollup(y);async function x(e){for(const t of b)await e.write(t)}c.verbose(F.watchFiles),await x(F)}catch(A){throw Error("Failed to bundle: "+A)}}async buildByEnv(e,t=he.ALL,o,a){try{X("lib")}catch(e){}try{X("dist")}catch(e){}b.default.mkdirSync("lib"),b.default.mkdirSync("dist"),[he.ALL,he.BUILD].includes(t)&&(await this.build(e,ue.ESM),await this.build(e,ue.CJS),this.patchFiles("lib")),[he.ALL,he.BUNDLE].includes(t)&&(await this.bundle(ue.ESM,e,!1,"src/index.ts",this.pkgName,a,o),await this.bundle(ue.CJS,e,!1,"src/index.ts",this.pkgName,a,o),this.patchFiles("dist")),this.copyAssets(ue.CJS),this.copyAssets(ue.ESM)}async buildDev(e=he.ALL,t,o){return this.buildByEnv(!0,e,t,o)}async buildProd(e=he.ALL,t,o){return this.buildByEnv(!1,e,t,o)}async buildDocs(){await R("npm install better-docs taffydb").promise,await R("npx markdown-include ./workdocs/readme-md.json").promise,await R("npx jsdoc -c ./workdocs/jsdocs.json -t ./node_modules/better-docs").promise,await R("npm remove better-docs taffydb").promise,[{src:"workdocs/assets",dest:"./docs/workdocs/assets"},{src:"workdocs/reports/coverage",dest:"./docs/workdocs/reports/coverage"},{src:"workdocs/reports/html",dest:"./docs/workdocs/reports/html"},{src:"workdocs/resources",dest:"./docs/workdocs/resources"},{src:"LICENSE.md",dest:"./docs/LICENSE.md"}].forEach(e=>{const{src:t,dest:o}=e;G(t,o)});try{const e=await Q(v.default.resolve(v.default.join(process.cwd(),"dist")));this.replacements[fe]=e+" KB"}catch{this.replacements[fe]="unknown"}try{V("./README.md",this.replacements)}catch(e){this.log.for(this.buildDocs).verbose("Failed to patch README.md: "+e)}}async run(e){const{dev:t,prod:o,docs:a,buildMode:s,includes:r,externals:n}=e;return t?await this.buildDev(s,r,n):o?await this.buildProd(s,r,n):a?await this.buildDocs():void 0}}const ye={ci:{type:"boolean",default:!0},message:{type:"string",short:"m"},tag:{type:"string",short:"t",default:void 0}};e.AbortCode=P,e.BuildScripts=Se,e.Command=re,e.DefaultCommandOptions=F,e.DefaultCommandValues=x,e.Encoding=A,e.HttpClient=ne,e.NoCIFLag=B,e.PACKAGE_NAME="##PACKAGE##",e.RegexpOutputWriter=class extends L{constructor(e,t,o,a="g"){super(e,t);try{this.regexp="string"==typeof o?RegExp(o,a):o}catch(e){throw Error("Invalid regular expression: "+e)}}test(e){let t;this.regexp.lastIndex=0;try{t=this.regexp.exec(e)}catch(e){return}return t}testAndResolve(e){const t=this.test(e);t&&this.resolve(t[0])}testAndReject(e){const t=this.test(e);t&&this.reject(t[0])}data(e){super.data(e),this.testAndResolve(e+"")}error(e){super.error(e),this.testAndReject(e+"")}},e.ReleaseScript=class extends re{constructor(){super("ReleaseScript",ye)}async prepareVersion(e){const t=this.log.for(this.prepareVersion);return(e=this.testVersion(e||""))||(t.verbose("No release message provided. Prompting for one:"),t.info("Listing latest git tags:"),await R("git tag --sort=-taggerdate | head -n 5").promise,await I.insistForText("tag","Enter the new tag number (accepts v*.*.*[-...])",e=>!!e.toString().match(/^v[0-9]+\.[0-9]+.[0-9]+(-[0-9a-zA-Z-]+)?$/)))}testVersion(t){const o=this.log.for(this.testVersion);switch(t=t.trim().toLowerCase()){case e.SemVersion.PATCH:case e.SemVersion.MINOR:case e.SemVersion.MAJOR:return o.verbose("Using provided SemVer update: "+t,1),t;default:return o.verbose("Testing provided version for SemVer compatibility: "+t,1),RegExp(N).test(t)?(o.verbose("version approved: "+t,1),t):void o.debug("Invalid version number: "+t)}}async prepareMessage(e){const t=this.log.for(this.prepareMessage);return e||(t.verbose("No release message provided. Prompting for one"),await I.insistForText("message","What should be the release message/ticket?",e=>!!e&&e.toString().length>5))}async run(e){let t;const{ci:o}=e;let{tag:a,message:s}=e;a=await this.prepareVersion(a),s=await this.prepareMessage(s),t=await R(`npm run prepare-release -- ${a} ${s}`,{cwd:process.cwd()}).promise,t=await R("git status --porcelain").promise,await t,t.logs.length&&await I.askConfirmation("git-changes","Do you want to push the changes to the remote repository?",!0)&&(await R("git add .").promise,await R(`git commit -m "${a} - ${s} - after release preparation${o?"":B}"`).promise),await R(`npm version "${a}" -m "${s}${o?"":B}"`).promise,await R("git push --follow-tags").promise,o||await R("NPM_TOKEN=$(cat .npmtoken) npm publish --access public").promise}},e.SemVersionRegex=N,e.SetupScriptKey="postinstall",e.StandardOutputWriter=L,e.UserInput=I,e.VERSION="##VERSION##",e.chainAbortController=O,e.copyFile=G,e.deletePath=X,e.getAllFiles=q,e.getDependencies=Y,e.getFileSizeZipped=Q,e.getPackage=z,e.getPackageDependencies=ce,e.getPackageVersion=H,e.getSlogan=se,e.installDependencies=Z,e.installIfNotAvailable=async(e,t)=>{if(!t){const e=await Y();t={prod:e.prod?.map(e=>e.name)||[],dev:e.dev?.map(e=>e.name)||[],peer:e.peer?.map(e=>e.name)||[]}}const{prod:o,dev:a,peer:s}=t,r=Array.from(new Set([...o||[],...a||[],...s||[]])),n=(e="string"==typeof e?[e]:e).filter(e=>!r.includes(e));return n.length&&await Z({dev:n}),t.dev=t.dev||[],t.dev.push(...n),t},e.listFolder=function e(t=process.cwd(),o){const a=J.for(e);try{return b.default.existsSync(t)?b.default.readdirSync(t,{withFileTypes:!0}).filter(e=>!o||o(e.name,e)).map(e=>e.name):[]}catch(e){return a.verbose(`Failed to list folder ${t}: ${e}`),[]}},e.listNodeModulesPackages=ee,e.lockify=e=>{let t=Promise.resolve();return(...o)=>{const a=t.then(()=>e(...o));return t=a.catch(()=>{}),a}},e.normalizeImport=async e=>e.then(e=>e.default||e),e.packageToGlobal=le,e.parseList=ie,e.patchFile=V,e.printBanner=ae,e.pushToGit=async function e(){const t=J.for(e),o=await R("git config user.name").promise,a=await R("git config user.email").promise;t.verbose(`cached git id: ${o}/${a}. changing to automation`),await R('git config user.email "automation@decaf.ts"').promise,await R('git config user.name "decaf"').promise,t.info("Pushing changes to git..."),await R("git add .").promise,await R('git commit -m "refs #1 - after repo setup"').promise,await R("git push").promise,await R(`git config user.email "${a}"`).promise,await R(`git config user.name "${o}"`).promise,t.verbose(`reverted to git id: ${o}/${a}`)},e.readFile=W,e.renameFile=_,e.runCommand=R,e.setPackageAttribute=(e,t,o=process.cwd())=>{const a=z(o);a[e]=t,K(v.default.join(o,"package.json"),JSON.stringify(a,null,2))},e.spawnCommand=U,e.updateDependencies=async function e(){const t=J.for(e);t.info("checking for updates..."),await R("npx npm-check-updates -u").promise,t.info("updating..."),await R("npx npm run do-install").promise},e.writeFile=K},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("prompts"),require("util"),require("@decaf-ts/logging"),require("fs"),require("path"),require("child_process"),require("styled-string-builder"),require("zlib"),require("https"),require("rollup"),require("@rollup/plugin-typescript"),require("@rollup/plugin-commonjs"),require("@rollup/plugin-node-resolve"),require("@rollup/plugin-json"),require("module"),require("typescript")):"function"==typeof define&&define.amd?define(["exports","prompts","util","@decaf-ts/logging","fs","path","child_process","styled-string-builder","zlib","https","rollup","@rollup/plugin-typescript","@rollup/plugin-commonjs","@rollup/plugin-node-resolve","@rollup/plugin-json","module","typescript"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).utils={},e.prompts,e.util,e.decafTsLogging,e.fs,e.path,e.childProcess,e.styledStringBuilder,e.zlib,e.https,e.rollup,e.rollupPluginTypescript,e.rollupPluginCommonjs,e.rollupPluginNodeResolve,e.rollupPluginJson,e.module,e.typescript);
2
2
  //# sourceMappingURL=utils.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.cjs","sources":["../src/input/input.ts","../src/cli/constants.ts","../src/utils/constants.ts","../src/writers/StandardOutputWriter.ts","../src/utils/utils.ts","../src/utils/fs.ts","../src/assets/slogans.ts","../src/output/common.ts","../src/cli/command.ts","../src/utils/http.ts","../src/cli/commands/build-scripts.ts","../src/cli/commands/tag-release.ts","../src/index.ts","../src/writers/RegexpOutputWriter.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["UserInput","this","logger","Logging","for","constructor","name","type","setType","verbose","setMessage","value","message","setInitial","initial","setStyle","style","setFormat","format","setValidate","validate","setOnState","onState","setMin","min","setMax","max","setFloat","float","setRound","round","setInstructions","instructions","setIncrement","increment","setSeparator","separator","setActive","active","setInactive","inactive","setChoices","JSON","stringify","choices","setHint","hint","setWarn","warn","setSuggest","suggest","setLimit","limit","setMask","mask","setStdout","stdout","setStdin","stdin","ask","question","log","answers","Array","isArray","map","q","join","prompts","error","Error","askNumber","userInput","askText","undefined","askConfirmation","insist","input","test","defaultConfirmation","result","toString","confirmation","count","e","info","insistForText","insistForNumber","parseArgs","options","args","process","argv","slice","debug","DefaultCommandOptions","short","default","version","help","logLevel","logStyle","timestamp","banner","DefaultCommandValues","Object","keys","reduce","acc","key","Encoding","SemVersionRegex","SemVersion","exports","NoCIFLag","Tokens","AbortCode","StandardOutputWriter","cmd","lock","data","Buffer","isBuffer","red","text","chunk","String","errors","err","exit","code","logs","green","resolve","l","trim","reject","length","parseCommand","command","split","reason","chainAbortController","argument0","remainder","signals","controller","AbortSignal","AbortController","signal","aborted","handler","abort","addEventListener","once","spawnCommand","output","opts","spawnInner","argz","childProcess","spawn","cwd","env","assign","PATH","shell","pid","m","match","includes","cmds","spawns","controllers","i","push","pipe","runCommand","outputConstructor","errs","Promise","setEncoding","on","stderr","promise","async","cb","patchFile","path","values","fs","existsSync","content","readFile","patchString","writeFile","readFileSync","writeFileSync","getAllFiles","p","filter","files","readdirSync","forEach","entry","fullPath","stat","statSync","isFile","isDirectory","renameFile","source","dest","descriptorSource","descriptorDest","renameSync","copyFile","mkdirSync","recursive","cpSync","deletePath","descriptor","rmSync","force","getPackage","property","pkg","parse","getPackageVersion","getDependencies","mapper","index","prod","entries","dependencies","dev","devDependencies","peer","peerDependencies","installDependencies","getFileSizeZipped","dir","candidates","endsWith","smallest","smallestSize","size","c","s","buffer","gz","zlib","gzipSync","sizeKb","Number","toFixed","listNodeModulesPackages","basePath","withFileTypes","names","startsWith","scopePath","scoped","slogans","Slogan","Tags","colors","printBanner","getSlogan","maxLength","line","Math","padStart","bind","console","raw","floor","random","Command","LoggedClass","inputs","requirements","super","defineProperty","writable","checkRequirements","missing","fullList","from","Set","d","dep","execute","LoggedEnvironment","accumulate","context","run","HttpClient","downloadFile","url","request","encodeURI","https","get","res","statusCode","headers","location","parseList","Boolean","packageToGlobal","replace","charAt","toUpperCase","getPackageDependencies","fallbackDir","__dirname","deps","PACKAGE_SIZE_STRING","Modes","BuildMode","buildMode","ALL","externals","docs","commands","cjs2Transformer","ext","BuildScripts","resolutionCache","Map","transformationContext","sourceFile","sourceDir","dirname","fileName","resolvePath","importPath","cacheKey","cachedValue","resolvedPath","e2","isAbsolute","extension","exec","basename","relative","set","ts","visitNode","node","isImportDeclaration","isExportDeclaration","moduleSpecifier","isStringLiteral","extname","shouldMutateModuleSpecifier","newModuleSpecifier","factory","createStringLiteral","updateImportDeclaration","modifiers","importClause","updateExportDeclaration","isTypeOnly","exportClause","visitEachChild","replacements","pkgName","pkgVersion","patchFiles","file","parentPath","reportDiagnostics","diagnostics","msg","formatDiagnostics","diagnostic","start","character","getLineAndCharacterOfPosition","flattenDiagnosticMessageText","messageText","readConfigFile","configFileName","configFileText","parseConfigFileTextToJson","configObject","config","LogLevel","configParseResult","parseJsonConfigFileContent","sys","evalDiagnostics","category","DiagnosticCategory","warnings","Warning","suggestions","Suggestion","messages","Message","preCheckDiagnostics","program","getPreEmitDiagnostics","checkTsDiagnostics","isDev","mode","bundle","tsConfig","module","ModuleKind","AMD","outDir","isolatedModules","outFile","ESM","ES2022","CommonJS","inlineSourceMap","inlineSources","sourceMap","createProgram","fileNames","buildTs","transformations","CJS","before","emitResult","emit","allDiagnostics","concat","build","f","copyAssets","hasAssets","isLib","entryFile","nameOverride","externalsArg","includeArg","isEsm","include","externalsList","builtinModules","rollupSourceMapOutput","plugins","typescript","compilerOptions","declaration","exclude","tsconfig","json","commonjs","nodeResolve","resolveOnly","terserMod","import","terserFn","terser","terserOptionsDev","ecma","compress","mangle","comments","beautify","terserOptionsProd","passes","drop_console","drop_debugger","toplevel","unsafe","unsafe_arrows","unsafe_comps","collapse_vars","reduce_funcs","reduce_vars","ascii_only","external","onwarn","treeshake","globals","outputs","esModule","sourcemap","rollup","generateOutputs","outputOptions","write","watchFiles","buildByEnv","includesArg","BUILD","BUNDLE","buildDev","buildProd","buildDocs","src","ci","tag","regexp","flags","RegExp","lastIndex","testAndResolve","testAndReject","prepareVersion","testVersion","val","toLowerCase","PATCH","MINOR","MAJOR","prepareMessage","installed","toInstall","listFolder","params","then","catch","importPromise","pushToGit","gitUser","gitEmail","attr","updateDependencies"],"mappings":"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AQ,gCACRC,KAAM,wBAER,CACED,OAAQ,mCACRC,KAAM,4BAER,CACED,OAAQ,4BACRC,KAAM,sBAER,CACED,OAAQ,4BACRC,KAAM,0BAER,CACED,OAAQ,oCACRC,KAAM,2BAER,CACED,OAAQ,iCACRC,KAAM,4BAER,CACED,OAAQ,0CACRC,KAAM,6BAER,CACED,OAAQ,iDACRC,KAAM,2BAER,CACED,OAAQ,qCACRC,KAAM,4BAER,CACED,OAAQ,kCACRC,KAAM,2BAER,CACED,OAAQ,gCACRC,KAAM,wBAER,CACED,OAAQ,mCACRC,KAAM,4BAER,CACED,OAAQ,4BACRC,KAAM,sBAER,CACED,OAAQ,4BACRC,KAAM,0BAER,CACED,OAAQ,oCACRC,KAAM,2BAER,CACED,OAAQ,iCACRC,KAAM,4BAER,CACED,OAAQ,0CACRC,KAAM,6BAER,CACED,OAAQ,iDACRC,KAAM,2BAER,CACED,OAAQ,qCACRC,KAAM,4BAER,CACED,OAAQ,kCACRC,KAAM,2BAER,CACED,OAAQ,gCACRC,KAAM,wBAER,CACED,OAAQ,mCACRC,KAAM,4BAER,CACED,OAAQ,4BACRC,KAAM,sBAER,CACED,OAAQ,4BACRC,KAAM,0BAER,CACED,OAAQ,oCACRC,KAAM,2BAER,CACED,OAAQ,iCACRC,KAAM,4BAER,CACED,OAAQ,0CACRC,KAAM,6BAER,CACED,OAAQ,iDACRC,KAAM,2BAER,CACED,OAAQ,qCACRC,KAAM,4BAER,CACED,OAAQ,kCACRC,KAAM,2BAER,CACED,OAAQ,gCACRC,KAAM,wBAER,CACED,OAAQ,mCACRC,KAAM,4BAER,CACED,OAAQ,4BACRC,KAAM,sBAER,CACED,OAAQ,4BACRC,KAAM,0BAER,CACED,OAAQ,oCACRC,KAAM,2BAER,CACED,OAAQ,iCACRC,KAAM,4BAER,CACED,OAAQ,0CACRC,KAAM,6BAER,CACED,OAAQ,iDACRC,KAAM,2BAER,CACED,OAAQ,qCACRC,KAAM,4BAER,CACED,OAAQ,kCACRC,KAAM,2BAER,CACED,OAAQ,gCACRC,KAAM,wBAER,CACED,OAAQ,mCACRC,KAAM,4BAER,CACED,OAAQ,4BACRC,KAAM,sBAER,CACED,OAAQ,4BACRC,KAAM,0BAER,CACED,OAAQ,oCACRC,KAAM,2BAER,CACED,OAAQ,iCACRC,KAAM,4BAER,CACED,OAAQ,0CACRC,KAAM,6BAER,CACED,OAAQ,iDACRC,KAAM,2BAER,CACED,OAAQ,qCACRC,KAAM,4BAER,CACED,OAAQ,kCACRC,KAAM,2BAER,CACED,OAAQ,gCACRC,KAAM,wBAER,CACED,OAAQ,mCACRC,KAAM,4BAER,CACED,OAAQ,4BACRC,KAAM,sBAER,CACED,OAAQ,4BACRC,KAAM,0BAER,CACED,OAAQ,oCACRC,KAAM,2BAER,CACED,OAAQ,iCACRC,KAAM,4BAER,CACED,OAAQ,0CACRC,KAAM,6BAER,CACED,OAAQ,iDACRC,KAAM,2BAER,CACED,OAAQ,qCACRC,KAAM,4BAER,CACED,OAAQ,kCACRC,KAAM,2BAER,CACED,OAAQ,gCACRC,KAAM,wBAER,CACED,OAAQ,mCACRC,KAAM,4BAER,CACED,OAAQ,4BACRC,KAAM,sBAER,CACED,OAAQ,4BACRC,KAAM,0BAER,CACED,OAAQ,oCACRC,KAAM,2BAER,CACED,OAAQ,iCACRC,KAAM,4BAER,CACED,OAAQ,0CACRC,KAAM,6BAER,CACED,OAAQ,iDACRC,KAAM,2BAER,CACED,OAAQ,qCACRC,KAAM,4BAER,CACED,OAAQ,kCACRC,KAAM,2BAER,CACED,OAAQ,gCACRC,KAAM,wBAER,CACED,OAAQ,mCACRC,KAAM,4BAER,CACED,OAAQ,4BACRC,KAAM,sBAER,CACED,OAAQ,4BACRC,KAAM,0BAER,CACED,OAAQ,oCACRC,KAAM,2BAER,CACED,OAAQ,iCACRC,KAAM,4BAER,CACED,OAAQ,yDACRC,KAAM,qCAER,CACED,OAAQ,iCACRC,KAAM,mCAER,CACED,OAAQ,8CACRC,KAAM,wBAER,CACED,OAAQ,4CACRC,KAAM,sBAER,CACED,OAAQ,mEACRC,KAAM,8BAER,CACED,OAAQ,mDACRC,KAAM,wBAER,CACED,OAAQ,+DACRC,KAAM,qCAER,CACED,OAAQ,qCACRC,KAAM,iCAER,CACED,OAAQ,+CACRC,KAAM,0BAER,CACED,OAAQ,uCACRC,KAAM,wBAER,CACED,OAAQ,oDACRC,KAAM,gCAER,CACED,OAAQ,gCACRC,KAAM,2BAER,CACED,OAAQ,oEACRC,KAAM,gCAER,CACED,OAAQ,6CACRC,KAAM,2BAER,CACED,OAAQ,yCACRC,KAAM,sCAER,CACED,OAAQ,kCACRC,KAAM,0BAER,CACED,OAAQ,6CACRC,KAAM,gCAER,CACED,OAAQ,2DACRC,KAAM,8BAER,CACED,OAAQ,6CACRC,KAAM,kCAER,CACED,OAAQ,iDACRC,KAAM,gCAER,CACED,OAAQ,iEACRC,KAAM,qCAER,CACED,OAAQ,iCACRC,KAAM,mCAER,CACED,OAAQ,wDACRC,KAAM,wBAER,CACED,OAAQ,4CACRC,KAAM,sBAER,CACED,OACE,2EACFC,KAAM,8BAER,CACED,OAAQ,mDACRC,KAAM,wBAER,CACED,OAAQ,+DACRC,KAAM,qCAER,CACED,OAAQ,qCACRC,KAAM,iCAER,CACED,OAAQ,sDACRC,KAAM,0BAER,CACED,OAAQ,uCACRC,KAAM,wBAER,CACED,OAAQ,oDACRC,KAAM,gCAER,CACED,OAAQ,gCACRC,KAAM,2BAER,CACED,OAAQ,oEACRC,KAAM,gCAER,CACED,OAAQ,kDACRC,KAAM,2BAER,CACED,OAAQ,gDACRC,KAAM,sCAER,CACED,OAAQ,qCACRC,KAAM,0BAER,CACED,OAAQ,6CACRC,KAAM,gCAER,CACED,OAAQ,2DACRC,KAAM,8BAER,CACED,OAAQ,6CACRC,KAAM,kCAER,CACED,OAAQ,iDACRC,KAAM,gCAER,CACED,OAAQ,iEACRC,KAAM,qCAER,CACED,OAAQ,iCACRC,KAAM,mCAER,CACED,OAAQ,wDACRC,KAAM,wBAER,CACED,OAAQ,4CACRC,KAAM,sBAER,CACED,OACE,2EACFC,KAAM,8BAER,CACED,OAAQ,mDACRC,KAAM,wBAER,CACED,OAAQ,+DACRC,KAAM,qCAER,CACED,OAAQ,qCACRC,KAAM,iCAER,CACED,OAAQ,sDACRC,KAAM,0BAER,CACED,OAAQ,uCACRC,KAAM,wBAER,CACED,OAAQ,oDACRC,KAAM,gCAER,CACED,OAAQ,gCACRC,KAAM,2BAER,CACED,OAAQ,oEACRC,KAAM,gCAER,CACED,OAAQ,kDACRC,KAAM,2BAER,CACED,OAAQ,gDACRC,KAAM,sCAER,CACED,OAAQ,qCACRC,KAAM,0BAER,CACED,OAAQ,6CACRC,KAAM,gCAER,CACED,OAAQ,2DACRC,KAAM,8BAER,CACED,OAAQ,6CACRC,KAAM,kCAER,CACED,OAAQ,iDACRC,KAAM,gCAER,CACED,OAAQ,iEACRC,KAAM,qCAER,CACED,OAAQ,iCACRC,KAAM,mCAER,CACED,OAAQ,wDACRC,KAAM,wBAER,CACED,OAAQ,4CACRC,KAAM,sBAER,CACED,OACE,2EACFC,KAAM,8BAER,CACED,OAAQ,mDACRC,KAAM,wBAER,CACED,OAAQ,+DACRC,KAAM,qCAER,CACED,OAAQ,qCACRC,KAAM,iCAER,CACED,OAAQ,sDACRC,KAAM,0BAER,CACED,OAAQ,uCACRC,KAAM,wBAER,CACED,OAAQ,oDACRC,KAAM,gCAER,CACED,OAAQ,gCACRC,KAAM,2BAER,CACED,OAAQ,oEACRC,KAAM,gCAER,CACED,OAAQ,kDACRC,KAAM,2BAER,CACED,OAAQ,gDACRC,KAAM,sCAER,CACED,OAAQ,qCACRC,KAAM,0BAER,CACED,OAAQ,6CACRC,KAAM,gCAER,CACED,OAAQ,2DACRC,KAAM,8BAER,CACED,OAAQ,6CACRC,KAAM,kCAER,CACED,OAAQ,iDACRC,KAAM,gCAER,CACED,OAAQ,iEACRC,KAAM,qCAER,CACED,OAAQ,iCACRC,KAAM,mCAER,CACED,OAAQ,wDACRC,KAAM,wBAER,CACED,OAAQ,4CACRC,KAAM,sBAER,CACED,OACE,2EACFC,KAAM,8BAER,CACED,OAAQ,mDACRC,KAAM,wBAER,CACED,OAAQ,+DACRC,KAAM,qCAER,CACED,OAAQ,qCACRC,KAAM,iCAER,CACED,OAAQ,sDACRC,KAAM,0BAER,CACED,OAAQ,uCACRC,KAAM,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"}
1
+ {"version":3,"file":"utils.cjs","sources":["../src/input/input.ts","../src/cli/constants.ts","../src/utils/constants.ts","../src/writers/StandardOutputWriter.ts","../src/utils/utils.ts","../src/utils/fs.ts","../src/assets/slogans.ts","../src/output/common.ts","../src/cli/command.ts","../src/utils/http.ts","../src/cli/commands/build-scripts.ts","../src/cli/commands/tag-release.ts","../src/index.ts","../src/writers/RegexpOutputWriter.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["UserInput","this","logger","Logging","for","constructor","name","type","setType","verbose","setMessage","value","message","setInitial","initial","setStyle","style","setFormat","format","setValidate","validate","setOnState","onState","setMin","min","setMax","max","setFloat","float","setRound","round","setInstructions","instructions","setIncrement","increment","setSeparator","separator","setActive","active","setInactive","inactive","setChoices","JSON","stringify","choices","setHint","hint","setWarn","warn","setSuggest","suggest","setLimit","limit","setMask","mask","setStdout","stdout","setStdin","stdin","ask","question","log","answers","Array","isArray","map","q","join","prompts","error","Error","askNumber","userInput","askText","undefined","askConfirmation","insist","input","test","defaultConfirmation","result","toString","confirmation","count","e","info","insistForText","insistForNumber","parseArgs","options","args","process","argv","slice","debug","DefaultCommandOptions","short","default","version","help","logLevel","logStyle","timestamp","banner","DefaultCommandValues","Object","keys","reduce","acc","key","Encoding","SemVersionRegex","SemVersion","exports","NoCIFLag","Tokens","AbortCode","StandardOutputWriter","cmd","lock","data","Buffer","isBuffer","red","text","chunk","String","errors","err","exit","code","logs","green","resolve","l","trim","reject","length","parseCommand","command","split","reason","chainAbortController","argument0","remainder","signals","controller","AbortSignal","AbortController","signal","aborted","handler","abort","addEventListener","once","spawnCommand","output","opts","spawnInner","argz","childProcess","spawn","cwd","env","assign","PATH","shell","pid","m","match","includes","cmds","spawns","controllers","i","push","pipe","runCommand","outputConstructor","errs","Promise","setEncoding","on","stderr","promise","async","cb","patchFile","path","values","filter","fs","existsSync","content","readFile","flags","entries","forEach","val","regexp","RegExp","escapeRegExp","replace","subStr","patchString","writeFile","readFileSync","writeFileSync","getAllFiles","p","files","readdirSync","entry","fullPath","stat","statSync","isFile","isDirectory","renameFile","source","dest","descriptorSource","descriptorDest","renameSync","copyFile","mkdirSync","recursive","cpSync","deletePath","descriptor","rmSync","force","getPackage","property","pkg","parse","getPackageVersion","getDependencies","mapper","index","prod","dependencies","dev","devDependencies","peer","peerDependencies","installDependencies","getFileSizeZipped","dir","candidates","endsWith","smallest","smallestSize","size","c","s","buffer","gz","zlib","gzipSync","sizeKb","Number","toFixed","listNodeModulesPackages","basePath","withFileTypes","names","startsWith","scopePath","scoped","slogans","Slogan","Tags","colors","printBanner","getSlogan","maxLength","line","Math","padStart","bind","console","raw","floor","random","Command","LoggedClass","inputs","requirements","super","defineProperty","writable","checkRequirements","missing","fullList","from","Set","d","dep","execute","LoggedEnvironment","accumulate","context","run","HttpClient","downloadFile","url","request","encodeURI","https","get","res","statusCode","headers","location","parseList","Boolean","packageToGlobal","charAt","toUpperCase","getPackageDependencies","fallbackDir","__dirname","deps","VERSION_STRING","PACKAGE_STRING","PACKAGE_SIZE_STRING","Modes","BuildMode","buildMode","ALL","externals","docs","commands","cjs2Transformer","ext","BuildScripts","resolutionCache","Map","transformationContext","sourceFile","sourceDir","dirname","fileName","resolvePath","importPath","cacheKey","cachedValue","resolvedPath","e2","isAbsolute","extension","exec","basename","relative","set","ts","visitNode","node","isImportDeclaration","isExportDeclaration","moduleSpecifier","isStringLiteral","extname","shouldMutateModuleSpecifier","newModuleSpecifier","factory","createStringLiteral","updateImportDeclaration","modifiers","importClause","updateExportDeclaration","isTypeOnly","exportClause","visitEachChild","replacements","pkgName","pkgVersion","patchFiles","file","parentPath","reportDiagnostics","diagnostics","msg","formatDiagnostics","diagnostic","start","character","getLineAndCharacterOfPosition","flattenDiagnosticMessageText","messageText","readConfigFile","configFileName","configFileText","parseConfigFileTextToJson","configObject","config","LogLevel","configParseResult","parseJsonConfigFileContent","sys","evalDiagnostics","category","DiagnosticCategory","warnings","Warning","suggestions","Suggestion","messages","Message","preCheckDiagnostics","program","getPreEmitDiagnostics","checkTsDiagnostics","isDev","mode","bundle","tsConfig","module","ModuleKind","AMD","outDir","isolatedModules","outFile","ESM","ES2022","CommonJS","inlineSourceMap","inlineSources","sourceMap","createProgram","fileNames","buildTs","transformations","CJS","before","emitResult","emit","allDiagnostics","concat","build","f","copyAssets","hasAssets","isLib","entryFile","nameOverride","externalsArg","includeArg","isEsm","include","externalsList","builtinModules","rollupSourceMapOutput","plugins","typescript","compilerOptions","declaration","exclude","tsconfig","json","commonjs","nodeResolve","resolveOnly","terserMod","import","terserFn","terser","terserOptionsDev","ecma","compress","mangle","comments","beautify","terserOptionsProd","passes","drop_console","drop_debugger","toplevel","unsafe","unsafe_arrows","unsafe_comps","collapse_vars","reduce_funcs","reduce_vars","ascii_only","external","onwarn","treeshake","globals","outputs","esModule","sourcemap","rollup","generateOutputs","outputOptions","write","watchFiles","buildByEnv","includesArg","BUILD","BUNDLE","buildDev","buildProd","buildDocs","src","ci","tag","lastIndex","testAndResolve","testAndReject","prepareVersion","testVersion","toLowerCase","PATCH","MINOR","MAJOR","prepareMessage","installed","toInstall","listFolder","params","then","catch","importPromise","pushToGit","gitUser","gitEmail","attr","updateDependencies"],"mappings":"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C,KAAM,sBAER,CACED,OAAQ,4BACRC,KAAM,0BAER,CACED,OAAQ,oCACRC,KAAM,2BAER,CACED,OAAQ,iCACRC,KAAM,4BAER,CACED,OAAQ,0CACRC,KAAM,6BAER,CACED,OAAQ,iDACRC,KAAM,2BAER,CACED,OAAQ,qCACRC,KAAM,4BAER,CACED,OAAQ,kCACRC,KAAM,2BAER,CACED,OAAQ,gCACRC,KAAM,wBAER,CACED,OAAQ,mCACRC,KAAM,4BAER,CACED,OAAQ,4BACRC,KAAM,sBAER,CACED,OAAQ,4BACRC,KAAM,0BAER,CACED,OAAQ,oCACRC,KAAM,2BAER,CACED,OAAQ,iCACRC,KAAM,4BAER,CACED,OAAQ,0CACRC,KAAM,6BAER,CACED,OAAQ,iDACRC,KAAM,2BAER,CACED,OAAQ,qCACRC,KAAM,4BAER,CACED,OAAQ,kCACRC,KAAM,2BAER,CACED,OAAQ,gCACRC,KAAM,wBAER,CACED,OAAQ,mCACRC,KAAM,4BAER,CACED,OAAQ,4BACRC,KAAM,sBAER,CACED,OAAQ,4BACRC,KAAM,0BAER,CACED,OAAQ,oCACRC,KAAM,2BAER,CACED,OAAQ,iCACRC,KAAM,4BAER,CACED,OAAQ,0CACRC,KAAM,6BAER,CACED,OAAQ,iDACRC,KAAM,2BAER,CACED,OAAQ,qCACRC,KAAM,4BAER,CACED,OAAQ,kCACRC,KAAM,2BAER,CACED,OAAQ,gCACRC,KAAM,wBAER,CACED,OAAQ,mCACRC,KAAM,4BAER,CACED,OAAQ,4BACRC,KAAM,sBAER,CACED,OAAQ,4BACRC,KAAM,0BAER,CACED,OAAQ,oCACRC,KAAM,2BAER,CACED,OAAQ,iCACRC,KAAM,4BAER,CACED,OAAQ,0CACRC,KAAM,6BAER,CACED,OAAQ,iDACRC,KAAM,2BAER,CACED,OAAQ,qCACRC,KAAM,4BAER,CACED,OAAQ,kCACRC,KAAM,2BAER,CACED,OAAQ,gCACRC,KAAM,wBAER,CACED,OAAQ,mCACRC,KAAM,4BAER,CACED,OAAQ,4BACRC,KAAM,sBAER,CACED,OAAQ,4BACRC,KAAM,0BAER,CACED,OAAQ,oCACRC,KAAM,2BAER,CACED,OAAQ,iCACRC,KAAM,4BAER,CACED,OAAQ,0CACRC,KAAM,6BAER,CACED,OAAQ,iDACRC,KAAM,2BAER,CACED,OAAQ,qCACRC,KAAM,4BAER,CACED,OAAQ,kCACRC,KAAM,2BAER,CACED,OAAQ,gCACRC,KAAM,wBAER,CACED,OAAQ,mCACRC,KAAM,4BAER,CACED,OAAQ,4BACRC,KAAM,sBAER,CACED,OAAQ,4BACRC,KAAM,0BAER,CACED,OAAQ,oCACRC,KAAM,2BAER,CACED,OAAQ,iCACRC,KAAM,4BAER,CACED,OAAQ,0CACRC,KAAM,6BAER,CACED,OAAQ,iDACRC,KAAM,2BAER,CACED,OAAQ,qCACRC,KAAM,4BAER,CACED,OAAQ,kCACRC,KAAM,2BAER,CACED,OAAQ,gCACRC,KAAM,wBAER,CACED,OAAQ,mCACRC,KAAM,4BAER,CACED,OAAQ,4BACRC,KAAM,sBAER,CACED,OAAQ,4BACRC,KAAM,0BAER,CACED,OAAQ,oCACRC,KAAM,2BAER,CACED,OAAQ,iCACRC,KAAM,4BAER,CACED,OAAQ,0CACRC,KAAM,6BAER,CACED,OAAQ,iDACRC,KAAM,2BAER,CACED,OAAQ,qCACRC,KAAM,4BAER,CACED,OAAQ,kCACRC,KAAM,2BAER,CACED,OAAQ,gCACRC,KAAM,wBAER,CACED,OAAQ,mCACRC,KAAM,4BAER,CACED,OAAQ,4BACRC,KAAM,sBAER,CACED,OAAQ,4BACRC,KAAM,0BAER,CACED,OAAQ,oCACRC,KAAM,2BAER,CACED,OAAQ,iCACRC,KAAM,4BAER,CACED,OAAQ,0CACRC,KAAM,6BAER,CACED,OAAQ,iDACRC,KAAM,2BAER,CACED,OAAQ,qCACRC,KAAM,4BAER,CACED,OAAQ,kCACRC,KAAM,2BAER,CACED,OAAQ,gCACRC,KAAM,wBAER,CACED,OAAQ,mCACRC,KAAM,4BAER,CACED,OAAQ,4BACRC,KAAM,sBAER,CACED,OAAQ,4BACRC,KAAM,0BAER,CACED,OAAQ,oCACRC,KAAM,2BAER,CACED,OAAQ,iCACRC,KAAM,4BAER,CACED,OAAQ,yDACRC,KAAM,qCAER,CACED,OAAQ,iCACRC,KAAM,mCAER,CACED,OAAQ,8CACRC,KAAM,wBAER,CACED,OAAQ,4CACRC,KAAM,sBAER,CACED,OAAQ,mEACRC,KAAM,8BAER,CACED,OAAQ,mDACRC,KAAM,wBAER,CACED,OAAQ,+DACRC,KAAM,qCAER,CACED,OAAQ,qCACRC,KAAM,iCAER,CACED,OAAQ,+CACRC,KAAM,0BAER,CACED,OAAQ,uCACRC,KAAM,wBAER,CACED,OAAQ,oDACRC,KAAM,gCAER,CACED,OAAQ,gCACRC,KAAM,2BAER,CACED,OAAQ,oEACRC,KAAM,gCAER,CACED,OAAQ,6CACRC,KAAM,2BAER,CACED,OAAQ,yCACRC,KAAM,sCAER,CACED,OAAQ,kCACRC,KAAM,0BAER,CACED,OAAQ,6CACRC,KAAM,gCAER,CACED,OAAQ,2DACRC,KAAM,8BAER,CACED,OAAQ,6CACRC,KAAM,kCAER,CACED,OAAQ,iDACRC,KAAM,gCAER,CACED,OAAQ,iEACRC,KAAM,qCAER,CACED,OAAQ,iCACRC,KAAM,mCAER,CACED,OAAQ,wDACRC,KAAM,wBAER,CACED,OAAQ,4CACRC,KAAM,sBAER,CACED,OACE,2EACFC,KAAM,8BAER,CACED,OAAQ,mDACRC,KAAM,wBAER,CACED,OAAQ,+DACRC,KAAM,qCAER,CACED,OAAQ,qCACRC,KAAM,iCAER,CACED,OAAQ,sDACRC,KAAM,0BAER,CACED,OAAQ,uCACRC,KAAM,wBAER,CACED,OAAQ,oDACRC,KAAM,gCAER,CACED,OAAQ,gCACRC,KAAM,2BAER,CACED,OAAQ,oEACRC,KAAM,gCAER,CACED,OAAQ,kDACRC,KAAM,2BAER,CACED,OAAQ,gDACRC,KAAM,sCAER,CACED,OAAQ,qCACRC,KAAM,0BAER,CACED,OAAQ,6CACRC,KAAM,gCAER,CACED,OAAQ,2DACRC,KAAM,8BAER,CACED,OAAQ,6CACRC,KAAM,kCAER,CACED,OAAQ,iDACRC,KAAM,gCAER,CACED,OAAQ,iEACRC,KAAM,qCAER,CACED,OAAQ,iCACRC,KAAM,mCAER,CACED,OAAQ,wDACRC,KAAM,wBAER,CACED,OAAQ,4CACRC,KAAM,sBAER,CACED,OACE,2EACFC,KAAM,8BAER,CACED,OAAQ,mDACRC,KAAM,wBAER,CACED,OAAQ,+DACRC,KAAM,qCAER,CACED,OAAQ,qCACRC,KAAM,iCAER,CACED,OAAQ,sDACRC,KAAM,0BAER,CACED,OAAQ,uCACRC,KAAM,wBAER,CACED,OAAQ,oDACRC,KAAM,gCAER,CACED,OAAQ,gCACRC,KAAM,2BAER,CACED,OAAQ,oEACRC,KAAM,gCAER,CACED,OAAQ,kDACRC,KAAM,2BAER,CACED,OAAQ,gDACRC,KAAM,sCAER,CACED,OAAQ,qCACRC,KAAM,0BAER,CACED,OAAQ,6CACRC,KAAM,gCAER,CACED,OAAQ,2DACRC,KAAM,8BAER,CACED,OAAQ,6CACRC,KAAM,kCAER,CACED,OAAQ,iDACRC,KAAM,gCAER,CACED,OAAQ,iEACRC,KAAM,qCAER,CACED,OAAQ,iCACRC,KAAM,mCAER,CACED,OAAQ,wDACRC,KAAM,wBAER,CACED,OAAQ,4CACRC,KAAM,sBAER,CACED,OACE,2EACFC,KAAM,8BAER,CACED,OAAQ,mDACRC,KAAM,wBAER,CACED,OAAQ,+DACRC,KAAM,qCAER,CACED,OAAQ,qCACRC,KAAM,iCAER,CACED,OAAQ,sDACRC,KAAM,0BAER,CACED,OAAQ,uCACRC,KAAM,wBAER,CACED,OAAQ,oDACRC,KAAM,gCAER,CACED,OAAQ,gCACRC,KAAM,2BAER,CACED,OAAQ,oEACRC,KAAM,gCAER,CACED,OAAQ,kDACRC,KAAM,2BAER,CACED,OAAQ,gDACRC,KAAM,sCAER,CACED,OAAQ,qCACRC,KAAM,0BAER,CACED,OAAQ,6CACRC,KAAM,gCAER,CACED,OAAQ,2DACRC,KAAM,8BAER,CACED,OAAQ,6CACRC,KAAM,kCAER,CACED,OAAQ,iDACRC,KAAM,gCAER,CACED,OAAQ,iEACRC,KAAM,qCAER,CACED,OAAQ,iCACRC,KAAM,mCAER,CA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"}