@zuplo/core 6.54.13 → 6.54.14

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.
@@ -646,11 +646,11 @@ export default {
646
646
  },
647
647
  };
648
648
  `,fvt=t(async function({systemDirectory:a,logger:s}){return Uu.timeFn("Generating Worker shim",async()=>{s.debug("Generating Worker shim");let l=ixr.join(a,_le);try{await nxr.writeFile(l,sxr,"utf-8")}catch(_){s.error(_);let h={message:`Error creating file at ${l}`,pluginName:"generate-worker-entry",severity:"error"};return{warnings:[],errors:[h]}}return{warnings:[],errors:[]}})},"generateWorker");import{readFile as axr,readdir as oxr}from"node:fs/promises";import _vt from"node:path";var O_e="validate-open-api-files",pvt=t(async function({sourceDirectory:a,logger:s}){return Uu.timeFn("Validating OpenAPI files",async()=>{s.debug("Validating OpenAPI files");let l=_vt.join(a,V1),_=[];try{if(!await qM(a))return new YT({message:"Failed to build project because no open-api file was found on the 'config' folder",pluginName:O_e,severity:"error"});let D=(await oxr(l)).filter(M=>M.endsWith(".oas.json")),N=t(async M=>{let z=_vt.join(l,M);try{M==="zp.oas.json"&&_.push({message:"Open API files cannot be named 'zp.oas.json' since 'zp' is a reserved prefix. Update the file name to solve this build issue.",pluginName:O_e,severity:"error"});let re=await axr(z,"utf-8"),ie=JSON.parse(re);if(ie&&ie.paths){let Q=Object.entries(ie.paths).filter(Re=>Re[0]==="zp"||Re[0]==="/zp");if(Q.length>0){let Re=Q.length===1?"includes one route path":`includes '${Q.length}' routes`;_.push({message:`Open API file '${M}' ${Re} that's named '/zp' which is a reserved route name. Updating the route to something other than '/zp' will solve this build issue.`,pluginName:O_e,severity:"error"})}}}catch(re){s.error(re)}},"validateOpenApiFile");await Promise.all(D.map(N))}catch(h){return s.error(h),_.length>0?{errors:_,warnings:[]}:new YT({message:"Failed while validating the open api files in the project",pluginName:O_e,severity:"warning"})}return{errors:_,warnings:[]}})},"validateOpenAPIFiles");import{readFile as kxr,writeFile as Ovt}from"node:fs/promises";import wxr from"node:path";var pB=ap(u5e(),1);import{parse as Pxr}from"jsonc-parser";var _B=ap(u5e(),1);var Ivt=t(()=>({include:["modules/**/*",".zuplo/**/*","tests/**/*"],exclude:["./node_modules","./dist"],compilerOptions:{module:_B.ModuleKind.ESNext,target:_B.ScriptTarget.ES2022,moduleResolution:_B.ModuleResolutionKind.Bundler,lib:["ESNext","WebWorker","Webworker.Iterable"],preserveConstEnums:!0,useUnknownInCatchVariables:!1,forceConsistentCasingInFileNames:!0,importHelpers:!0,esModuleInterop:!0,strictNullChecks:!0,noEmit:!0}}),"getZuploTsConfigTemplate");var JF="validate-tsconfig",Fvt=t(async function({sourceDirectory:a,logger:s,command:l,environmentType:_}){return Uu.timeFn("Validate TSConfig",async()=>{s.debug("Validate TSConfig");let h=_==="WORKING_COPY"||l==="dev";try{let b=Ivt(),D=wxr.join(a,"tsconfig.json");if(!await ou.fileExists(D))return h?(await Ovt(D,JSON.stringify(b,null,2)),{warnings:[{message:"This project does not have a tsconfig.json file. The file has been created for you.",severity:"warning",pluginName:JF,helpUrl:"https://zuplo.com/docs/articles/tsconfig"}],errors:[]}):{warnings:[],errors:[{message:"This project does not have a tsconfig.json file.",severity:"error",pluginName:JF,helpUrl:"https://zuplo.com/docs/articles/tsconfig"}]};let N=await kxr(D,"utf-8"),M=Pxr(N);if(!(M&&typeof M=="object"&&"compilerOptions"in M))return h?(await Ovt(D,JSON.stringify(b,null,2)),{warnings:[{message:"This project's tsconfig.json file was invalid. A valid file has been written for you.",severity:"warning",pluginName:JF,helpUrl:"https://zuplo.com/docs/articles/tsconfig"}],errors:[]}):{warnings:[],errors:[{message:"This project's tsconfig.json file is invalid. It must have a compilerOptions.",severity:"error",pluginName:JF,helpUrl:"https://zuplo.com/docs/articles/tsconfig"}]};let z=pB.default.convertCompilerOptionsFromJson(M.compilerOptions,a);if(z.errors.length>0)return{warnings:[],errors:z.errors.map(cn=>({severity:"error",pluginName:JF,message:cn.messageText.toString(),detail:"You will need to modify your tsconfig.json file to build this project.",helpUrl:"https://zuplo.com/docs/articles/tsconfig",location:cn.file?{line:cn.file.getLineStarts()[0],length:cn.file.getWidth(),file:cn.file.fileName,column:cn.file.getStart(),lineText:"",namespace:"",suggestion:""}:void 0}))};if(!M||typeof M!="object")throw new TypeError("The userConfigRaw is not an object, this should not happen.");if(!("compilerOptions"in M)||M.compilerOptions===null||M.compilerOptions===void 0||typeof M.compilerOptions!="object")throw new TypeError("The userConfigRaw.compilerOptions property is not an object, this should not happen.");let re=t((cn,Er,vr)=>`The compiler option '${cn}' should ${Er===void 0?"not be set":`be set to '${typeof Er=="string"?Er:JSON.stringify(Er)}'`}, it was ${vr===void 0?"not set":`set to '${typeof vr=="string"?vr:JSON.stringify(vr)}'`}`,"getMessage"),ie="ESNext",Q=pB.ModuleKind.ESNext,Re=[];z.options.module!==Q&&Re.push(re("module",ie,M.compilerOptions.module));let Ie="ES2022",we=pB.default.ScriptTarget.ES2022;z.options.target!==we&&Re.push(re("target",Ie,M.compilerOptions.target));let wt="Bundler",xt=pB.default.ModuleResolutionKind.Bundler;z.options.moduleResolution!==xt&&Re.push(re("moduleResolution",wt,M.compilerOptions.moduleResolution));let Tr=["ESNext","WebWorker","Webworker.Iterable"];t(cn=>{let Er=Tr.map(fs=>fs.toLowerCase()),vr=cn.map(fs=>fs.toLowerCase());return Er.every(fs=>vr.includes(fs))},"includesAllLibs")(M.compilerOptions.lib??[])||Re.push(re("lib",Tr,M.compilerOptions.lib)),z.options.baseUrl&&Re.push(re("baseUrl",void 0,M.compilerOptions.baseUrl));let tn=[];return Re.length>0&&tn.push({message:"This project's tsconfig.json was not set to the recommended settings. Custom settings may cause build issues. For guidance on how to adjust your settings, please visit: https://zuplo.com/docs/articles/tsconfig",severity:"warning",detail:Re.join(`
649
- `),pluginName:JF,helpUrl:"https://zuplo.com/docs/articles/tsconfig"}),{warnings:tn,errors:[]}}catch(b){s.error(b);let D={message:`Error validating tsconfig.json : ${b.message}`,severity:"error",pluginName:JF};return{warnings:[],errors:[D]}}})},"validateTSConfig");var dB;try{let a=Axr(new URL("../../package.json",import.meta.url),"utf-8");dB=JSON.parse(a).version}catch{dB="0.0.0"}function Nxr(a){let{ZUPLO:s,ZUPLO_BUILD_ID:l,ZUPLO_BUILD_CONFIG:_}=process.env;if(s&&l&&_){let h;try{h=JSON.parse(_)}catch{throw new Error("Couuld not parse ZUPLO_BUILD_CONFIG")}let b={ZUPLO_PROJECT_ID:h.projectId,ZUPLO_ACCOUNT_NAME:h.accountName,ZUPLO_PROJECT_NAME:h.projectName,ZUPLO_ENVIRONMENT_TYPE:h.environmentType};for(let[D,N]of Object.entries(process.env))D.startsWith("ZUPLO_PUBLIC_")&&(b[D]=N??"");return{...a,buildId:l,...h,publicZuploEnvironmentVariables:b}}return a}t(Nxr,"getBuildConfig");async function f5e(a){let s=performance.now(),{buildId:l,sourceDirectory:_,deploymentName:h=M_e.basename(_),command:b,minify:D,entitlements:N,environmentType:M,logger:z,output:re,noCompile:ie=!1,projectId:Q,urls:Re,publicZuploEnvironmentVariables:Ie}=Nxr(a),we=await uB(_),wt=M_e.join(_,OM),xt;if("errors"in we)K7e({output:re.child("api"),buildId:l,runtimeVersion:dB}),xt={status:"Failed",flags:void 0,compatibilityDate:void 0,runtimeVersion:dB,outputPath:wt,buildTime:new Date().toISOString(),buildTimeMs:0,buildId:l,warnings:[],errors:we.errors,metafile:void 0};else{ie||K7e({output:re.child("api"),buildId:l,runtimeVersion:dB,compatibilityDate:we.config.compatibilityDate});let tn={command:b,minify:D,deploymentName:h,sourceDirectory:_,outputDirectory:wt,systemDirectory:M_e.join(_,zg),cacheDirectory:M_e.join(_,"node_modules",zg),buildId:l,logger:z,output:re,config:we.config,publicZuploEnvironmentVariables:Ie,projectId:Q,entitlements:N,environmentType:M,urls:Re},cn=[];cn.push(avt),cn.push(cvt),cn.push(lvt),cn.push(uvt),cn.push(Fvt),cn.push(pvt),cn.push(fvt),ie||cn.push(X1t),cn.push(svt);let Er=await rvt(cn,tn),vr=Er.errors.length>0?GO:Er.warnings.length>0?J6e:gA,fs=Er.data.get("metafile");xt={status:vr,compatibilityDate:we.config.compatibilityDate,runtimeVersion:dB,outputPath:wt,buildTime:new Date().toISOString(),buildTimeMs:0,metafile:fs,buildId:l,warnings:Er.warnings,errors:Er.errors,flags:we.config.flags}}xt.warnings.length>0&&xt.warnings.forEach(tn=>{z.warn(tn)}),xt.errors.length>0&&xt.errors.forEach(tn=>{z.error(tn)});let{metafile:Tr,...fn}=xt;if(z.debug(fn,"Compiler completed"),xt.buildTimeMs=performance.now()-s,ie||await I_e(_,re.child("api"),xt),process.env.ZUPLO_SHOW_PERF){console.log();let tn=xt.buildTimeMs<2e3?"green":xt.buildTimeMs<5e3?"yellow":"red";console.log(Jf[tn](`Build time: ${xt.buildTimeMs.toFixed(0)}ms`)),Uu.report()}return Uu.clear(),xt}t(f5e,"build");import{existsSync as cAr}from"node:fs";import{mkdir as lAr,readFile as uAr}from"node:fs/promises";import AY from"node:path";var Rxt=ap(T9e(),1);import{randomUUID as eTt}from"node:crypto";import wwr from"node:events";import HB from"node:path";import Pwr from"chokidar";import*as tTt from"esbuild";var x9e=class extends wwr{static{t(this,"WatchEmitter")}},kN=class{static{t(this,"BuildWatcher")}esbuildContext;emitter=new x9e;envFilesWatcher;outputDirectory;sourceDirectory;command;logger;publicZuploEnvironmentVariables;projectName;buildId;output;constructor({sourceDirectory:s,command:l,logger:_,publicZuploEnvironmentVariables:h={},buildId:b,output:D}){this.sourceDirectory=s,this.command=l,this.outputDirectory=HB.join(s,OM),this.logger=_,this.publicZuploEnvironmentVariables=h,this.projectName=HB.basename(s),this.buildId=b,this.output=D,this.envFilesWatcher=Pwr.watch([HB.join(s,".env"),HB.join(s,".env.zuplo")])}watchEnvFiles(){this.envFilesWatcher.on("change",()=>{this.emitter.emit("reload",null,null)}),this.envFilesWatcher.on("add",()=>{this.emitter.emit("reload",null,null)}),this.envFilesWatcher.on("unlink",()=>{this.emitter.emit("reload",null,null)})}onReload=t(s=>{this.emitter.on("reload",s)},"onReload");async start(){let{sourceDirectory:s}=this;if(this.esbuildContext!==void 0)throw new Error("Watcher cannot be started more than once");let l=await f5e({buildId:this.buildId,output:this.output,sourceDirectory:s,noCompile:!0,command:this.command,publicZuploEnvironmentVariables:this.publicZuploEnvironmentVariables,logger:this.logger,urls:void 0}),_=await lY({command:this.command,systemDirectory:HB.join(s,zg),cacheDirectory:HB.join(s,"node_modules",zg),outputDirectory:this.outputDirectory,sourceDirectory:s,config:{compatibilityDate:l.compatibilityDate,flags:l.flags??{}},logger:this.logger,urls:void 0}),h=this;_.plugins?.push({name:"on-end",setup(b){b.onEnd(D=>{h.logger.debug("Watcher (build) reloaded");let N=H7e({buildId:eTt(),result:D});N.errors.length>0?h.logger.error(N.errors,"Build errors"):h.logger.debug(`Successfully rebuilt watched project. Build id ${N.buildId}`);let M={...N,compatibilityDate:l.compatibilityDate,flags:l.flags};h.emitter.emit("reload",M,null)})}}),this.esbuildContext=await tTt.context(_);try{if((await this.esbuildContext.rebuild()).errors.length>0){let D={status:"Failed",runtimeVersion:"0.0.0",buildTime:"",buildTimeMs:0,buildId:eTt(),warnings:[],errors:[],metafile:void 0};await I_e(s,h.output.child("api"),D),this.logger.error(D.errors,"Build errors")}}catch(b){throw await this.close(),b}await this.esbuildContext.watch()}async close(){try{await this.envFilesWatcher.close(),this.esbuildContext&&(await this.esbuildContext.dispose(),this.logger.debug("ESBuild watcher closed"))}catch(s){this.logger.error(s)}}};import{existsSync as Fxt,readFileSync as Lxt}from"node:fs";import Sde from"node:path";var G9e=ap(oTt(),1);var Ixt=ap(KTt(),1);import{Buffer as rAr}from"node:buffer";import nAr from"node:path";import Nxt from"node:child_process";import bde from"node:process";function L9e(a){let s=typeof a=="string"?`
649
+ `),pluginName:JF,helpUrl:"https://zuplo.com/docs/articles/tsconfig"}),{warnings:tn,errors:[]}}catch(b){s.error(b);let D={message:`Error validating tsconfig.json : ${b.message}`,severity:"error",pluginName:JF};return{warnings:[],errors:[D]}}})},"validateTSConfig");var dB;try{let a=Axr(new URL("../../package.json",import.meta.url),"utf-8");dB=JSON.parse(a).version}catch{dB="0.0.0"}function Nxr(a){let{ZUPLO:s,ZUPLO_BUILD_ID:l,ZUPLO_BUILD_CONFIG:_}=process.env;if(s&&l&&_){let h;try{h=JSON.parse(_)}catch{throw new Error("Couuld not parse ZUPLO_BUILD_CONFIG")}let b={ZUPLO_PROJECT_ID:h.projectId,ZUPLO_ACCOUNT_NAME:h.accountName,ZUPLO_PROJECT_NAME:h.projectName,ZUPLO_ENVIRONMENT_TYPE:h.environmentType};for(let[D,N]of Object.entries(process.env))D.startsWith("ZUPLO_PUBLIC_")&&(b[D]=N??"");return{...a,buildId:l,...h,publicZuploEnvironmentVariables:b}}return a}t(Nxr,"getBuildConfig");async function f5e(a){let s=performance.now(),{buildId:l,sourceDirectory:_,deploymentName:h=M_e.basename(_),command:b,minify:D,entitlements:N,environmentType:M,logger:z,output:re,noCompile:ie=!1,projectId:Q,urls:Re,publicZuploEnvironmentVariables:Ie}=Nxr(a),we=await uB(_),wt=M_e.join(_,OM),xt;if("errors"in we)K7e({output:re.child("api"),buildId:l,runtimeVersion:dB}),xt={status:"Failed",flags:void 0,compatibilityDate:void 0,runtimeVersion:dB,outputPath:wt,buildTime:new Date().toISOString(),buildTimeMs:0,buildId:l,warnings:[],errors:we.errors,metafile:void 0};else{ie||K7e({output:re.child("api"),buildId:l,runtimeVersion:dB,compatibilityDate:we.config.compatibilityDate});let tn={command:b,minify:D,deploymentName:h,sourceDirectory:_,outputDirectory:wt,systemDirectory:M_e.join(_,zg),cacheDirectory:M_e.join(_,"node_modules",zg),buildId:l,logger:z,output:re,config:we.config,publicZuploEnvironmentVariables:Ie,projectId:Q,entitlements:N,environmentType:M,urls:Re},cn=[];cn.push(avt),cn.push(cvt),cn.push(lvt),cn.push(uvt),cn.push(Fvt),cn.push(pvt),cn.push(fvt),ie||cn.push(X1t),cn.push(svt);let Er=await rvt(cn,tn),vr=Er.errors.length>0?GO:Er.warnings.length>0?J6e:gA,fs=Er.data.get("metafile");xt={status:vr,compatibilityDate:we.config.compatibilityDate,runtimeVersion:dB,outputPath:wt,buildTime:new Date().toISOString(),buildTimeMs:0,metafile:fs,buildId:l,warnings:Er.warnings,errors:Er.errors,flags:we.config.flags}}xt.warnings.length>0&&xt.warnings.forEach(tn=>{z.warn(tn)}),xt.errors.length>0&&xt.errors.forEach(tn=>{z.error(tn)});let{metafile:Tr,...fn}=xt;if(z.debug(fn,"Compiler completed"),xt.buildTimeMs=performance.now()-s,ie||await I_e(_,re.child("api"),xt),process.env.ZUPLO_SHOW_PERF){console.log();let tn=xt.buildTimeMs<2e3?"green":xt.buildTimeMs<5e3?"yellow":"red";console.log(Jf[tn](`Build time: ${xt.buildTimeMs.toFixed(0)}ms`)),Uu.report()}return Uu.clear(),xt}t(f5e,"build");import{existsSync as cAr}from"node:fs";import{mkdir as lAr,readFile as uAr}from"node:fs/promises";import AY from"node:path";var Rxt=ap(T9e(),1);import{randomUUID as eTt}from"node:crypto";import wwr from"node:events";import HB from"node:path";import Pwr from"chokidar";import*as tTt from"esbuild";var x9e=class extends wwr{static{t(this,"WatchEmitter")}},kN=class{static{t(this,"BuildWatcher")}esbuildContext;emitter=new x9e;envFilesWatcher;outputDirectory;sourceDirectory;command;logger;publicZuploEnvironmentVariables;projectName;buildId;output;urls;constructor({sourceDirectory:s,command:l,logger:_,publicZuploEnvironmentVariables:h={},buildId:b,output:D,urls:N}){this.sourceDirectory=s,this.command=l,this.outputDirectory=HB.join(s,OM),this.logger=_,this.publicZuploEnvironmentVariables=h,this.projectName=HB.basename(s),this.buildId=b,this.output=D,this.urls=N,this.envFilesWatcher=Pwr.watch([HB.join(s,".env"),HB.join(s,".env.zuplo")])}watchEnvFiles(){this.envFilesWatcher.on("change",()=>{this.emitter.emit("reload",null,null)}),this.envFilesWatcher.on("add",()=>{this.emitter.emit("reload",null,null)}),this.envFilesWatcher.on("unlink",()=>{this.emitter.emit("reload",null,null)})}onReload=t(s=>{this.emitter.on("reload",s)},"onReload");async start(){let{sourceDirectory:s}=this;if(this.esbuildContext!==void 0)throw new Error("Watcher cannot be started more than once");let l=await f5e({buildId:this.buildId,output:this.output,sourceDirectory:s,noCompile:!0,command:this.command,publicZuploEnvironmentVariables:this.publicZuploEnvironmentVariables,logger:this.logger,urls:this.urls}),_=await lY({command:this.command,systemDirectory:HB.join(s,zg),cacheDirectory:HB.join(s,"node_modules",zg),outputDirectory:this.outputDirectory,sourceDirectory:s,config:{compatibilityDate:l.compatibilityDate,flags:l.flags??{}},logger:this.logger,urls:this.urls}),h=this;_.plugins?.push({name:"on-end",setup(b){b.onEnd(D=>{h.logger.debug("Watcher (build) reloaded");let N=H7e({buildId:eTt(),result:D});N.errors.length>0?h.logger.error(N.errors,"Build errors"):h.logger.debug(`Successfully rebuilt watched project. Build id ${N.buildId}`);let M={...N,compatibilityDate:l.compatibilityDate,flags:l.flags};h.emitter.emit("reload",M,null)})}}),this.esbuildContext=await tTt.context(_);try{if((await this.esbuildContext.rebuild()).errors.length>0){let D={status:"Failed",runtimeVersion:"0.0.0",buildTime:"",buildTimeMs:0,buildId:eTt(),warnings:[],errors:[],metafile:void 0};await I_e(s,h.output.child("api"),D),this.logger.error(D.errors,"Build errors")}}catch(b){throw await this.close(),b}await this.esbuildContext.watch()}async close(){try{await this.envFilesWatcher.close(),this.esbuildContext&&(await this.esbuildContext.dispose(),this.logger.debug("ESBuild watcher closed"))}catch(s){this.logger.error(s)}}};import{existsSync as Fxt,readFileSync as Lxt}from"node:fs";import Sde from"node:path";var G9e=ap(oTt(),1);var Ixt=ap(KTt(),1);import{Buffer as rAr}from"node:buffer";import nAr from"node:path";import Nxt from"node:child_process";import bde from"node:process";function L9e(a){let s=typeof a=="string"?`
650
650
  `:10,l=typeof a=="string"?"\r":13;return a[a.length-1]===s&&(a=a.slice(0,-1)),a[a.length-1]===l&&(a=a.slice(0,-1)),a}t(L9e,"stripFinalNewline");import _de from"node:process";import kY from"node:path";import{fileURLToPath as YTt}from"node:url";function fde(a={}){let{env:s=process.env,platform:l=process.platform}=a;return l!=="win32"?"PATH":Object.keys(s).reverse().find(_=>_.toUpperCase()==="PATH")||"Path"}t(fde,"pathKey");var hPr=t(({cwd:a=_de.cwd(),path:s=_de.env[fde()],preferLocal:l=!0,execPath:_=_de.execPath,addExecPath:h=!0}={})=>{let b=a instanceof URL?YTt(a):a,D=kY.resolve(b),N=[];return l&&gPr(N,D),h&&yPr(N,_,D),[...N,s].join(kY.delimiter)},"npmRunPath"),gPr=t((a,s)=>{let l;for(;l!==s;)a.push(kY.join(s,"node_modules/.bin")),l=s,s=kY.resolve(s,"..")},"applyPreferLocal"),yPr=t((a,s,l)=>{let _=s instanceof URL?YTt(s):s;a.push(kY.resolve(l,_,".."))},"applyExecPath"),XTt=t(({env:a=_de.env,...s}={})=>{a={...a};let l=fde({env:a});return s.path=a[l],a[l]=hPr(s),a},"npmRunPathEnv");var vPr=t((a,s,l,_)=>{if(l==="length"||l==="prototype"||l==="arguments"||l==="caller")return;let h=Object.getOwnPropertyDescriptor(a,l),b=Object.getOwnPropertyDescriptor(s,l);!bPr(h,b)&&_||Object.defineProperty(a,l,b)},"copyProperty"),bPr=t(function(a,s){return a===void 0||a.configurable||a.writable===s.writable&&a.enumerable===s.enumerable&&a.configurable===s.configurable&&(a.writable||a.value===s.value)},"canCopyProperty"),SPr=t((a,s)=>{let l=Object.getPrototypeOf(s);l!==Object.getPrototypeOf(a)&&Object.setPrototypeOf(a,l)},"changePrototype"),TPr=t((a,s)=>`/* Wrapped ${a}*/
651
651
  ${s}`,"wrappedToString"),xPr=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),EPr=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name"),CPr=t((a,s,l)=>{let _=l===""?"":`with ${l.trim()}() `,h=TPr.bind(null,_,s.toString());Object.defineProperty(h,"name",EPr),Object.defineProperty(a,"toString",{...xPr,value:h})},"changeToString");function R9e(a,s,{ignoreNonConfigurable:l=!1}={}){let{name:_}=a;for(let h of Reflect.ownKeys(s))vPr(a,s,h,l);return SPr(a,s),CPr(a,s,_),a}t(R9e,"mimicFunction");var pde=new WeakMap,QTt=t((a,s={})=>{if(typeof a!="function")throw new TypeError("Expected a function");let l,_=0,h=a.displayName||a.name||"<anonymous>",b=t(function(...D){if(pde.set(b,++_),_===1)l=a.apply(this,D),a=null;else if(s.throw===!0)throw new Error(`Function \`${h}\` can only be called once`);return l},"onetime");return R9e(b,a),pde.set(b,_),b},"onetime");QTt.callCount=a=>{if(!pde.has(a))throw new Error(`The given function \`${a.name}\` is not wrapped by the \`onetime\` package`);return pde.get(a)};var ZTt=QTt;import{constants as PPr}from"os";var ext=t(function(){let a=M9e-txt+1;return Array.from({length:a},DPr)},"getRealtimeSignals"),DPr=t(function(a,s){return{name:`SIGRT${s+1}`,number:txt+s,action:"terminate",description:"Application-specific signal (realtime)",standard:"posix"}},"getRealtimeSignal"),txt=34,M9e=64;import{constants as kPr}from"os";var rxt=[{name:"SIGHUP",number:1,action:"terminate",description:"Terminal closed",standard:"posix"},{name:"SIGINT",number:2,action:"terminate",description:"User interruption with CTRL-C",standard:"ansi"},{name:"SIGQUIT",number:3,action:"core",description:"User interruption with CTRL-\\",standard:"posix"},{name:"SIGILL",number:4,action:"core",description:"Invalid machine instruction",standard:"ansi"},{name:"SIGTRAP",number:5,action:"core",description:"Debugger breakpoint",standard:"posix"},{name:"SIGABRT",number:6,action:"core",description:"Aborted",standard:"ansi"},{name:"SIGIOT",number:6,action:"core",description:"Aborted",standard:"bsd"},{name:"SIGBUS",number:7,action:"core",description:"Bus error due to misaligned, non-existing address or paging error",standard:"bsd"},{name:"SIGEMT",number:7,action:"terminate",description:"Command should be emulated but is not implemented",standard:"other"},{name:"SIGFPE",number:8,action:"core",description:"Floating point arithmetic error",standard:"ansi"},{name:"SIGKILL",number:9,action:"terminate",description:"Forced termination",standard:"posix",forced:!0},{name:"SIGUSR1",number:10,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGSEGV",number:11,action:"core",description:"Segmentation fault",standard:"ansi"},{name:"SIGUSR2",number:12,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGPIPE",number:13,action:"terminate",description:"Broken pipe or socket",standard:"posix"},{name:"SIGALRM",number:14,action:"terminate",description:"Timeout or timer",standard:"posix"},{name:"SIGTERM",number:15,action:"terminate",description:"Termination",standard:"ansi"},{name:"SIGSTKFLT",number:16,action:"terminate",description:"Stack is empty or overflowed",standard:"other"},{name:"SIGCHLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"posix"},{name:"SIGCLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"other"},{name:"SIGCONT",number:18,action:"unpause",description:"Unpaused",standard:"posix",forced:!0},{name:"SIGSTOP",number:19,action:"pause",description:"Paused",standard:"posix",forced:!0},{name:"SIGTSTP",number:20,action:"pause",description:'Paused using CTRL-Z or "suspend"',standard:"posix"},{name:"SIGTTIN",number:21,action:"pause",description:"Background process cannot read terminal input",standard:"posix"},{name:"SIGBREAK",number:21,action:"terminate",description:"User interruption with CTRL-BREAK",standard:"other"},{name:"SIGTTOU",number:22,action:"pause",description:"Background process cannot write to terminal output",standard:"posix"},{name:"SIGURG",number:23,action:"ignore",description:"Socket received out-of-band data",standard:"bsd"},{name:"SIGXCPU",number:24,action:"core",description:"Process timed out",standard:"bsd"},{name:"SIGXFSZ",number:25,action:"core",description:"File too big",standard:"bsd"},{name:"SIGVTALRM",number:26,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGPROF",number:27,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGWINCH",number:28,action:"ignore",description:"Terminal window size changed",standard:"bsd"},{name:"SIGIO",number:29,action:"terminate",description:"I/O is available",standard:"other"},{name:"SIGPOLL",number:29,action:"terminate",description:"Watched event",standard:"other"},{name:"SIGINFO",number:29,action:"ignore",description:"Request for process information",standard:"other"},{name:"SIGPWR",number:30,action:"terminate",description:"Device running out of power",standard:"systemv"},{name:"SIGSYS",number:31,action:"core",description:"Invalid system call",standard:"other"},{name:"SIGUNUSED",number:31,action:"terminate",description:"Invalid system call",standard:"other"}];var j9e=t(function(){let a=ext();return[...rxt,...a].map(wPr)},"getSignals"),wPr=t(function({name:a,number:s,description:l,action:_,forced:h=!1,standard:b}){let{signals:{[a]:D}}=kPr,N=D!==void 0;return{name:a,number:N?D:s,description:l,supported:N,action:_,forced:h,standard:b}},"normalizeSignal");var APr=t(function(){return j9e().reduce(NPr,{})},"getSignalsByName"),NPr=t(function(a,{name:s,number:l,description:_,supported:h,action:b,forced:D,standard:N}){return{...a,[s]:{name:s,number:l,description:_,supported:h,action:b,forced:D,standard:N}}},"getSignalByName"),nxt=APr(),IPr=t(function(){let a=j9e(),s=M9e+1,l=Array.from({length:s},(_,h)=>OPr(h,a));return Object.assign({},...l)},"getSignalsByNumber"),OPr=t(function(a,s){let l=FPr(a,s);if(l===void 0)return{};let{name:_,description:h,supported:b,action:D,forced:N,standard:M}=l;return{[a]:{name:_,number:a,description:h,supported:b,action:D,forced:N,standard:M}}},"getSignalByNumber"),FPr=t(function(a,s){let l=s.find(({name:_})=>PPr.signals[_]===a);return l!==void 0?l:s.find(_=>_.number===a)},"findSignalByNumber"),OHr=IPr();var LPr=t(({timedOut:a,timeout:s,errorCode:l,signal:_,signalDescription:h,exitCode:b,isCanceled:D})=>a?`timed out after ${s} milliseconds`:D?"was canceled":l!==void 0?`failed with ${l}`:_!==void 0?`was killed with ${_} (${h})`:b!==void 0?`failed with exit code ${b}`:"failed","getErrorPrefix"),B9e=t(({stdout:a,stderr:s,all:l,error:_,signal:h,exitCode:b,command:D,escapedCommand:N,timedOut:M,isCanceled:z,killed:re,parsed:{options:{timeout:ie}}})=>{b=b===null?void 0:b,h=h===null?void 0:h;let Q=h===void 0?void 0:nxt[h].description,Re=_&&_.code,we=`Command ${LPr({timedOut:M,timeout:ie,errorCode:Re,signal:h,signalDescription:Q,exitCode:b,isCanceled:z})}: ${D}`,wt=Object.prototype.toString.call(_)==="[object Error]",xt=wt?`${we}
652
652
  ${_.message}`:we,Tr=[xt,s,a].filter(Boolean).join(`
653
- `);return wt?(_.originalMessage=_.message,_.message=Tr):_=new Error(Tr),_.shortMessage=xt,_.command=D,_.escapedCommand=N,_.exitCode=b,_.signal=h,_.signalDescription=Q,_.stdout=a,_.stderr=s,l!==void 0&&(_.all=l),"bufferedData"in _&&delete _.bufferedData,_.failed=!0,_.timedOut=!!M,_.isCanceled=z,_.killed=re&&!M,_},"makeError");var dde=["stdin","stdout","stderr"],RPr=t(a=>dde.some(s=>a[s]!==void 0),"hasAlias"),ixt=t(a=>{if(!a)return;let{stdio:s}=a;if(s===void 0)return dde.map(_=>a[_]);if(RPr(a))throw new Error(`It's not possible to provide \`stdio\` in combination with one of ${dde.map(_=>`\`${_}\``).join(", ")}`);if(typeof s=="string")return s;if(!Array.isArray(s))throw new TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof s}\``);let l=Math.max(s.length,dde.length);return Array.from({length:l},(_,h)=>s[h])},"normalizeStdio");var fxt=ap(uxt(),1);import MPr from"node:os";var jPr=1e3*5,_xt=t((a,s="SIGTERM",l={})=>{let _=a(s);return BPr(a,s,l,_),_},"spawnedKill"),BPr=t((a,s,l,_)=>{if(!UPr(s,l,_))return;let h=zPr(l),b=setTimeout(()=>{a("SIGKILL")},h);b.unref&&b.unref()},"setKillTimeout"),UPr=t((a,{forceKillAfterTimeout:s},l)=>$Pr(a)&&s!==!1&&l,"shouldForceKill"),$Pr=t(a=>a===MPr.constants.signals.SIGTERM||typeof a=="string"&&a.toUpperCase()==="SIGTERM","isSigterm"),zPr=t(({forceKillAfterTimeout:a=!0})=>{if(a===!0)return jPr;if(!Number.isFinite(a)||a<0)throw new TypeError(`Expected the \`forceKillAfterTimeout\` option to be a non-negative integer, got \`${a}\` (${typeof a})`);return a},"getForceKillAfterTimeout"),pxt=t((a,s)=>{a.kill()&&(s.isCanceled=!0)},"spawnedCancel"),JPr=t((a,s,l)=>{a.kill(s),l(Object.assign(new Error("Timed out"),{timedOut:!0,signal:s}))},"timeoutKill"),dxt=t((a,{timeout:s,killSignal:l="SIGTERM"},_)=>{if(s===0||s===void 0)return _;let h,b=new Promise((N,M)=>{h=setTimeout(()=>{JPr(a,l,M)},s)}),D=_.finally(()=>{clearTimeout(h)});return Promise.race([b,D])},"setupTimeout"),mxt=t(({timeout:a})=>{if(a!==void 0&&(!Number.isFinite(a)||a<0))throw new TypeError(`Expected the \`timeout\` option to be a non-negative integer, got \`${a}\` (${typeof a})`)},"validateTimeout"),hxt=t(async(a,{cleanup:s,detached:l},_)=>{if(!s||l)return _;let h=(0,fxt.default)(()=>{a.kill()});return _.finally(()=>{h()})},"setExitHandler");function gxt(a){return a!==null&&typeof a=="object"&&typeof a.pipe=="function"}t(gxt,"isStream");var V9e=ap(bxt(),1),xxt=ap(Txt(),1);var Ext=t((a,s)=>{s===void 0||a.stdin===void 0||(gxt(s)?s.pipe(a.stdin):a.stdin.end(s))},"handleInput"),Cxt=t((a,{all:s})=>{if(!s||!a.stdout&&!a.stderr)return;let l=(0,xxt.default)();return a.stdout&&l.add(a.stdout),a.stderr&&l.add(a.stderr),l},"makeAllStream"),J9e=t(async(a,s)=>{if(a){a.destroy();try{return await s}catch(l){return l.bufferedData}}},"getBufferedData"),q9e=t((a,{encoding:s,buffer:l,maxBuffer:_})=>{if(!(!a||!l))return s?(0,V9e.default)(a,{encoding:s,maxBuffer:_}):V9e.default.buffer(a,{maxBuffer:_})},"getStreamPromise"),Dxt=t(async({stdout:a,stderr:s,all:l},{encoding:_,buffer:h,maxBuffer:b},D)=>{let N=q9e(a,{encoding:_,buffer:h,maxBuffer:b}),M=q9e(s,{encoding:_,buffer:h,maxBuffer:b}),z=q9e(l,{encoding:_,buffer:h,maxBuffer:b*2});try{return await Promise.all([D,N,M,z])}catch(re){return Promise.all([{error:re,signal:re.signal,timedOut:re.timedOut},J9e(a,N),J9e(s,M),J9e(l,z)])}},"getSpawnedResult");var XPr=(async()=>{})().constructor.prototype,QPr=["then","catch","finally"].map(a=>[a,Reflect.getOwnPropertyDescriptor(XPr,a)]),W9e=t((a,s)=>{for(let[l,_]of QPr){let h=typeof s=="function"?(...b)=>Reflect.apply(_.value,s(),b):_.value.bind(s);Reflect.defineProperty(a,l,{..._,value:h})}return a},"mergePromise"),kxt=t(a=>new Promise((s,l)=>{a.on("exit",(_,h)=>{s({exitCode:_,signal:h})}),a.on("error",_=>{l(_)}),a.stdin&&a.stdin.on("error",_=>{l(_)})}),"getSpawnedPromise");var wxt=t((a,s=[])=>Array.isArray(s)?[a,...s]:[a],"normalizeArgs"),ZPr=/^[\w.-]+$/,eAr=/"/g,tAr=t(a=>typeof a!="string"||ZPr.test(a)?a:`"${a.replace(eAr,'\\"')}"`,"escapeArg"),Pxt=t((a,s)=>wxt(a,s).join(" "),"joinCommand"),Axt=t((a,s)=>wxt(a,s).map(l=>tAr(l)).join(" "),"getEscapedCommand");var iAr=1e3*1e3*100,sAr=t(({env:a,extendEnv:s,preferLocal:l,localDir:_,execPath:h})=>{let b=s?{...bde.env,...a}:a;return l?XTt({env:b,cwd:_,execPath:h}):b},"getEnv"),aAr=t((a,s,l={})=>{let _=Ixt.default._parse(a,s,l);return a=_.command,s=_.args,l=_.options,l={maxBuffer:iAr,buffer:!0,stripFinalNewline:!0,extendEnv:!0,preferLocal:!1,localDir:l.cwd||bde.cwd(),execPath:bde.execPath,encoding:"utf8",reject:!0,cleanup:!0,all:!1,windowsHide:!0,...l},l.env=sAr(l),l.stdio=ixt(l),bde.platform==="win32"&&nAr.basename(a,".exe")==="cmd"&&s.unshift("/q"),{file:a,args:s,options:l,parsed:_}},"handleArguments"),H9e=t((a,s,l)=>typeof s!="string"&&!rAr.isBuffer(s)?l===void 0?void 0:"":a.stripFinalNewline?L9e(s):s,"handleOutput");function Oxt(a,s,l){let _=aAr(a,s,l),h=Pxt(a,s),b=Axt(a,s);mxt(_.options);let D;try{D=Nxt.spawn(_.file,_.args,_.options)}catch(Re){let Ie=new Nxt.ChildProcess,we=Promise.reject(B9e({error:Re,stdout:"",stderr:"",all:"",command:h,escapedCommand:b,parsed:_,timedOut:!1,isCanceled:!1,killed:!1}));return W9e(Ie,we)}let N=kxt(D),M=dxt(D,_.options,N),z=hxt(D,_.options,M),re={isCanceled:!1};D.kill=_xt.bind(null,D.kill.bind(D)),D.cancel=pxt.bind(null,D,re);let Q=ZTt(t(async()=>{let[{error:Re,exitCode:Ie,signal:we,timedOut:wt},xt,Tr,fn]=await Dxt(D,_.options,z),tn=H9e(_.options,xt),cn=H9e(_.options,Tr),Er=H9e(_.options,fn);if(Re||Ie!==0||we!==null){let vr=B9e({error:Re,exitCode:Ie,signal:we,stdout:tn,stderr:cn,all:Er,command:h,escapedCommand:b,parsed:_,timedOut:wt,isCanceled:re.isCanceled||(_.options.signal?_.options.signal.aborted:!1),killed:D.killed});if(!_.options.reject)return vr;throw vr}return{command:h,escapedCommand:b,exitCode:0,stdout:tn,stderr:cn,all:Er,failed:!1,timedOut:!1,isCanceled:!1,killed:!1}},"handlePromise"));return Ext(D,_.options.input),D.all=Cxt(D,_.options),W9e(D,Q)}t(Oxt,"execa");async function Tde(a,s){if(a.__ZUPLO_LOG_LEVEL=process.env.__ZUPLO_LOG_LEVEL??process.env.LOG_LEVEL,a.__ZUPLO_LOG_FORMAT=process.env.__ZUPLO_LOG_FORMAT??process.env.LOG_FORMAT,a.LOG_LEVEL=process.env.LOG_LEVEL??process.env.LOG_LEVEL,a.LOG_FORMAT=process.env.LOG_FORMAT??process.env.LOG_FORMAT,a.GIT_SHA=process.env.GIT_SHA??await oAr(s),process.env.__ZUPLO_CONFIG&&(a.__ZUPLO_CONFIG=process.env.__ZUPLO_CONFIG),Fxt(Sde.join(s,".env.zuplo"))){let l=Lxt(Sde.join(s,".env.zuplo"),"utf8"),_=G9e.default.parse(l);for(let h of Object.keys(_))if(a[h]=_[h],h==="ZUPLO_SYSTEM_CONFIGURATIONS"){let b=Buffer.from(mue.decode(_[h])).toString(),D=JSON.parse(b);for(let N of Object.keys(D))a[N]=D[N]}}if(Fxt(Sde.join(s,".env"))){let l=Lxt(Sde.join(s,".env"),"utf8"),_=G9e.default.parse(l);for(let h of Object.keys(_))a[h]=_[h]}for(let l of Object.keys(a))a[l]===void 0&&delete a[l];return a}t(Tde,"setEnvironment");async function oAr(a){let s="unknown";try{let{stdout:l}=await Oxt("git",["rev-parse","HEAD"],{cwd:a});l.trim().length===40&&(s=l.trim())}catch{}return s}t(oAr,"getGitSha");async function fAr({buildId:a,output:s,sourceDirectory:l,bundledDir:_,port:h,binaryName:b,publicZuploEnvironmentVariables:D,logger:N,handleRuntimeStdio:M}){if(_){let re=AY.join(l,_,"modules.json");if(!cAr(re))throw new Error("The bundled-dir does not contain a modules.json file.");let ie=await uAr(re,"utf-8").then(JSON.parse),Q=await uB(l);return Q.status===gA?new Promise((Re,Ie)=>{z(Q.config.compatibilityDate,AY.join(l,_),ie,Re,M)().catch(we=>{N.error(we),Ie(we)})}):(N.warn("Failed to get Zuplo config. Using default compatibility date."),new Promise((Re,Ie)=>{z(void 0,l,ie,Re,M)().catch(we=>{N.error(we),Ie(we)})}))}else{let re=new kN({buildId:a,output:s,sourceDirectory:l,command:"dev",logger:N,publicZuploEnvironmentVariables:D??{ZUPLO_ENVIRONMENT_TYPE:"LOCAL_DEVELOPMENT"},urls:void 0});try{await re.start()}catch{N.info("Ran into irrecoverable error while building. Fix the error and rerun the command."),process.exit(1)}return new Promise((ie,Q)=>{re.onReload((Re,Ie)=>{(Ie||Re&&Re.errors&&Re.errors.length>0)&&Q(Ie??Re?.errors),z(Re?.compatibilityDate,AY.join(l,"dist"),lB(l,Re?.metafile),ie,M)().catch(we=>{N.error(we),Q(we)})})})}function z(re,ie,Q,Re,Ie){return async()=>{let we={};await Tde(we,l);let wt=new Rxt.ZuploWorkerd({compatibilityDate:re,scriptDirectory:ie,modules:Q,port:h??ih.DEV_SERVER_PORT,bindings:we,handleRuntimeStdio:Ie}),xt=b??"compiled-zup",Tr=AY.join(l,"dist");await lAr(Tr,{recursive:!0}),await wt.compileBinary({binaryPath:AY.join(l,"dist",xt)}),await wt.dispose(),Re(void 0)}}t(z,"compile")}t(fAr,"compileWorkerdServer");var Mxt=ap(T9e(),1);import pAr from"node:path";import _Ar from"node:net";function NY(a,s){return new Promise(l=>{let _=new _Ar.Socket;_.connect(s,a),_.on("connect",()=>{_.destroy(),l(!1)}),_.on("error",()=>{_.destroy(),l(!0)})})}t(NY,"isPortAvailable");var xde=class{static{t(this,"WorkerdServer")}sourceDirectory;port;debugPort;buildWatcher;workerd;logger;output;handleRuntimeStdio;onReload;constructor(s){this.sourceDirectory=s.sourceDirectory,this.port=s.port??ih.DEV_SERVER_PORT,this.debugPort=s.debugPort,this.logger=s.logger,this.output=s.output,this.handleRuntimeStdio=s.handleRuntimeStdio,this.onReload=s.onReload,s.zupTestMode||(this.buildWatcher=new kN({...s,logger:this.logger,publicZuploEnvironmentVariables:s.publicZuploEnvironmentVariables??{ZUPLO_ENVIRONMENT_TYPE:"LOCAL_DEVELOPMENT"},urls:void 0}),this.buildWatcher.watchEnvFiles())}async start(){if(!await NY("localhost",this.port))throw new Error(`Port ${this.port} is currently in use. Please use a different port.`);if(this.buildWatcher)try{await this.buildWatcher.start()}catch(l){this.output.child("api").error(l.toString());let _="Ran into irrecoverable error while starting watcher. Fix the error and restart the server.";this.output.child("api").error(_),this.logger?.info(_),process.exit(1)}await this.startOrReload(),this.buildWatcher?.onReload((l,_)=>{_||l&&l.errors&&l.errors.length>0||(this.onReload(l,_),this.startOrReload(l).catch(h=>{this.output.child("api").error(h.toString()),this.logger?.error(h)}))})}async startOrReload(s){try{let l={};await Tde(l,this.sourceDirectory),await this.workerd?.dispose(),this.workerd=new Mxt.ZuploWorkerd({compatibilityDate:s?.compatibilityDate,scriptDirectory:pAr.join(this.sourceDirectory,"dist"),modules:lB(this.sourceDirectory,s?.metafile),port:this.port,inspectorPort:this.debugPort??void 0,bindings:l,handleRuntimeStdio:this.handleRuntimeStdio}),await this.workerd.serve()}catch(l){this.logger?.debug(l)}}async stop(){await this.buildWatcher?.close(),await this.workerd?.dispose()}};import{fileURLToPath as zxt}from"node:url";import{Readable as jxt}from"node:stream";import Bxt from"node:assert";import dAr from"node:child_process";import mAr from"node:fs";import Ede from"node:os";import hAr from"node:path";function Uxt(a,s){let l=import.meta.resolve(a),_=new URL(".",l),h=new URL(s,_);if(mAr.existsSync(h))return zxt(h)}t(Uxt,"getValidExecutablePath");function gAr(){let a=Ede.platform()==="win32"?"deno.exe":"deno",s=Uxt("deno/package.json",a);if(s)return s;let l=yAr(),_=Uxt(`@deno/${l}/package.json`,a);if(_)return _;throw new Error("Failed to locate the managed-dedicated server executable.")}t(gAr,"locateDenoExecutable");function yAr(){let a=Ede.platform();return a==="linux"?a+"-"+$xt()+"-glibc":a+"-"+$xt()}t(yAr,"getTarget");function $xt(){let a=Ede.arch();if(a!=="arm64"&&a!=="x64")throw new Error("Unsupported architecture "+Ede.arch()+". Only x64 and aarch64 binaries are available.");return a}t($xt,"getArch");var Cde=class{static{t(this,"ZenoServer")}serverProcess;debugPort;processExitPromise;logger;output;buildWatcher;onReload;handleRuntimeStdio;denoExecutablePath;constructor(s){this.debugPort=s.debugPort,this.logger=s.logger,this.output=s.output,this.onReload=s.onReload,this.handleRuntimeStdio=s.handleRuntimeStdio,s.zupTestMode||(this.buildWatcher=new kN({sourceDirectory:s.sourceDirectory,command:"dev",logger:s.logger,publicZuploEnvironmentVariables:s.publicZuploEnvironmentVariables??{ZUPLO_ENVIRONMENT_TYPE:"LOCAL_DEVELOPMENT"},buildId:"dev",output:s.output,urls:void 0}),this.buildWatcher.watchEnvFiles()),this.denoExecutablePath=gAr()}getServeArgs(){let s=`${hAr.dirname(zxt(import.meta.url))}/zeno.js`,l=["run","--allow-read","--allow-net","--allow-env","--allow-write"];return this.debugPort&&l.push(`--inspect=127.0.0.1:${this.debugPort}`),l.push(s),l}async getUnavailablePorts(){let s=[];return this.debugPort&&!await NY("127.0.0.1",this.debugPort)&&s.push(this.debugPort),await NY("127.0.0.1",9e3)||s.push(9e3),s}async start(){let s=await this.getUnavailablePorts();if(s.length>0)throw new Error("The following ports are not available: "+s.join(", "));if(this.buildWatcher)try{await this.buildWatcher.start()}catch(l){this.output.child("api").error(l.toString());let _="Ran into irrecoverable error while starting watcher. Fix the error and restart the server.";this.output.child("api").error(_),this.logger?.info(_),process.exit(1)}await this.startOrReload(),this.buildWatcher?.onReload((l,_)=>{_||l&&l.errors&&l.errors.length>0||(this.onReload(l,_),this.startOrReload().catch(h=>{this.output.child("api").error(h.toString()),this.logger?.error(h)}))})}async startOrReload(){try{await this.dispose(),this.logger?.info("Starting managed-dedicated local server");let s=this.getServeArgs();this.serverProcess=dAr.spawn(this.denoExecutablePath,s,{stdio:["pipe","pipe","pipe"],env:{...process.env,FORCE_COLOR:"1"}}),Bxt(this.serverProcess.stdout instanceof jxt),Bxt(this.serverProcess.stderr instanceof jxt),this.processExitPromise=this.waitForExit(),this.handleRuntimeStdio(this.serverProcess.stdout,this.serverProcess.stderr)}catch(s){this.logger?.debug(s)}}waitForExit(){return new Promise(s=>{this.serverProcess?.once("exit",s)})}dispose(){return this.serverProcess?.kill("SIGKILL"),this.processExitPromise}async stop(){await this.dispose(),await this.buildWatcher?.close()}};async function vAr(a){let s=await uB(a),l=!1;return s.status===gA&&(l=s.config.flags?.managedDedicatedFlags?.useZeno??!1),l||process.env.ZUPLO_DEV_RUNTIME==="zeno"}t(vAr,"useZeno");async function bAr({sourceDirectory:a,port:s,debugPort:l,publicZuploEnvironmentVariables:_,logger:h,output:b,buildId:D,onReload:N,handleRuntimeStdio:M}){process.env.ZUPLO_IS_LOCAL_DEVELOPMENT="true";let z;await vAr(a)?(h.debug("Starting managed-dedicated local dev server."),z=new Cde({sourceDirectory:a,debugPort:l,logger:h,output:b,publicZuploEnvironmentVariables:_,onReload:N,handleRuntimeStdio:M})):(h.debug("Starting edge local dev server."),z=new xde({sourceDirectory:a,command:"dev",port:s,debugPort:l,publicZuploEnvironmentVariables:_,logger:h,output:b,buildId:D,onReload:N,handleRuntimeStdio:M})),await z.start();async function re(){await z.stop()}t(re,"handle"),process.on("SIGTERM",re),process.on("SIGINT",re)}t(bAr,"startDevServer");var hEt=ap(Vxt(),1),gEt=ap(dEt(),1);import{readFile as t6r}from"node:fs/promises";import MY from"node:path";var ZAr=new RegExp("^((https|http)://)?[a-zA-Z0-9]{3}\\.[a-zA-Z0-9][a-zA-Z0-9]{0,61}?[a-zA-Z0-9]\\.(com|net|cn|cc)(:[0-9]{1,4})?/$"),e6r={concat(a,s){return MY.join(a,s)},resolve(a){return this.isAbsolute(a)?this.normalize(a):this.normalize(this.concat(process.cwd(),a))},normalize(a){let s=MY.normalize(a),l=MY.sep,_=[],h=0;return s.split(l).reverse().filter(D=>D!==".").forEach(D=>{D===".."?h++:h===0?_.push(D):h--}),_.reverse().join(l)},isData(a){return a.startsWith("data:")},isURL(a){return ZAr.test(a)},isAbsolute(a){return MY.isAbsolute(a)},relativeToFile(a,s){if(this.isData(a)||this.isAbsolute(s))return this.normalize(s);{let l=MY.dirname(a);return this.normalize(this.concat(l,s))}}},Lde=e6r;var mEt=t(a=>{let s=t(l=>l in s.cache?s.cache[l]:s.cache[l]=a(l),"m");return s.forgetEverything=()=>{s.cache=Object.create(null)},s.cache=Object.create(null),s},"memoize");function aLe(a){let s=mEt(async D=>await l(D,await a(D)));async function l(D,N){if(N===void 0)return s(Lde.resolve(D));let M,z,re=t(async Q=>(z=z||await _(ie))(Q),"_resolve"),ie={path:D,text:N,get lines(){return M=M||N.split(`
653
+ `);return wt?(_.originalMessage=_.message,_.message=Tr):_=new Error(Tr),_.shortMessage=xt,_.command=D,_.escapedCommand=N,_.exitCode=b,_.signal=h,_.signalDescription=Q,_.stdout=a,_.stderr=s,l!==void 0&&(_.all=l),"bufferedData"in _&&delete _.bufferedData,_.failed=!0,_.timedOut=!!M,_.isCanceled=z,_.killed=re&&!M,_},"makeError");var dde=["stdin","stdout","stderr"],RPr=t(a=>dde.some(s=>a[s]!==void 0),"hasAlias"),ixt=t(a=>{if(!a)return;let{stdio:s}=a;if(s===void 0)return dde.map(_=>a[_]);if(RPr(a))throw new Error(`It's not possible to provide \`stdio\` in combination with one of ${dde.map(_=>`\`${_}\``).join(", ")}`);if(typeof s=="string")return s;if(!Array.isArray(s))throw new TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof s}\``);let l=Math.max(s.length,dde.length);return Array.from({length:l},(_,h)=>s[h])},"normalizeStdio");var fxt=ap(uxt(),1);import MPr from"node:os";var jPr=1e3*5,_xt=t((a,s="SIGTERM",l={})=>{let _=a(s);return BPr(a,s,l,_),_},"spawnedKill"),BPr=t((a,s,l,_)=>{if(!UPr(s,l,_))return;let h=zPr(l),b=setTimeout(()=>{a("SIGKILL")},h);b.unref&&b.unref()},"setKillTimeout"),UPr=t((a,{forceKillAfterTimeout:s},l)=>$Pr(a)&&s!==!1&&l,"shouldForceKill"),$Pr=t(a=>a===MPr.constants.signals.SIGTERM||typeof a=="string"&&a.toUpperCase()==="SIGTERM","isSigterm"),zPr=t(({forceKillAfterTimeout:a=!0})=>{if(a===!0)return jPr;if(!Number.isFinite(a)||a<0)throw new TypeError(`Expected the \`forceKillAfterTimeout\` option to be a non-negative integer, got \`${a}\` (${typeof a})`);return a},"getForceKillAfterTimeout"),pxt=t((a,s)=>{a.kill()&&(s.isCanceled=!0)},"spawnedCancel"),JPr=t((a,s,l)=>{a.kill(s),l(Object.assign(new Error("Timed out"),{timedOut:!0,signal:s}))},"timeoutKill"),dxt=t((a,{timeout:s,killSignal:l="SIGTERM"},_)=>{if(s===0||s===void 0)return _;let h,b=new Promise((N,M)=>{h=setTimeout(()=>{JPr(a,l,M)},s)}),D=_.finally(()=>{clearTimeout(h)});return Promise.race([b,D])},"setupTimeout"),mxt=t(({timeout:a})=>{if(a!==void 0&&(!Number.isFinite(a)||a<0))throw new TypeError(`Expected the \`timeout\` option to be a non-negative integer, got \`${a}\` (${typeof a})`)},"validateTimeout"),hxt=t(async(a,{cleanup:s,detached:l},_)=>{if(!s||l)return _;let h=(0,fxt.default)(()=>{a.kill()});return _.finally(()=>{h()})},"setExitHandler");function gxt(a){return a!==null&&typeof a=="object"&&typeof a.pipe=="function"}t(gxt,"isStream");var V9e=ap(bxt(),1),xxt=ap(Txt(),1);var Ext=t((a,s)=>{s===void 0||a.stdin===void 0||(gxt(s)?s.pipe(a.stdin):a.stdin.end(s))},"handleInput"),Cxt=t((a,{all:s})=>{if(!s||!a.stdout&&!a.stderr)return;let l=(0,xxt.default)();return a.stdout&&l.add(a.stdout),a.stderr&&l.add(a.stderr),l},"makeAllStream"),J9e=t(async(a,s)=>{if(a){a.destroy();try{return await s}catch(l){return l.bufferedData}}},"getBufferedData"),q9e=t((a,{encoding:s,buffer:l,maxBuffer:_})=>{if(!(!a||!l))return s?(0,V9e.default)(a,{encoding:s,maxBuffer:_}):V9e.default.buffer(a,{maxBuffer:_})},"getStreamPromise"),Dxt=t(async({stdout:a,stderr:s,all:l},{encoding:_,buffer:h,maxBuffer:b},D)=>{let N=q9e(a,{encoding:_,buffer:h,maxBuffer:b}),M=q9e(s,{encoding:_,buffer:h,maxBuffer:b}),z=q9e(l,{encoding:_,buffer:h,maxBuffer:b*2});try{return await Promise.all([D,N,M,z])}catch(re){return Promise.all([{error:re,signal:re.signal,timedOut:re.timedOut},J9e(a,N),J9e(s,M),J9e(l,z)])}},"getSpawnedResult");var XPr=(async()=>{})().constructor.prototype,QPr=["then","catch","finally"].map(a=>[a,Reflect.getOwnPropertyDescriptor(XPr,a)]),W9e=t((a,s)=>{for(let[l,_]of QPr){let h=typeof s=="function"?(...b)=>Reflect.apply(_.value,s(),b):_.value.bind(s);Reflect.defineProperty(a,l,{..._,value:h})}return a},"mergePromise"),kxt=t(a=>new Promise((s,l)=>{a.on("exit",(_,h)=>{s({exitCode:_,signal:h})}),a.on("error",_=>{l(_)}),a.stdin&&a.stdin.on("error",_=>{l(_)})}),"getSpawnedPromise");var wxt=t((a,s=[])=>Array.isArray(s)?[a,...s]:[a],"normalizeArgs"),ZPr=/^[\w.-]+$/,eAr=/"/g,tAr=t(a=>typeof a!="string"||ZPr.test(a)?a:`"${a.replace(eAr,'\\"')}"`,"escapeArg"),Pxt=t((a,s)=>wxt(a,s).join(" "),"joinCommand"),Axt=t((a,s)=>wxt(a,s).map(l=>tAr(l)).join(" "),"getEscapedCommand");var iAr=1e3*1e3*100,sAr=t(({env:a,extendEnv:s,preferLocal:l,localDir:_,execPath:h})=>{let b=s?{...bde.env,...a}:a;return l?XTt({env:b,cwd:_,execPath:h}):b},"getEnv"),aAr=t((a,s,l={})=>{let _=Ixt.default._parse(a,s,l);return a=_.command,s=_.args,l=_.options,l={maxBuffer:iAr,buffer:!0,stripFinalNewline:!0,extendEnv:!0,preferLocal:!1,localDir:l.cwd||bde.cwd(),execPath:bde.execPath,encoding:"utf8",reject:!0,cleanup:!0,all:!1,windowsHide:!0,...l},l.env=sAr(l),l.stdio=ixt(l),bde.platform==="win32"&&nAr.basename(a,".exe")==="cmd"&&s.unshift("/q"),{file:a,args:s,options:l,parsed:_}},"handleArguments"),H9e=t((a,s,l)=>typeof s!="string"&&!rAr.isBuffer(s)?l===void 0?void 0:"":a.stripFinalNewline?L9e(s):s,"handleOutput");function Oxt(a,s,l){let _=aAr(a,s,l),h=Pxt(a,s),b=Axt(a,s);mxt(_.options);let D;try{D=Nxt.spawn(_.file,_.args,_.options)}catch(Re){let Ie=new Nxt.ChildProcess,we=Promise.reject(B9e({error:Re,stdout:"",stderr:"",all:"",command:h,escapedCommand:b,parsed:_,timedOut:!1,isCanceled:!1,killed:!1}));return W9e(Ie,we)}let N=kxt(D),M=dxt(D,_.options,N),z=hxt(D,_.options,M),re={isCanceled:!1};D.kill=_xt.bind(null,D.kill.bind(D)),D.cancel=pxt.bind(null,D,re);let Q=ZTt(t(async()=>{let[{error:Re,exitCode:Ie,signal:we,timedOut:wt},xt,Tr,fn]=await Dxt(D,_.options,z),tn=H9e(_.options,xt),cn=H9e(_.options,Tr),Er=H9e(_.options,fn);if(Re||Ie!==0||we!==null){let vr=B9e({error:Re,exitCode:Ie,signal:we,stdout:tn,stderr:cn,all:Er,command:h,escapedCommand:b,parsed:_,timedOut:wt,isCanceled:re.isCanceled||(_.options.signal?_.options.signal.aborted:!1),killed:D.killed});if(!_.options.reject)return vr;throw vr}return{command:h,escapedCommand:b,exitCode:0,stdout:tn,stderr:cn,all:Er,failed:!1,timedOut:!1,isCanceled:!1,killed:!1}},"handlePromise"));return Ext(D,_.options.input),D.all=Cxt(D,_.options),W9e(D,Q)}t(Oxt,"execa");async function Tde(a,s){if(a.__ZUPLO_LOG_LEVEL=process.env.__ZUPLO_LOG_LEVEL??process.env.LOG_LEVEL,a.__ZUPLO_LOG_FORMAT=process.env.__ZUPLO_LOG_FORMAT??process.env.LOG_FORMAT,a.LOG_LEVEL=process.env.LOG_LEVEL??process.env.LOG_LEVEL,a.LOG_FORMAT=process.env.LOG_FORMAT??process.env.LOG_FORMAT,a.GIT_SHA=process.env.GIT_SHA??await oAr(s),process.env.__ZUPLO_CONFIG&&(a.__ZUPLO_CONFIG=process.env.__ZUPLO_CONFIG),Fxt(Sde.join(s,".env.zuplo"))){let l=Lxt(Sde.join(s,".env.zuplo"),"utf8"),_=G9e.default.parse(l);for(let h of Object.keys(_))if(a[h]=_[h],h==="ZUPLO_SYSTEM_CONFIGURATIONS"){let b=Buffer.from(mue.decode(_[h])).toString(),D=JSON.parse(b);for(let N of Object.keys(D))a[N]=D[N]}}if(Fxt(Sde.join(s,".env"))){let l=Lxt(Sde.join(s,".env"),"utf8"),_=G9e.default.parse(l);for(let h of Object.keys(_))a[h]=_[h]}for(let l of Object.keys(a))a[l]===void 0&&delete a[l];return a}t(Tde,"setEnvironment");async function oAr(a){let s="unknown";try{let{stdout:l}=await Oxt("git",["rev-parse","HEAD"],{cwd:a});l.trim().length===40&&(s=l.trim())}catch{}return s}t(oAr,"getGitSha");async function fAr({buildId:a,output:s,sourceDirectory:l,bundledDir:_,port:h,binaryName:b,publicZuploEnvironmentVariables:D,logger:N,handleRuntimeStdio:M}){if(_){let re=AY.join(l,_,"modules.json");if(!cAr(re))throw new Error("The bundled-dir does not contain a modules.json file.");let ie=await uAr(re,"utf-8").then(JSON.parse),Q=await uB(l);return Q.status===gA?new Promise((Re,Ie)=>{z(Q.config.compatibilityDate,AY.join(l,_),ie,Re,M)().catch(we=>{N.error(we),Ie(we)})}):(N.warn("Failed to get Zuplo config. Using default compatibility date."),new Promise((Re,Ie)=>{z(void 0,l,ie,Re,M)().catch(we=>{N.error(we),Ie(we)})}))}else{let re=new kN({buildId:a,output:s,sourceDirectory:l,command:"dev",logger:N,publicZuploEnvironmentVariables:D??{ZUPLO_ENVIRONMENT_TYPE:"LOCAL_DEVELOPMENT"},urls:void 0});try{await re.start()}catch{N.info("Ran into irrecoverable error while building. Fix the error and rerun the command."),process.exit(1)}return new Promise((ie,Q)=>{re.onReload((Re,Ie)=>{(Ie||Re&&Re.errors&&Re.errors.length>0)&&Q(Ie??Re?.errors),z(Re?.compatibilityDate,AY.join(l,"dist"),lB(l,Re?.metafile),ie,M)().catch(we=>{N.error(we),Q(we)})})})}function z(re,ie,Q,Re,Ie){return async()=>{let we={};await Tde(we,l);let wt=new Rxt.ZuploWorkerd({compatibilityDate:re,scriptDirectory:ie,modules:Q,port:h??ih.DEV_SERVER_PORT,bindings:we,handleRuntimeStdio:Ie}),xt=b??"compiled-zup",Tr=AY.join(l,"dist");await lAr(Tr,{recursive:!0}),await wt.compileBinary({binaryPath:AY.join(l,"dist",xt)}),await wt.dispose(),Re(void 0)}}t(z,"compile")}t(fAr,"compileWorkerdServer");var Mxt=ap(T9e(),1);import pAr from"node:path";import _Ar from"node:net";function NY(a,s){return new Promise(l=>{let _=new _Ar.Socket;_.connect(s,a),_.on("connect",()=>{_.destroy(),l(!1)}),_.on("error",()=>{_.destroy(),l(!0)})})}t(NY,"isPortAvailable");var xde=class{static{t(this,"WorkerdServer")}sourceDirectory;port;debugPort;buildWatcher;workerd;logger;output;handleRuntimeStdio;onReload;constructor(s){if(this.sourceDirectory=s.sourceDirectory,this.port=s.port??ih.DEV_SERVER_PORT,this.debugPort=s.debugPort,this.logger=s.logger,this.output=s.output,this.handleRuntimeStdio=s.handleRuntimeStdio,this.onReload=s.onReload,!s.zupTestMode){let l="http://localhost:3000",_=`http://localhost:${this.port}`;this.buildWatcher=new kN({...s,logger:this.logger,publicZuploEnvironmentVariables:{...s.publicZuploEnvironmentVariables,ZUPLO_ENVIRONMENT_TYPE:"LOCAL_DEVELOPMENT"},urls:{devPortal:{defaultUrl:l,urls:[l]},api:{defaultUrl:_,urls:[_]}}}),this.buildWatcher.watchEnvFiles()}}async start(){if(!await NY("localhost",this.port))throw new Error(`Port ${this.port} is currently in use. Please use a different port.`);if(this.buildWatcher)try{await this.buildWatcher.start()}catch(l){this.output.child("api").error(l.toString());let _="Ran into irrecoverable error while starting watcher. Fix the error and restart the server.";this.output.child("api").error(_),this.logger?.info(_),process.exit(1)}await this.startOrReload(),this.buildWatcher?.onReload((l,_)=>{_||l&&l.errors&&l.errors.length>0||(this.onReload(l,_),this.startOrReload(l).catch(h=>{this.output.child("api").error(h.toString()),this.logger?.error(h)}))})}async startOrReload(s){try{let l={};await Tde(l,this.sourceDirectory),await this.workerd?.dispose(),this.workerd=new Mxt.ZuploWorkerd({compatibilityDate:s?.compatibilityDate,scriptDirectory:pAr.join(this.sourceDirectory,"dist"),modules:lB(this.sourceDirectory,s?.metafile),port:this.port,inspectorPort:this.debugPort??void 0,bindings:l,handleRuntimeStdio:this.handleRuntimeStdio}),await this.workerd.serve()}catch(l){this.logger?.debug(l)}}async stop(){await this.buildWatcher?.close(),await this.workerd?.dispose()}};import{fileURLToPath as zxt}from"node:url";import{Readable as jxt}from"node:stream";import Bxt from"node:assert";import dAr from"node:child_process";import mAr from"node:fs";import Ede from"node:os";import hAr from"node:path";function Uxt(a,s){let l=import.meta.resolve(a),_=new URL(".",l),h=new URL(s,_);if(mAr.existsSync(h))return zxt(h)}t(Uxt,"getValidExecutablePath");function gAr(){let a=Ede.platform()==="win32"?"deno.exe":"deno",s=Uxt("deno/package.json",a);if(s)return s;let l=yAr(),_=Uxt(`@deno/${l}/package.json`,a);if(_)return _;throw new Error("Failed to locate the managed-dedicated server executable.")}t(gAr,"locateDenoExecutable");function yAr(){let a=Ede.platform();return a==="linux"?a+"-"+$xt()+"-glibc":a+"-"+$xt()}t(yAr,"getTarget");function $xt(){let a=Ede.arch();if(a!=="arm64"&&a!=="x64")throw new Error("Unsupported architecture "+Ede.arch()+". Only x64 and aarch64 binaries are available.");return a}t($xt,"getArch");var Cde=class{static{t(this,"ZenoServer")}serverProcess;debugPort;processExitPromise;logger;output;buildWatcher;onReload;handleRuntimeStdio;denoExecutablePath;port=9e3;constructor(s){if(this.debugPort=s.debugPort,this.logger=s.logger,this.output=s.output,this.onReload=s.onReload,this.handleRuntimeStdio=s.handleRuntimeStdio,!s.zupTestMode){let l="http://localhost:3000",_=`http://localhost:${this.port}`;this.buildWatcher=new kN({sourceDirectory:s.sourceDirectory,command:"dev",logger:s.logger,publicZuploEnvironmentVariables:{...s.publicZuploEnvironmentVariables,ZUPLO_ENVIRONMENT_TYPE:"LOCAL_DEVELOPMENT"},buildId:"dev",output:s.output,urls:{devPortal:{defaultUrl:l,urls:[l]},api:{defaultUrl:_,urls:[_]}}}),this.buildWatcher.watchEnvFiles()}this.denoExecutablePath=gAr()}getServeArgs(){let s=`${hAr.dirname(zxt(import.meta.url))}/zeno.js`,l=["run","--allow-read","--allow-net","--allow-env","--allow-write"];return this.debugPort&&l.push(`--inspect=127.0.0.1:${this.debugPort}`),l.push(s),l}async getUnavailablePorts(){let s=[];return this.debugPort&&!await NY("127.0.0.1",this.debugPort)&&s.push(this.debugPort),await NY("127.0.0.1",this.port)||s.push(this.port),s}async start(){let s=await this.getUnavailablePorts();if(s.length>0)throw new Error("The following ports are not available: "+s.join(", "));if(this.buildWatcher)try{await this.buildWatcher.start()}catch(l){this.output.child("api").error(l.toString());let _="Ran into irrecoverable error while starting watcher. Fix the error and restart the server.";this.output.child("api").error(_),this.logger?.info(_),process.exit(1)}await this.startOrReload(),this.buildWatcher?.onReload((l,_)=>{_||l&&l.errors&&l.errors.length>0||(this.onReload(l,_),this.startOrReload().catch(h=>{this.output.child("api").error(h.toString()),this.logger?.error(h)}))})}async startOrReload(){try{await this.dispose(),this.logger?.info("Starting managed-dedicated local server");let s=this.getServeArgs();this.serverProcess=dAr.spawn(this.denoExecutablePath,s,{stdio:["pipe","pipe","pipe"],env:{...process.env,FORCE_COLOR:"1"}}),Bxt(this.serverProcess.stdout instanceof jxt),Bxt(this.serverProcess.stderr instanceof jxt),this.processExitPromise=this.waitForExit(),this.handleRuntimeStdio(this.serverProcess.stdout,this.serverProcess.stderr)}catch(s){this.logger?.debug(s)}}waitForExit(){return new Promise(s=>{this.serverProcess?.once("exit",s)})}dispose(){return this.serverProcess?.kill("SIGKILL"),this.processExitPromise}async stop(){await this.dispose(),await this.buildWatcher?.close()}};async function vAr(a){let s=await uB(a),l=!1;return s.status===gA&&(l=s.config.flags?.managedDedicatedFlags?.useZeno??!1),l||process.env.ZUPLO_DEV_RUNTIME==="zeno"}t(vAr,"useZeno");async function bAr({sourceDirectory:a,port:s,debugPort:l,publicZuploEnvironmentVariables:_,logger:h,output:b,buildId:D,onReload:N,handleRuntimeStdio:M}){process.env.ZUPLO_IS_LOCAL_DEVELOPMENT="true";let z;await vAr(a)?(h.debug("Starting managed-dedicated local dev server."),z=new Cde({sourceDirectory:a,debugPort:l,logger:h,output:b,publicZuploEnvironmentVariables:_,onReload:N,handleRuntimeStdio:M})):(h.debug("Starting edge local dev server."),z=new xde({sourceDirectory:a,command:"dev",port:s,debugPort:l,publicZuploEnvironmentVariables:_,logger:h,output:b,buildId:D,onReload:N,handleRuntimeStdio:M})),await z.start();async function re(){await z.stop()}t(re,"handle"),process.on("SIGTERM",re),process.on("SIGINT",re)}t(bAr,"startDevServer");var hEt=ap(Vxt(),1),gEt=ap(dEt(),1);import{readFile as t6r}from"node:fs/promises";import MY from"node:path";var ZAr=new RegExp("^((https|http)://)?[a-zA-Z0-9]{3}\\.[a-zA-Z0-9][a-zA-Z0-9]{0,61}?[a-zA-Z0-9]\\.(com|net|cn|cc)(:[0-9]{1,4})?/$"),e6r={concat(a,s){return MY.join(a,s)},resolve(a){return this.isAbsolute(a)?this.normalize(a):this.normalize(this.concat(process.cwd(),a))},normalize(a){let s=MY.normalize(a),l=MY.sep,_=[],h=0;return s.split(l).reverse().filter(D=>D!==".").forEach(D=>{D===".."?h++:h===0?_.push(D):h--}),_.reverse().join(l)},isData(a){return a.startsWith("data:")},isURL(a){return ZAr.test(a)},isAbsolute(a){return MY.isAbsolute(a)},relativeToFile(a,s){if(this.isData(a)||this.isAbsolute(s))return this.normalize(s);{let l=MY.dirname(a);return this.normalize(this.concat(l,s))}}},Lde=e6r;var mEt=t(a=>{let s=t(l=>l in s.cache?s.cache[l]:s.cache[l]=a(l),"m");return s.forgetEverything=()=>{s.cache=Object.create(null)},s.cache=Object.create(null),s},"memoize");function aLe(a){let s=mEt(async D=>await l(D,await a(D)));async function l(D,N){if(N===void 0)return s(Lde.resolve(D));let M,z,re=t(async Q=>(z=z||await _(ie))(Q),"_resolve"),ie={path:D,text:N,get lines(){return M=M||N.split(`
654
654
  `)},async resolve(Q){try{return await re(Q)}catch(Re){return Object.assign({},Q,{error:Re})}},_resolve:re};return ie}t(l,"SourceFile");async function _(D){let N=/\u0023 sourceMappingURL=(.+)\n?/g,M;for(;;){let ie=N.exec(D.text);if(ie)M=ie;else break}let z=M&&M[1],re=t(async ie=>Object.assign({},ie,{sourceFile:D,sourceLine:D.lines[ie.line-1]||""}),"defaultResolver");return z?await h(D.path,z,re):re}t(_,"SourceMapResolverFromFetchedFile");async function h(D,N,M){let z=N.startsWith("data:")?await l(D,(0,hEt.dataUriToBuffer)(N).toString()):await l(Lde.relativeToFile(D,N)),re=await new gEt.SourceMapConsumer(JSON.parse(z.text)),ie=mEt(async Q=>{let Re=Lde.relativeToFile(z.path,Q),Ie=re.sourceContentFor(Q,!0)||void 0;return await l(Re,Ie)});return async Q=>{try{let Re=re.originalPositionFor(Q);return Re.source?await(await ie(Re.source))._resolve(Object.assign({},Q,{line:Re.line,column:(Re.column??0)+1,name:Re.name})):M(Q)}catch(Re){return Object.assign(M(Q),{sourceMapError:Re})}}}t(h,"SourceMapResolver");let b=t(async function(N){try{return await l(N)}catch(M){let z={path:N,text:"",lines:[],error:M,async resolve(re){return Object.assign({},re,{error:M,sourceLine:"",sourceFile:z})},_resolve(re){return this.resolve(re)}};return z}},"getSource");return b.resetCache=()=>s.forgetEverything(),b.getCache=()=>s.cache,b}t(aLe,"buildGetSourceFunction");var r6r=t(async a=>t6r(a,{encoding:"utf8"}),"fetchFile"),yEt=aLe(r6r);import n6r from"node:path";import i6r from"node:util";var vEt=t(a=>a[a.length-1],"lastOf"),jY=t(a=>a.replace(/\\/g,"/"),"nixSlashes"),s6r=t((a,s)=>{let l=a||[],_=[],h={label:void 0,items:[l[0]]};return l.forEach(b=>{let D=s(b);h.label!==D&&h.items.length?_.push(h={label:D,items:[b]}):h.items.push(b)}),_},"partition"),BY=class a{static{t(this,"StackTracey")}items;getSource;pathRoot;constructor(s,{offset:l,getSource:_}){this.getSource=_,this.pathRoot=`${jY(process.cwd())}/`;let h=s,b=s instanceof SyntaxError;if(l=l||0,s instanceof Error&&(s=s.stack||""),typeof s=="string"&&(s=this.rawParse(s).slice(l).map(D=>this.extractEntryMetadata(D))),Array.isArray(s)){if(b){let D=i6r.inspect(h).split(`
655
655
  `),N=D[0].split(":"),M=N.pop(),z=N.join(":");z&&s.unshift({file:jY(z),line:parseInt(M||"0",10),column:(D[2]||"").indexOf("^")+1,sourceLine:D[1],callee:"(syntax error)",syntaxError:!0,beforeParse:"",index:!1,native:!1,calleeShort:"",fileRelative:"",fileShort:"",fileName:"",thirdParty:!1})}this.items=s}else this.items=[]}extractEntryMetadata(s){let l=this.decomposePath(s.file||""),_=l[0],h=l[1];return Object.assign(s,{calleeShort:s.calleeShort||vEt((s.callee||"").split(".")),fileRelative:_,fileShort:this.shortenPath(_),fileName:vEt((s.file||"").split("/")),thirdParty:this.isThirdParty(_,h)&&!s.index,externalDomain:h})}shortenPath(s){return s.replace(/^node_modules\//,"").replace(/^webpack\/bootstrap\//,"").replace(/^__parcel_source_root\//,"")}decomposePath(s){let l=s,_=l.match(/^(http|https):\/\/([^\/]+)\/(.*)/),h=_?_[2]:void 0;return l=_?_[3]:l,l=n6r.relative(this.pathRoot,l),[jY(l).replace(/^.*:\/\/?\/?/,""),h]}isThirdParty(s,l){return!!l||s[0]==="~"||s[0]==="/"||s.indexOf("node_modules")===0||s.indexOf("webpack/bootstrap")===0}rawParse(s){return(s||"").split(`
656
656
  `).map(h=>{h=h.trim();let b,D=[],N,M,z;if((M=h.match(/at (.+) \(eval at .+ \((.+)\), .+\)/))||(M=h.match(/at (.+) \((.+)\)/))||h.slice(0,3)!=="at "&&(M=h.match(/(.*)@(.*)/)))b=M[1],N=M[2]==="native",D=(M[2].match(/(.*):(\d+):(\d+)/)||M[2].match(/(.*):(\d+)/)||[]).slice(1);else if(z=h.match(/^(at\s+)*(.+):(\d+):(\d+)/))D=z.slice(2);else return;return b&&!D[0]&&b.split(".")[0]==="Array"&&(N=!0),{beforeParse:h,callee:b||"",index:D[0]==="/",native:N||!1,file:jY(D[0]||""),line:parseInt(D[1]||"",10)||void 0,column:parseInt(D[2]||"",10)||void 0,calleeShort:"",fileRelative:"",fileShort:"",fileName:"",thirdParty:!1}}).filter(h=>h!==void 0)}async withSourceAsyncAt(s){return this.items[s]&&this.withSourceAsync(this.items[s])}async withSourceAsync(s){if(this.shouldSkipResolving(s))return s;{let l=(s.file||"").replace("file://","");try{let h=await(await this.getSource(l)).resolve(s);return this.withSourceResolved(s,h)}catch(_){return this.withSourceResolved(s,{error:_,sourceLine:""})}}}shouldSkipResolving(s){return!!s.sourceFile||!!s.error||!!s.file&&s.file.indexOf("<")>=0}withSourceResolved(s,l){return l.sourceFile&&!l.sourceFile.error&&(l.file=jY(l.sourceFile.path),l=this.extractEntryMetadata(l)),l.sourceLine?.includes("// @hide")&&(l.sourceLine=l.sourceLine.replace("// @hide",""),l.hide=!0),(l.sourceLine?.includes("__webpack_require__")||l.sourceLine?.includes("/******/ ({"))&&(l.thirdParty=!0),Object.assign({sourceLine:""},s,l)}async withSourcesAsync(){let s=await Promise.all(this.items.map(l=>this.withSourceAsync(l)));return new a(s,{getSource:this.getSource})}mergeRepeatedLines(){return new a(s6r(this.items,s=>s.file+s.line).map(s=>s.items.slice(1).reduce((l,_)=>(l.callee=(l.callee||"<anonymous>")+" \u2192 "+(_.callee||"<anonymous>"),l.calleeShort=(l.calleeShort||"<anonymous>")+" \u2192 "+(_.calleeShort||"<anonymous>"),l),Object.assign({},s.items[0]))),{getSource:this.getSource})}async cleanAsync(){let s=await this.withSourcesAsync();return s.mergeRepeatedLines().filter((l,_)=>s.isClean(l,_))}isClean(s,l){return l===0||!(s.thirdParty||s.hide||s.native)}at(s){return Object.assign({beforeParse:"",callee:"<???>",index:!1,native:!1,file:"<???>",line:0,column:0},this.items[s])}map(s,l){return new a(this.items.map(s,l),{getSource:this.getSource})}filter(s,l){return new a(this.items.filter(s,l),{getSource:this.getSource})}slice(s,l){return new a(this.items.slice(s,l),{getSource:this.getSource})}concat(...s){return new a(this.items.concat(...s),{getSource:this.getSource})}maxColumnWidths(){return{callee:30,file:60,sourceLine:80}}static locationsEqual(s,l){return s.file===l.file&&s.line===l.line&&s.column===l.column}};import{relative as f6r}from"node:path";import{fileURLToPath as _6r}from"node:url";import{inspect as p6r}from"node:util";function oLe({onlyFirst:a=!1}={}){let l=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(l,a?void 0:"g")}t(oLe,"ansiRegex");var a6r=oLe();function cLe(a){if(typeof a!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof a}\``);return a.replace(a6r,"")}t(cLe,"stripAnsi");function bEt(a){return a===161||a===164||a===167||a===168||a===170||a===173||a===174||a>=176&&a<=180||a>=182&&a<=186||a>=188&&a<=191||a===198||a===208||a===215||a===216||a>=222&&a<=225||a===230||a>=232&&a<=234||a===236||a===237||a===240||a===242||a===243||a>=247&&a<=250||a===252||a===254||a===257||a===273||a===275||a===283||a===294||a===295||a===299||a>=305&&a<=307||a===312||a>=319&&a<=322||a===324||a>=328&&a<=331||a===333||a===338||a===339||a===358||a===359||a===363||a===462||a===464||a===466||a===468||a===470||a===472||a===474||a===476||a===593||a===609||a===708||a===711||a>=713&&a<=715||a===717||a===720||a>=728&&a<=731||a===733||a===735||a>=768&&a<=879||a>=913&&a<=929||a>=931&&a<=937||a>=945&&a<=961||a>=963&&a<=969||a===1025||a>=1040&&a<=1103||a===1105||a===8208||a>=8211&&a<=8214||a===8216||a===8217||a===8220||a===8221||a>=8224&&a<=8226||a>=8228&&a<=8231||a===8240||a===8242||a===8243||a===8245||a===8251||a===8254||a===8308||a===8319||a>=8321&&a<=8324||a===8364||a===8451||a===8453||a===8457||a===8467||a===8470||a===8481||a===8482||a===8486||a===8491||a===8531||a===8532||a>=8539&&a<=8542||a>=8544&&a<=8555||a>=8560&&a<=8569||a===8585||a>=8592&&a<=8601||a===8632||a===8633||a===8658||a===8660||a===8679||a===8704||a===8706||a===8707||a===8711||a===8712||a===8715||a===8719||a===8721||a===8725||a===8730||a>=8733&&a<=8736||a===8739||a===8741||a>=8743&&a<=8748||a===8750||a>=8756&&a<=8759||a===8764||a===8765||a===8776||a===8780||a===8786||a===8800||a===8801||a>=8804&&a<=8807||a===8810||a===8811||a===8814||a===8815||a===8834||a===8835||a===8838||a===8839||a===8853||a===8857||a===8869||a===8895||a===8978||a>=9312&&a<=9449||a>=9451&&a<=9547||a>=9552&&a<=9587||a>=9600&&a<=9615||a>=9618&&a<=9621||a===9632||a===9633||a>=9635&&a<=9641||a===9650||a===9651||a===9654||a===9655||a===9660||a===9661||a===9664||a===9665||a>=9670&&a<=9672||a===9675||a>=9678&&a<=9681||a>=9698&&a<=9701||a===9711||a===9733||a===9734||a===9737||a===9742||a===9743||a===9756||a===9758||a===9792||a===9794||a===9824||a===9825||a>=9827&&a<=9829||a>=9831&&a<=9834||a===9836||a===9837||a===9839||a===9886||a===9887||a===9919||a>=9926&&a<=9933||a>=9935&&a<=9939||a>=9941&&a<=9953||a===9955||a===9960||a===9961||a>=9963&&a<=9969||a===9972||a>=9974&&a<=9977||a===9979||a===9980||a===9982||a===9983||a===10045||a>=10102&&a<=10111||a>=11094&&a<=11097||a>=12872&&a<=12879||a>=57344&&a<=63743||a>=65024&&a<=65039||a===65533||a>=127232&&a<=127242||a>=127248&&a<=127277||a>=127280&&a<=127337||a>=127344&&a<=127373||a===127375||a===127376||a>=127387&&a<=127404||a>=917760&&a<=917999||a>=983040&&a<=1048573||a>=1048576&&a<=1114109}t(bEt,"isAmbiguous");function SEt(a){return a===12288||a>=65281&&a<=65376||a>=65504&&a<=65510}t(SEt,"isFullWidth");function TEt(a){return a>=4352&&a<=4447||a===8986||a===8987||a===9001||a===9002||a>=9193&&a<=9196||a===9200||a===9203||a===9725||a===9726||a===9748||a===9749||a>=9800&&a<=9811||a===9855||a===9875||a===9889||a===9898||a===9899||a===9917||a===9918||a===9924||a===9925||a===9934||a===9940||a===9962||a===9970||a===9971||a===9973||a===9978||a===9981||a===9989||a===9994||a===9995||a===10024||a===10060||a===10062||a>=10067&&a<=10069||a===10071||a>=10133&&a<=10135||a===10160||a===10175||a===11035||a===11036||a===11088||a===11093||a>=11904&&a<=11929||a>=11931&&a<=12019||a>=12032&&a<=12245||a>=12272&&a<=12287||a>=12289&&a<=12350||a>=12353&&a<=12438||a>=12441&&a<=12543||a>=12549&&a<=12591||a>=12593&&a<=12686||a>=12688&&a<=12771||a>=12783&&a<=12830||a>=12832&&a<=12871||a>=12880&&a<=19903||a>=19968&&a<=42124||a>=42128&&a<=42182||a>=43360&&a<=43388||a>=44032&&a<=55203||a>=63744&&a<=64255||a>=65040&&a<=65049||a>=65072&&a<=65106||a>=65108&&a<=65126||a>=65128&&a<=65131||a>=94176&&a<=94180||a===94192||a===94193||a>=94208&&a<=100343||a>=100352&&a<=101589||a>=101632&&a<=101640||a>=110576&&a<=110579||a>=110581&&a<=110587||a===110589||a===110590||a>=110592&&a<=110882||a===110898||a>=110928&&a<=110930||a===110933||a>=110948&&a<=110951||a>=110960&&a<=111355||a===126980||a===127183||a===127374||a>=127377&&a<=127386||a>=127488&&a<=127490||a>=127504&&a<=127547||a>=127552&&a<=127560||a===127568||a===127569||a>=127584&&a<=127589||a>=127744&&a<=127776||a>=127789&&a<=127797||a>=127799&&a<=127868||a>=127870&&a<=127891||a>=127904&&a<=127946||a>=127951&&a<=127955||a>=127968&&a<=127984||a===127988||a>=127992&&a<=128062||a===128064||a>=128066&&a<=128252||a>=128255&&a<=128317||a>=128331&&a<=128334||a>=128336&&a<=128359||a===128378||a===128405||a===128406||a===128420||a>=128507&&a<=128591||a>=128640&&a<=128709||a===128716||a>=128720&&a<=128722||a>=128725&&a<=128727||a>=128732&&a<=128735||a===128747||a===128748||a>=128756&&a<=128764||a>=128992&&a<=129003||a===129008||a>=129292&&a<=129338||a>=129340&&a<=129349||a>=129351&&a<=129535||a>=129648&&a<=129660||a>=129664&&a<=129672||a>=129680&&a<=129725||a>=129727&&a<=129733||a>=129742&&a<=129755||a>=129760&&a<=129768||a>=129776&&a<=129784||a>=131072&&a<=196605||a>=196608&&a<=262141}t(TEt,"isWide");function o6r(a){if(!Number.isSafeInteger(a))throw new TypeError(`Expected a code point, got \`${typeof a}\`.`)}t(o6r,"validate");function xEt(a,{ambiguousAsWide:s=!1}={}){return o6r(a),SEt(a)||TEt(a)||s&&bEt(a)?2:1}t(xEt,"eastAsianWidth");var DEt=ap(CEt(),1);var c6r=new Intl.Segmenter,l6r=/^\p{Default_Ignorable_Code_Point}$/u;function Rde(a,s={}){if(typeof a!="string"||a.length===0)return 0;let{ambiguousIsNarrow:l=!0,countAnsiEscapeCodes:_=!1}=s;if(_||(a=cLe(a)),a.length===0)return 0;let h=0,b={ambiguousAsWide:!l};for(let{segment:D}of c6r.segment(a)){let N=D.codePointAt(0);if(!(N<=31||N>=127&&N<=159)&&!(N>=8203&&N<=8207||N===65279)&&!(N>=768&&N<=879||N>=6832&&N<=6911||N>=7616&&N<=7679||N>=8400&&N<=8447||N>=65056&&N<=65071)&&!(N>=55296&&N<=57343)&&!(N>=65024&&N<=65039)&&!l6r.test(D)){if((0,DEt.default)().test(D)){h+=2;continue}h+=xEt(N,b)}}return h}t(Rde,"stringWidth");var fLe=ap(wEt(),1);var{platform:PEt,cwd:u6r}=process,{red:nU,yellow:AEt,green:jde,cyan:UY,dim:lLe}=Jf,NEt=process.stdout.columns,d6r=PEt==="win32"&&!process.env.WT_SESSION?">":"\u276F",m6r=(PEt==="win32"&&!process.env.WT_SESSION,"\u2043"),h6r=u6r();function IEt(a){return a=a.replace("async file:","file:"),f6r(h6r,a.startsWith("file:")?_6r(a):a)}t(IEt,"getRelativePath");function g6r(a){return a.find(s=>s.isApp)||null}t(g6r,"mainFrame");function y6r(a,s){return a.filter(l=>(l.isApp||l.isModule)&&(!s||l.file!==s.file||l.line!==s.line))}t(y6r,"filterNativeFrames");function OEt(a){return a.callee||"anonymous"}t(OEt,"frameMethod");function FEt(a,s){let l="",_=a.length-s.length;for(let h=0;h<=_;h++)l+=" ";return l}t(FEt,"whiteSpace");function uLe(a,s,l,_,h){let b=FEt(String(l),String(s));return _?`${h}${nU(d6r)}${b}${nU(s)}${nU("|")}${b} ${nU(a)}`:`${h} ${b}${lLe(s)}${lLe("|")}${b} ${lLe(a)}`}t(uLe,"codeLine");function v6r(a,s,l){let _,h=(0,fLe.default)(Rde(s)+2,NEt);return l?_=`${s} ${nU(h(`${a.message}`).trim())}`:_=`${s} ${nU(h(`${a.name}: ${a.message}`).trim())}`,[_,s]}t(v6r,"getMessage");function b6r(a,s){let l=a.help;if(!l)return[];let _=(0,fLe.default)(Rde(s)+4,NEt);return Array.isArray(l)?l.map(h=>`${s} ${UY(_(`- ${h}`).trim())}`).concat([s]):[`${s} ${UY(l)}`,s]}t(b6r,"getHelpText");function S6r(a,s,l){if(!a)return[];let _=l?IEt(a.filePath):a.filePath;return[`${s} at ${AEt(`${OEt(a)}`)} ${jde(_)}:${jde(a.line)}`]}t(S6r,"getMainFrameLocation");function T6r(a,s){if(!a||!a.context||!a.context.line)return[];let l=a.context.start-1,_=a.context.pre.split(`
package/index.minified.js CHANGED
@@ -651,11 +651,11 @@ export default {
651
651
  },
652
652
  };
653
653
  `,gvt=t(async function({systemDirectory:a,logger:s}){return Uu.timeFn("Generating Worker shim",async()=>{s.debug("Generating Worker shim");let l=wxr.join(a,_le);try{await kxr.writeFile(l,Pxr,"utf-8")}catch(_){s.error(_);let h={message:`Error creating file at ${l}`,pluginName:"generate-worker-entry",severity:"error"};return{warnings:[],errors:[h]}}return{warnings:[],errors:[]}})},"generateWorker");import{readFile as Axr,readdir as Nxr}from"node:fs/promises";import yvt from"node:path";var O_e="validate-open-api-files",vvt=t(async function({sourceDirectory:a,logger:s}){return Uu.timeFn("Validating OpenAPI files",async()=>{s.debug("Validating OpenAPI files");let l=yvt.join(a,jy),_=[];try{if(!await qM(a))return new XT({message:"Failed to build project because no open-api file was found on the 'config' folder",pluginName:O_e,severity:"error"});let D=(await Nxr(l)).filter(M=>M.endsWith(".oas.json")),A=t(async M=>{let z=yvt.join(l,M);try{M==="zp.oas.json"&&_.push({message:"Open API files cannot be named 'zp.oas.json' since 'zp' is a reserved prefix. Update the file name to solve this build issue.",pluginName:O_e,severity:"error"});let re=await Axr(z,"utf-8"),ie=JSON.parse(re);if(ie&&ie.paths){let Q=Object.entries(ie.paths).filter(Re=>Re[0]==="zp"||Re[0]==="/zp");if(Q.length>0){let Re=Q.length===1?"includes one route path":`includes '${Q.length}' routes`;_.push({message:`Open API file '${M}' ${Re} that's named '/zp' which is a reserved route name. Updating the route to something other than '/zp' will solve this build issue.`,pluginName:O_e,severity:"error"})}}}catch(re){s.error(re)}},"validateOpenApiFile");await Promise.all(D.map(A))}catch(h){return s.error(h),_.length>0?{errors:_,warnings:[]}:new XT({message:"Failed while validating the open api files in the project",pluginName:O_e,severity:"warning"})}return{errors:_,warnings:[]}})},"validateOpenAPIFiles");import{readFile as Xxr,writeFile as Bvt}from"node:fs/promises";import Qxr from"node:path";var pB=x_(h5e(),1);import{parse as Zxr}from"jsonc-parser";var _B=x_(h5e(),1);var jvt=t(()=>({include:["modules/**/*",".zuplo/**/*","tests/**/*"],exclude:["./node_modules","./dist"],compilerOptions:{module:_B.ModuleKind.ESNext,target:_B.ScriptTarget.ES2022,moduleResolution:_B.ModuleResolutionKind.Bundler,lib:["ESNext","WebWorker","Webworker.Iterable"],preserveConstEnums:!0,useUnknownInCatchVariables:!1,forceConsistentCasingInFileNames:!0,importHelpers:!0,esModuleInterop:!0,strictNullChecks:!0,noEmit:!0}}),"getZuploTsConfigTemplate");var qF="validate-tsconfig",Uvt=t(async function({sourceDirectory:a,logger:s,command:l,environmentType:_}){return Uu.timeFn("Validate TSConfig",async()=>{s.debug("Validate TSConfig");let h=_==="WORKING_COPY"||l==="dev";try{let b=jvt(),D=Qxr.join(a,"tsconfig.json");if(!await ou.fileExists(D))return h?(await Bvt(D,JSON.stringify(b,null,2)),{warnings:[{message:"This project does not have a tsconfig.json file. The file has been created for you.",severity:"warning",pluginName:qF,helpUrl:"https://zuplo.com/docs/articles/tsconfig"}],errors:[]}):{warnings:[],errors:[{message:"This project does not have a tsconfig.json file.",severity:"error",pluginName:qF,helpUrl:"https://zuplo.com/docs/articles/tsconfig"}]};let A=await Xxr(D,"utf-8"),M=Zxr(A);if(!(M&&typeof M=="object"&&"compilerOptions"in M))return h?(await Bvt(D,JSON.stringify(b,null,2)),{warnings:[{message:"This project's tsconfig.json file was invalid. A valid file has been written for you.",severity:"warning",pluginName:qF,helpUrl:"https://zuplo.com/docs/articles/tsconfig"}],errors:[]}):{warnings:[],errors:[{message:"This project's tsconfig.json file is invalid. It must have a compilerOptions.",severity:"error",pluginName:qF,helpUrl:"https://zuplo.com/docs/articles/tsconfig"}]};let z=pB.default.convertCompilerOptionsFromJson(M.compilerOptions,a);if(z.errors.length>0)return{warnings:[],errors:z.errors.map(cn=>({severity:"error",pluginName:qF,message:cn.messageText.toString(),detail:"You will need to modify your tsconfig.json file to build this project.",helpUrl:"https://zuplo.com/docs/articles/tsconfig",location:cn.file?{line:cn.file.getLineStarts()[0],length:cn.file.getWidth(),file:cn.file.fileName,column:cn.file.getStart(),lineText:"",namespace:"",suggestion:""}:void 0}))};if(!M||typeof M!="object")throw new TypeError("The userConfigRaw is not an object, this should not happen.");if(!("compilerOptions"in M)||M.compilerOptions===null||M.compilerOptions===void 0||typeof M.compilerOptions!="object")throw new TypeError("The userConfigRaw.compilerOptions property is not an object, this should not happen.");let re=t((cn,Er,vr)=>`The compiler option '${cn}' should ${Er===void 0?"not be set":`be set to '${typeof Er=="string"?Er:JSON.stringify(Er)}'`}, it was ${vr===void 0?"not set":`set to '${typeof vr=="string"?vr:JSON.stringify(vr)}'`}`,"getMessage"),ie="ESNext",Q=pB.ModuleKind.ESNext,Re=[];z.options.module!==Q&&Re.push(re("module",ie,M.compilerOptions.module));let Ie="ES2022",we=pB.default.ScriptTarget.ES2022;z.options.target!==we&&Re.push(re("target",Ie,M.compilerOptions.target));let wt="Bundler",xt=pB.default.ModuleResolutionKind.Bundler;z.options.moduleResolution!==xt&&Re.push(re("moduleResolution",wt,M.compilerOptions.moduleResolution));let Tr=["ESNext","WebWorker","Webworker.Iterable"];t(cn=>{let Er=Tr.map(fs=>fs.toLowerCase()),vr=cn.map(fs=>fs.toLowerCase());return Er.every(fs=>vr.includes(fs))},"includesAllLibs")(M.compilerOptions.lib??[])||Re.push(re("lib",Tr,M.compilerOptions.lib)),z.options.baseUrl&&Re.push(re("baseUrl",void 0,M.compilerOptions.baseUrl));let tn=[];return Re.length>0&&tn.push({message:"This project's tsconfig.json was not set to the recommended settings. Custom settings may cause build issues. For guidance on how to adjust your settings, please visit: https://zuplo.com/docs/articles/tsconfig",severity:"warning",detail:Re.join(`
654
- `),pluginName:qF,helpUrl:"https://zuplo.com/docs/articles/tsconfig"}),{warnings:tn,errors:[]}}catch(b){s.error(b);let D={message:`Error validating tsconfig.json : ${b.message}`,severity:"error",pluginName:qF};return{warnings:[],errors:[D]}}})},"validateTSConfig");var dB;try{let a=eEr(new URL("../../package.json",import.meta.url),"utf-8");dB=JSON.parse(a).version}catch{dB="0.0.0"}function tEr(a){let{ZUPLO:s,ZUPLO_BUILD_ID:l,ZUPLO_BUILD_CONFIG:_}=process.env;if(s&&l&&_){let h;try{h=JSON.parse(_)}catch{throw new Error("Couuld not parse ZUPLO_BUILD_CONFIG")}let b={ZUPLO_PROJECT_ID:h.projectId,ZUPLO_ACCOUNT_NAME:h.accountName,ZUPLO_PROJECT_NAME:h.projectName,ZUPLO_ENVIRONMENT_TYPE:h.environmentType};for(let[D,A]of Object.entries(process.env))D.startsWith("ZUPLO_PUBLIC_")&&(b[D]=A??"");return{...a,buildId:l,...h,publicZuploEnvironmentVariables:b}}return a}t(tEr,"getBuildConfig");async function g5e(a){let s=performance.now(),{buildId:l,sourceDirectory:_,deploymentName:h=M_e.basename(_),command:b,minify:D,entitlements:A,environmentType:M,logger:z,output:re,noCompile:ie=!1,projectId:Q,urls:Re,publicZuploEnvironmentVariables:Ie}=tEr(a),we=await uB(_),wt=M_e.join(_,YO),xt;if("errors"in we)t5e({output:re.child("api"),buildId:l,runtimeVersion:dB}),xt={status:"Failed",flags:void 0,compatibilityDate:void 0,runtimeVersion:dB,outputPath:wt,buildTime:new Date().toISOString(),buildTimeMs:0,buildId:l,warnings:[],errors:we.errors,metafile:void 0};else{ie||t5e({output:re.child("api"),buildId:l,runtimeVersion:dB,compatibilityDate:we.config.compatibilityDate});let tn={command:b,minify:D,deploymentName:h,sourceDirectory:_,outputDirectory:wt,systemDirectory:M_e.join(_,zg),cacheDirectory:M_e.join(_,"node_modules",zg),buildId:l,logger:z,output:re,config:we.config,publicZuploEnvironmentVariables:Ie,projectId:Q,entitlements:A,environmentType:M,urls:Re},cn=[];cn.push(_vt),cn.push(dvt),cn.push(mvt),cn.push(hvt),cn.push(Uvt),cn.push(vvt),cn.push(gvt),ie||cn.push(nvt),cn.push(fvt);let Er=await cvt(cn,tn),vr=Er.errors.length>0?KO:Er.warnings.length>0?W6e:bA,fs=Er.data.get("metafile");xt={status:vr,compatibilityDate:we.config.compatibilityDate,runtimeVersion:dB,outputPath:wt,buildTime:new Date().toISOString(),buildTimeMs:0,metafile:fs,buildId:l,warnings:Er.warnings,errors:Er.errors,flags:we.config.flags}}xt.warnings.length>0&&xt.warnings.forEach(tn=>{z.warn(tn)}),xt.errors.length>0&&xt.errors.forEach(tn=>{z.error(tn)});let{metafile:Tr,...fn}=xt;if(z.debug(fn,"Compiler completed"),xt.buildTimeMs=performance.now()-s,ie||await I_e(_,re.child("api"),xt),process.env.ZUPLO_SHOW_PERF){console.log();let tn=xt.buildTimeMs<2e3?"green":xt.buildTimeMs<5e3?"yellow":"red";console.log(Jf[tn](`Build time: ${xt.buildTimeMs.toFixed(0)}ms`)),Uu.report()}return Uu.clear(),xt}t(g5e,"build");import{randomUUID as $vt}from"node:crypto";import rEr from"node:events";import mB from"node:path";import nEr from"chokidar";import*as zvt from"esbuild";var y5e=class extends rEr{static{t(this,"WatchEmitter")}},WA=class{static{t(this,"BuildWatcher")}esbuildContext;emitter=new y5e;envFilesWatcher;outputDirectory;sourceDirectory;command;logger;publicZuploEnvironmentVariables;projectName;buildId;output;constructor({sourceDirectory:s,command:l,logger:_,publicZuploEnvironmentVariables:h={},buildId:b,output:D}){this.sourceDirectory=s,this.command=l,this.outputDirectory=mB.join(s,YO),this.logger=_,this.publicZuploEnvironmentVariables=h,this.projectName=mB.basename(s),this.buildId=b,this.output=D,this.envFilesWatcher=nEr.watch([mB.join(s,".env"),mB.join(s,".env.zuplo")])}watchEnvFiles(){this.envFilesWatcher.on("change",()=>{this.emitter.emit("reload",null,null)}),this.envFilesWatcher.on("add",()=>{this.emitter.emit("reload",null,null)}),this.envFilesWatcher.on("unlink",()=>{this.emitter.emit("reload",null,null)})}onReload=t(s=>{this.emitter.on("reload",s)},"onReload");async start(){let{sourceDirectory:s}=this;if(this.esbuildContext!==void 0)throw new Error("Watcher cannot be started more than once");let l=await g5e({buildId:this.buildId,output:this.output,sourceDirectory:s,noCompile:!0,command:this.command,publicZuploEnvironmentVariables:this.publicZuploEnvironmentVariables,logger:this.logger,urls:void 0}),_=await uY({command:this.command,systemDirectory:mB.join(s,zg),cacheDirectory:mB.join(s,"node_modules",zg),outputDirectory:this.outputDirectory,sourceDirectory:s,config:{compatibilityDate:l.compatibilityDate,flags:l.flags??{}},logger:this.logger,urls:void 0}),h=this;_.plugins?.push({name:"on-end",setup(b){b.onEnd(D=>{h.logger.debug("Watcher (build) reloaded");let A=Z7e({buildId:$vt(),result:D});A.errors.length>0?h.logger.error(A.errors,"Build errors"):h.logger.debug(`Successfully rebuilt watched project. Build id ${A.buildId}`);let M={...A,compatibilityDate:l.compatibilityDate,flags:l.flags};h.emitter.emit("reload",M,null)})}}),this.esbuildContext=await zvt.context(_);try{if((await this.esbuildContext.rebuild()).errors.length>0){let D={status:"Failed",runtimeVersion:"0.0.0",buildTime:"",buildTimeMs:0,buildId:$vt(),warnings:[],errors:[],metafile:void 0};await I_e(s,h.output.child("api"),D),this.logger.error(D.errors,"Build errors")}}catch(b){throw await this.close(),b}await this.esbuildContext.watch()}async close(){try{await this.envFilesWatcher.close(),this.esbuildContext&&(await this.esbuildContext.dispose(),this.logger.debug("ESBuild watcher closed"))}catch(s){this.logger.error(s)}}};import{existsSync as yAr}from"node:fs";import{mkdir as vAr,readFile as bAr}from"node:fs/promises";import AY from"node:path";var Rxt=x_(P9e(),1);import{existsSync as Fxt,readFileSync as Lxt}from"node:fs";import Sde from"node:path";var Q9e=x_(V6e(),1);var Ixt=x_(KTt(),1);import{Buffer as _Ar}from"node:buffer";import pAr from"node:path";import Nxt from"node:child_process";import bde from"node:process";function B9e(a){let s=typeof a=="string"?`
654
+ `),pluginName:qF,helpUrl:"https://zuplo.com/docs/articles/tsconfig"}),{warnings:tn,errors:[]}}catch(b){s.error(b);let D={message:`Error validating tsconfig.json : ${b.message}`,severity:"error",pluginName:qF};return{warnings:[],errors:[D]}}})},"validateTSConfig");var dB;try{let a=eEr(new URL("../../package.json",import.meta.url),"utf-8");dB=JSON.parse(a).version}catch{dB="0.0.0"}function tEr(a){let{ZUPLO:s,ZUPLO_BUILD_ID:l,ZUPLO_BUILD_CONFIG:_}=process.env;if(s&&l&&_){let h;try{h=JSON.parse(_)}catch{throw new Error("Couuld not parse ZUPLO_BUILD_CONFIG")}let b={ZUPLO_PROJECT_ID:h.projectId,ZUPLO_ACCOUNT_NAME:h.accountName,ZUPLO_PROJECT_NAME:h.projectName,ZUPLO_ENVIRONMENT_TYPE:h.environmentType};for(let[D,A]of Object.entries(process.env))D.startsWith("ZUPLO_PUBLIC_")&&(b[D]=A??"");return{...a,buildId:l,...h,publicZuploEnvironmentVariables:b}}return a}t(tEr,"getBuildConfig");async function g5e(a){let s=performance.now(),{buildId:l,sourceDirectory:_,deploymentName:h=M_e.basename(_),command:b,minify:D,entitlements:A,environmentType:M,logger:z,output:re,noCompile:ie=!1,projectId:Q,urls:Re,publicZuploEnvironmentVariables:Ie}=tEr(a),we=await uB(_),wt=M_e.join(_,YO),xt;if("errors"in we)t5e({output:re.child("api"),buildId:l,runtimeVersion:dB}),xt={status:"Failed",flags:void 0,compatibilityDate:void 0,runtimeVersion:dB,outputPath:wt,buildTime:new Date().toISOString(),buildTimeMs:0,buildId:l,warnings:[],errors:we.errors,metafile:void 0};else{ie||t5e({output:re.child("api"),buildId:l,runtimeVersion:dB,compatibilityDate:we.config.compatibilityDate});let tn={command:b,minify:D,deploymentName:h,sourceDirectory:_,outputDirectory:wt,systemDirectory:M_e.join(_,zg),cacheDirectory:M_e.join(_,"node_modules",zg),buildId:l,logger:z,output:re,config:we.config,publicZuploEnvironmentVariables:Ie,projectId:Q,entitlements:A,environmentType:M,urls:Re},cn=[];cn.push(_vt),cn.push(dvt),cn.push(mvt),cn.push(hvt),cn.push(Uvt),cn.push(vvt),cn.push(gvt),ie||cn.push(nvt),cn.push(fvt);let Er=await cvt(cn,tn),vr=Er.errors.length>0?KO:Er.warnings.length>0?W6e:bA,fs=Er.data.get("metafile");xt={status:vr,compatibilityDate:we.config.compatibilityDate,runtimeVersion:dB,outputPath:wt,buildTime:new Date().toISOString(),buildTimeMs:0,metafile:fs,buildId:l,warnings:Er.warnings,errors:Er.errors,flags:we.config.flags}}xt.warnings.length>0&&xt.warnings.forEach(tn=>{z.warn(tn)}),xt.errors.length>0&&xt.errors.forEach(tn=>{z.error(tn)});let{metafile:Tr,...fn}=xt;if(z.debug(fn,"Compiler completed"),xt.buildTimeMs=performance.now()-s,ie||await I_e(_,re.child("api"),xt),process.env.ZUPLO_SHOW_PERF){console.log();let tn=xt.buildTimeMs<2e3?"green":xt.buildTimeMs<5e3?"yellow":"red";console.log(Jf[tn](`Build time: ${xt.buildTimeMs.toFixed(0)}ms`)),Uu.report()}return Uu.clear(),xt}t(g5e,"build");import{randomUUID as $vt}from"node:crypto";import rEr from"node:events";import mB from"node:path";import nEr from"chokidar";import*as zvt from"esbuild";var y5e=class extends rEr{static{t(this,"WatchEmitter")}},WA=class{static{t(this,"BuildWatcher")}esbuildContext;emitter=new y5e;envFilesWatcher;outputDirectory;sourceDirectory;command;logger;publicZuploEnvironmentVariables;projectName;buildId;output;urls;constructor({sourceDirectory:s,command:l,logger:_,publicZuploEnvironmentVariables:h={},buildId:b,output:D,urls:A}){this.sourceDirectory=s,this.command=l,this.outputDirectory=mB.join(s,YO),this.logger=_,this.publicZuploEnvironmentVariables=h,this.projectName=mB.basename(s),this.buildId=b,this.output=D,this.urls=A,this.envFilesWatcher=nEr.watch([mB.join(s,".env"),mB.join(s,".env.zuplo")])}watchEnvFiles(){this.envFilesWatcher.on("change",()=>{this.emitter.emit("reload",null,null)}),this.envFilesWatcher.on("add",()=>{this.emitter.emit("reload",null,null)}),this.envFilesWatcher.on("unlink",()=>{this.emitter.emit("reload",null,null)})}onReload=t(s=>{this.emitter.on("reload",s)},"onReload");async start(){let{sourceDirectory:s}=this;if(this.esbuildContext!==void 0)throw new Error("Watcher cannot be started more than once");let l=await g5e({buildId:this.buildId,output:this.output,sourceDirectory:s,noCompile:!0,command:this.command,publicZuploEnvironmentVariables:this.publicZuploEnvironmentVariables,logger:this.logger,urls:this.urls}),_=await uY({command:this.command,systemDirectory:mB.join(s,zg),cacheDirectory:mB.join(s,"node_modules",zg),outputDirectory:this.outputDirectory,sourceDirectory:s,config:{compatibilityDate:l.compatibilityDate,flags:l.flags??{}},logger:this.logger,urls:this.urls}),h=this;_.plugins?.push({name:"on-end",setup(b){b.onEnd(D=>{h.logger.debug("Watcher (build) reloaded");let A=Z7e({buildId:$vt(),result:D});A.errors.length>0?h.logger.error(A.errors,"Build errors"):h.logger.debug(`Successfully rebuilt watched project. Build id ${A.buildId}`);let M={...A,compatibilityDate:l.compatibilityDate,flags:l.flags};h.emitter.emit("reload",M,null)})}}),this.esbuildContext=await zvt.context(_);try{if((await this.esbuildContext.rebuild()).errors.length>0){let D={status:"Failed",runtimeVersion:"0.0.0",buildTime:"",buildTimeMs:0,buildId:$vt(),warnings:[],errors:[],metafile:void 0};await I_e(s,h.output.child("api"),D),this.logger.error(D.errors,"Build errors")}}catch(b){throw await this.close(),b}await this.esbuildContext.watch()}async close(){try{await this.envFilesWatcher.close(),this.esbuildContext&&(await this.esbuildContext.dispose(),this.logger.debug("ESBuild watcher closed"))}catch(s){this.logger.error(s)}}};import{existsSync as yAr}from"node:fs";import{mkdir as vAr,readFile as bAr}from"node:fs/promises";import AY from"node:path";var Rxt=x_(P9e(),1);import{existsSync as Fxt,readFileSync as Lxt}from"node:fs";import Sde from"node:path";var Q9e=x_(V6e(),1);var Ixt=x_(KTt(),1);import{Buffer as _Ar}from"node:buffer";import pAr from"node:path";import Nxt from"node:child_process";import bde from"node:process";function B9e(a){let s=typeof a=="string"?`
655
655
  `:10,l=typeof a=="string"?"\r":13;return a[a.length-1]===s&&(a=a.slice(0,-1)),a[a.length-1]===l&&(a=a.slice(0,-1)),a}t(B9e,"stripFinalNewline");import _de from"node:process";import kY from"node:path";import{fileURLToPath as YTt}from"node:url";function fde(a={}){let{env:s=process.env,platform:l=process.platform}=a;return l!=="win32"?"PATH":Object.keys(s).reverse().find(_=>_.toUpperCase()==="PATH")||"Path"}t(fde,"pathKey");var DPr=t(({cwd:a=_de.cwd(),path:s=_de.env[fde()],preferLocal:l=!0,execPath:_=_de.execPath,addExecPath:h=!0}={})=>{let b=a instanceof URL?YTt(a):a,D=kY.resolve(b),A=[];return l&&kPr(A,D),h&&wPr(A,_,D),[...A,s].join(kY.delimiter)},"npmRunPath"),kPr=t((a,s)=>{let l;for(;l!==s;)a.push(kY.join(s,"node_modules/.bin")),l=s,s=kY.resolve(s,"..")},"applyPreferLocal"),wPr=t((a,s,l)=>{let _=s instanceof URL?YTt(s):s;a.push(kY.resolve(l,_,".."))},"applyExecPath"),XTt=t(({env:a=_de.env,...s}={})=>{a={...a};let l=fde({env:a});return s.path=a[l],a[l]=DPr(s),a},"npmRunPathEnv");var PPr=t((a,s,l,_)=>{if(l==="length"||l==="prototype"||l==="arguments"||l==="caller")return;let h=Object.getOwnPropertyDescriptor(a,l),b=Object.getOwnPropertyDescriptor(s,l);!APr(h,b)&&_||Object.defineProperty(a,l,b)},"copyProperty"),APr=t(function(a,s){return a===void 0||a.configurable||a.writable===s.writable&&a.enumerable===s.enumerable&&a.configurable===s.configurable&&(a.writable||a.value===s.value)},"canCopyProperty"),NPr=t((a,s)=>{let l=Object.getPrototypeOf(s);l!==Object.getPrototypeOf(a)&&Object.setPrototypeOf(a,l)},"changePrototype"),IPr=t((a,s)=>`/* Wrapped ${a}*/
656
656
  ${s}`,"wrappedToString"),OPr=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),FPr=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name"),LPr=t((a,s,l)=>{let _=l===""?"":`with ${l.trim()}() `,h=IPr.bind(null,_,s.toString());Object.defineProperty(h,"name",FPr),Object.defineProperty(a,"toString",{...OPr,value:h})},"changeToString");function U9e(a,s,{ignoreNonConfigurable:l=!1}={}){let{name:_}=a;for(let h of Reflect.ownKeys(s))PPr(a,s,h,l);return NPr(a,s),LPr(a,s,_),a}t(U9e,"mimicFunction");var pde=new WeakMap,QTt=t((a,s={})=>{if(typeof a!="function")throw new TypeError("Expected a function");let l,_=0,h=a.displayName||a.name||"<anonymous>",b=t(function(...D){if(pde.set(b,++_),_===1)l=a.apply(this,D),a=null;else if(s.throw===!0)throw new Error(`Function \`${h}\` can only be called once`);return l},"onetime");return U9e(b,a),pde.set(b,_),b},"onetime");QTt.callCount=a=>{if(!pde.has(a))throw new Error(`The given function \`${a.name}\` is not wrapped by the \`onetime\` package`);return pde.get(a)};var ZTt=QTt;import{constants as BPr}from"os";var ext=t(function(){let a=$9e-txt+1;return Array.from({length:a},RPr)},"getRealtimeSignals"),RPr=t(function(a,s){return{name:`SIGRT${s+1}`,number:txt+s,action:"terminate",description:"Application-specific signal (realtime)",standard:"posix"}},"getRealtimeSignal"),txt=34,$9e=64;import{constants as MPr}from"os";var rxt=[{name:"SIGHUP",number:1,action:"terminate",description:"Terminal closed",standard:"posix"},{name:"SIGINT",number:2,action:"terminate",description:"User interruption with CTRL-C",standard:"ansi"},{name:"SIGQUIT",number:3,action:"core",description:"User interruption with CTRL-\\",standard:"posix"},{name:"SIGILL",number:4,action:"core",description:"Invalid machine instruction",standard:"ansi"},{name:"SIGTRAP",number:5,action:"core",description:"Debugger breakpoint",standard:"posix"},{name:"SIGABRT",number:6,action:"core",description:"Aborted",standard:"ansi"},{name:"SIGIOT",number:6,action:"core",description:"Aborted",standard:"bsd"},{name:"SIGBUS",number:7,action:"core",description:"Bus error due to misaligned, non-existing address or paging error",standard:"bsd"},{name:"SIGEMT",number:7,action:"terminate",description:"Command should be emulated but is not implemented",standard:"other"},{name:"SIGFPE",number:8,action:"core",description:"Floating point arithmetic error",standard:"ansi"},{name:"SIGKILL",number:9,action:"terminate",description:"Forced termination",standard:"posix",forced:!0},{name:"SIGUSR1",number:10,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGSEGV",number:11,action:"core",description:"Segmentation fault",standard:"ansi"},{name:"SIGUSR2",number:12,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGPIPE",number:13,action:"terminate",description:"Broken pipe or socket",standard:"posix"},{name:"SIGALRM",number:14,action:"terminate",description:"Timeout or timer",standard:"posix"},{name:"SIGTERM",number:15,action:"terminate",description:"Termination",standard:"ansi"},{name:"SIGSTKFLT",number:16,action:"terminate",description:"Stack is empty or overflowed",standard:"other"},{name:"SIGCHLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"posix"},{name:"SIGCLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"other"},{name:"SIGCONT",number:18,action:"unpause",description:"Unpaused",standard:"posix",forced:!0},{name:"SIGSTOP",number:19,action:"pause",description:"Paused",standard:"posix",forced:!0},{name:"SIGTSTP",number:20,action:"pause",description:'Paused using CTRL-Z or "suspend"',standard:"posix"},{name:"SIGTTIN",number:21,action:"pause",description:"Background process cannot read terminal input",standard:"posix"},{name:"SIGBREAK",number:21,action:"terminate",description:"User interruption with CTRL-BREAK",standard:"other"},{name:"SIGTTOU",number:22,action:"pause",description:"Background process cannot write to terminal output",standard:"posix"},{name:"SIGURG",number:23,action:"ignore",description:"Socket received out-of-band data",standard:"bsd"},{name:"SIGXCPU",number:24,action:"core",description:"Process timed out",standard:"bsd"},{name:"SIGXFSZ",number:25,action:"core",description:"File too big",standard:"bsd"},{name:"SIGVTALRM",number:26,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGPROF",number:27,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGWINCH",number:28,action:"ignore",description:"Terminal window size changed",standard:"bsd"},{name:"SIGIO",number:29,action:"terminate",description:"I/O is available",standard:"other"},{name:"SIGPOLL",number:29,action:"terminate",description:"Watched event",standard:"other"},{name:"SIGINFO",number:29,action:"ignore",description:"Request for process information",standard:"other"},{name:"SIGPWR",number:30,action:"terminate",description:"Device running out of power",standard:"systemv"},{name:"SIGSYS",number:31,action:"core",description:"Invalid system call",standard:"other"},{name:"SIGUNUSED",number:31,action:"terminate",description:"Invalid system call",standard:"other"}];var z9e=t(function(){let a=ext();return[...rxt,...a].map(jPr)},"getSignals"),jPr=t(function({name:a,number:s,description:l,action:_,forced:h=!1,standard:b}){let{signals:{[a]:D}}=MPr,A=D!==void 0;return{name:a,number:A?D:s,description:l,supported:A,action:_,forced:h,standard:b}},"normalizeSignal");var UPr=t(function(){return z9e().reduce($Pr,{})},"getSignalsByName"),$Pr=t(function(a,{name:s,number:l,description:_,supported:h,action:b,forced:D,standard:A}){return{...a,[s]:{name:s,number:l,description:_,supported:h,action:b,forced:D,standard:A}}},"getSignalByName"),nxt=UPr(),zPr=t(function(){let a=z9e(),s=$9e+1,l=Array.from({length:s},(_,h)=>JPr(h,a));return Object.assign({},...l)},"getSignalsByNumber"),JPr=t(function(a,s){let l=qPr(a,s);if(l===void 0)return{};let{name:_,description:h,supported:b,action:D,forced:A,standard:M}=l;return{[a]:{name:_,number:a,description:h,supported:b,action:D,forced:A,standard:M}}},"getSignalByNumber"),qPr=t(function(a,s){let l=s.find(({name:_})=>BPr.signals[_]===a);return l!==void 0?l:s.find(_=>_.number===a)},"findSignalByNumber"),sGr=zPr();var VPr=t(({timedOut:a,timeout:s,errorCode:l,signal:_,signalDescription:h,exitCode:b,isCanceled:D})=>a?`timed out after ${s} milliseconds`:D?"was canceled":l!==void 0?`failed with ${l}`:_!==void 0?`was killed with ${_} (${h})`:b!==void 0?`failed with exit code ${b}`:"failed","getErrorPrefix"),J9e=t(({stdout:a,stderr:s,all:l,error:_,signal:h,exitCode:b,command:D,escapedCommand:A,timedOut:M,isCanceled:z,killed:re,parsed:{options:{timeout:ie}}})=>{b=b===null?void 0:b,h=h===null?void 0:h;let Q=h===void 0?void 0:nxt[h].description,Re=_&&_.code,we=`Command ${VPr({timedOut:M,timeout:ie,errorCode:Re,signal:h,signalDescription:Q,exitCode:b,isCanceled:z})}: ${D}`,wt=Object.prototype.toString.call(_)==="[object Error]",xt=wt?`${we}
657
657
  ${_.message}`:we,Tr=[xt,s,a].filter(Boolean).join(`
658
- `);return wt?(_.originalMessage=_.message,_.message=Tr):_=new Error(Tr),_.shortMessage=xt,_.command=D,_.escapedCommand=A,_.exitCode=b,_.signal=h,_.signalDescription=Q,_.stdout=a,_.stderr=s,l!==void 0&&(_.all=l),"bufferedData"in _&&delete _.bufferedData,_.failed=!0,_.timedOut=!!M,_.isCanceled=z,_.killed=re&&!M,_},"makeError");var dde=["stdin","stdout","stderr"],WPr=t(a=>dde.some(s=>a[s]!==void 0),"hasAlias"),ixt=t(a=>{if(!a)return;let{stdio:s}=a;if(s===void 0)return dde.map(_=>a[_]);if(WPr(a))throw new Error(`It's not possible to provide \`stdio\` in combination with one of ${dde.map(_=>`\`${_}\``).join(", ")}`);if(typeof s=="string")return s;if(!Array.isArray(s))throw new TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof s}\``);let l=Math.max(s.length,dde.length);return Array.from({length:l},(_,h)=>s[h])},"normalizeStdio");var fxt=x_(uxt(),1);import HPr from"node:os";var GPr=1e3*5,_xt=t((a,s="SIGTERM",l={})=>{let _=a(s);return KPr(a,s,l,_),_},"spawnedKill"),KPr=t((a,s,l,_)=>{if(!YPr(s,l,_))return;let h=QPr(l),b=setTimeout(()=>{a("SIGKILL")},h);b.unref&&b.unref()},"setKillTimeout"),YPr=t((a,{forceKillAfterTimeout:s},l)=>XPr(a)&&s!==!1&&l,"shouldForceKill"),XPr=t(a=>a===HPr.constants.signals.SIGTERM||typeof a=="string"&&a.toUpperCase()==="SIGTERM","isSigterm"),QPr=t(({forceKillAfterTimeout:a=!0})=>{if(a===!0)return GPr;if(!Number.isFinite(a)||a<0)throw new TypeError(`Expected the \`forceKillAfterTimeout\` option to be a non-negative integer, got \`${a}\` (${typeof a})`);return a},"getForceKillAfterTimeout"),pxt=t((a,s)=>{a.kill()&&(s.isCanceled=!0)},"spawnedCancel"),ZPr=t((a,s,l)=>{a.kill(s),l(Object.assign(new Error("Timed out"),{timedOut:!0,signal:s}))},"timeoutKill"),dxt=t((a,{timeout:s,killSignal:l="SIGTERM"},_)=>{if(s===0||s===void 0)return _;let h,b=new Promise((A,M)=>{h=setTimeout(()=>{ZPr(a,l,M)},s)}),D=_.finally(()=>{clearTimeout(h)});return Promise.race([b,D])},"setupTimeout"),mxt=t(({timeout:a})=>{if(a!==void 0&&(!Number.isFinite(a)||a<0))throw new TypeError(`Expected the \`timeout\` option to be a non-negative integer, got \`${a}\` (${typeof a})`)},"validateTimeout"),hxt=t(async(a,{cleanup:s,detached:l},_)=>{if(!s||l)return _;let h=(0,fxt.default)(()=>{a.kill()});return _.finally(()=>{h()})},"setExitHandler");function gxt(a){return a!==null&&typeof a=="object"&&typeof a.pipe=="function"}t(gxt,"isStream");var K9e=x_(bxt(),1),xxt=x_(Txt(),1);var Ext=t((a,s)=>{s===void 0||a.stdin===void 0||(gxt(s)?s.pipe(a.stdin):a.stdin.end(s))},"handleInput"),Cxt=t((a,{all:s})=>{if(!s||!a.stdout&&!a.stderr)return;let l=(0,xxt.default)();return a.stdout&&l.add(a.stdout),a.stderr&&l.add(a.stderr),l},"makeAllStream"),H9e=t(async(a,s)=>{if(a){a.destroy();try{return await s}catch(l){return l.bufferedData}}},"getBufferedData"),G9e=t((a,{encoding:s,buffer:l,maxBuffer:_})=>{if(!(!a||!l))return s?(0,K9e.default)(a,{encoding:s,maxBuffer:_}):K9e.default.buffer(a,{maxBuffer:_})},"getStreamPromise"),Dxt=t(async({stdout:a,stderr:s,all:l},{encoding:_,buffer:h,maxBuffer:b},D)=>{let A=G9e(a,{encoding:_,buffer:h,maxBuffer:b}),M=G9e(s,{encoding:_,buffer:h,maxBuffer:b}),z=G9e(l,{encoding:_,buffer:h,maxBuffer:b*2});try{return await Promise.all([D,A,M,z])}catch(re){return Promise.all([{error:re,signal:re.signal,timedOut:re.timedOut},H9e(a,A),H9e(s,M),H9e(l,z)])}},"getSpawnedResult");var oAr=(async()=>{})().constructor.prototype,cAr=["then","catch","finally"].map(a=>[a,Reflect.getOwnPropertyDescriptor(oAr,a)]),Y9e=t((a,s)=>{for(let[l,_]of cAr){let h=typeof s=="function"?(...b)=>Reflect.apply(_.value,s(),b):_.value.bind(s);Reflect.defineProperty(a,l,{..._,value:h})}return a},"mergePromise"),kxt=t(a=>new Promise((s,l)=>{a.on("exit",(_,h)=>{s({exitCode:_,signal:h})}),a.on("error",_=>{l(_)}),a.stdin&&a.stdin.on("error",_=>{l(_)})}),"getSpawnedPromise");var wxt=t((a,s=[])=>Array.isArray(s)?[a,...s]:[a],"normalizeArgs"),lAr=/^[\w.-]+$/,uAr=/"/g,fAr=t(a=>typeof a!="string"||lAr.test(a)?a:`"${a.replace(uAr,'\\"')}"`,"escapeArg"),Pxt=t((a,s)=>wxt(a,s).join(" "),"joinCommand"),Axt=t((a,s)=>wxt(a,s).map(l=>fAr(l)).join(" "),"getEscapedCommand");var dAr=1e3*1e3*100,mAr=t(({env:a,extendEnv:s,preferLocal:l,localDir:_,execPath:h})=>{let b=s?{...bde.env,...a}:a;return l?XTt({env:b,cwd:_,execPath:h}):b},"getEnv"),hAr=t((a,s,l={})=>{let _=Ixt.default._parse(a,s,l);return a=_.command,s=_.args,l=_.options,l={maxBuffer:dAr,buffer:!0,stripFinalNewline:!0,extendEnv:!0,preferLocal:!1,localDir:l.cwd||bde.cwd(),execPath:bde.execPath,encoding:"utf8",reject:!0,cleanup:!0,all:!1,windowsHide:!0,...l},l.env=mAr(l),l.stdio=ixt(l),bde.platform==="win32"&&pAr.basename(a,".exe")==="cmd"&&s.unshift("/q"),{file:a,args:s,options:l,parsed:_}},"handleArguments"),X9e=t((a,s,l)=>typeof s!="string"&&!_Ar.isBuffer(s)?l===void 0?void 0:"":a.stripFinalNewline?B9e(s):s,"handleOutput");function Oxt(a,s,l){let _=hAr(a,s,l),h=Pxt(a,s),b=Axt(a,s);mxt(_.options);let D;try{D=Nxt.spawn(_.file,_.args,_.options)}catch(Re){let Ie=new Nxt.ChildProcess,we=Promise.reject(J9e({error:Re,stdout:"",stderr:"",all:"",command:h,escapedCommand:b,parsed:_,timedOut:!1,isCanceled:!1,killed:!1}));return Y9e(Ie,we)}let A=kxt(D),M=dxt(D,_.options,A),z=hxt(D,_.options,M),re={isCanceled:!1};D.kill=_xt.bind(null,D.kill.bind(D)),D.cancel=pxt.bind(null,D,re);let Q=ZTt(t(async()=>{let[{error:Re,exitCode:Ie,signal:we,timedOut:wt},xt,Tr,fn]=await Dxt(D,_.options,z),tn=X9e(_.options,xt),cn=X9e(_.options,Tr),Er=X9e(_.options,fn);if(Re||Ie!==0||we!==null){let vr=J9e({error:Re,exitCode:Ie,signal:we,stdout:tn,stderr:cn,all:Er,command:h,escapedCommand:b,parsed:_,timedOut:wt,isCanceled:re.isCanceled||(_.options.signal?_.options.signal.aborted:!1),killed:D.killed});if(!_.options.reject)return vr;throw vr}return{command:h,escapedCommand:b,exitCode:0,stdout:tn,stderr:cn,all:Er,failed:!1,timedOut:!1,isCanceled:!1,killed:!1}},"handlePromise"));return Ext(D,_.options.input),D.all=Cxt(D,_.options),Y9e(D,Q)}t(Oxt,"execa");async function Tde(a,s){if(a.__ZUPLO_LOG_LEVEL=process.env.__ZUPLO_LOG_LEVEL??process.env.LOG_LEVEL,a.__ZUPLO_LOG_FORMAT=process.env.__ZUPLO_LOG_FORMAT??process.env.LOG_FORMAT,a.LOG_LEVEL=process.env.LOG_LEVEL??process.env.LOG_LEVEL,a.LOG_FORMAT=process.env.LOG_FORMAT??process.env.LOG_FORMAT,a.GIT_SHA=process.env.GIT_SHA??await gAr(s),process.env.__ZUPLO_CONFIG&&(a.__ZUPLO_CONFIG=process.env.__ZUPLO_CONFIG),Fxt(Sde.join(s,".env.zuplo"))){let l=Lxt(Sde.join(s,".env.zuplo"),"utf8"),_=Q9e.default.parse(l);for(let h of Object.keys(_))if(a[h]=_[h],h==="ZUPLO_SYSTEM_CONFIGURATIONS"){let b=Buffer.from(mue.decode(_[h])).toString(),D=JSON.parse(b);for(let A of Object.keys(D))a[A]=D[A]}}if(Fxt(Sde.join(s,".env"))){let l=Lxt(Sde.join(s,".env"),"utf8"),_=Q9e.default.parse(l);for(let h of Object.keys(_))a[h]=_[h]}for(let l of Object.keys(a))a[l]===void 0&&delete a[l];return a}t(Tde,"setEnvironment");async function gAr(a){let s="unknown";try{let{stdout:l}=await Oxt("git",["rev-parse","HEAD"],{cwd:a});l.trim().length===40&&(s=l.trim())}catch{}return s}t(gAr,"getGitSha");async function SAr({buildId:a,output:s,sourceDirectory:l,bundledDir:_,port:h,binaryName:b,publicZuploEnvironmentVariables:D,logger:A,handleRuntimeStdio:M}){if(_){let re=AY.join(l,_,"modules.json");if(!yAr(re))throw new Error("The bundled-dir does not contain a modules.json file.");let ie=await bAr(re,"utf-8").then(JSON.parse),Q=await uB(l);return Q.status===bA?new Promise((Re,Ie)=>{z(Q.config.compatibilityDate,AY.join(l,_),ie,Re,M)().catch(we=>{A.error(we),Ie(we)})}):(A.warn("Failed to get Zuplo config. Using default compatibility date."),new Promise((Re,Ie)=>{z(void 0,l,ie,Re,M)().catch(we=>{A.error(we),Ie(we)})}))}else{let re=new WA({buildId:a,output:s,sourceDirectory:l,command:"dev",logger:A,publicZuploEnvironmentVariables:D??{ZUPLO_ENVIRONMENT_TYPE:"LOCAL_DEVELOPMENT"},urls:void 0});try{await re.start()}catch{A.info("Ran into irrecoverable error while building. Fix the error and rerun the command."),process.exit(1)}return new Promise((ie,Q)=>{re.onReload((Re,Ie)=>{(Ie||Re&&Re.errors&&Re.errors.length>0)&&Q(Ie??Re?.errors),z(Re?.compatibilityDate,AY.join(l,"dist"),lB(l,Re?.metafile),ie,M)().catch(we=>{A.error(we),Q(we)})})})}function z(re,ie,Q,Re,Ie){return async()=>{let we={};await Tde(we,l);let wt=new Rxt.ZuploWorkerd({compatibilityDate:re,scriptDirectory:ie,modules:Q,port:h??Fm.DEV_SERVER_PORT,bindings:we,handleRuntimeStdio:Ie}),xt=b??"compiled-zup",Tr=AY.join(l,"dist");await vAr(Tr,{recursive:!0}),await wt.compileBinary({binaryPath:AY.join(l,"dist",xt)}),await wt.dispose(),Re(void 0)}}t(z,"compile")}t(SAr,"compileWorkerdServer");var Mxt=x_(P9e(),1);import xAr from"node:path";import TAr from"node:net";function NY(a,s){return new Promise(l=>{let _=new TAr.Socket;_.connect(s,a),_.on("connect",()=>{_.destroy(),l(!1)}),_.on("error",()=>{_.destroy(),l(!0)})})}t(NY,"isPortAvailable");var xde=class{static{t(this,"WorkerdServer")}sourceDirectory;port;debugPort;buildWatcher;workerd;logger;output;handleRuntimeStdio;onReload;constructor(s){this.sourceDirectory=s.sourceDirectory,this.port=s.port??Fm.DEV_SERVER_PORT,this.debugPort=s.debugPort,this.logger=s.logger,this.output=s.output,this.handleRuntimeStdio=s.handleRuntimeStdio,this.onReload=s.onReload,s.zupTestMode||(this.buildWatcher=new WA({...s,logger:this.logger,publicZuploEnvironmentVariables:s.publicZuploEnvironmentVariables??{ZUPLO_ENVIRONMENT_TYPE:"LOCAL_DEVELOPMENT"},urls:void 0}),this.buildWatcher.watchEnvFiles())}async start(){if(!await NY("localhost",this.port))throw new Error(`Port ${this.port} is currently in use. Please use a different port.`);if(this.buildWatcher)try{await this.buildWatcher.start()}catch(l){this.output.child("api").error(l.toString());let _="Ran into irrecoverable error while starting watcher. Fix the error and restart the server.";this.output.child("api").error(_),this.logger?.info(_),process.exit(1)}await this.startOrReload(),this.buildWatcher?.onReload((l,_)=>{_||l&&l.errors&&l.errors.length>0||(this.onReload(l,_),this.startOrReload(l).catch(h=>{this.output.child("api").error(h.toString()),this.logger?.error(h)}))})}async startOrReload(s){try{let l={};await Tde(l,this.sourceDirectory),await this.workerd?.dispose(),this.workerd=new Mxt.ZuploWorkerd({compatibilityDate:s?.compatibilityDate,scriptDirectory:xAr.join(this.sourceDirectory,"dist"),modules:lB(this.sourceDirectory,s?.metafile),port:this.port,inspectorPort:this.debugPort??void 0,bindings:l,handleRuntimeStdio:this.handleRuntimeStdio}),await this.workerd.serve()}catch(l){this.logger?.debug(l)}}async stop(){await this.buildWatcher?.close(),await this.workerd?.dispose()}};import{fileURLToPath as zxt}from"node:url";import{Readable as jxt}from"node:stream";import Bxt from"node:assert";import EAr from"node:child_process";import CAr from"node:fs";import Ede from"node:os";import DAr from"node:path";function Uxt(a,s){let l=import.meta.resolve(a),_=new URL(".",l),h=new URL(s,_);if(CAr.existsSync(h))return zxt(h)}t(Uxt,"getValidExecutablePath");function kAr(){let a=Ede.platform()==="win32"?"deno.exe":"deno",s=Uxt("deno/package.json",a);if(s)return s;let l=wAr(),_=Uxt(`@deno/${l}/package.json`,a);if(_)return _;throw new Error("Failed to locate the managed-dedicated server executable.")}t(kAr,"locateDenoExecutable");function wAr(){let a=Ede.platform();return a==="linux"?a+"-"+$xt()+"-glibc":a+"-"+$xt()}t(wAr,"getTarget");function $xt(){let a=Ede.arch();if(a!=="arm64"&&a!=="x64")throw new Error("Unsupported architecture "+Ede.arch()+". Only x64 and aarch64 binaries are available.");return a}t($xt,"getArch");var Cde=class{static{t(this,"ZenoServer")}serverProcess;debugPort;processExitPromise;logger;output;buildWatcher;onReload;handleRuntimeStdio;denoExecutablePath;constructor(s){this.debugPort=s.debugPort,this.logger=s.logger,this.output=s.output,this.onReload=s.onReload,this.handleRuntimeStdio=s.handleRuntimeStdio,s.zupTestMode||(this.buildWatcher=new WA({sourceDirectory:s.sourceDirectory,command:"dev",logger:s.logger,publicZuploEnvironmentVariables:s.publicZuploEnvironmentVariables??{ZUPLO_ENVIRONMENT_TYPE:"LOCAL_DEVELOPMENT"},buildId:"dev",output:s.output,urls:void 0}),this.buildWatcher.watchEnvFiles()),this.denoExecutablePath=kAr()}getServeArgs(){let s=`${DAr.dirname(zxt(import.meta.url))}/zeno.js`,l=["run","--allow-read","--allow-net","--allow-env","--allow-write"];return this.debugPort&&l.push(`--inspect=127.0.0.1:${this.debugPort}`),l.push(s),l}async getUnavailablePorts(){let s=[];return this.debugPort&&!await NY("127.0.0.1",this.debugPort)&&s.push(this.debugPort),await NY("127.0.0.1",9e3)||s.push(9e3),s}async start(){let s=await this.getUnavailablePorts();if(s.length>0)throw new Error("The following ports are not available: "+s.join(", "));if(this.buildWatcher)try{await this.buildWatcher.start()}catch(l){this.output.child("api").error(l.toString());let _="Ran into irrecoverable error while starting watcher. Fix the error and restart the server.";this.output.child("api").error(_),this.logger?.info(_),process.exit(1)}await this.startOrReload(),this.buildWatcher?.onReload((l,_)=>{_||l&&l.errors&&l.errors.length>0||(this.onReload(l,_),this.startOrReload().catch(h=>{this.output.child("api").error(h.toString()),this.logger?.error(h)}))})}async startOrReload(){try{await this.dispose(),this.logger?.info("Starting managed-dedicated local server");let s=this.getServeArgs();this.serverProcess=EAr.spawn(this.denoExecutablePath,s,{stdio:["pipe","pipe","pipe"],env:{...process.env,FORCE_COLOR:"1"}}),Bxt(this.serverProcess.stdout instanceof jxt),Bxt(this.serverProcess.stderr instanceof jxt),this.processExitPromise=this.waitForExit(),this.handleRuntimeStdio(this.serverProcess.stdout,this.serverProcess.stderr)}catch(s){this.logger?.debug(s)}}waitForExit(){return new Promise(s=>{this.serverProcess?.once("exit",s)})}dispose(){return this.serverProcess?.kill("SIGKILL"),this.processExitPromise}async stop(){await this.dispose(),await this.buildWatcher?.close()}};async function PAr(a){let s=await uB(a),l=!1;return s.status===bA&&(l=s.config.flags?.managedDedicatedFlags?.useZeno??!1),l||process.env.ZUPLO_DEV_RUNTIME==="zeno"}t(PAr,"useZeno");async function AAr({sourceDirectory:a,port:s,debugPort:l,publicZuploEnvironmentVariables:_,logger:h,output:b,buildId:D,onReload:A,handleRuntimeStdio:M}){process.env.ZUPLO_IS_LOCAL_DEVELOPMENT="true";let z;await PAr(a)?(h.debug("Starting managed-dedicated local dev server."),z=new Cde({sourceDirectory:a,debugPort:l,logger:h,output:b,publicZuploEnvironmentVariables:_,onReload:A,handleRuntimeStdio:M})):(h.debug("Starting edge local dev server."),z=new xde({sourceDirectory:a,command:"dev",port:s,debugPort:l,publicZuploEnvironmentVariables:_,logger:h,output:b,buildId:D,onReload:A,handleRuntimeStdio:M})),await z.start();async function re(){await z.stop()}t(re,"handle"),process.on("SIGTERM",re),process.on("SIGINT",re)}t(AAr,"startDevServer");var hEt=x_(Vxt(),1),gEt=x_(dEt(),1);import{readFile as f6r}from"node:fs/promises";import MY from"node:path";var l6r=new RegExp("^((https|http)://)?[a-zA-Z0-9]{3}\\.[a-zA-Z0-9][a-zA-Z0-9]{0,61}?[a-zA-Z0-9]\\.(com|net|cn|cc)(:[0-9]{1,4})?/$"),u6r={concat(a,s){return MY.join(a,s)},resolve(a){return this.isAbsolute(a)?this.normalize(a):this.normalize(this.concat(process.cwd(),a))},normalize(a){let s=MY.normalize(a),l=MY.sep,_=[],h=0;return s.split(l).reverse().filter(D=>D!==".").forEach(D=>{D===".."?h++:h===0?_.push(D):h--}),_.reverse().join(l)},isData(a){return a.startsWith("data:")},isURL(a){return l6r.test(a)},isAbsolute(a){return MY.isAbsolute(a)},relativeToFile(a,s){if(this.isData(a)||this.isAbsolute(s))return this.normalize(s);{let l=MY.dirname(a);return this.normalize(this.concat(l,s))}}},Lde=u6r;var mEt=t(a=>{let s=t(l=>l in s.cache?s.cache[l]:s.cache[l]=a(l),"m");return s.forgetEverything=()=>{s.cache=Object.create(null)},s.cache=Object.create(null),s},"memoize");function uLe(a){let s=mEt(async D=>await l(D,await a(D)));async function l(D,A){if(A===void 0)return s(Lde.resolve(D));let M,z,re=t(async Q=>(z=z||await _(ie))(Q),"_resolve"),ie={path:D,text:A,get lines(){return M=M||A.split(`
658
+ `);return wt?(_.originalMessage=_.message,_.message=Tr):_=new Error(Tr),_.shortMessage=xt,_.command=D,_.escapedCommand=A,_.exitCode=b,_.signal=h,_.signalDescription=Q,_.stdout=a,_.stderr=s,l!==void 0&&(_.all=l),"bufferedData"in _&&delete _.bufferedData,_.failed=!0,_.timedOut=!!M,_.isCanceled=z,_.killed=re&&!M,_},"makeError");var dde=["stdin","stdout","stderr"],WPr=t(a=>dde.some(s=>a[s]!==void 0),"hasAlias"),ixt=t(a=>{if(!a)return;let{stdio:s}=a;if(s===void 0)return dde.map(_=>a[_]);if(WPr(a))throw new Error(`It's not possible to provide \`stdio\` in combination with one of ${dde.map(_=>`\`${_}\``).join(", ")}`);if(typeof s=="string")return s;if(!Array.isArray(s))throw new TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof s}\``);let l=Math.max(s.length,dde.length);return Array.from({length:l},(_,h)=>s[h])},"normalizeStdio");var fxt=x_(uxt(),1);import HPr from"node:os";var GPr=1e3*5,_xt=t((a,s="SIGTERM",l={})=>{let _=a(s);return KPr(a,s,l,_),_},"spawnedKill"),KPr=t((a,s,l,_)=>{if(!YPr(s,l,_))return;let h=QPr(l),b=setTimeout(()=>{a("SIGKILL")},h);b.unref&&b.unref()},"setKillTimeout"),YPr=t((a,{forceKillAfterTimeout:s},l)=>XPr(a)&&s!==!1&&l,"shouldForceKill"),XPr=t(a=>a===HPr.constants.signals.SIGTERM||typeof a=="string"&&a.toUpperCase()==="SIGTERM","isSigterm"),QPr=t(({forceKillAfterTimeout:a=!0})=>{if(a===!0)return GPr;if(!Number.isFinite(a)||a<0)throw new TypeError(`Expected the \`forceKillAfterTimeout\` option to be a non-negative integer, got \`${a}\` (${typeof a})`);return a},"getForceKillAfterTimeout"),pxt=t((a,s)=>{a.kill()&&(s.isCanceled=!0)},"spawnedCancel"),ZPr=t((a,s,l)=>{a.kill(s),l(Object.assign(new Error("Timed out"),{timedOut:!0,signal:s}))},"timeoutKill"),dxt=t((a,{timeout:s,killSignal:l="SIGTERM"},_)=>{if(s===0||s===void 0)return _;let h,b=new Promise((A,M)=>{h=setTimeout(()=>{ZPr(a,l,M)},s)}),D=_.finally(()=>{clearTimeout(h)});return Promise.race([b,D])},"setupTimeout"),mxt=t(({timeout:a})=>{if(a!==void 0&&(!Number.isFinite(a)||a<0))throw new TypeError(`Expected the \`timeout\` option to be a non-negative integer, got \`${a}\` (${typeof a})`)},"validateTimeout"),hxt=t(async(a,{cleanup:s,detached:l},_)=>{if(!s||l)return _;let h=(0,fxt.default)(()=>{a.kill()});return _.finally(()=>{h()})},"setExitHandler");function gxt(a){return a!==null&&typeof a=="object"&&typeof a.pipe=="function"}t(gxt,"isStream");var K9e=x_(bxt(),1),xxt=x_(Txt(),1);var Ext=t((a,s)=>{s===void 0||a.stdin===void 0||(gxt(s)?s.pipe(a.stdin):a.stdin.end(s))},"handleInput"),Cxt=t((a,{all:s})=>{if(!s||!a.stdout&&!a.stderr)return;let l=(0,xxt.default)();return a.stdout&&l.add(a.stdout),a.stderr&&l.add(a.stderr),l},"makeAllStream"),H9e=t(async(a,s)=>{if(a){a.destroy();try{return await s}catch(l){return l.bufferedData}}},"getBufferedData"),G9e=t((a,{encoding:s,buffer:l,maxBuffer:_})=>{if(!(!a||!l))return s?(0,K9e.default)(a,{encoding:s,maxBuffer:_}):K9e.default.buffer(a,{maxBuffer:_})},"getStreamPromise"),Dxt=t(async({stdout:a,stderr:s,all:l},{encoding:_,buffer:h,maxBuffer:b},D)=>{let A=G9e(a,{encoding:_,buffer:h,maxBuffer:b}),M=G9e(s,{encoding:_,buffer:h,maxBuffer:b}),z=G9e(l,{encoding:_,buffer:h,maxBuffer:b*2});try{return await Promise.all([D,A,M,z])}catch(re){return Promise.all([{error:re,signal:re.signal,timedOut:re.timedOut},H9e(a,A),H9e(s,M),H9e(l,z)])}},"getSpawnedResult");var oAr=(async()=>{})().constructor.prototype,cAr=["then","catch","finally"].map(a=>[a,Reflect.getOwnPropertyDescriptor(oAr,a)]),Y9e=t((a,s)=>{for(let[l,_]of cAr){let h=typeof s=="function"?(...b)=>Reflect.apply(_.value,s(),b):_.value.bind(s);Reflect.defineProperty(a,l,{..._,value:h})}return a},"mergePromise"),kxt=t(a=>new Promise((s,l)=>{a.on("exit",(_,h)=>{s({exitCode:_,signal:h})}),a.on("error",_=>{l(_)}),a.stdin&&a.stdin.on("error",_=>{l(_)})}),"getSpawnedPromise");var wxt=t((a,s=[])=>Array.isArray(s)?[a,...s]:[a],"normalizeArgs"),lAr=/^[\w.-]+$/,uAr=/"/g,fAr=t(a=>typeof a!="string"||lAr.test(a)?a:`"${a.replace(uAr,'\\"')}"`,"escapeArg"),Pxt=t((a,s)=>wxt(a,s).join(" "),"joinCommand"),Axt=t((a,s)=>wxt(a,s).map(l=>fAr(l)).join(" "),"getEscapedCommand");var dAr=1e3*1e3*100,mAr=t(({env:a,extendEnv:s,preferLocal:l,localDir:_,execPath:h})=>{let b=s?{...bde.env,...a}:a;return l?XTt({env:b,cwd:_,execPath:h}):b},"getEnv"),hAr=t((a,s,l={})=>{let _=Ixt.default._parse(a,s,l);return a=_.command,s=_.args,l=_.options,l={maxBuffer:dAr,buffer:!0,stripFinalNewline:!0,extendEnv:!0,preferLocal:!1,localDir:l.cwd||bde.cwd(),execPath:bde.execPath,encoding:"utf8",reject:!0,cleanup:!0,all:!1,windowsHide:!0,...l},l.env=mAr(l),l.stdio=ixt(l),bde.platform==="win32"&&pAr.basename(a,".exe")==="cmd"&&s.unshift("/q"),{file:a,args:s,options:l,parsed:_}},"handleArguments"),X9e=t((a,s,l)=>typeof s!="string"&&!_Ar.isBuffer(s)?l===void 0?void 0:"":a.stripFinalNewline?B9e(s):s,"handleOutput");function Oxt(a,s,l){let _=hAr(a,s,l),h=Pxt(a,s),b=Axt(a,s);mxt(_.options);let D;try{D=Nxt.spawn(_.file,_.args,_.options)}catch(Re){let Ie=new Nxt.ChildProcess,we=Promise.reject(J9e({error:Re,stdout:"",stderr:"",all:"",command:h,escapedCommand:b,parsed:_,timedOut:!1,isCanceled:!1,killed:!1}));return Y9e(Ie,we)}let A=kxt(D),M=dxt(D,_.options,A),z=hxt(D,_.options,M),re={isCanceled:!1};D.kill=_xt.bind(null,D.kill.bind(D)),D.cancel=pxt.bind(null,D,re);let Q=ZTt(t(async()=>{let[{error:Re,exitCode:Ie,signal:we,timedOut:wt},xt,Tr,fn]=await Dxt(D,_.options,z),tn=X9e(_.options,xt),cn=X9e(_.options,Tr),Er=X9e(_.options,fn);if(Re||Ie!==0||we!==null){let vr=J9e({error:Re,exitCode:Ie,signal:we,stdout:tn,stderr:cn,all:Er,command:h,escapedCommand:b,parsed:_,timedOut:wt,isCanceled:re.isCanceled||(_.options.signal?_.options.signal.aborted:!1),killed:D.killed});if(!_.options.reject)return vr;throw vr}return{command:h,escapedCommand:b,exitCode:0,stdout:tn,stderr:cn,all:Er,failed:!1,timedOut:!1,isCanceled:!1,killed:!1}},"handlePromise"));return Ext(D,_.options.input),D.all=Cxt(D,_.options),Y9e(D,Q)}t(Oxt,"execa");async function Tde(a,s){if(a.__ZUPLO_LOG_LEVEL=process.env.__ZUPLO_LOG_LEVEL??process.env.LOG_LEVEL,a.__ZUPLO_LOG_FORMAT=process.env.__ZUPLO_LOG_FORMAT??process.env.LOG_FORMAT,a.LOG_LEVEL=process.env.LOG_LEVEL??process.env.LOG_LEVEL,a.LOG_FORMAT=process.env.LOG_FORMAT??process.env.LOG_FORMAT,a.GIT_SHA=process.env.GIT_SHA??await gAr(s),process.env.__ZUPLO_CONFIG&&(a.__ZUPLO_CONFIG=process.env.__ZUPLO_CONFIG),Fxt(Sde.join(s,".env.zuplo"))){let l=Lxt(Sde.join(s,".env.zuplo"),"utf8"),_=Q9e.default.parse(l);for(let h of Object.keys(_))if(a[h]=_[h],h==="ZUPLO_SYSTEM_CONFIGURATIONS"){let b=Buffer.from(mue.decode(_[h])).toString(),D=JSON.parse(b);for(let A of Object.keys(D))a[A]=D[A]}}if(Fxt(Sde.join(s,".env"))){let l=Lxt(Sde.join(s,".env"),"utf8"),_=Q9e.default.parse(l);for(let h of Object.keys(_))a[h]=_[h]}for(let l of Object.keys(a))a[l]===void 0&&delete a[l];return a}t(Tde,"setEnvironment");async function gAr(a){let s="unknown";try{let{stdout:l}=await Oxt("git",["rev-parse","HEAD"],{cwd:a});l.trim().length===40&&(s=l.trim())}catch{}return s}t(gAr,"getGitSha");async function SAr({buildId:a,output:s,sourceDirectory:l,bundledDir:_,port:h,binaryName:b,publicZuploEnvironmentVariables:D,logger:A,handleRuntimeStdio:M}){if(_){let re=AY.join(l,_,"modules.json");if(!yAr(re))throw new Error("The bundled-dir does not contain a modules.json file.");let ie=await bAr(re,"utf-8").then(JSON.parse),Q=await uB(l);return Q.status===bA?new Promise((Re,Ie)=>{z(Q.config.compatibilityDate,AY.join(l,_),ie,Re,M)().catch(we=>{A.error(we),Ie(we)})}):(A.warn("Failed to get Zuplo config. Using default compatibility date."),new Promise((Re,Ie)=>{z(void 0,l,ie,Re,M)().catch(we=>{A.error(we),Ie(we)})}))}else{let re=new WA({buildId:a,output:s,sourceDirectory:l,command:"dev",logger:A,publicZuploEnvironmentVariables:D??{ZUPLO_ENVIRONMENT_TYPE:"LOCAL_DEVELOPMENT"},urls:void 0});try{await re.start()}catch{A.info("Ran into irrecoverable error while building. Fix the error and rerun the command."),process.exit(1)}return new Promise((ie,Q)=>{re.onReload((Re,Ie)=>{(Ie||Re&&Re.errors&&Re.errors.length>0)&&Q(Ie??Re?.errors),z(Re?.compatibilityDate,AY.join(l,"dist"),lB(l,Re?.metafile),ie,M)().catch(we=>{A.error(we),Q(we)})})})}function z(re,ie,Q,Re,Ie){return async()=>{let we={};await Tde(we,l);let wt=new Rxt.ZuploWorkerd({compatibilityDate:re,scriptDirectory:ie,modules:Q,port:h??Fm.DEV_SERVER_PORT,bindings:we,handleRuntimeStdio:Ie}),xt=b??"compiled-zup",Tr=AY.join(l,"dist");await vAr(Tr,{recursive:!0}),await wt.compileBinary({binaryPath:AY.join(l,"dist",xt)}),await wt.dispose(),Re(void 0)}}t(z,"compile")}t(SAr,"compileWorkerdServer");var Mxt=x_(P9e(),1);import xAr from"node:path";import TAr from"node:net";function NY(a,s){return new Promise(l=>{let _=new TAr.Socket;_.connect(s,a),_.on("connect",()=>{_.destroy(),l(!1)}),_.on("error",()=>{_.destroy(),l(!0)})})}t(NY,"isPortAvailable");var xde=class{static{t(this,"WorkerdServer")}sourceDirectory;port;debugPort;buildWatcher;workerd;logger;output;handleRuntimeStdio;onReload;constructor(s){if(this.sourceDirectory=s.sourceDirectory,this.port=s.port??Fm.DEV_SERVER_PORT,this.debugPort=s.debugPort,this.logger=s.logger,this.output=s.output,this.handleRuntimeStdio=s.handleRuntimeStdio,this.onReload=s.onReload,!s.zupTestMode){let l="http://localhost:3000",_=`http://localhost:${this.port}`;this.buildWatcher=new WA({...s,logger:this.logger,publicZuploEnvironmentVariables:{...s.publicZuploEnvironmentVariables,ZUPLO_ENVIRONMENT_TYPE:"LOCAL_DEVELOPMENT"},urls:{devPortal:{defaultUrl:l,urls:[l]},api:{defaultUrl:_,urls:[_]}}}),this.buildWatcher.watchEnvFiles()}}async start(){if(!await NY("localhost",this.port))throw new Error(`Port ${this.port} is currently in use. Please use a different port.`);if(this.buildWatcher)try{await this.buildWatcher.start()}catch(l){this.output.child("api").error(l.toString());let _="Ran into irrecoverable error while starting watcher. Fix the error and restart the server.";this.output.child("api").error(_),this.logger?.info(_),process.exit(1)}await this.startOrReload(),this.buildWatcher?.onReload((l,_)=>{_||l&&l.errors&&l.errors.length>0||(this.onReload(l,_),this.startOrReload(l).catch(h=>{this.output.child("api").error(h.toString()),this.logger?.error(h)}))})}async startOrReload(s){try{let l={};await Tde(l,this.sourceDirectory),await this.workerd?.dispose(),this.workerd=new Mxt.ZuploWorkerd({compatibilityDate:s?.compatibilityDate,scriptDirectory:xAr.join(this.sourceDirectory,"dist"),modules:lB(this.sourceDirectory,s?.metafile),port:this.port,inspectorPort:this.debugPort??void 0,bindings:l,handleRuntimeStdio:this.handleRuntimeStdio}),await this.workerd.serve()}catch(l){this.logger?.debug(l)}}async stop(){await this.buildWatcher?.close(),await this.workerd?.dispose()}};import{fileURLToPath as zxt}from"node:url";import{Readable as jxt}from"node:stream";import Bxt from"node:assert";import EAr from"node:child_process";import CAr from"node:fs";import Ede from"node:os";import DAr from"node:path";function Uxt(a,s){let l=import.meta.resolve(a),_=new URL(".",l),h=new URL(s,_);if(CAr.existsSync(h))return zxt(h)}t(Uxt,"getValidExecutablePath");function kAr(){let a=Ede.platform()==="win32"?"deno.exe":"deno",s=Uxt("deno/package.json",a);if(s)return s;let l=wAr(),_=Uxt(`@deno/${l}/package.json`,a);if(_)return _;throw new Error("Failed to locate the managed-dedicated server executable.")}t(kAr,"locateDenoExecutable");function wAr(){let a=Ede.platform();return a==="linux"?a+"-"+$xt()+"-glibc":a+"-"+$xt()}t(wAr,"getTarget");function $xt(){let a=Ede.arch();if(a!=="arm64"&&a!=="x64")throw new Error("Unsupported architecture "+Ede.arch()+". Only x64 and aarch64 binaries are available.");return a}t($xt,"getArch");var Cde=class{static{t(this,"ZenoServer")}serverProcess;debugPort;processExitPromise;logger;output;buildWatcher;onReload;handleRuntimeStdio;denoExecutablePath;port=9e3;constructor(s){if(this.debugPort=s.debugPort,this.logger=s.logger,this.output=s.output,this.onReload=s.onReload,this.handleRuntimeStdio=s.handleRuntimeStdio,!s.zupTestMode){let l="http://localhost:3000",_=`http://localhost:${this.port}`;this.buildWatcher=new WA({sourceDirectory:s.sourceDirectory,command:"dev",logger:s.logger,publicZuploEnvironmentVariables:{...s.publicZuploEnvironmentVariables,ZUPLO_ENVIRONMENT_TYPE:"LOCAL_DEVELOPMENT"},buildId:"dev",output:s.output,urls:{devPortal:{defaultUrl:l,urls:[l]},api:{defaultUrl:_,urls:[_]}}}),this.buildWatcher.watchEnvFiles()}this.denoExecutablePath=kAr()}getServeArgs(){let s=`${DAr.dirname(zxt(import.meta.url))}/zeno.js`,l=["run","--allow-read","--allow-net","--allow-env","--allow-write"];return this.debugPort&&l.push(`--inspect=127.0.0.1:${this.debugPort}`),l.push(s),l}async getUnavailablePorts(){let s=[];return this.debugPort&&!await NY("127.0.0.1",this.debugPort)&&s.push(this.debugPort),await NY("127.0.0.1",this.port)||s.push(this.port),s}async start(){let s=await this.getUnavailablePorts();if(s.length>0)throw new Error("The following ports are not available: "+s.join(", "));if(this.buildWatcher)try{await this.buildWatcher.start()}catch(l){this.output.child("api").error(l.toString());let _="Ran into irrecoverable error while starting watcher. Fix the error and restart the server.";this.output.child("api").error(_),this.logger?.info(_),process.exit(1)}await this.startOrReload(),this.buildWatcher?.onReload((l,_)=>{_||l&&l.errors&&l.errors.length>0||(this.onReload(l,_),this.startOrReload().catch(h=>{this.output.child("api").error(h.toString()),this.logger?.error(h)}))})}async startOrReload(){try{await this.dispose(),this.logger?.info("Starting managed-dedicated local server");let s=this.getServeArgs();this.serverProcess=EAr.spawn(this.denoExecutablePath,s,{stdio:["pipe","pipe","pipe"],env:{...process.env,FORCE_COLOR:"1"}}),Bxt(this.serverProcess.stdout instanceof jxt),Bxt(this.serverProcess.stderr instanceof jxt),this.processExitPromise=this.waitForExit(),this.handleRuntimeStdio(this.serverProcess.stdout,this.serverProcess.stderr)}catch(s){this.logger?.debug(s)}}waitForExit(){return new Promise(s=>{this.serverProcess?.once("exit",s)})}dispose(){return this.serverProcess?.kill("SIGKILL"),this.processExitPromise}async stop(){await this.dispose(),await this.buildWatcher?.close()}};async function PAr(a){let s=await uB(a),l=!1;return s.status===bA&&(l=s.config.flags?.managedDedicatedFlags?.useZeno??!1),l||process.env.ZUPLO_DEV_RUNTIME==="zeno"}t(PAr,"useZeno");async function AAr({sourceDirectory:a,port:s,debugPort:l,publicZuploEnvironmentVariables:_,logger:h,output:b,buildId:D,onReload:A,handleRuntimeStdio:M}){process.env.ZUPLO_IS_LOCAL_DEVELOPMENT="true";let z;await PAr(a)?(h.debug("Starting managed-dedicated local dev server."),z=new Cde({sourceDirectory:a,debugPort:l,logger:h,output:b,publicZuploEnvironmentVariables:_,onReload:A,handleRuntimeStdio:M})):(h.debug("Starting edge local dev server."),z=new xde({sourceDirectory:a,command:"dev",port:s,debugPort:l,publicZuploEnvironmentVariables:_,logger:h,output:b,buildId:D,onReload:A,handleRuntimeStdio:M})),await z.start();async function re(){await z.stop()}t(re,"handle"),process.on("SIGTERM",re),process.on("SIGINT",re)}t(AAr,"startDevServer");var hEt=x_(Vxt(),1),gEt=x_(dEt(),1);import{readFile as f6r}from"node:fs/promises";import MY from"node:path";var l6r=new RegExp("^((https|http)://)?[a-zA-Z0-9]{3}\\.[a-zA-Z0-9][a-zA-Z0-9]{0,61}?[a-zA-Z0-9]\\.(com|net|cn|cc)(:[0-9]{1,4})?/$"),u6r={concat(a,s){return MY.join(a,s)},resolve(a){return this.isAbsolute(a)?this.normalize(a):this.normalize(this.concat(process.cwd(),a))},normalize(a){let s=MY.normalize(a),l=MY.sep,_=[],h=0;return s.split(l).reverse().filter(D=>D!==".").forEach(D=>{D===".."?h++:h===0?_.push(D):h--}),_.reverse().join(l)},isData(a){return a.startsWith("data:")},isURL(a){return l6r.test(a)},isAbsolute(a){return MY.isAbsolute(a)},relativeToFile(a,s){if(this.isData(a)||this.isAbsolute(s))return this.normalize(s);{let l=MY.dirname(a);return this.normalize(this.concat(l,s))}}},Lde=u6r;var mEt=t(a=>{let s=t(l=>l in s.cache?s.cache[l]:s.cache[l]=a(l),"m");return s.forgetEverything=()=>{s.cache=Object.create(null)},s.cache=Object.create(null),s},"memoize");function uLe(a){let s=mEt(async D=>await l(D,await a(D)));async function l(D,A){if(A===void 0)return s(Lde.resolve(D));let M,z,re=t(async Q=>(z=z||await _(ie))(Q),"_resolve"),ie={path:D,text:A,get lines(){return M=M||A.split(`
659
659
  `)},async resolve(Q){try{return await re(Q)}catch(Re){return Object.assign({},Q,{error:Re})}},_resolve:re};return ie}t(l,"SourceFile");async function _(D){let A=/\u0023 sourceMappingURL=(.+)\n?/g,M;for(;;){let ie=A.exec(D.text);if(ie)M=ie;else break}let z=M&&M[1],re=t(async ie=>Object.assign({},ie,{sourceFile:D,sourceLine:D.lines[ie.line-1]||""}),"defaultResolver");return z?await h(D.path,z,re):re}t(_,"SourceMapResolverFromFetchedFile");async function h(D,A,M){let z=A.startsWith("data:")?await l(D,(0,hEt.dataUriToBuffer)(A).toString()):await l(Lde.relativeToFile(D,A)),re=await new gEt.SourceMapConsumer(JSON.parse(z.text)),ie=mEt(async Q=>{let Re=Lde.relativeToFile(z.path,Q),Ie=re.sourceContentFor(Q,!0)||void 0;return await l(Re,Ie)});return async Q=>{try{let Re=re.originalPositionFor(Q);return Re.source?await(await ie(Re.source))._resolve(Object.assign({},Q,{line:Re.line,column:(Re.column??0)+1,name:Re.name})):M(Q)}catch(Re){return Object.assign(M(Q),{sourceMapError:Re})}}}t(h,"SourceMapResolver");let b=t(async function(A){try{return await l(A)}catch(M){let z={path:A,text:"",lines:[],error:M,async resolve(re){return Object.assign({},re,{error:M,sourceLine:"",sourceFile:z})},_resolve(re){return this.resolve(re)}};return z}},"getSource");return b.resetCache=()=>s.forgetEverything(),b.getCache=()=>s.cache,b}t(uLe,"buildGetSourceFunction");var _6r=t(async a=>f6r(a,{encoding:"utf8"}),"fetchFile"),yEt=uLe(_6r);import p6r from"node:path";import d6r from"node:util";var vEt=t(a=>a[a.length-1],"lastOf"),jY=t(a=>a.replace(/\\/g,"/"),"nixSlashes"),m6r=t((a,s)=>{let l=a||[],_=[],h={label:void 0,items:[l[0]]};return l.forEach(b=>{let D=s(b);h.label!==D&&h.items.length?_.push(h={label:D,items:[b]}):h.items.push(b)}),_},"partition"),BY=class a{static{t(this,"StackTracey")}items;getSource;pathRoot;constructor(s,{offset:l,getSource:_}){this.getSource=_,this.pathRoot=`${jY(process.cwd())}/`;let h=s,b=s instanceof SyntaxError;if(l=l||0,s instanceof Error&&(s=s.stack||""),typeof s=="string"&&(s=this.rawParse(s).slice(l).map(D=>this.extractEntryMetadata(D))),Array.isArray(s)){if(b){let D=d6r.inspect(h).split(`
660
660
  `),A=D[0].split(":"),M=A.pop(),z=A.join(":");z&&s.unshift({file:jY(z),line:parseInt(M||"0",10),column:(D[2]||"").indexOf("^")+1,sourceLine:D[1],callee:"(syntax error)",syntaxError:!0,beforeParse:"",index:!1,native:!1,calleeShort:"",fileRelative:"",fileShort:"",fileName:"",thirdParty:!1})}this.items=s}else this.items=[]}extractEntryMetadata(s){let l=this.decomposePath(s.file||""),_=l[0],h=l[1];return Object.assign(s,{calleeShort:s.calleeShort||vEt((s.callee||"").split(".")),fileRelative:_,fileShort:this.shortenPath(_),fileName:vEt((s.file||"").split("/")),thirdParty:this.isThirdParty(_,h)&&!s.index,externalDomain:h})}shortenPath(s){return s.replace(/^node_modules\//,"").replace(/^webpack\/bootstrap\//,"").replace(/^__parcel_source_root\//,"")}decomposePath(s){let l=s,_=l.match(/^(http|https):\/\/([^\/]+)\/(.*)/),h=_?_[2]:void 0;return l=_?_[3]:l,l=p6r.relative(this.pathRoot,l),[jY(l).replace(/^.*:\/\/?\/?/,""),h]}isThirdParty(s,l){return!!l||s[0]==="~"||s[0]==="/"||s.indexOf("node_modules")===0||s.indexOf("webpack/bootstrap")===0}rawParse(s){return(s||"").split(`
661
661
  `).map(h=>{h=h.trim();let b,D=[],A,M,z;if((M=h.match(/at (.+) \(eval at .+ \((.+)\), .+\)/))||(M=h.match(/at (.+) \((.+)\)/))||h.slice(0,3)!=="at "&&(M=h.match(/(.*)@(.*)/)))b=M[1],A=M[2]==="native",D=(M[2].match(/(.*):(\d+):(\d+)/)||M[2].match(/(.*):(\d+)/)||[]).slice(1);else if(z=h.match(/^(at\s+)*(.+):(\d+):(\d+)/))D=z.slice(2);else return;return b&&!D[0]&&b.split(".")[0]==="Array"&&(A=!0),{beforeParse:h,callee:b||"",index:D[0]==="/",native:A||!1,file:jY(D[0]||""),line:parseInt(D[1]||"",10)||void 0,column:parseInt(D[2]||"",10)||void 0,calleeShort:"",fileRelative:"",fileShort:"",fileName:"",thirdParty:!1}}).filter(h=>h!==void 0)}async withSourceAsyncAt(s){return this.items[s]&&this.withSourceAsync(this.items[s])}async withSourceAsync(s){if(this.shouldSkipResolving(s))return s;{let l=(s.file||"").replace("file://","");try{let h=await(await this.getSource(l)).resolve(s);return this.withSourceResolved(s,h)}catch(_){return this.withSourceResolved(s,{error:_,sourceLine:""})}}}shouldSkipResolving(s){return!!s.sourceFile||!!s.error||!!s.file&&s.file.indexOf("<")>=0}withSourceResolved(s,l){return l.sourceFile&&!l.sourceFile.error&&(l.file=jY(l.sourceFile.path),l=this.extractEntryMetadata(l)),l.sourceLine?.includes("// @hide")&&(l.sourceLine=l.sourceLine.replace("// @hide",""),l.hide=!0),(l.sourceLine?.includes("__webpack_require__")||l.sourceLine?.includes("/******/ ({"))&&(l.thirdParty=!0),Object.assign({sourceLine:""},s,l)}async withSourcesAsync(){let s=await Promise.all(this.items.map(l=>this.withSourceAsync(l)));return new a(s,{getSource:this.getSource})}mergeRepeatedLines(){return new a(m6r(this.items,s=>s.file+s.line).map(s=>s.items.slice(1).reduce((l,_)=>(l.callee=(l.callee||"<anonymous>")+" \u2192 "+(_.callee||"<anonymous>"),l.calleeShort=(l.calleeShort||"<anonymous>")+" \u2192 "+(_.calleeShort||"<anonymous>"),l),Object.assign({},s.items[0]))),{getSource:this.getSource})}async cleanAsync(){let s=await this.withSourcesAsync();return s.mergeRepeatedLines().filter((l,_)=>s.isClean(l,_))}isClean(s,l){return l===0||!(s.thirdParty||s.hide||s.native)}at(s){return Object.assign({beforeParse:"",callee:"<???>",index:!1,native:!1,file:"<???>",line:0,column:0},this.items[s])}map(s,l){return new a(this.items.map(s,l),{getSource:this.getSource})}filter(s,l){return new a(this.items.filter(s,l),{getSource:this.getSource})}slice(s,l){return new a(this.items.slice(s,l),{getSource:this.getSource})}concat(...s){return new a(this.items.concat(...s),{getSource:this.getSource})}maxColumnWidths(){return{callee:30,file:60,sourceLine:80}}static locationsEqual(s,l){return s.file===l.file&&s.line===l.line&&s.column===l.column}};import{relative as S6r}from"node:path";import{fileURLToPath as T6r}from"node:url";import{inspect as x6r}from"node:util";function fLe({onlyFirst:a=!1}={}){let l=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(l,a?void 0:"g")}t(fLe,"ansiRegex");var h6r=fLe();function _Le(a){if(typeof a!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof a}\``);return a.replace(h6r,"")}t(_Le,"stripAnsi");function bEt(a){return a===161||a===164||a===167||a===168||a===170||a===173||a===174||a>=176&&a<=180||a>=182&&a<=186||a>=188&&a<=191||a===198||a===208||a===215||a===216||a>=222&&a<=225||a===230||a>=232&&a<=234||a===236||a===237||a===240||a===242||a===243||a>=247&&a<=250||a===252||a===254||a===257||a===273||a===275||a===283||a===294||a===295||a===299||a>=305&&a<=307||a===312||a>=319&&a<=322||a===324||a>=328&&a<=331||a===333||a===338||a===339||a===358||a===359||a===363||a===462||a===464||a===466||a===468||a===470||a===472||a===474||a===476||a===593||a===609||a===708||a===711||a>=713&&a<=715||a===717||a===720||a>=728&&a<=731||a===733||a===735||a>=768&&a<=879||a>=913&&a<=929||a>=931&&a<=937||a>=945&&a<=961||a>=963&&a<=969||a===1025||a>=1040&&a<=1103||a===1105||a===8208||a>=8211&&a<=8214||a===8216||a===8217||a===8220||a===8221||a>=8224&&a<=8226||a>=8228&&a<=8231||a===8240||a===8242||a===8243||a===8245||a===8251||a===8254||a===8308||a===8319||a>=8321&&a<=8324||a===8364||a===8451||a===8453||a===8457||a===8467||a===8470||a===8481||a===8482||a===8486||a===8491||a===8531||a===8532||a>=8539&&a<=8542||a>=8544&&a<=8555||a>=8560&&a<=8569||a===8585||a>=8592&&a<=8601||a===8632||a===8633||a===8658||a===8660||a===8679||a===8704||a===8706||a===8707||a===8711||a===8712||a===8715||a===8719||a===8721||a===8725||a===8730||a>=8733&&a<=8736||a===8739||a===8741||a>=8743&&a<=8748||a===8750||a>=8756&&a<=8759||a===8764||a===8765||a===8776||a===8780||a===8786||a===8800||a===8801||a>=8804&&a<=8807||a===8810||a===8811||a===8814||a===8815||a===8834||a===8835||a===8838||a===8839||a===8853||a===8857||a===8869||a===8895||a===8978||a>=9312&&a<=9449||a>=9451&&a<=9547||a>=9552&&a<=9587||a>=9600&&a<=9615||a>=9618&&a<=9621||a===9632||a===9633||a>=9635&&a<=9641||a===9650||a===9651||a===9654||a===9655||a===9660||a===9661||a===9664||a===9665||a>=9670&&a<=9672||a===9675||a>=9678&&a<=9681||a>=9698&&a<=9701||a===9711||a===9733||a===9734||a===9737||a===9742||a===9743||a===9756||a===9758||a===9792||a===9794||a===9824||a===9825||a>=9827&&a<=9829||a>=9831&&a<=9834||a===9836||a===9837||a===9839||a===9886||a===9887||a===9919||a>=9926&&a<=9933||a>=9935&&a<=9939||a>=9941&&a<=9953||a===9955||a===9960||a===9961||a>=9963&&a<=9969||a===9972||a>=9974&&a<=9977||a===9979||a===9980||a===9982||a===9983||a===10045||a>=10102&&a<=10111||a>=11094&&a<=11097||a>=12872&&a<=12879||a>=57344&&a<=63743||a>=65024&&a<=65039||a===65533||a>=127232&&a<=127242||a>=127248&&a<=127277||a>=127280&&a<=127337||a>=127344&&a<=127373||a===127375||a===127376||a>=127387&&a<=127404||a>=917760&&a<=917999||a>=983040&&a<=1048573||a>=1048576&&a<=1114109}t(bEt,"isAmbiguous");function SEt(a){return a===12288||a>=65281&&a<=65376||a>=65504&&a<=65510}t(SEt,"isFullWidth");function TEt(a){return a>=4352&&a<=4447||a===8986||a===8987||a===9001||a===9002||a>=9193&&a<=9196||a===9200||a===9203||a===9725||a===9726||a===9748||a===9749||a>=9800&&a<=9811||a===9855||a===9875||a===9889||a===9898||a===9899||a===9917||a===9918||a===9924||a===9925||a===9934||a===9940||a===9962||a===9970||a===9971||a===9973||a===9978||a===9981||a===9989||a===9994||a===9995||a===10024||a===10060||a===10062||a>=10067&&a<=10069||a===10071||a>=10133&&a<=10135||a===10160||a===10175||a===11035||a===11036||a===11088||a===11093||a>=11904&&a<=11929||a>=11931&&a<=12019||a>=12032&&a<=12245||a>=12272&&a<=12287||a>=12289&&a<=12350||a>=12353&&a<=12438||a>=12441&&a<=12543||a>=12549&&a<=12591||a>=12593&&a<=12686||a>=12688&&a<=12771||a>=12783&&a<=12830||a>=12832&&a<=12871||a>=12880&&a<=19903||a>=19968&&a<=42124||a>=42128&&a<=42182||a>=43360&&a<=43388||a>=44032&&a<=55203||a>=63744&&a<=64255||a>=65040&&a<=65049||a>=65072&&a<=65106||a>=65108&&a<=65126||a>=65128&&a<=65131||a>=94176&&a<=94180||a===94192||a===94193||a>=94208&&a<=100343||a>=100352&&a<=101589||a>=101632&&a<=101640||a>=110576&&a<=110579||a>=110581&&a<=110587||a===110589||a===110590||a>=110592&&a<=110882||a===110898||a>=110928&&a<=110930||a===110933||a>=110948&&a<=110951||a>=110960&&a<=111355||a===126980||a===127183||a===127374||a>=127377&&a<=127386||a>=127488&&a<=127490||a>=127504&&a<=127547||a>=127552&&a<=127560||a===127568||a===127569||a>=127584&&a<=127589||a>=127744&&a<=127776||a>=127789&&a<=127797||a>=127799&&a<=127868||a>=127870&&a<=127891||a>=127904&&a<=127946||a>=127951&&a<=127955||a>=127968&&a<=127984||a===127988||a>=127992&&a<=128062||a===128064||a>=128066&&a<=128252||a>=128255&&a<=128317||a>=128331&&a<=128334||a>=128336&&a<=128359||a===128378||a===128405||a===128406||a===128420||a>=128507&&a<=128591||a>=128640&&a<=128709||a===128716||a>=128720&&a<=128722||a>=128725&&a<=128727||a>=128732&&a<=128735||a===128747||a===128748||a>=128756&&a<=128764||a>=128992&&a<=129003||a===129008||a>=129292&&a<=129338||a>=129340&&a<=129349||a>=129351&&a<=129535||a>=129648&&a<=129660||a>=129664&&a<=129672||a>=129680&&a<=129725||a>=129727&&a<=129733||a>=129742&&a<=129755||a>=129760&&a<=129768||a>=129776&&a<=129784||a>=131072&&a<=196605||a>=196608&&a<=262141}t(TEt,"isWide");function g6r(a){if(!Number.isSafeInteger(a))throw new TypeError(`Expected a code point, got \`${typeof a}\`.`)}t(g6r,"validate");function xEt(a,{ambiguousAsWide:s=!1}={}){return g6r(a),SEt(a)||TEt(a)||s&&bEt(a)?2:1}t(xEt,"eastAsianWidth");var DEt=x_(CEt(),1);var y6r=new Intl.Segmenter,v6r=/^\p{Default_Ignorable_Code_Point}$/u;function Rde(a,s={}){if(typeof a!="string"||a.length===0)return 0;let{ambiguousIsNarrow:l=!0,countAnsiEscapeCodes:_=!1}=s;if(_||(a=_Le(a)),a.length===0)return 0;let h=0,b={ambiguousAsWide:!l};for(let{segment:D}of y6r.segment(a)){let A=D.codePointAt(0);if(!(A<=31||A>=127&&A<=159)&&!(A>=8203&&A<=8207||A===65279)&&!(A>=768&&A<=879||A>=6832&&A<=6911||A>=7616&&A<=7679||A>=8400&&A<=8447||A>=65056&&A<=65071)&&!(A>=55296&&A<=57343)&&!(A>=65024&&A<=65039)&&!v6r.test(D)){if((0,DEt.default)().test(D)){h+=2;continue}h+=xEt(A,b)}}return h}t(Rde,"stringWidth");var mLe=x_(wEt(),1);var{platform:PEt,cwd:b6r}=process,{red:nU,yellow:AEt,green:jde,cyan:UY,dim:pLe}=Jf,NEt=process.stdout.columns,E6r=PEt==="win32"&&!process.env.WT_SESSION?">":"\u276F",C6r=(PEt==="win32"&&!process.env.WT_SESSION,"\u2043"),D6r=b6r();function IEt(a){return a=a.replace("async file:","file:"),S6r(D6r,a.startsWith("file:")?T6r(a):a)}t(IEt,"getRelativePath");function k6r(a){return a.find(s=>s.isApp)||null}t(k6r,"mainFrame");function w6r(a,s){return a.filter(l=>(l.isApp||l.isModule)&&(!s||l.file!==s.file||l.line!==s.line))}t(w6r,"filterNativeFrames");function OEt(a){return a.callee||"anonymous"}t(OEt,"frameMethod");function FEt(a,s){let l="",_=a.length-s.length;for(let h=0;h<=_;h++)l+=" ";return l}t(FEt,"whiteSpace");function dLe(a,s,l,_,h){let b=FEt(String(l),String(s));return _?`${h}${nU(E6r)}${b}${nU(s)}${nU("|")}${b} ${nU(a)}`:`${h} ${b}${pLe(s)}${pLe("|")}${b} ${pLe(a)}`}t(dLe,"codeLine");function P6r(a,s,l){let _,h=(0,mLe.default)(Rde(s)+2,NEt);return l?_=`${s} ${nU(h(`${a.message}`).trim())}`:_=`${s} ${nU(h(`${a.name}: ${a.message}`).trim())}`,[_,s]}t(P6r,"getMessage");function A6r(a,s){let l=a.help;if(!l)return[];let _=(0,mLe.default)(Rde(s)+4,NEt);return Array.isArray(l)?l.map(h=>`${s} ${UY(_(`- ${h}`).trim())}`).concat([s]):[`${s} ${UY(l)}`,s]}t(A6r,"getHelpText");function N6r(a,s,l){if(!a)return[];let _=l?IEt(a.filePath):a.filePath;return[`${s} at ${AEt(`${OEt(a)}`)} ${jde(_)}:${jde(a.line)}`]}t(N6r,"getMainFrameLocation");function I6r(a,s){if(!a||!a.context||!a.context.line)return[];let l=a.context.start-1,_=a.context.pre.split(`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zuplo/core",
3
- "version": "6.54.13",
3
+ "version": "6.54.14",
4
4
  "repository": "https://github.com/zuplo/zuplo",
5
5
  "author": "Zuplo, Inc.",
6
6
  "type": "module",
@@ -41,9 +41,9 @@
41
41
  "prettier": "^3.5.3"
42
42
  },
43
43
  "peerDependencies": {
44
- "@zuplo/graphql": "6.54.13",
45
- "@zuplo/otel": "6.54.13",
46
- "@zuplo/runtime": "6.54.13",
44
+ "@zuplo/graphql": "6.54.14",
45
+ "@zuplo/otel": "6.54.14",
46
+ "@zuplo/runtime": "6.54.14",
47
47
  "deno": "2.3.1"
48
48
  }
49
49
  }