@zuplo/core 6.1.8 → 6.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.minified.js CHANGED
@@ -738,7 +738,7 @@ globstar while`,a,z,u,ve,Be),this.matchOne(a.slice(z),u.slice(ve),p))return this
738
738
  `)}t(kSr,"getJsonEntry");function dfe(s,a,u,p,g,b){let k=[];for(let A in u){let M=u[A];if(A==="$ref")return QW(s,a,RN(s,M),p,g,b),`$REF:${Hyt(a,b.get(RN(s,M)))}`;switch(typeof M){case"string":{k.push(`"${A}": ${JSON.stringify(M)},`);break}case"number":case"boolean":{k.push(`"${A}":${M},`);break}default:if(Array.isArray(M))k.push(`"${A}":[`),M.forEach(U=>{if(typeof U=="object"){let ne=dfe(s,a,U,p,g,b);if(ne.startsWith("$REF")){let Z=ne.split(":")[1];k.push(`${Z},`)}else k.push("{"),k.push(ne),k.push("},")}else k.push(`${JSON.stringify(U)},`)}),k.push("],");else{let U=dfe(s,a,M,p,g,b);if(U.startsWith("$REF")){let ne=U.split(":")[1];k.push(`${A}: ${ne},`)}else k.push(`"${A}":{`),k.push(U),k.push("},")}}}return k.join(`
739
739
  `)}t(dfe,"processNode");function Hyt(s,a){return DP(s)+`_refsData_${a}`}t(Hyt,"getRefIdentifierName");import wSr from"fs/promises";import V7e from"path";var mfe="runtime-config",Gyt="runtime-config-plugin";function Kyt(){return{name:mfe,setup(s){s.onResolve({filter:/^\.\.\/modules\/zuplo.runtime.ts$/},a=>({namespace:Gyt,path:V7e.isAbsolute(a.path)?a.path:V7e.join(a.resolveDir,a.path),pluginName:mfe})),s.onLoad({filter:/.*/,namespace:Gyt},async a=>Fu.timeFn("Generating zuplo.runtime.ts data",async()=>{let u="export const runtimeInit = undefined;",p=[];return await pc.fileExists(a.path)?(u=await wSr.readFile(a.path,"utf-8"),{contents:u,loader:"ts",resolveDir:V7e.dirname(a.path),errors:p,pluginName:mfe,watchFiles:[a.path]}):{contents:u,loader:"ts",errors:p,pluginName:mfe}}))}}}t(Kyt,"runtimeConfigPlugin");var Xyt=Ip(d3e(),1),Qyt=Ip(m3e(),1);import hfe from"fs/promises";import SI from"path";import DSr from"prettier";var W7e="schema-validation-plugin",Yyt="schema-validation",PSr="module.exports = {}";function Zyt(s){return{name:"schema-validation-plugin",setup(a){a.onResolve({filter:/ajv-schema.json$/},u=>({namespace:Yyt,path:u.path,pluginName:W7e})),a.onLoad({filter:/.*/,namespace:Yyt},async u=>{let p=SI.resolve(s.sourceDirectory,Yp,"policies.json");if(!s.isOpenApiBased||!await pc.fileExists(p))return{contents:PSr,loader:"js",resolveDir:SI.dirname(u.path),pluginName:W7e};let g=await NSr(s.sourceDirectory),b=SI.resolve(s.sourceDirectory,Yp),k=await g8(b),A=await LSr(k,g),M=await ASr({oasFiles:k,routesWithSchemaValidation:A,sourceDirectory:s.sourceDirectory,logger:s.logger});if(Lm.DEBUG_BUILD_MODE&&M){let U=SI.join(s.sourceDirectory,m8),ne=SI.resolve(U,"schema-validation.js");await pc.mkdirForFilePathIfNotExits(ne);let Z=await DSr.format(M,{parser:"babel"});await hfe.writeFile(ne,Z,"utf-8")}return{contents:M,loader:"js",resolveDir:SI.dirname(u.path),pluginName:W7e}})}}}t(Zyt,"schemaValidationPlugin");async function ASr({oasFiles:s,routesWithSchemaValidation:a,sourceDirectory:u,logger:p}){let g="",b=new VN(u,p);if(a.length===0)return g;let k=new Xyt.Ajv2020({code:{source:!0},allErrors:!0,strict:!1,verbose:!0,meta:!0});for(let A of s){let M=await hfe.readFile(A,"utf-8"),U=SI.basename(A,".oas.json"),ne=a.filter(Ee=>Ee.fileName===U),Z=await b.resolve(A),z=JSON.parse(M),ve=[],Be=new Map;ne.forEach(Ee=>{let Le=z.paths[Ee.path][Ee.method];if(Le.requestBody){let xt;if(Le.requestBody.$ref){let Bt=Le.requestBody.$ref;xt=Z.get(Bt)?.content}else Le.requestBody.content&&(xt=Le.requestBody.content);if(xt)for(let Bt in xt){let _r=xt[Bt].schema,Sr=y3e(Ee.path,Ee.method,Bt);_r.$id=Sr,k.addSchema(_r),H7e(_r,A,U,k,Z,ve,Be)}}if(Le.parameters)for(let xt of Le.parameters){let Bt=xt.$ref?Z.get(xt.$ref):xt,_r=Bt.schema.$ref?Z.get(Bt.schema.$ref):Bt.schema,Sr=g3e(Ee.path,Ee.method,Bt.in,Bt.name);_r.$id=Sr,k.addSchema(_r),H7e(Bt,A,U,k,Z,ve,Be)}});for(let Ee of ve){let Le=Z.get(Ee),xt=eG(U,Ee);k.addSchema(Le,xt)}}return g=(0,Qyt.default)(k),g}t(ASr,"schemaValidationSource");function H7e(s,a,u,p,g,b,k){for(let A in s){let M=s[A];if(A==="$ref"){let U=eG(u,RN(a,M));s[A]=U,QW(a,u,RN(a,M),g,b,k,(ne,Z)=>eG(ne,RN(a,Z)))}else typeof M=="object"&&H7e(M,a,u,p,g,b,k)}}t(H7e,"addRefsToSchema");async function NSr(s){let a=new Set(["RequestValidationInboundPolicy"]),u=await hfe.readFile(`${s}/config/policies.json`,"utf-8"),p=JSON.parse(u);return ISr(p,a)}t(NSr,"getPolicyNamesUsingSchemaValidationPolicies");function ISr(s,a){let u=new Set;s.policies?.forEach(g=>{g.handler?.export&&a.has(g.handler.export)&&g.handler.module==="$import(@zuplo/runtime)"&&u.add(g.name)});let p=OSr(s,u);return new Set([...u,...p])}t(ISr,"getPolicyNamesReferencingPolicyHandlers");function OSr(s,a){let u=new Set;return s.policies?.forEach(p=>{p.handler?.export==="CompositeInboundPolicy"&&p.handler?.options?.policies?.forEach(g=>{a.has(g)&&u.add(p.name)})}),u}t(OSr,"getCompositePoliciesContainingPolicy");function FSr(s,a){if(!s["x-zuplo-route"]||!s["x-zuplo-route"].policies)return!1;let u=s["x-zuplo-route"].policies.inbound;if(u){for(let g of u)if(a.has(g))return!0}let p=s["x-zuplo-route"].policies.outbound;if(p){for(let g of p)if(a.has(g))return!0}return!1}t(FSr,"isPolicyPresentInOperation");async function LSr(s,a){let u=[];for(let p of s){let g=await hfe.readFile(p,"utf-8"),k=JSON.parse(g).paths;for(let A in k){let M=k[A];for(let U in M){let ne=M[U];FSr(ne,a)&&u.push({fileName:SI.basename(p,".oas.json"),path:A,method:U})}}}return u}t(LSr,"getRoutesContainingPolicies");var RSr=iut("zuplo:core:build"),MSr=["workerd","worker","browser"],r1t=[...process.env.GLOBAL_MODULE_LOCATION?[process.env.GLOBAL_MODULE_LOCATION]:[],gfe.resolve(e1t(t1t(import.meta.url)),"..","..","..","node_modules"),gfe.resolve(e1t(t1t(import.meta.url)),"..","..","..","..","..","node_modules")];async function mK({systemDirectory:s,outputDirectory:a,sourceDirectory:u,logger:p,flags:g,minify:b=!0,command:k}){let A=gfe.join(s,Zoe);RSr(`Building with node paths: ${r1t.join(", ")}`);let M=b&&k!=="dev"&&!process.env.DEBUG_BUILD_DISABLE_MINIFY?{minify:!0}:{minify:!1,keepNames:!0,metafile:!0},U={platform:"browser",target:"es2022",outfile:gfe.join(a,"worker.js")};return{format:g?.esmWorker===!0?"esm":"iife",banner:{js:`'use strict';
740
740
  `},nodePaths:r1t,entryPoints:[A],...U,sourcemap:"linked",legalComments:"linked",treeShaking:!0,bundle:!0,...M,external:[],logLevel:"silent",conditions:MSr,plugins:[_ut({sourceDirectory:u}),sut({logger:p}),qyt({sourceDirectory:u,outputDirectory:a}),Wyt({sourceDirectory:u,logger:p}),Zyt({sourceDirectory:u,logger:p,isOpenApiBased:!0}),Kyt(),cut({sourceDirectory:u}),Apt({sourceDirectory:u,outputDirectory:a}),Ipt({nodeCompatEnabled:g?.esmWorker===!0,sourceDirectory:u})]}}t(mK,"getBaseESBuildConfig");var i1t=t(function(s){return t(async function({systemDirectory:u,outputDirectory:p,sourceDirectory:g,generateSourceMaps:b,buildId:k,logger:A,config:M,command:U,minify:ne}){return Fu.timeFn("Running esbuild",async()=>{A.info(`Running build_id: ${k}`);let Z=await mK({command:U,minify:ne,systemDirectory:u,outputDirectory:p,generateSourceMaps:b,sourceDirectory:g,logger:A,flags:M.flags}),z,ve=new Date;try{if(!await q9(g))throw new Error("Failed to build project because no open-api file was found on the 'config' folder");z=await n1t.build(Z)}catch(Ee){if(A.error(Ee),Ee.errors||Ee.warnings)z=Ee;else if(Ee.message.includes("Failed to build project because no open-api file was found on the 'config' folder"))z={warnings:[],errors:[{id:"missing-open-api-file",text:"Failed to build project because no open-api file was found on the 'config' folder",pluginName:JP,location:null,notes:[],detail:"Failed to build project because no open-api file was found on the 'config' folder"}],outputFiles:void 0,metafile:void 0,mangleCache:void 0};else throw Ee}let Be=new Date;if(s(new KN(z,{endBuildTime:Be,startBuildTime:ve,buildId:k??""})),z.errors.length>0){z.errors.length>1&&(z.errors.length=1);let Ee=z.errors[0];A.debug(Ee)}return{warnings:[...z.warnings.map(Ee=>({message:Ee.text,pluginName:JP,severity:zW}))],errors:[...z.errors.map(Ee=>({message:Ee.text,pluginName:JP,severity:qW}))]}})},"runEsbuild")},"getRunEsBuildPlugin");import{dirname as USr}from"path";import{fileURLToPath as $Sr}from"url";var yfe;try{let s=BSr(hK.resolve(USr($Sr(import.meta.url)),"../../package.json"),"utf-8");yfe=JSON.parse(s).version}catch{yfe="0.0.0"}async function G7e({sourceDirectory:s,deploymentName:a=hK.basename(s),command:u,minify:p,entitlements:g,environmentType:b,generateSourceMaps:k=!1,logger:A,noCompile:M=!1,postBuildTasks:U,projectId:ne,customDomain:Z,publicZuploEnvironmentVariables:z={}}){let ve=jSr(),Be=A.child({buildId:ve});return Fu.timeFn(`Run build with build_id: ${ve}`,async()=>{let Ee=await Qst(s),Le=hK.join(s,m8),xt;if("errors"in Ee)xt={status:"Failed",flags:void 0,compatibilityDate:void 0,runtimeVersion:yfe,outputPath:Le,buildTaskResult:{buildTime:"",buildTimeMs:0,status:Wv,buildId:ve,warnings:[],errors:Ee.errors}};else{let _r={command:u,minify:p,generateSourceMaps:k,deploymentName:a,sourceDirectory:s,outputDirectory:Le,systemDirectory:hK.join(s,NN),buildId:ve,logger:Be,config:Ee.config,publicZuploEnvironmentVariables:z,projectId:ne,entitlements:g,environmentType:b,customDomain:Z},Sr=[];Sr.push(Qct),Sr.push(Zct),Sr.push(elt),Sr.push(rlt),Sr.push(Qlt),Sr.push(alt),Sr.push(clt),Sr.push(nlt);let Yt,xn=t(In=>{Yt=In},"compileCallback");M||Sr.push(i1t(xn)),Sr.push(Zlt),Sr.push(Xct),U&&Sr.push(...U);let mr=await ece(Sr,_r),Zt=mr.errors.length>0?Wv:mr.warnings.length>0?B9:p8,Ar=Zt==="Failed"||Yt===void 0||Yt.status==="Failed"?"Failed":Zt==="Warnings"||Yt.status==="Warnings"?"Warnings":"Good";xt={metadata:{devPortalEnabled:mr.data.has(dH)?mr.data.get(dH):!0},status:Ar,compatibilityDate:Ee.config.compatibilityDate,runtimeVersion:yfe,outputPath:Le,compilerResult:Yt,buildTaskResult:{buildTime:"",buildTimeMs:0,status:Zt,buildId:ve,warnings:mr.warnings,errors:mr.errors},flags:Ee.config.flags}}if(xt.buildTaskResult.warnings.length>0){xt.buildTaskResult.warnings.forEach(Sr=>{Be.warn(Sr)});let _r=xt.buildTaskResult.warnings.filter(Sr=>Sr.pluginName!=="runEsbuild"&&Sr.pluginName!==JP);_r.length>0&&(xt.buildTaskResult.warnings=_r),xt.buildTaskResult.status=B9}if(xt.buildTaskResult.errors.length>0){xt.buildTaskResult.errors.forEach(Sr=>{Be.error(Sr)});let _r=xt.buildTaskResult.errors.filter(Sr=>Sr.pluginName!=="runEsbuild"&&Sr.pluginName!==JP);_r.length>0&&(xt.buildTaskResult.errors=_r),xt.buildTaskResult.status=Wv}if(Be.debug(`Build ${xt.compilerResult?.buildId??ve} completed ${M?"on watch mode":"with compiler status "+xt.compilerResult?.status} and build task status ${xt.buildTaskResult.status}`),xt.compilerResult){let{metafile:_r,...Sr}=xt.compilerResult;Be.debug(`Compiler results for build ${xt.compilerResult?.buildId??ve}`,Sr)}Be.debug(`Build task results for build ${xt.buildTaskResult?.buildId??ve}`,xt.buildTaskResult);let Bt=hK.basename(s);return dK(xt,Bt,Be)})}t(G7e,"build");import JSr from"chokidar";import*as a1t from"esbuild";import{randomUUID as s1t}from"crypto";import qSr from"events";import gK from"path";var K7e=class extends qSr{static{t(this,"WatchEmitter")}},s7=class{static{t(this,"BuildWatcher")}esbuildContext;emitter=new K7e;envFilesWatcher;outputDirectory;sourceDirectory;command;generateSourceMaps;logger;publicZuploEnvironmentVariables;projectName;constructor({sourceDirectory:a,command:u,generateSourceMaps:p,logger:g,publicZuploEnvironmentVariables:b={}}){this.sourceDirectory=a,this.command=u,this.outputDirectory=gK.join(a,m8),this.generateSourceMaps=p??!1,this.logger=g,this.publicZuploEnvironmentVariables=b,this.projectName=gK.basename(a),this.envFilesWatcher=JSr.watch([gK.join(a,".env"),gK.join(a,".env.zuplo")])}watchEnvFiles(){this.envFilesWatcher.on("change",async()=>{this.emitter.emit("reload",null,null)}),this.envFilesWatcher.on("add",async()=>{this.emitter.emit("reload",null,null)}),this.envFilesWatcher.on("unlink",async()=>{this.emitter.emit("reload",null,null)})}onReload=t(a=>{this.emitter.on("reload",a)},"onReload");async start(){let{sourceDirectory:a}=this;if(this.esbuildContext!==void 0)throw new Error("Watcher cannot be started more than once");let u=await G7e({sourceDirectory:a,noCompile:!0,command:this.command,generateSourceMaps:this.generateSourceMaps,publicZuploEnvironmentVariables:this.publicZuploEnvironmentVariables,logger:this.logger}),p=await mK({command:this.command,systemDirectory:gK.join(a,NN),outputDirectory:this.outputDirectory,sourceDirectory:a,generateSourceMaps:this.generateSourceMaps,logger:this.logger,flags:u.flags}),g=this;p.plugins?.push({name:"on-end",setup(b){b.onEnd(k=>{g.logger.debug("Watcher (build) reloaded");let A;if(k)if(A=new KN(k),A.errors.length>0){let M={status:"Failed",runtimeVersion:"0.0.0",buildTaskResult:{buildTime:"",buildTimeMs:0,status:Wv,buildId:s1t(),warnings:[],errors:[]}};M.compilerResult=A,dK(M,g.projectName,g.logger),g.logger.error(M.compilerResult.errors,"Build errors")}else g.logger.debug(`Successfully rebuilt watched project. Build id ${A.buildId}`);g.emitter.emit("reload",u,null,A)})}}),this.esbuildContext=await a1t.context(p);try{let b=await this.esbuildContext.rebuild();if(b.errors.length>0){let k={status:"Failed",runtimeVersion:"0.0.0",buildTaskResult:{buildTime:"",buildTimeMs:0,status:Wv,buildId:s1t(),warnings:[],errors:[]}};k.compilerResult=new KN(b),dK(k,this.projectName,this.logger),this.logger.error(k.compilerResult.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(a){this.logger.error(a)}}};var yK;(function(s){s[s.CONTINUE=100]="CONTINUE",s[s.SWITCHING_PROTOCOLS=101]="SWITCHING_PROTOCOLS",s[s.PROCESSING=102]="PROCESSING",s[s.OK=200]="OK",s[s.CREATED=201]="CREATED",s[s.ACCEPTED=202]="ACCEPTED",s[s.NON_AUTHORITATIVE_INFORMATION=203]="NON_AUTHORITATIVE_INFORMATION",s[s.NO_CONTENT=204]="NO_CONTENT",s[s.RESET_CONTENT=205]="RESET_CONTENT",s[s.PARTIAL_CONTENT=206]="PARTIAL_CONTENT",s[s.MULTI_STATUS=207]="MULTI_STATUS",s[s.ALREADY_REPORTED=208]="ALREADY_REPORTED",s[s.IM_USED=226]="IM_USED",s[s.MULTIPLE_CHOICES=300]="MULTIPLE_CHOICES",s[s.MOVED_PERMANENTLY=301]="MOVED_PERMANENTLY",s[s.FOUND=302]="FOUND",s[s.SEE_OTHER=303]="SEE_OTHER",s[s.NOT_MODIFIED=304]="NOT_MODIFIED",s[s.USE_PROXY=305]="USE_PROXY",s[s.SWITCH_PROXY=306]="SWITCH_PROXY",s[s.TEMPORARY_REDIRECT=307]="TEMPORARY_REDIRECT",s[s.PERMANENT_REDIRECT=308]="PERMANENT_REDIRECT",s[s.BAD_REQUEST=400]="BAD_REQUEST",s[s.UNAUTHORIZED=401]="UNAUTHORIZED",s[s.PAYMENT_REQUIRED=402]="PAYMENT_REQUIRED",s[s.FORBIDDEN=403]="FORBIDDEN",s[s.NOT_FOUND=404]="NOT_FOUND",s[s.METHOD_NOT_ALLOWED=405]="METHOD_NOT_ALLOWED",s[s.NOT_ACCEPTABLE=406]="NOT_ACCEPTABLE",s[s.PROXY_AUTHENTICATION_REQUIRED=407]="PROXY_AUTHENTICATION_REQUIRED",s[s.REQUEST_TIMEOUT=408]="REQUEST_TIMEOUT",s[s.CONFLICT=409]="CONFLICT",s[s.GONE=410]="GONE",s[s.LENGTH_REQUIRED=411]="LENGTH_REQUIRED",s[s.PRECONDITION_FAILED=412]="PRECONDITION_FAILED",s[s.PAYLOAD_TOO_LARGE=413]="PAYLOAD_TOO_LARGE",s[s.URI_TOO_LONG=414]="URI_TOO_LONG",s[s.UNSUPPORTED_MEDIA_TYPE=415]="UNSUPPORTED_MEDIA_TYPE",s[s.RANGE_NOT_SATISFIABLE=416]="RANGE_NOT_SATISFIABLE",s[s.EXPECTATION_FAILED=417]="EXPECTATION_FAILED",s[s.I_AM_A_TEAPOT=418]="I_AM_A_TEAPOT",s[s.MISDIRECTED_REQUEST=421]="MISDIRECTED_REQUEST",s[s.UNPROCESSABLE_ENTITY=422]="UNPROCESSABLE_ENTITY",s[s.LOCKED=423]="LOCKED",s[s.FAILED_DEPENDENCY=424]="FAILED_DEPENDENCY",s[s.UPGRADE_REQUIRED=426]="UPGRADE_REQUIRED",s[s.PRECONDITION_REQUIRED=428]="PRECONDITION_REQUIRED",s[s.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",s[s.REQUEST_HEADER_FIELDS_TOO_LARGE=431]="REQUEST_HEADER_FIELDS_TOO_LARGE",s[s.UNAVAILABLE_FOR_LEGAL_REASONS=451]="UNAVAILABLE_FOR_LEGAL_REASONS",s[s.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",s[s.NOT_IMPLEMENTED=501]="NOT_IMPLEMENTED",s[s.BAD_GATEWAY=502]="BAD_GATEWAY",s[s.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",s[s.GATEWAY_TIMEOUT=504]="GATEWAY_TIMEOUT",s[s.HTTP_VERSION_NOT_SUPPORTED=505]="HTTP_VERSION_NOT_SUPPORTED",s[s.VARIANT_ALSO_NEGOTIATES=506]="VARIANT_ALSO_NEGOTIATES",s[s.INSUFFICIENT_STORAGE=507]="INSUFFICIENT_STORAGE",s[s.LOOP_DETECTED=508]="LOOP_DETECTED",s[s.NOT_EXTENDED=510]="NOT_EXTENDED",s[s.NETWORK_AUTHENTICATION_REQUIRED=511]="NETWORK_AUTHENTICATION_REQUIRED"})(yK||(yK={}));var vfe=class extends Error{static{t(this,"ApiError")}type;status;detail;instance;constructor(a){if(super(a.title),!a.type.startsWith("https://zup.fail/"))throw new Error(`Invalid 'type' specified on ApiError, must be a URI starting with 'https://zup.fail/'. Type was set to ${a.type}`);this.name="ApiProblemError",this.type=a.type,this.status=a.status,this.detail=a.detail,this.instance=a.instance}};import{rm as v2r}from"fs/promises";import b2r from"path";var f1t=Ip(u1t(),1);var GSr=/[/?<>\\:*|"]/g,KSr=/[\x00-\x1f\x80-\x9f]/g,YSr=/^\.+$/,XSr=/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i,QSr=/[. ]+$/;function bfe(s,a=""){if(typeof s!="string")throw new Error("Input must be string");let u=s.replace(GSr,a).replace(KSr,a).replace(YSr,a).replace(XSr,a).replace(QSr,a);return(0,f1t.default)(u,255)}t(bfe,"sanitize");import _1t from"fs/promises";import ZSr from"path";var p1t=t(async function({sourceDirectory:s,logger:a}){a.debug("Creating project directories");let u=[Qoe,Yp,Bst,PN,AN,".vscode"];try{await _1t.mkdir(s);for(let p of u)await _1t.mkdir(ZSr.join(s,p),{recursive:!0})}catch(p){return a.error(p),new Xp({message:`Cannot create project directory tree at ${s}`,pluginName:"create-project-dirs",severity:"error"})}return new Xp},"createProjectDirs");import i2r from"path";import t2r from"fs/promises";import r2r from"path";import{existsSync as e2r}from"fs";import d1t from"fs/promises";import m1t from"path";import{dirname as h1t}from"path";import{fileURLToPath as g1t}from"url";async function y1t(s){let a=m1t.resolve(h1t(g1t(import.meta.url)),"..","templates",s);if(e2r(a))return await d1t.readFile(a,"utf-8");{let u=m1t.resolve(h1t(g1t(import.meta.url)),"templates",s);return await d1t.readFile(u,"utf-8")}}t(y1t,"generateFromTemplate");var up=t(function(s,a){return async({sourceDirectory:u,logger:p})=>Fu.timeFn(`Generating ${s}`,async()=>{p.debug(`Generating ${s}`);let g=r2r.join(u,s);return await pc.fileExists(g)?(p.debug({sourceDirectory:u},`${s} already exists, skipping`),{warnings:[],errors:[]}):n2r(g,a,p)})},"generateFileFromTemplate");async function n2r(s,a,u){let p=await y1t(a);try{await t2r.writeFile(s,p,"utf-8"),u.debug(`File written to ${s}`)}catch(g){u.error(g);let b={message:`Error creating file at ${s}`,pluginName:"generate-file",severity:"error"};return{warnings:[],errors:[b]}}return{warnings:[],errors:[]}}t(n2r,"writeTemplate");var v1t=up(i2r.join(AN,Vst),"markdown.template.md");import s2r from"path";var b1t=up(s2r.join(AN,qst),"sidebar.template.json");import a2r from"path";var S1t=up(a2r.join(AN,zst),"dev-portal.theme.template.css");import o2r from"path";var T1t=up(o2r.join(Qoe,Jst),"hello-world.template.ts");import c2r from"path";var x1t=up(c2r.join(Yp,d8),"dev-portal.template.json");var E1t=up(".env","env.template");var C1t=up(".eslintrc.js","eslintrc.template.js");var k1t=up(".gitignore","gitignore.template.ignore");import l2r from"path";var w1t=up(l2r.join(".vscode","launch.json"),"launch.template.jsonc");import u2r from"path";var D1t=up(u2r.join(Yp,$st),"routes.oas.template.json");import f2r from"fs/promises";import P1t from"path";import{dirname as _2r}from"path";import{fileURLToPath as p2r}from"url";async function A1t(s,a=Lm.USE_MONOREPO_PACKAGES){let u={name:s,version:"1.0.0",author:"",copyright:"",scripts:{dev:"zup dev",test:"zup test"},dependencies:{zuplo:"latest"}};if(a){let p=d2r();u.overrides=p,u.dependencies["@zuplo/runtime"]=p["@zuplo/runtime"],u.devDependencies&&"@zuplo/core"in u.devDependencies&&(u.devDependencies["@zuplo/core"]=p["@zuplo/core"]),"@zuplo/core"in u.dependencies&&(u.dependencies["@zuplo/core"]=p["@zuplo/core"])}return u}t(A1t,"generateDefaultPackageJson");function d2r(){let s=P1t.resolve(_2r(p2r(import.meta.url)),"..","..");return{"@zuplo/core":`file:${s}/core`,"@zuplo/runtime":`file:${s}/runtime`,"@zuplo/debug":`file:${s}/debug`,"@zuplo/errors":`file:${s}/errors`}}t(d2r,"getPackageOverrides");async function N1t(s,a){let u=P1t.join(s,"package.json"),p=JSON.stringify(a,void 0,2);await f2r.writeFile(u,p,"utf-8")}t(N1t,"updateProjectPackageJson");var I1t=t(async function({sourceDirectory:s,name:a,logger:u}){let p=await A1t(a);try{await N1t(s,p)}catch(g){return u.error(g),new Xp({message:"Error creating package.json",pluginName:"generate-package-json",severity:"error"})}return new Xp},"generatePackageJson");import m2r from"path";var O1t=up(m2r.join(Yp,J9),"policies.template.json");import h2r from"path";var F1t=up(h2r.join(".vscode","settings.json"),"settings.template.jsonc");var L1t=up("tsconfig.json","tsconfig.template.json");import{writeFile as g2r}from"fs/promises";import y2r from"path";var R1t=t(async function({name:s,sourceDirectory:a,logger:u}){let p={version:1,project:s,compatibilityDate:n6e},g=y2r.join(a,VW),b=JSON.stringify(p,null,2);try{await g2r(g,b,"utf-8")}catch(k){return u.error(k),new Xp({message:"Error creating zuplo.jsonc",pluginName:"generate-zuplo-json",severity:"error"})}return new Xp},"generateZuploJson");async function S2r({name:s,accountName:a="",rootDirectory:u,logger:p}){let g=bfe(s),b=bfe(a),k=b2r.join(u,b,g),A={name:s,sourceDirectory:k,logger:p},M=[];if(await pc.dirExists(k))throw new vfe({type:"https://zup.fail/project-already-exists-at-directory",title:"The project already exists in the specified directory",status:yK.BAD_REQUEST,detail:`Project already exists at ${k}`});M.push(p1t,D1t,R1t,x1t,T1t,b1t,v1t,S1t,O1t),M.push(L1t,k1t,I1t,E1t,C1t,w1t,F1t);let{errors:U,warnings:ne}=await ece(M,A);if(ne.length>0&&ne.forEach(z=>{p.warn(z)}),U.length>0){await v2r(k,{recursive:!0,force:!0});let z=U[0];throw z instanceof Error?z:new Error(z.message)}return{sourceDirectory:k,projectName:s}}t(S2r,"create");var bK=Ip(Fbt(),1),Mbt=Ip(Lbt(),1);function Rbt(s){let a=s.raw.url??"",u={};try{let p=s.headers["zuplo-user"]??s.user?.sub;p&&(u.userSub=`${p}`);let g=a.match(/(deployments)\/([a-zA-Z-0-9]*)/);g&&g!==null&&g.length>=2&&(u.deployment=g[2]);let b=a.match(/(accounts)\/([a-zA-Z-0-9]*)/);b&&b!==null&&b.length>=2&&(u.account=b[2]);let k=a.match(/(projects)\/([a-zA-Z-0-9]*)/);k&&k!==null&&k.length>=2&&(u.project=k[2])}catch{}return u}t(Rbt,"getLoggerContext");var jFe="logging.googleapis.com/trace",tkr="logging.googleapis.com/labels",jbt="zuplo-production",AHr=u7();function rkr(s){return JSON.stringify(s).replace(/^{/,"").replace(/}$/,"")}t(rkr,"flatJSONString");function nkr(s,a,u){if(s.length===2&&typeof s[1]=="object"&&s[1]!==null&&(s[0]=`${s[0]} ${JSON.stringify(s[1])}`),s.length>1&&typeof s[0]=="object"&&typeof s[1]=="string"){let g=s[0];g.err instanceof Error&&g.err.stack&&(s[1]=g.err.stack,delete g.err.stack)}let p;try{let g=`{${this?.[bK.pino.symbols.chindingsSym]?.slice(1)||""}}`;if(p=JSON.parse(g),p){if(p.trace&&(p[jFe]=`projects/${jbt}/traces/${p.trace}`),!p.trace&&p[jFe]&&delete p[jFe],u>=50){let A=Error().stack?.split(`
741
- `).slice(2).filter(M=>!M.includes("node_modules/pino")&&!M.includes("node_modules\\pino")&&!M.includes("node_modules/launchdarkly-node-server-sdk")&&!M.includes("node_modules\\launchdarkly-node-server-sdk"))[0].substr(7);p.caller=A}return p.caller&&u<50&&delete p.caller,this[bK.pino.symbols.chindingsSym]=`,${rkr(p)}`,a.apply(this,s)}}catch{}return a.apply(this,s)}t(nkr,"logMethod");function u7({defaultLabels:s={},logStream:a,loggerOptions:u}={}){let p={level:u?.level??process.env.LOG_LEVEL??"info",redact:['requestHeaders["authorization"]','requestHeaders["cookie"]','requestHeaders["cf-access-jwt-assertion"]','requestHeaders["cf-access-client-secret"]','requestHeaders["cf-access-client-id"]','responseHeaders["authorization"]','responseHeaders["cookie"]','responseHeaders["cf-access-jwt-assertion"]','responseHeaders["cf-access-client-secret"]','responseHeaders["cf-access-client-id"]',"cookie"]},g={project_id:jbt};return p.hooks=u?.hooks??{logMethod:nkr},p.formatters={bindings(b){return g.pid=b.pid,g.hostname=b.hostname,g}},process.env.LOG_FORMAT===void 0||process.env.LOG_FORMAT==="pretty"?p.transport={target:"@zuplo/pino-pretty-configurations"}:process.env.LOG_FORMAT==="gcp"&&(p.messageKey="message",p.formatters={level(b,k){return{severity:ikr(k)}},log(b){let k=s;if(b.err&&b.err.stack)try{let A=(0,Mbt.parse)(b.err.stack);A.length>0&&(b["logging.googleapis.com/sourceLocation"]={file:A[0].file,line:A[0].lineNumber,function:A[0].methodName})}catch{}if(b.req){let A=b.req;b.requestHeaders=A.raw.headers,b.httpRequest={...(b.httpRequest,{requestMethod:A.method,requestUrl:A.url,userAgent:A.headers["user-agent"],remoteIp:A.ip,protocol:A.protocol})};let M=A.headers["zp-rid"]??b.trace;k.requestId=M,A.headers["cf-ray"]&&(k.rayId=A.headers["cf-ray"]),A.headers["cf-worker"]&&(k.worker=A.headers["cf-worker"]);let U=Rbt(A);U&&(b={...b,...U})}if(b.res){let A=b.res;b.responseHeaders=A.getHeaders(),b.httpRequest={...(b.httpRequest,{requestMethod:A.request?A.request.method:"",requestUrl:A.request?A.request.url:"",status:A.statusCode,userAgent:A.request?A.request.headers["user-agent"]:"",latency:`${skr(A.getResponseTime()/1e3,9)}s`,remoteIp:A.request?A.request.ip:"",protocol:A.request?A.request.protocol:""})}}return b[tkr]=k,b}},p.serializers={req(b){},res(b){},responseTime:t(function(b){},"responseTime")}),a?(0,bK.pino)(p,a):(0,bK.pino)(p)}t(u7,"createNewLogger");function ikr(s){return s===10||s===20?"debug":s===30?"info":s===40?"warning":s===50?"error":s===5?"internal":s>=60?"critical":"default"}t(ikr,"pinoLevelToStackDriverSeverity");function skr(s,a){return Math.trunc(s*Math.pow(10,a))/Math.pow(10,a)}t(skr,"truncateToDecimalPlace");var IEt=Ip(K5e(),1);import bNr from"path";var yLe=Ip(r6e(),1);var wEt=Ip(zxt(),1);import{Buffer as pNr}from"buffer";import dNr from"path";import kEt from"child_process";import hpe from"process";function sLe(s){let a=typeof s=="string"?`
741
+ `).slice(2).filter(M=>!M.includes("node_modules/pino")&&!M.includes("node_modules\\pino"))[0].substr(7);p.caller=A}return p.caller&&u<50&&delete p.caller,this[bK.pino.symbols.chindingsSym]=`,${rkr(p)}`,a.apply(this,s)}}catch{}return a.apply(this,s)}t(nkr,"logMethod");function u7({defaultLabels:s={},logStream:a,loggerOptions:u}={}){let p={level:u?.level??process.env.LOG_LEVEL??"info",redact:['requestHeaders["authorization"]','requestHeaders["cookie"]','requestHeaders["cf-access-jwt-assertion"]','requestHeaders["cf-access-client-secret"]','requestHeaders["cf-access-client-id"]','responseHeaders["authorization"]','responseHeaders["cookie"]','responseHeaders["cf-access-jwt-assertion"]','responseHeaders["cf-access-client-secret"]','responseHeaders["cf-access-client-id"]',"cookie"]},g={project_id:jbt};return p.hooks=u?.hooks??{logMethod:nkr},p.formatters={bindings(b){return g.pid=b.pid,g.hostname=b.hostname,g}},process.env.LOG_FORMAT===void 0||process.env.LOG_FORMAT==="pretty"?p.transport={target:"@zuplo/pino-pretty-configurations"}:process.env.LOG_FORMAT==="gcp"&&(p.messageKey="message",p.formatters={level(b,k){return{severity:ikr(k)}},log(b){let k=s;if(b.err&&b.err.stack)try{let A=(0,Mbt.parse)(b.err.stack);A.length>0&&(b["logging.googleapis.com/sourceLocation"]={file:A[0].file,line:A[0].lineNumber,function:A[0].methodName})}catch{}if(b.req){let A=b.req;b.requestHeaders=A.raw.headers,b.httpRequest={...(b.httpRequest,{requestMethod:A.method,requestUrl:A.url,userAgent:A.headers["user-agent"],remoteIp:A.ip,protocol:A.protocol})};let M=A.headers["zp-rid"]??b.trace;k.requestId=M,A.headers["cf-ray"]&&(k.rayId=A.headers["cf-ray"]),A.headers["cf-worker"]&&(k.worker=A.headers["cf-worker"]);let U=Rbt(A);U&&(b={...b,...U})}if(b.res){let A=b.res;b.responseHeaders=A.getHeaders(),b.httpRequest={...(b.httpRequest,{requestMethod:A.request?A.request.method:"",requestUrl:A.request?A.request.url:"",status:A.statusCode,userAgent:A.request?A.request.headers["user-agent"]:"",latency:`${skr(A.getResponseTime()/1e3,9)}s`,remoteIp:A.request?A.request.ip:"",protocol:A.request?A.request.protocol:""})}}return b[tkr]=k,b}},p.serializers={req(b){},res(b){},responseTime:t(function(b){},"responseTime")}),a?(0,bK.pino)(p,a):(0,bK.pino)(p)}t(u7,"createNewLogger");function ikr(s){return s===10||s===20?"debug":s===30?"info":s===40?"warning":s===50?"error":s===5?"internal":s>=60?"critical":"default"}t(ikr,"pinoLevelToStackDriverSeverity");function skr(s,a){return Math.trunc(s*Math.pow(10,a))/Math.pow(10,a)}t(skr,"truncateToDecimalPlace");var IEt=Ip(K5e(),1);import bNr from"path";var yLe=Ip(r6e(),1);var wEt=Ip(zxt(),1);import{Buffer as pNr}from"buffer";import dNr from"path";import kEt from"child_process";import hpe from"process";function sLe(s){let a=typeof s=="string"?`
742
742
  `:10,u=typeof s=="string"?"\r":13;return s[s.length-1]===a&&(s=s.slice(0,-1)),s[s.length-1]===u&&(s=s.slice(0,-1)),s}t(sLe,"stripFinalNewline");import cpe from"process";import FK from"path";import{fileURLToPath as Vxt}from"url";function ope(s={}){let{env:a=process.env,platform:u=process.platform}=s;return u!=="win32"?"PATH":Object.keys(a).reverse().find(p=>p.toUpperCase()==="PATH")||"Path"}t(ope,"pathKey");var w6r=t(({cwd:s=cpe.cwd(),path:a=cpe.env[ope()],preferLocal:u=!0,execPath:p=cpe.execPath,addExecPath:g=!0}={})=>{let b=s instanceof URL?Vxt(s):s,k=FK.resolve(b),A=[];return u&&D6r(A,k),g&&P6r(A,p,k),[...A,a].join(FK.delimiter)},"npmRunPath"),D6r=t((s,a)=>{let u;for(;u!==a;)s.push(FK.join(a,"node_modules/.bin")),u=a,a=FK.resolve(a,"..")},"applyPreferLocal"),P6r=t((s,a,u)=>{let p=a instanceof URL?Vxt(a):a;s.push(FK.resolve(u,p,".."))},"applyExecPath"),Wxt=t(({env:s=cpe.env,...a}={})=>{s={...s};let u=ope({env:s});return a.path=s[u],s[u]=w6r(a),s},"npmRunPathEnv");var A6r=t((s,a,u,p)=>{if(u==="length"||u==="prototype"||u==="arguments"||u==="caller")return;let g=Object.getOwnPropertyDescriptor(s,u),b=Object.getOwnPropertyDescriptor(a,u);!N6r(g,b)&&p||Object.defineProperty(s,u,b)},"copyProperty"),N6r=t(function(s,a){return s===void 0||s.configurable||s.writable===a.writable&&s.enumerable===a.enumerable&&s.configurable===a.configurable&&(s.writable||s.value===a.value)},"canCopyProperty"),I6r=t((s,a)=>{let u=Object.getPrototypeOf(a);u!==Object.getPrototypeOf(s)&&Object.setPrototypeOf(s,u)},"changePrototype"),O6r=t((s,a)=>`/* Wrapped ${s}*/
743
743
  ${a}`,"wrappedToString"),F6r=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),L6r=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name"),R6r=t((s,a,u)=>{let p=u===""?"":`with ${u.trim()}() `,g=O6r.bind(null,p,a.toString());Object.defineProperty(g,"name",L6r),Object.defineProperty(s,"toString",{...F6r,value:g})},"changeToString");function aLe(s,a,{ignoreNonConfigurable:u=!1}={}){let{name:p}=s;for(let g of Reflect.ownKeys(a))A6r(s,a,g,u);return I6r(s,a),R6r(s,a,p),s}t(aLe,"mimicFunction");var lpe=new WeakMap,Hxt=t((s,a={})=>{if(typeof s!="function")throw new TypeError("Expected a function");let u,p=0,g=s.displayName||s.name||"<anonymous>",b=t(function(...k){if(lpe.set(b,++p),p===1)u=s.apply(this,k),s=null;else if(a.throw===!0)throw new Error(`Function \`${g}\` can only be called once`);return u},"onetime");return aLe(b,s),lpe.set(b,p),b},"onetime");Hxt.callCount=s=>{if(!lpe.has(s))throw new Error(`The given function \`${s.name}\` is not wrapped by the \`onetime\` package`);return lpe.get(s)};var Gxt=Hxt;import{constants as U6r}from"os";var Kxt=t(function(){let s=oLe-Yxt+1;return Array.from({length:s},M6r)},"getRealtimeSignals"),M6r=t(function(s,a){return{name:`SIGRT${a+1}`,number:Yxt+a,action:"terminate",description:"Application-specific signal (realtime)",standard:"posix"}},"getRealtimeSignal"),Yxt=34,oLe=64;import{constants as j6r}from"os";var Xxt=[{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 cLe=t(function(){let s=Kxt();return[...Xxt,...s].map(B6r)},"getSignals"),B6r=t(function({name:s,number:a,description:u,action:p,forced:g=!1,standard:b}){let{signals:{[s]:k}}=j6r,A=k!==void 0;return{name:s,number:A?k:a,description:u,supported:A,action:p,forced:g,standard:b}},"normalizeSignal");var $6r=t(function(){return cLe().reduce(J6r,{})},"getSignalsByName"),J6r=t(function(s,{name:a,number:u,description:p,supported:g,action:b,forced:k,standard:A}){return{...s,[a]:{name:a,number:u,description:p,supported:g,action:b,forced:k,standard:A}}},"getSignalByName"),Qxt=$6r(),q6r=t(function(){let s=cLe(),a=oLe+1,u=Array.from({length:a},(p,g)=>z6r(g,s));return Object.assign({},...u)},"getSignalsByNumber"),z6r=t(function(s,a){let u=V6r(s,a);if(u===void 0)return{};let{name:p,description:g,supported:b,action:k,forced:A,standard:M}=u;return{[s]:{name:p,number:s,description:g,supported:b,action:k,forced:A,standard:M}}},"getSignalByNumber"),V6r=t(function(s,a){let u=a.find(({name:p})=>U6r.signals[p]===s);return u!==void 0?u:a.find(p=>p.number===s)},"findSignalByNumber"),RYr=q6r();var W6r=t(({timedOut:s,timeout:a,errorCode:u,signal:p,signalDescription:g,exitCode:b,isCanceled:k})=>s?`timed out after ${a} milliseconds`:k?"was canceled":u!==void 0?`failed with ${u}`:p!==void 0?`was killed with ${p} (${g})`:b!==void 0?`failed with exit code ${b}`:"failed","getErrorPrefix"),lLe=t(({stdout:s,stderr:a,all:u,error:p,signal:g,exitCode:b,command:k,escapedCommand:A,timedOut:M,isCanceled:U,killed:ne,parsed:{options:{timeout:Z}}})=>{b=b===null?void 0:b,g=g===null?void 0:g;let z=g===void 0?void 0:Qxt[g].description,ve=p&&p.code,Ee=`Command ${W6r({timedOut:M,timeout:Z,errorCode:ve,signal:g,signalDescription:z,exitCode:b,isCanceled:U})}: ${k}`,Le=Object.prototype.toString.call(p)==="[object Error]",xt=Le?`${Ee}
744
744
  ${p.message}`:Ee,Bt=[xt,a,s].filter(Boolean).join(`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zuplo/core",
3
- "version": "6.1.8",
3
+ "version": "6.2.1",
4
4
  "repository": "https://github.com/zuplo/zuplo",
5
5
  "author": "Zuplo, Inc.",
6
6
  "type": "module",
@@ -11,6 +11,9 @@
11
11
  },
12
12
  "./create": {
13
13
  "import": "./create.index.minified.js"
14
+ },
15
+ "./cli": {
16
+ "import": "./customer.cli.minified.js"
14
17
  }
15
18
  },
16
19
  "license": "SEE LICENSE IN LICENSE.txt",
@@ -24,6 +27,7 @@
24
27
  "files": [
25
28
  "create.index.minified.js",
26
29
  "create.index.minified.js.LEGAL.txt",
30
+ "customer.cli.minified.js",
27
31
  "index.d.ts",
28
32
  "index.minified.js",
29
33
  "index.minified.js.LEGAL.txt",
@@ -40,8 +44,8 @@
40
44
  "prettier": "^3.3.3"
41
45
  },
42
46
  "peerDependencies": {
43
- "@zuplo/graphql": "6.1.8",
44
- "@zuplo/otel": "6.1.8",
45
- "@zuplo/runtime": "6.1.8"
47
+ "@zuplo/graphql": "6.2.1",
48
+ "@zuplo/otel": "6.2.1",
49
+ "@zuplo/runtime": "6.2.1"
46
50
  }
47
51
  }