@tdk-landscape/tdk-cli-core 1.3.172 → 1.3.173
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.
|
@@ -12,7 +12,7 @@ import{c as Ke,e as sr}from"./chunk-42IVF3YT.js";import{a as wt}from"./chunk-6EA
|
|
|
12
12
|
`:`# TDK (generated files and secrets)
|
|
13
13
|
`}${s.join(`
|
|
14
14
|
`)}
|
|
15
|
-
`),s}import{existsSync as sa,lstatSync as oa}from"node:fs";import{isAbsolute as wr,normalize as ze,relative as ia,sep as Er}from"node:path";var vp=[`${C}/**`,".tdk/.tdk-out/**","Tiltfile","TILT_*.star",q,`${A} (create only)`,"shared-platform-engineering/docker-templates/**","services/platform/database-management/docker-compose.yml","product_autogenerated_resource_manifests/**","product_autogenerated_services_list/**"];function aa(e){let t=ze(e).split(Er).join("/");return wr(e)||t===".."||t.startsWith("../")?!1:t.split("/").includes(C)||t.startsWith(".tdk/.tdk-out/")||t==="shared-platform-engineering/docker-templates"||t.startsWith("shared-platform-engineering/docker-templates/")||t.startsWith("product_autogenerated_resource_manifests/")||t.startsWith("product_autogenerated_services_list/")?!0:t==="Tiltfile"||/^TILT_[^/]+\.star$/.test(t)||t===q||t===A||t==="services/platform/database-management/docker-compose.yml"}function oe(e,t){let n=wr(t)?ze(t):ze(`${e}/${t}`),r=ia(e,n).split(Er).join("/");if(!aa(r))throw new Error(`Refusing to write outside TDK's generated-file allowlist: ${r}`);let s=e;for(let o of r.split("/"))if(s=ze(`${s}/${o}`),sa(s)&&oa(s).isSymbolicLink())throw new Error(`Refusing to write through a symbolic link in generated path: ${r}`);return n}var _e=[j,"proxy"];import{existsSync as Gr,readFileSync as Vr}from"node:fs";import{copyFileSync as Ar,mkdirSync as ya,rmSync as Dr,writeFileSync as Or}from"node:fs";import{join as de}from"node:path";function I(e){return e==="backend"||e==="mcp"||e==="agent"}import{readFileSync as ma}from"node:fs";import{join as ha}from"node:path";import{existsSync as ua}from"node:fs";import{dirname as la,join as da,resolve as Pr}from"node:path";import{cwd as pa}from"node:process";var vr={name:"tdk-cli-internal",private:!0,version:"1.3.
|
|
15
|
+
`),s}import{existsSync as sa,lstatSync as oa}from"node:fs";import{isAbsolute as wr,normalize as ze,relative as ia,sep as Er}from"node:path";var vp=[`${C}/**`,".tdk/.tdk-out/**","Tiltfile","TILT_*.star",q,`${A} (create only)`,"shared-platform-engineering/docker-templates/**","services/platform/database-management/docker-compose.yml","product_autogenerated_resource_manifests/**","product_autogenerated_services_list/**"];function aa(e){let t=ze(e).split(Er).join("/");return wr(e)||t===".."||t.startsWith("../")?!1:t.split("/").includes(C)||t.startsWith(".tdk/.tdk-out/")||t==="shared-platform-engineering/docker-templates"||t.startsWith("shared-platform-engineering/docker-templates/")||t.startsWith("product_autogenerated_resource_manifests/")||t.startsWith("product_autogenerated_services_list/")?!0:t==="Tiltfile"||/^TILT_[^/]+\.star$/.test(t)||t===q||t===A||t==="services/platform/database-management/docker-compose.yml"}function oe(e,t){let n=wr(t)?ze(t):ze(`${e}/${t}`),r=ia(e,n).split(Er).join("/");if(!aa(r))throw new Error(`Refusing to write outside TDK's generated-file allowlist: ${r}`);let s=e;for(let o of r.split("/"))if(s=ze(`${s}/${o}`),sa(s)&&oa(s).isSymbolicLink())throw new Error(`Refusing to write through a symbolic link in generated path: ${r}`);return n}var _e=[j,"proxy"];import{existsSync as Gr,readFileSync as Vr}from"node:fs";import{copyFileSync as Ar,mkdirSync as ya,rmSync as Dr,writeFileSync as Or}from"node:fs";import{join as de}from"node:path";function I(e){return e==="backend"||e==="mcp"||e==="agent"}import{readFileSync as ma}from"node:fs";import{join as ha}from"node:path";import{existsSync as ua}from"node:fs";import{dirname as la,join as da,resolve as Pr}from"node:path";import{cwd as pa}from"node:process";var vr={name:"tdk-cli-internal",private:!0,version:"1.3.173",description:"TDK CLI \u2014 start services on your machine.",keywords:["tdk","tilt","cli","local-dev","microservices"],homepage:"https://github.com/tdk-landscape/tdk-cli-core#readme",bugs:{url:"https://github.com/tdk-landscape/tdk-cli-core/issues"},repository:{type:"git",url:"git+https://github.com/tdk-landscape/tdk-cli-core.git",directory:"cli"},license:"MIT",author:"TDK Team",type:"module",main:"./dist/index.js",types:"./dist/index.d.ts",bin:{tdk:"bin/tdk.js","tdk-cli":"bin/tdk.js"},files:["dist","dist-bundle","bin","templates","README.md","Tiltfile","engine","discovery","specs","ext","!ext/ide-components/code_executor","shared-platform-engineering/docker-templates"],scripts:{build:"tsc && node scripts/bundle.mjs","build:watch":"tsc --watch",lint:"biome check .","lint:fix":"biome check . --write",typecheck:"tsc --project tsconfig.typecheck.json",clean:"rm -rf dist",dev:"bun run build:watch",test:"vitest run","test:watch":"vitest",prepack:"../scripts/stage-npm-engine.sh && npm run build"},dependencies:{commander:"^15.0.0",handlebars:"^4.7.8"},devDependencies:{"@biomejs/biome":"^2.5.13","@types/node":"^22.0.0","@types/react":"^19.3.0",ajv:"^8.17.1",chalk:"^6.0.1",esbuild:"^0.28.2",ink:"^8.0.0",knip:"^6.38.0",react:"^19.3.0","react-devtools-core":"^8.0.0",typescript:"^7.0.2",vite:"^8.3.1",vitest:"^5.0.0"},engines:{node:">=22.12.0"}};function y(e=pa()){let t=Pr(e),n=Pr("/");for(;t!==n;){if(ua(da(t,".tdk",_)))return t;let r=la(t);if(r===t)break;t=r}return null}var Ye=null;function fa(){if(Ye)return Ye;let e=vr;if(!e||typeof e!="object"||Array.isArray(e))throw new Error("Invalid package.json: expected object");let t=e;return Ye={name:String(t.name??"@tdk-landscape/tdk-cli-core"),version:String(t.version??"0.0.0"),fullPackage:t},Ye}function $r(){return fa().version}function le(){let e=y();if(e)try{let t=ma(ha(e,".tdk",_),"utf-8"),n=JSON.parse(t);if(n?.project?.name)return n.project.name}catch{}return"tdk-project"}function Ft(e){let t=le(),n=process.env.TDK_SERVICE_BASE_URL??`http://${t}.localhost${e?`:${e}`:""}`;try{let r=new URL(n.includes("://")?n:`http://${n}`),s=r.hostname,o=r.protocol==="https:"?"443":"80",i=r.port||(e?String(e):""),a=i===o?"":i;if(s==="localhost"||/^\d+\.\d+\.\d+\.\d+$/.test(s))return{appBase:`${r.protocol}//${s}${a?`:${a}`:""}`,apiBase:`${r.protocol}//${s}${a?`:${a}`:""}`};let c=s.replace(/^(app|api)\./,"");return{appBase:`${r.protocol}//app.${c}${a?`:${a}`:""}`,apiBase:`${r.protocol}//api.${c}${a?`:${a}`:""}`}}catch{return{appBase:`http://app.${t}.localhost`,apiBase:`http://api.${t}.localhost`}}}function ga(e){return`${e.replace(/\/+$/,"")}/health`}function Lt(e){if(I(e.config?.appType)){let t=e.name.replace(/-api$/,"");return e.config?.apiPath??`/api/${t}`}return e.config?.basePath??`/${e.name}`}function Mt(e,t){return Rr(e,t,n=>ga(n))}function _r(e,t){return Rr(e,t,n=>n)}function Rr(e,t,n){let{appBase:r,apiBase:s}=Ft(t);return e.filter(o=>o.config?.appType==="frontend"||I(o.config?.appType)).map(o=>{let i=I(o.config.appType)?s:r;return{name:o.name,appType:o.config.appType,url:`${i}${n(Lt(o))}`}})}async function ka(e,t){try{let n=await fetch(e.url,{method:"GET",redirect:"manual",signal:AbortSignal.timeout(t)});return{...e,ok:n.ok,status:n.status}}catch(n){let r=n instanceof Error&&n.name==="TimeoutError"?`no response within ${t}ms`:n instanceof Error?n.message:String(n);return{...e,ok:!1,error:r}}}async function Xe(e,t){return Promise.all(e.map(n=>ka(n,t)))}var Lr=60,Nr=1e3,Cr=1e4,jr=200,Ir=64*1024,Fr=new Set([404,502,503,504]),Sa=new Set(["ECONNREFUSED","ENOTFOUND","EAI_AGAIN","EHOSTUNREACH","ENETUNREACH"]),ba=new Set(["GET","HEAD","OPTIONS"]);function X(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Ta(e,t){if(ba.has(t))return!0;if(!X(e))return!1;let n=X(e.cause)?e.cause:void 0,r=e.code??n?.code;return typeof r=="string"&&Sa.has(r)}function Bt(e){if(!X(e))return['smoke: must be an object with "via" and "steps"'];let t=[];return e.via!=="proxy"&&t.push('smoke.via: only "proxy" is supported (the check must go through the public URL)'),e.timeoutSeconds!==void 0&&!(typeof e.timeoutSeconds=="number"&&e.timeoutSeconds>0)&&t.push("smoke.timeoutSeconds: must be a number greater than 0"),!Array.isArray(e.steps)||e.steps.length===0?(t.push("smoke.steps: needs at least one step"),t):(e.steps.forEach((n,r)=>{let s=`smoke.steps[${r}]`;if(!X(n)){t.push(`${s}: must be an object`);return}let o=n.path;(typeof o!="string"||!o.startsWith("/")||o.startsWith("//"))&&t.push(`${s}.path: must start with "/" and is appended to the public URL; a full URL or relative path would skip the proxy`),n.expect!==void 0&&!(typeof n.expect=="number"&&Number.isInteger(n.expect)&&n.expect>=100&&n.expect<=599)&&t.push(`${s}.expect: must be an HTTP status between 100 and 599`),n.bodyContains!==void 0&&typeof n.bodyContains!="string"&&t.push(`${s}.bodyContains: must be a string`),n.save!==void 0&&(X(n.save)&&Object.values(n.save).every(a=>typeof a=="string"&&a.startsWith("$."))||t.push(`${s}.save: must map names to paths such as "$.id"`))}),t)}function Mr(e,t){let{appBase:n,apiBase:r}=Ft(t),s=[];for(let o of e){let i=o.config;if(!i?.smoke)continue;let a=i.appType,c=I(a)||a===J;if(!c&&a!=="frontend"||i.exposeViaProxy===!1)continue;let u=c?r:n,d=i.healthCheckPath||(c&&a!==J?"/health":void 0);s.push({name:o.name,baseUrl:`${u}${Lt(o).replace(/\/+$/,"")}`,...d?.startsWith("/")?{readyPath:d}:{},smoke:i.smoke})}return s}var xa=10;function Ur(e,t={}){let n=t.timeoutSeconds??xa;return e.flatMap(r=>{let s=r.smoke.steps.filter(i=>(i.method??"GET").toUpperCase()==="GET"&&i.body===void 0&&!i.path.includes("{{")).map(i=>({...i,bodyContains:void 0}));if(s.length===0)return[];let o=Math.min(r.smoke.timeoutSeconds??Lr,n);return[{name:r.name,baseUrl:r.baseUrl,smoke:{via:r.smoke.via,timeoutSeconds:o,steps:s}}]})}function wa(e,t){let n=t.replace(/^\$\.?/,"").match(/[^.[\]]+/g)??[],r=e;for(let s of n){if(r==null||s==="__proto__"||s==="constructor"||s==="prototype"||!Object.hasOwn(r,s))return;let o=Object.getOwnPropertyDescriptor(r,s);if(!o||!("value"in o))return;r=o.value}return r}function Br(e,t){return e.replace(/\{\{(\w+)\}\}/g,(n,r)=>t[r]??n)}function Ut(e,t){return typeof e=="string"?Br(e,t):Array.isArray(e)?e.map(n=>Ut(n,t)):X(e)?Object.fromEntries(Object.entries(e).map(([n,r])=>[n,Ut(r,t)])):e}function Qe(e){let t=e.replace(/\s+/g," ").trim();return t.length>jr?`${t.slice(0,jr)}...`:t}function Hr(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"step"}function Ea(e,t){let n=Hr(t),r=(e.get(n)??0)+1;return e.set(n,r),r===1?n:`${n}-${r}`}function va(e,t,n,r,s){try{let o=de(e,Hr(n.service),t);ya(o,{recursive:!0});let i=de(o,"latest.json"),a=de(o,"body.txt");return r===void 0?Dr(a,{force:!0}):Or(a,r),Or(i,`${JSON.stringify({...n,bodyPath:r===void 0?null:"body.txt"},null,2)}
|
|
16
16
|
`),s&&(Ar(i,de(o,"last-success.json")),r===void 0?Dr(de(o,"last-success-body.txt"),{force:!0}):Ar(a,de(o,"last-success-body.txt"))),i}catch{return}}function Pa(e){let t=Buffer.from(e,"utf8");if(t.length<=Ir)return{body:e,truncated:!1,bytes:t.length};let n=t.subarray(0,Ir).toString("utf8").replace(/\uFFFD$/,"");return{body:n,truncated:!0,bytes:Buffer.byteLength(n,"utf8")}}async function $a(e,t={}){let n=t.fetch??((d,l)=>fetch(d,l)),r=t.now??Date.now,s=t.sleep??(d=>new Promise(l=>setTimeout(l,d))),o=(e.smoke.timeoutSeconds??Lr)*1e3,i=r()+o,a={},c=Bt(e.smoke);if(c.length>0)return{name:e.name,ok:!1,failure:`${e.name}: invalid smoke block: ${c.join("; ")}`};if(e.readyPath){let d=`${e.baseUrl}${e.readyPath}`;for(;;){try{let l=await n(d,{method:"GET",signal:AbortSignal.timeout(Cr)});if(await l.text(),!Fr.has(l.status)&&l.status<500)break}catch{}if(r()>=i)break;await s(Nr)}}i=r()+o;let u=new Map;for(let[d,l]of e.smoke.steps.entries()){let p=l.name??`step ${d+1}`,h=(l.method??"GET").toUpperCase(),f=`${e.baseUrl}${Br(l.path,a)}`,b=l.expect??200,w=l.body!==void 0,$,U="",g,R;for(;;){g=void 0,R=void 0,$=void 0;let G=!1;try{let F=await n(f,{method:h,headers:w?{"content-type":"application/json"}:void 0,body:w?JSON.stringify(Ut(l.body,a)):void 0,signal:AbortSignal.timeout(Cr)});$=F.status,U=await F.text()}catch(F){G=Ta(F,h),g=F instanceof Error?F.message:String(F);let re=X(F)?F.code??(X(F.cause)?F.cause.code:void 0):void 0;R=typeof re=="string"?re:void 0}if(!(g!==void 0&&G||$!==void 0&&$!==b&&Fr.has($))||r()>=i)break;await s(Nr)}let ne=`${e.name}: ${p}: ${h} ${f}`,ue;if(t.recordDir){let G=$===void 0?void 0:Pa(U),Te=g===void 0&&$===b&&(l.bodyContains===void 0||U.includes(l.bodyContains));ue=va(t.recordDir,Ea(u,p),{service:e.name,step:p,method:h,url:f,expectedStatus:b,status:$??null,...g===void 0?{}:{error:R??g},truncated:G?.truncated??!1,bodyBytes:G?.bytes??0},G?.body,Te)}let be=G=>({name:e.name,ok:!1,failure:G,recordPath:ue});if(g!==void 0)return be(`${ne} never answered (${g})`);if($!==b)return be(`${ne} returned ${$}, expected ${b}${U?`: ${Qe(U)}`:""}`);if(l.bodyContains!==void 0&&!U.includes(l.bodyContains))return be(`${ne} returned ${$} but the body does not contain "${l.bodyContains}": ${Qe(U)}`);if(l.save){let G;try{G=JSON.parse(U)}catch{return be(`${ne} returned a body that is not JSON, cannot save: ${Qe(U)}`)}for(let[Te,F]of Object.entries(l.save)){let re=wa(G,F);if(re==null||typeof re=="object")return be(`${ne} response has no ${F} to save as {{${Te}}}: ${Qe(U)}`);a[Te]=String(re)}}}return{name:e.name,ok:!0}}function qp(e){return`Smoke check failed: ${e.failure}${e.recordPath?` (record: ${e.recordPath})`:""}`}async function Kr(e,t={}){return Promise.all(e.map(n=>$a(n,t)))}var Re=1,Qp="https://tdk-landscape.github.io/schema.service.json",_a={dependencies:"deprecated, use dependsOn (still read for now)",envVars:"deprecated, use params (still read when params is absent)",jwtSecret:"ignored. A secret must not be committed: remove it and set JWT_SECRET in the project .env"},Ra=new Set(["$schema","agent","apiBasePath","apiPath","appName","appType","backendName","basePath","build","buildContext","databaseName","dependencies","dev","dependsOn","dockerfile","enabled","exposeViaProxy","featuresEnabled","framework","healthCheckPath","image","language","name","nats","params","playwright","port","replicas","restart","runtime","sablier","schemaVersion","secrets","smoke","stack","syncs","traefik","type"]),Aa=[{path:["healthCheckPath"],pattern:/^\/[a-z0-9/-]*$/,expected:"a path such as /health"},{path:["traefik","host"],pattern:/^[A-Za-z0-9.-]+$/,expected:"a hostname such as shop.backend.myproject.local"},{path:["traefik","pathPrefix"],pattern:/^\/[a-z0-9/-]*$/,expected:"a path such as /api/v1/shop-management"},{path:["traefik","healthCheck"],pattern:/^\/[a-z0-9/-]*$/,expected:"a path such as /health"},{path:["nats","queueGroup"],pattern:/^[A-Za-z0-9_.-]+$/,expected:"letters, digits, '_', '.' or '-'"},{path:["databaseName"],pattern:/^[A-Za-z0-9_-]+$/,expected:"letters, digits, '_' or '-'"},{path:["stack"],pattern:/^[A-Za-z0-9_-]+$/,expected:"letters, digits, '_' or '-'"},{path:["image"],pattern:/^[A-Za-z0-9._/:@-]+$/,expected:"an image reference such as ghcr.io/acme/app:1.0"}];function Ze(e,t){let n=[],r=new Set;for(let{path:s,pattern:o,expected:i}of Aa){let a=e;for(let u of s)a=a&&typeof a=="object"&&!Array.isArray(a)?a[u]:void 0;if(a==null||a==="")continue;let c=`${t}.${s.join(".")}`;(typeof a!="string"||!o.test(a))&&r.add(c),typeof a!="string"?n.push(`${c}: expected a string`):o.test(a)||n.push(`${c}: must be ${i} (no spaces, line breaks or YAML syntax)`)}for(let[s,o]of Da(e,t))r.has(s)||n.push(`${s}: ${o}`);return n}function Ht(e){for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);if(n<32||n===127||n===133||n===8232||n===8233)return!0}return!1}function Da(e,t){let n=[],r=Object.entries(e).filter(([s])=>s!=="smoke").map(([s,o])=>[o,`${t}.${s}`]);for(let s of Object.keys(e))Ht(s)&&n.push([t,"a key contains a line break"]);for(;r.length>0;){let[s,o]=r.pop();if(typeof s=="string")Ht(s)&&n.push([o,"must not contain line breaks or control characters"]);else if(Array.isArray(s))for(let[i,a]of s.entries())r.push([a,`${o}[${i}]`]);else if(s&&typeof s=="object")for(let[i,a]of Object.entries(s))Ht(i)?n.push([o,"a key contains a line break"]):r.push([a,`${o}.${i}`])}return n.sort(([s],[o])=>s.localeCompare(o))}var Oa=["apiPath","basePath"];function Kt(e){if(!e||typeof e!="object"||Array.isArray(e))return[];let t=e;return Oa.filter(n=>n in t&&typeof t[n]!="string")}function Gt(e,t){if(!e||typeof e!="object"||Array.isArray(e))return{errors:[`${t}: expected a JSON object`],warnings:[]};let n=e,r=[];for(let a of["appName","appType","stack","schemaVersion"])a in n||r.push(`${t}.${a}: required field is missing`);for(let a of["appName","appType","stack"])a in n&&typeof n[a]!="string"&&r.push(`${t}.${a}: expected a string`);"schemaVersion"in n&&n.schemaVersion!==Re&&r.push(`${t}.schemaVersion: unsupported version ${String(n.schemaVersion)} (supported: ${Re})`);for(let a of Kt(n))r.push(`${t}.${a}: expected a string`);let s=n.dev,o=s&&typeof s=="object"&&!Array.isArray(s)?s.liveReload:void 0;if(o!==void 0&&typeof o!="boolean"&&r.push(`${t}.dev.liveReload: expected true or false`),r.push(...Ze(n,t)),"smoke"in n)for(let a of Bt(n.smoke))r.push(`${t}.${a}`);let i=Object.keys(n).flatMap(a=>{let c=_a[a];return c?[`${t}.${a}: ${c}`]:Ra.has(a)?[]:[`${t}.${a}: unknown field is preserved`]});return o===!0&&n.language!=="go"&&i.push(`${t}.dev.liveReload: only applies to Go services (language "go"); it is ignored here`),{errors:r,warnings:i,manifest:n}}function Wr(e,t){if(!Gr(e))return[];try{let n=JSON.parse(Vr(e,"utf-8"));return!n||typeof n!="object"||Array.isArray(n)?[]:Ze(n,t)}catch{return[]}}function Jr(e,t){if(!Gr(e))return{errors:[`${t}: file is missing`],warnings:[]};try{let n=JSON.parse(Vr(e,"utf-8"));return Gt(n,t)}catch(n){let r=n instanceof Error?n.message:String(n);return{errors:[`${t}: invalid JSON (${r})`],warnings:[]}}}import{existsSync as pe,readdirSync as ls,readFileSync as ds,statSync as Xt}from"node:fs";import{dirname as tc,join as Z}from"node:path";var Ae=class{data;options;constructor(t){this.data=new Map,this.options=t}has(t){let n=this.data.get(t);return n?Date.now()-n.timestamp>this.options.ttlMs?(this.data.delete(t),!1):!0:!1}get(t){if(this.has(t))return this.data.get(t)?.value}set(t,n){this.data.set(t,{value:n,timestamp:Date.now()})}delete(t){this.data.delete(t)}clear(){this.data.clear()}keys(){let t=[];for(let n of this.data.keys())this.has(n)&&t.push(n);return t}size(){return this.keys().length}};function qr(e){let t=0;return{isValid(){return Date.now()-t<e},markUpdated(){t=Date.now()},reset(){t=0}}}import{execFileSync as Fa,execSync as La}from"node:child_process";import{existsSync as zr}from"node:fs";import{delimiter as Yr,extname as Xr,join as Qr}from"node:path";import{delimiter as nf,extname as Na}from"node:path";function De(){return process.platform==="win32"}function Ca(e){return e==="linux"?"linux":e==="darwin"?"darwin":e==="win32"?"windows":null}function ja(e){return e==="x64"?"amd64":e==="arm64"?"arm64":null}function Ia(e,t){let n=Ca(e),r=ja(t);if(!n||!r||n==="windows"&&r!=="amd64")return null;let s=`tdk-${n}-${r}`;return n==="windows"?`${s}.exe`:s}function rf(){return Ia(process.platform,process.arch)}function sf(){return De()?"tdk.exe":"tdk"}function Vt(e,t=De()){return t?Na(e)?[e]:[e,`${e}.exe`,`${e}.cmd`,`${e}.bat`]:[e]}function O(e){let t=process.env.PATH??process.env.Path??"",n=De(),r=Vt(e,n);if(n&&!Xr(e))for(let s of(process.env.PATHEXT??".EXE;.CMD;.BAT;.COM").split(";")){let o=s.toLowerCase();o&&!r.includes(`${e}${o}`)&&r.push(`${e}${o}`)}for(let s of t.split(Yr))if(s)for(let o of r){let i=Qr(s,o);if(zr(i))return i}return null}function Zr(e){let t=process.env.PATH??process.env.Path??"",n=De(),r=Vt(e,n);if(n&&!Xr(e))for(let i of(process.env.PATHEXT??".EXE;.CMD;.BAT;.COM").split(";")){let a=i.toLowerCase();a&&!r.includes(`${e}${a}`)&&r.push(`${e}${a}`)}let s=[],o=new Set;for(let i of t.split(Yr))if(i)for(let a of r){let c=Qr(i,a);if(!zr(c))continue;let u=n?c.toLowerCase():c;o.has(u)||(o.add(u),s.push(c))}return s}var es=1e4;function ts(){let e=!1;if(process.platform==="win32")try{return Fa(O("docker")??"docker",["ps"],{stdio:"ignore",timeout:es,windowsHide:!0}),"running"}catch(t){return t.code==="ETIMEDOUT"?"unresponsive":"missing"}for(let t of["docker ps","colima status","podman ps"])try{return La(t,{stdio:"ignore",timeout:es}),"running"}catch(n){n.code==="ETIMEDOUT"&&(e=!0)}return e?"unresponsive":"missing"}function et(e,t){return e[t]??0}function Ma(e,t){let n=Array.from({length:t.length+1},(r,s)=>s);for(let r=1;r<=e.length;r++){let s=[r];for(let o=1;o<=t.length;o++){let i=e[r-1]===t[o-1]?0:1;s[o]=Math.min(et(s,o-1)+1,et(n,o)+1,et(n,o-1)+i)}n=s}return et(n,t.length)}function Ua(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length-1;n++)if(e[n]!==t[n]&&e[n]===t[n+1]&&e[n+1]===t[n]&&e.slice(0,n)===t.slice(0,n)&&e.slice(n+2)===t.slice(n+2))return!0;return!1}function ns(e,t){if(e.length<2||t.length===0||t.includes(e))return;let n=e.toLowerCase(),r,s=Number.POSITIVE_INFINITY;for(let o of t){if(o.length===0)continue;let i=o.toLowerCase(),a=Ua(n,i)?1:Ma(n,i),c=Math.max(1,Math.min(2,Math.floor(Math.max(n.length,i.length)/3)));a>c||(a<s||a===s&&(r===void 0||o<r))&&(r=o,s=a)}return r}import{spawn as Ba}from"node:child_process";import{join as Ha}from"node:path";function Ka(e,t=[],n={}){return new Promise((r,s)=>{let o=[e,...t];n.verbose&&console.log(`Executing: tilt ${o.join(" ")}`);let i=Ba(O("tilt")??"tilt",o,{stdio:n.inheritStdio?"inherit":"pipe",shell:!1,windowsHide:process.platform==="win32",timeout:n.timeoutMs}),a="",c="";n.inheritStdio||(i.stdout?.on("data",u=>{a+=u.toString()}),i.stderr?.on("data",u=>{c+=u.toString()})),i.on("close",u=>{r({exitCode:u??1,stdout:a,stderr:c})}),i.on("error",u=>{s(new Error(`Failed to spawn tilt: ${u.message}`))})})}async function rs(){try{return(await Ka("version",[],{inheritStdio:!1,timeoutMs:1e4})).exitCode===0}catch{return!1}}function Ga(){let e=y();if(!e)throw Y.notInProject();return Ha(e,".tdk",".tdk-out","Tiltfile")}function ss(e){let t=Ga();e.push("-f",t)}function bf(e,t={}){let n=[];return ss(n),t.focusTargets&&t.focusTargets.length>0&&n.push("--",`--focus=${t.focusTargets.join(",")}`),n.push(...e),t.verbose&&!t.quiet&&n.push("--verbose"),t.watch&&n.push("--watch"),n}function Tf(e={}){let t=[];return ss(t),e.focusTargets&&e.focusTargets.length>0&&t.push("--",`--focus=${e.focusTargets.join(",")}`),t}function os(e){return e instanceof Error?e.message:String(e)}function Rf(e,t){if(process.env.TDK_VERBOSE){let n=t!==void 0?`: ${os(t)}`:"";console.warn(m.gray(`${e}${n}`))}}var N=class extends Error{suggestions;exitCode;constructor(t,n=[],r=1){super(t),this.name="TdkError",this.suggestions=n,this.exitCode=r}display(){Ja(this.message,void 0,this.suggestions)}exit(){this.display(),process.exit(this.exitCode)}};function Wt(e,t,n=!1){let r=new Set;for(let s of e){let o=ns(s,t);o&&r.add(n?`Did you mean "${o}" for "${s}"?`:`Did you mean "${o}"?`)}return[...r]}var Y={tiltNotInstalled:()=>new N("Tilt CLI is not installed",["Install Tilt: `brew install tilt` (macOS)","Or download from: https://docs.tilt.dev/install.html","Verify with: `tilt version`",`Setup guide: ${Ct}`]),dockerNotAvailable:()=>new N("Docker (or a compatible container runtime) is not running",["Start Docker Desktop, then verify with: `docker ps`","Or start Colima: `colima start`","Or start the Docker service on Linux: `sudo systemctl start docker`",`Setup guide: ${Ct}`]),dockerNotResponding:()=>new N("Docker is running but not responding (`docker ps` hung for 10s)",["Quit and reopen Docker Desktop, or run `colima restart`","Then verify with: `docker ps`"]),stackNotFound:(e,t=[])=>new N(`Stack "${e}" not found`,[...Wt([e],t),"Run `tdk stacks` to see available stacks","Run `tdk stack` to assign resources to a stack"]),resourceNotFound:(e,t=[])=>new N(`Resource "${e}" not found`,[...Wt([e],t),"Run `tdk resources` to list all resources","Check the resource name spelling"]),unknownServices:(e,t)=>{let n=Wt(e,t,e.length>1);return new N(`Unknown service ${e.join(", ")}. Valid names: ${t.join(", ")}`,n,2)},directoryExists:e=>new N(`Directory already exists: ${e}`,["Use `--path` to specify a different location","Remove the existing directory if no longer needed"]),invalidPath:e=>new N(`Invalid path: ${e}`,["Path must be within the project directory",'Path cannot contain special characters like <>:"|?*']),notInProject:()=>new N("Could not find project root (no .tdk/project.json found)",["Run this from within a TDK project","Run `tdk project --yes` to initialize a new project"])};function Af(){let e=y();return e||Y.notInProject().exit()}function Va(e){e instanceof N&&e.exit(),console.error(m.red(`Error: ${os(e)}`)),process.exit(1)}async function Wa(e,t){try{return await e()}catch(n){return t?.verbose&&n instanceof Error&&n.stack&&console.error(m.gray(n.stack)),Va(n)}}async function Df(e,t){let n=[],r=ts();return r==="unresponsive"?n.push(Y.dockerNotResponding()):r==="missing"&&n.push(Y.dockerNotAvailable()),await rs()||n.push(Y.tiltNotInstalled()),n.length>0&&(console.error(m.red(`
|
|
17
17
|
TDK can't start - missing prerequisites:
|
|
18
18
|
`)),n.forEach((s,o)=>{o>0&&console.error(""),s.display()}),console.error(m.gray("\nRun `tdk doctor` for a full environment check.")),process.exit(1)),Wa(e,t)}function Of(e,t=1){console.error(m.red(`Error: ${e}`)),process.exit(t)}function Ja(e,t,n){if(console.error(m.red(`\u274C ${e}`)),t&&console.error(m.gray(` ${t}`)),n&&n.length>0){console.error(m.yellow(`
|
package/cli/dist-bundle/cli.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import{createRequire as __tdkRequire}from'node:module';const require=__tdkRequire(import.meta.url);
|
|
3
|
-
import{$ as di,$a as Ff,A as fR,Aa as tA,Ab as u2,B as dR,Ba as UR,Bb as f2,C as gR,Ca as MR,Cb as Vf,D as zf,Da as OR,Db as YI,E as ui,Ea as ys,Eb as d2,F as It,Fa as pm,Fb as FQ,G as Wt,Ga as HR,Gb as g2,H as ta,Ha as GR,Hb as m2,I as Bn,Ia as kR,Ib as p2,J as bI,Ja as vn,Jb as E2,K as Ma,Ka as kQ,Kb as h2,L as xI,La as To,Lb as FI,M as Vn,Ma as LI,Mb as C2,N as mR,Na as Kc,Nb as B2,O as pR,Oa as JR,Ob as I2,P as ph,Pa as LQ,Pb as y2,Q as dm,Qa as KR,R as ER,Ra as YR,S as Eh,Sa as FR,Sb as Q2,T as jf,Ta as nA,Tb as S2,U as Jf,Ua as Kf,V as _I,Va as qR,W as UI,Wa as VR,X as HQ,Xa as zI,Y as hR,Ya as Sr,Z as gm,Za as Yf,_ as fi,_a as zQ,a as iR,aa as at,ab as Ch,b as S,ba as CR,bb as jQ,c as NI,ca as BR,cb as XR,d as lR,da as Jc,db as ZR,e as eA,ea as MI,eb as PR,f as kf,fa as GQ,fb as WR,g as Lf,ga as OI,gb as $R,h as mh,ha as IR,hb as e2,i as AR,ia as yR,ib as t2,j as rR,ja as QR,jb as n2,k as zc,ka as bl,kb as o2,l as um,la as hh,lb as a2,m as MA,ma as SR,mb as i2,n as OQ,na as vR,nb as jI,o as wI,oa as DR,ob as JI,p as Nl,pa as HI,pb as qf,q as sR,qa as mm,qb as l2,r as fn,ra as RR,rb as KI,s as Qr,sa as GI,sb as A2,t as Is,ta as kI,tb as Bh,u as cR,ua as TR,ub as JQ,v as fm,va as NR,vb as r2,w as OA,wa as wR,wb as s2,x as uR,xa as bR,xb as KQ,y as wl,ya as xR,yb as YQ,z as jc,za as _R,zb as c2}from"./chunk-JF2COU6K.js";import{a as LR,c as zR,d as jR}from"./chunk-42IVF3YT.js";import{a as MQ,b as Ko,c as AU,d as rt}from"./chunk-6EA4DGCY.js";var aN=Ko(ry=>{"use strict";var QO=Symbol.for("react.transitional.element"),SO=Symbol.for("react.fragment");function oN(n,l,A){var c=null;if(A!==void 0&&(c=""+A),l.key!==void 0&&(c=""+l.key),"key"in l){A={};for(var d in l)d!=="key"&&(A[d]=l[d])}else A=l;return l=A.ref,{$$typeof:QO,type:n,key:c,ref:l!==void 0?l:null,props:A}}ry.Fragment=SO;ry.jsx=oN;ry.jsxs=oN});var EN=Ko(wt=>{"use strict";var hS=Symbol.for("react.transitional.element"),vO=Symbol.for("react.portal"),DO=Symbol.for("react.fragment"),RO=Symbol.for("react.strict_mode"),TO=Symbol.for("react.profiler"),NO=Symbol.for("react.consumer"),wO=Symbol.for("react.context"),bO=Symbol.for("react.forward_ref"),xO=Symbol.for("react.suspense"),_O=Symbol.for("react.memo"),sN=Symbol.for("react.lazy"),UO=Symbol.for("react.activity"),MO=Symbol.for("react.view_transition"),iN=Symbol.iterator;function OO(n){return n===null||typeof n!="object"?null:(n=iN&&n[iN]||n["@@iterator"],typeof n=="function"?n:null)}var cN={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},uN=Object.assign,fN={};function Sm(n,l,A){this.props=n,this.context=l,this.refs=fN,this.updater=A||cN}Sm.prototype.isReactComponent={};Sm.prototype.setState=function(n,l){if(typeof n!="object"&&typeof n!="function"&&n!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,n,l,"setState")};Sm.prototype.forceUpdate=function(n){this.updater.enqueueForceUpdate(this,n,"forceUpdate")};function dN(){}dN.prototype=Sm.prototype;function CS(n,l,A){this.props=n,this.context=l,this.refs=fN,this.updater=A||cN}var BS=CS.prototype=new dN;BS.constructor=CS;uN(BS,Sm.prototype);BS.isPureReactComponent=!0;var lN=Array.isArray;function ES(){}var Wn={H:null,A:null,T:null,S:null},gN=Object.prototype.hasOwnProperty;function IS(n,l,A){var c=A.ref;return{$$typeof:hS,type:n,key:l,ref:c!==void 0?c:null,props:A}}function HO(n,l){return IS(n.type,l,n.props)}function yS(n){return typeof n=="object"&&n!==null&&n.$$typeof===hS}function GO(n){var l={"=":"=0",":":"=2"};return"$"+n.replace(/[=:]/g,function(A){return l[A]})}var AN=/\/+/g;function pS(n,l){return typeof n=="object"&&n!==null&&n.key!=null?GO(""+n.key):l.toString(36)}function kO(n){switch(n.status){case"fulfilled":return n.value;case"rejected":throw n.reason;default:switch(typeof n.status=="string"?n.then(ES,ES):(n.status="pending",n.then(function(l){n.status==="pending"&&(n.status="fulfilled",n.value=l)},function(l){n.status==="pending"&&(n.status="rejected",n.reason=l)})),n.status){case"fulfilled":return n.value;case"rejected":throw n.reason}}throw n}function Qm(n,l,A,c,d){var p=typeof n;(p==="undefined"||p==="boolean")&&(n=null);var h=!1;if(n===null)h=!0;else switch(p){case"bigint":case"string":case"number":h=!0;break;case"object":switch(n.$$typeof){case hS:case vO:h=!0;break;case sN:return h=n._init,Qm(h(n._payload),l,A,c,d)}}if(h)return d=d(n),h=c===""?"."+pS(n,0):c,lN(d)?(A="",h!=null&&(A=h.replace(AN,"$&/")+"/"),Qm(d,l,A,"",function(Q){return Q})):d!=null&&(yS(d)&&(d=HO(d,A+(d.key==null||n&&n.key===d.key?"":(""+d.key).replace(AN,"$&/")+"/")+h)),l.push(d)),1;h=0;var B=c===""?".":c+":";if(lN(n))for(var I=0;I<n.length;I++)c=n[I],p=B+pS(c,I),h+=Qm(c,l,A,p,d);else if(I=OO(n),typeof I=="function")for(n=I.call(n),I=0;!(c=n.next()).done;)c=c.value,p=B+pS(c,I++),h+=Qm(c,l,A,p,d);else if(p==="object"){if(typeof n.then=="function")return Qm(kO(n),l,A,c,d);throw l=String(n),Error("Objects are not valid as a React child (found: "+(l==="[object Object]"?"object with keys {"+Object.keys(n).join(", ")+"}":l)+"). If you meant to render a collection of children, use an array instead.")}return h}function sy(n,l,A){if(n==null)return n;var c=[],d=0;return Qm(n,c,"","",function(p){return l.call(A,p,d++)}),c}function LO(n){if(n._status===-1){var l=n._result,A=l();A.then(function(c){(n._status===0||n._status===-1)&&(n._status=1,n._result=c,A.status===void 0&&(A.status="fulfilled",A.value=c))},function(c){(n._status===0||n._status===-1)&&(n._status=2,n._result=c,A.status===void 0&&(A.status="rejected",A.reason=c))}),n._status===-1&&(n._status=0,n._result=A)}if(n._status===1)return n._result.default;throw n._result}var rN=typeof reportError=="function"?reportError:function(n){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var l=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof n=="object"&&n!==null&&typeof n.message=="string"?String(n.message):String(n),error:n});if(!window.dispatchEvent(l))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",n);return}console.error(n)};function mN(n){var l=Wn.T,A={};A.types=l!==null?l.types:null,Wn.T=A;try{var c=n(),d=Wn.S;d!==null&&d(A,c),typeof c=="object"&&c!==null&&typeof c.then=="function"&&c.then(ES,rN)}catch(p){rN(p)}finally{l!==null&&A.types!==null&&(l.types=A.types),Wn.T=l}}function pN(n){var l=Wn.T;if(l!==null){var A=l.types;A===null?l.types=[n]:A.indexOf(n)===-1&&A.push(n)}else mN(pN.bind(null,n))}var zO={map:sy,forEach:function(n,l,A){sy(n,function(){l.apply(this,arguments)},A)},count:function(n){var l=0;return sy(n,function(){l++}),l},toArray:function(n){return sy(n,function(l){return l})||[]},only:function(n){if(!yS(n))throw Error("React.Children.only expected to receive a single React element child.");return n}};wt.Activity=UO;wt.Children=zO;wt.Component=Sm;wt.Fragment=DO;wt.Profiler=TO;wt.PureComponent=CS;wt.StrictMode=RO;wt.Suspense=xO;wt.ViewTransition=MO;wt.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=Wn;wt.__COMPILER_RUNTIME={__proto__:null,c:function(n){return Wn.H.useMemoCache(n)}};wt.addTransitionType=pN;wt.cache=function(n){return function(){return n.apply(null,arguments)}};wt.cacheSignal=function(){return null};wt.cloneElement=function(n,l,A){if(n==null)throw Error("The argument must be a React element, but you passed "+n+".");var c=uN({},n.props),d=n.key;if(l!=null)for(p in l.key!==void 0&&(d=""+l.key),l)!gN.call(l,p)||p==="key"||p==="__self"||p==="__source"||p==="ref"&&l.ref===void 0||(c[p]=l[p]);var p=arguments.length-2;if(p===1)c.children=A;else if(1<p){for(var h=Array(p),B=0;B<p;B++)h[B]=arguments[B+2];c.children=h}return IS(n.type,d,c)};wt.createContext=function(n){return n={$$typeof:wO,_currentValue:n,_currentValue2:n,_threadCount:0,Provider:null,Consumer:null},n.Provider=n,n.Consumer={$$typeof:NO,_context:n},n};wt.createElement=function(n,l,A){var c,d={},p=null;if(l!=null)for(c in l.key!==void 0&&(p=""+l.key),l)gN.call(l,c)&&c!=="key"&&c!=="__self"&&c!=="__source"&&(d[c]=l[c]);var h=arguments.length-2;if(h===1)d.children=A;else if(1<h){for(var B=Array(h),I=0;I<h;I++)B[I]=arguments[I+2];d.children=B}if(n&&n.defaultProps)for(c in h=n.defaultProps,h)d[c]===void 0&&(d[c]=h[c]);return IS(n,p,d)};wt.createRef=function(){return{current:null}};wt.forwardRef=function(n){return{$$typeof:bO,render:n}};wt.isValidElement=yS;wt.lazy=function(n){return{$$typeof:sN,_payload:{_status:-1,_result:n},_init:LO}};wt.memo=function(n,l){return{$$typeof:_O,type:n,compare:l===void 0?null:l}};wt.startTransition=mN;wt.unstable_useCacheRefresh=function(){return Wn.H.useCacheRefresh()};wt.use=function(n){return Wn.H.use(n)};wt.useActionState=function(n,l,A){return Wn.H.useActionState(n,l,A)};wt.useCallback=function(n,l){return Wn.H.useCallback(n,l)};wt.useContext=function(n){return Wn.H.useContext(n)};wt.useDebugValue=function(){};wt.useDeferredValue=function(n,l){return Wn.H.useDeferredValue(n,l)};wt.useEffect=function(n,l){return Wn.H.useEffect(n,l)};wt.useEffectEvent=function(n){return Wn.H.useEffectEvent(n)};wt.useId=function(){return Wn.H.useId()};wt.useImperativeHandle=function(n,l,A){return Wn.H.useImperativeHandle(n,l,A)};wt.useInsertionEffect=function(n,l){return Wn.H.useInsertionEffect(n,l)};wt.useLayoutEffect=function(n,l){return Wn.H.useLayoutEffect(n,l)};wt.useMemo=function(n,l){return Wn.H.useMemo(n,l)};wt.useOptimistic=function(n,l){return Wn.H.useOptimistic(n,l)};wt.useReducer=function(n,l,A){return Wn.H.useReducer(n,l,A)};wt.useRef=function(n){return Wn.H.useRef(n)};wt.useState=function(n){return Wn.H.useState(n)};wt.useSyncExternalStore=function(n,l,A){return Wn.H.useSyncExternalStore(n,l,A)};wt.useTransition=function(){return Wn.H.useTransition()};wt.version="19.3.0"});var hN=Ko((yt,cy)=>{"use strict";process.env.NODE_ENV!=="production"&&(function(){function n(D,b){Object.defineProperty(c.prototype,D,{get:function(){console.warn("%s(...) is deprecated in plain JavaScript React classes. %s",b[0],b[1])}})}function l(D){return D===null||typeof D!="object"?null:(D=Ho&&D[Ho]||D["@@iterator"],typeof D=="function"?D:null)}function A(D,b){D=(D=D.constructor)&&(D.displayName||D.name)||"ReactClass";var $=D+"."+b;zt[$]||(console.error("Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.",b,D),zt[$]=!0)}function c(D,b,$){this.props=D,this.context=b,this.refs=No,this.updater=$||jn}function d(){}function p(D,b,$){this.props=D,this.context=b,this.refs=No,this.updater=$||jn}function h(){}function B(D){return""+D}function I(D){try{B(D);var b=!1}catch{b=!0}if(b){b=console;var $=b.error,ce=typeof Symbol=="function"&&Symbol.toStringTag&&D[Symbol.toStringTag]||D.constructor.name||"Object";return $.call(b,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",ce),B(D)}}function Q(D){if(D==null)return null;if(typeof D=="function")return D.$$typeof===Jn?null:D.displayName||D.name||null;if(typeof D=="string")return D;switch(D){case Bt:return"Fragment";case be:return"Profiler";case ee:return"StrictMode";case St:return"Suspense";case Je:return"SuspenseList";case tt:return"Activity";case Ht:return"ViewTransition"}if(typeof D=="object")switch(typeof D.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),D.$$typeof){case pt:return"Portal";case je:return D.displayName||"Context";case fe:return(D._context.displayName||"Context")+".Consumer";case Qt:var b=D.render;return D=D.displayName,D||(D=b.displayName||b.name||"",D=D!==""?"ForwardRef("+D+")":"ForwardRef"),D;case Te:return b=D.displayName||null,b!==null?b:Q(D.type)||"Memo";case Yt:b=D._payload,D=D._init;try{return Q(D(b))}catch{}}return null}function x(D){if(D===Bt)return"<>";if(typeof D=="object"&&D!==null&&D.$$typeof===Yt)return"<...>";try{var b=Q(D);return b?"<"+b+">":"<...>"}catch{return"<...>"}}function M(){var D=Fe.A;return D===null?null:D.getOwner()}function R(){return Error("react-stack-top-frame")}function _(D){if(Kn.call(D,"key")){var b=Object.getOwnPropertyDescriptor(D,"key").get;if(b&&b.isReactWarning)return!1}return D.key!==void 0}function G(D,b){function $(){wo||(wo=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",b))}$.isReactWarning=!0,Object.defineProperty(D,"key",{get:$,configurable:!0})}function k(){var D=Q(this.type);return ft[D]||(ft[D]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),D=this.props.ref,D!==void 0?D:null}function J(D,b,$,ce,ge,Oe){var Ue=$.ref;return D={$$typeof:Se,type:D,key:b,props:$,_owner:ce},(Ue!==void 0?Ue:null)!==null?Object.defineProperty(D,"ref",{enumerable:!1,get:k}):Object.defineProperty(D,"ref",{enumerable:!1,value:null}),D._store={},Object.defineProperty(D._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(D,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(D,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:ge}),Object.defineProperty(D,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:Oe}),Object.freeze&&(Object.freeze(D.props),Object.freeze(D)),D}function q(D,b){return b=J(D.type,b,D.props,D._owner,D._debugStack,D._debugTask),D._store&&(b._store.validated=D._store.validated),b}function ye(D){we(D)?D._store&&(D._store.validated=1):typeof D=="object"&&D!==null&&D.$$typeof===Yt&&(D._payload.status==="fulfilled"?we(D._payload.value)&&D._payload.value._store&&(D._payload.value._store.validated=1):D._store&&(D._store.validated=1))}function we(D){return typeof D=="object"&&D!==null&&D.$$typeof===Se}function Ge(D){var b={"=":"=0",":":"=2"};return"$"+D.replace(/[=:]/g,function($){return b[$]})}function Me(D,b){return typeof D=="object"&&D!==null&&D.key!=null?(I(D.key),Ge(""+D.key)):b.toString(36)}function Xe(D){switch(D.status){case"fulfilled":return D.value;case"rejected":throw D.reason;default:switch(typeof D.status=="string"?D.then(h,h):(D.status="pending",D.then(function(b){D.status==="pending"&&(D.status="fulfilled",D.value=b)},function(b){D.status==="pending"&&(D.status="rejected",D.reason=b)})),D.status){case"fulfilled":return D.value;case"rejected":throw D.reason}}throw D}function Re(D,b,$,ce,ge){var Oe=typeof D;(Oe==="undefined"||Oe==="boolean")&&(D=null);var Ue=!1;if(D===null)Ue=!0;else switch(Oe){case"bigint":case"string":case"number":Ue=!0;break;case"object":switch(D.$$typeof){case Se:case pt:Ue=!0;break;case Yt:return Ue=D._init,Re(Ue(D._payload),b,$,ce,ge)}}if(Ue){Ue=D,ge=ge(Ue);var it=ce===""?"."+Me(Ue,0):ce;return Dt(ge)?($="",it!=null&&($=it.replace($t,"$&/")+"/"),Re(ge,b,$,"",function(Ia){return Ia})):ge!=null&&(we(ge)&&(ge.key!=null&&(Ue&&Ue.key===ge.key||I(ge.key)),$=q(ge,$+(ge.key==null||Ue&&Ue.key===ge.key?"":(""+ge.key).replace($t,"$&/")+"/")+it),ce!==""&&Ue!=null&&we(Ue)&&Ue.key==null&&Ue._store&&!Ue._store.validated&&($._store.validated=2),ge=$),b.push(ge)),1}if(Ue=0,it=ce===""?".":ce+":",Dt(D))for(var vt=0;vt<D.length;vt++)ce=D[vt],Oe=it+Me(ce,vt),Ue+=Re(ce,b,$,Oe,ge);else if(vt=l(D),typeof vt=="function")for(vt===D.entries&&(Ca||console.warn("Using Maps as children is not supported. Use an array of keyed ReactElements instead."),Ca=!0),D=vt.call(D),vt=0;!(ce=D.next()).done;)ce=ce.value,Oe=it+Me(ce,vt++),Ue+=Re(ce,b,$,Oe,ge);else if(Oe==="object"){if(typeof D.then=="function")return Re(Xe(D),b,$,ce,ge);throw b=String(D),Error("Objects are not valid as a React child (found: "+(b==="[object Object]"?"object with keys {"+Object.keys(D).join(", ")+"}":b)+"). If you meant to render a collection of children, use an array instead.")}return Ue}function _e(D,b,$){if(D==null)return D;var ce=[],ge=0;return Re(D,ce,"","",function(Oe){return b.call($,Oe,ge++)}),ce}function Qe(D){if(D._status===-1){var b=null,$=null,ce=D._ioInfo;ce!=null&&(ce.start=ce.end=performance.now(),ce.value=new Promise(function(Ue,it){b=Ue,$=it})),ce=D._result;var ge=ce();if(ge.then(function(Ue){if(D._status===0||D._status===-1){D._status=1,D._result=Ue;var it=D._ioInfo;if(it!=null){it.end=performance.now();var vt=Ue?.default;b(vt),it.value.status="fulfilled",it.value.value=vt}ge.status===void 0&&(ge.status="fulfilled",ge.value=Ue)}},function(Ue){if(D._status===0||D._status===-1){D._status=2,D._result=Ue;var it=D._ioInfo;it!=null&&(it.end=performance.now(),it.value.then(h,h),$(Ue),it.value.status="rejected",it.value.reason=Ue),ge.status===void 0&&(ge.status="rejected",ge.reason=Ue)}}),ce=D._ioInfo,ce!=null){var Oe=ge.displayName;typeof Oe=="string"&&(ce.name=Oe)}D._status===-1&&(D._status=0,D._result=ge)}if(D._status===1)return ce=D._result,ce===void 0&&console.error(`lazy: Expected the result of a dynamic import() call. Instead received: %s
|
|
3
|
+
import{$ as di,$a as Ff,A as fR,Aa as tA,Ab as u2,B as dR,Ba as UR,Bb as f2,C as gR,Ca as MR,Cb as Vf,D as zf,Da as OR,Db as YI,E as ui,Ea as ys,Eb as d2,F as It,Fa as pm,Fb as FQ,G as Wt,Ga as HR,Gb as g2,H as ta,Ha as GR,Hb as m2,I as Bn,Ia as kR,Ib as p2,J as bI,Ja as vn,Jb as E2,K as Ma,Ka as kQ,Kb as h2,L as xI,La as To,Lb as FI,M as Vn,Ma as LI,Mb as C2,N as mR,Na as Kc,Nb as B2,O as pR,Oa as JR,Ob as I2,P as ph,Pa as LQ,Pb as y2,Q as dm,Qa as KR,R as ER,Ra as YR,S as Eh,Sa as FR,Sb as Q2,T as jf,Ta as nA,Tb as S2,U as Jf,Ua as Kf,V as _I,Va as qR,W as UI,Wa as VR,X as HQ,Xa as zI,Y as hR,Ya as Sr,Z as gm,Za as Yf,_ as fi,_a as zQ,a as iR,aa as at,ab as Ch,b as S,ba as CR,bb as jQ,c as NI,ca as BR,cb as XR,d as lR,da as Jc,db as ZR,e as eA,ea as MI,eb as PR,f as kf,fa as GQ,fb as WR,g as Lf,ga as OI,gb as $R,h as mh,ha as IR,hb as e2,i as AR,ia as yR,ib as t2,j as rR,ja as QR,jb as n2,k as zc,ka as bl,kb as o2,l as um,la as hh,lb as a2,m as MA,ma as SR,mb as i2,n as OQ,na as vR,nb as jI,o as wI,oa as DR,ob as JI,p as Nl,pa as HI,pb as qf,q as sR,qa as mm,qb as l2,r as fn,ra as RR,rb as KI,s as Qr,sa as GI,sb as A2,t as Is,ta as kI,tb as Bh,u as cR,ua as TR,ub as JQ,v as fm,va as NR,vb as r2,w as OA,wa as wR,wb as s2,x as uR,xa as bR,xb as KQ,y as wl,ya as xR,yb as YQ,z as jc,za as _R,zb as c2}from"./chunk-DOZ5U6CI.js";import{a as LR,c as zR,d as jR}from"./chunk-42IVF3YT.js";import{a as MQ,b as Ko,c as AU,d as rt}from"./chunk-6EA4DGCY.js";var aN=Ko(ry=>{"use strict";var QO=Symbol.for("react.transitional.element"),SO=Symbol.for("react.fragment");function oN(n,l,A){var c=null;if(A!==void 0&&(c=""+A),l.key!==void 0&&(c=""+l.key),"key"in l){A={};for(var d in l)d!=="key"&&(A[d]=l[d])}else A=l;return l=A.ref,{$$typeof:QO,type:n,key:c,ref:l!==void 0?l:null,props:A}}ry.Fragment=SO;ry.jsx=oN;ry.jsxs=oN});var EN=Ko(wt=>{"use strict";var hS=Symbol.for("react.transitional.element"),vO=Symbol.for("react.portal"),DO=Symbol.for("react.fragment"),RO=Symbol.for("react.strict_mode"),TO=Symbol.for("react.profiler"),NO=Symbol.for("react.consumer"),wO=Symbol.for("react.context"),bO=Symbol.for("react.forward_ref"),xO=Symbol.for("react.suspense"),_O=Symbol.for("react.memo"),sN=Symbol.for("react.lazy"),UO=Symbol.for("react.activity"),MO=Symbol.for("react.view_transition"),iN=Symbol.iterator;function OO(n){return n===null||typeof n!="object"?null:(n=iN&&n[iN]||n["@@iterator"],typeof n=="function"?n:null)}var cN={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},uN=Object.assign,fN={};function Sm(n,l,A){this.props=n,this.context=l,this.refs=fN,this.updater=A||cN}Sm.prototype.isReactComponent={};Sm.prototype.setState=function(n,l){if(typeof n!="object"&&typeof n!="function"&&n!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,n,l,"setState")};Sm.prototype.forceUpdate=function(n){this.updater.enqueueForceUpdate(this,n,"forceUpdate")};function dN(){}dN.prototype=Sm.prototype;function CS(n,l,A){this.props=n,this.context=l,this.refs=fN,this.updater=A||cN}var BS=CS.prototype=new dN;BS.constructor=CS;uN(BS,Sm.prototype);BS.isPureReactComponent=!0;var lN=Array.isArray;function ES(){}var Wn={H:null,A:null,T:null,S:null},gN=Object.prototype.hasOwnProperty;function IS(n,l,A){var c=A.ref;return{$$typeof:hS,type:n,key:l,ref:c!==void 0?c:null,props:A}}function HO(n,l){return IS(n.type,l,n.props)}function yS(n){return typeof n=="object"&&n!==null&&n.$$typeof===hS}function GO(n){var l={"=":"=0",":":"=2"};return"$"+n.replace(/[=:]/g,function(A){return l[A]})}var AN=/\/+/g;function pS(n,l){return typeof n=="object"&&n!==null&&n.key!=null?GO(""+n.key):l.toString(36)}function kO(n){switch(n.status){case"fulfilled":return n.value;case"rejected":throw n.reason;default:switch(typeof n.status=="string"?n.then(ES,ES):(n.status="pending",n.then(function(l){n.status==="pending"&&(n.status="fulfilled",n.value=l)},function(l){n.status==="pending"&&(n.status="rejected",n.reason=l)})),n.status){case"fulfilled":return n.value;case"rejected":throw n.reason}}throw n}function Qm(n,l,A,c,d){var p=typeof n;(p==="undefined"||p==="boolean")&&(n=null);var h=!1;if(n===null)h=!0;else switch(p){case"bigint":case"string":case"number":h=!0;break;case"object":switch(n.$$typeof){case hS:case vO:h=!0;break;case sN:return h=n._init,Qm(h(n._payload),l,A,c,d)}}if(h)return d=d(n),h=c===""?"."+pS(n,0):c,lN(d)?(A="",h!=null&&(A=h.replace(AN,"$&/")+"/"),Qm(d,l,A,"",function(Q){return Q})):d!=null&&(yS(d)&&(d=HO(d,A+(d.key==null||n&&n.key===d.key?"":(""+d.key).replace(AN,"$&/")+"/")+h)),l.push(d)),1;h=0;var B=c===""?".":c+":";if(lN(n))for(var I=0;I<n.length;I++)c=n[I],p=B+pS(c,I),h+=Qm(c,l,A,p,d);else if(I=OO(n),typeof I=="function")for(n=I.call(n),I=0;!(c=n.next()).done;)c=c.value,p=B+pS(c,I++),h+=Qm(c,l,A,p,d);else if(p==="object"){if(typeof n.then=="function")return Qm(kO(n),l,A,c,d);throw l=String(n),Error("Objects are not valid as a React child (found: "+(l==="[object Object]"?"object with keys {"+Object.keys(n).join(", ")+"}":l)+"). If you meant to render a collection of children, use an array instead.")}return h}function sy(n,l,A){if(n==null)return n;var c=[],d=0;return Qm(n,c,"","",function(p){return l.call(A,p,d++)}),c}function LO(n){if(n._status===-1){var l=n._result,A=l();A.then(function(c){(n._status===0||n._status===-1)&&(n._status=1,n._result=c,A.status===void 0&&(A.status="fulfilled",A.value=c))},function(c){(n._status===0||n._status===-1)&&(n._status=2,n._result=c,A.status===void 0&&(A.status="rejected",A.reason=c))}),n._status===-1&&(n._status=0,n._result=A)}if(n._status===1)return n._result.default;throw n._result}var rN=typeof reportError=="function"?reportError:function(n){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var l=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof n=="object"&&n!==null&&typeof n.message=="string"?String(n.message):String(n),error:n});if(!window.dispatchEvent(l))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",n);return}console.error(n)};function mN(n){var l=Wn.T,A={};A.types=l!==null?l.types:null,Wn.T=A;try{var c=n(),d=Wn.S;d!==null&&d(A,c),typeof c=="object"&&c!==null&&typeof c.then=="function"&&c.then(ES,rN)}catch(p){rN(p)}finally{l!==null&&A.types!==null&&(l.types=A.types),Wn.T=l}}function pN(n){var l=Wn.T;if(l!==null){var A=l.types;A===null?l.types=[n]:A.indexOf(n)===-1&&A.push(n)}else mN(pN.bind(null,n))}var zO={map:sy,forEach:function(n,l,A){sy(n,function(){l.apply(this,arguments)},A)},count:function(n){var l=0;return sy(n,function(){l++}),l},toArray:function(n){return sy(n,function(l){return l})||[]},only:function(n){if(!yS(n))throw Error("React.Children.only expected to receive a single React element child.");return n}};wt.Activity=UO;wt.Children=zO;wt.Component=Sm;wt.Fragment=DO;wt.Profiler=TO;wt.PureComponent=CS;wt.StrictMode=RO;wt.Suspense=xO;wt.ViewTransition=MO;wt.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=Wn;wt.__COMPILER_RUNTIME={__proto__:null,c:function(n){return Wn.H.useMemoCache(n)}};wt.addTransitionType=pN;wt.cache=function(n){return function(){return n.apply(null,arguments)}};wt.cacheSignal=function(){return null};wt.cloneElement=function(n,l,A){if(n==null)throw Error("The argument must be a React element, but you passed "+n+".");var c=uN({},n.props),d=n.key;if(l!=null)for(p in l.key!==void 0&&(d=""+l.key),l)!gN.call(l,p)||p==="key"||p==="__self"||p==="__source"||p==="ref"&&l.ref===void 0||(c[p]=l[p]);var p=arguments.length-2;if(p===1)c.children=A;else if(1<p){for(var h=Array(p),B=0;B<p;B++)h[B]=arguments[B+2];c.children=h}return IS(n.type,d,c)};wt.createContext=function(n){return n={$$typeof:wO,_currentValue:n,_currentValue2:n,_threadCount:0,Provider:null,Consumer:null},n.Provider=n,n.Consumer={$$typeof:NO,_context:n},n};wt.createElement=function(n,l,A){var c,d={},p=null;if(l!=null)for(c in l.key!==void 0&&(p=""+l.key),l)gN.call(l,c)&&c!=="key"&&c!=="__self"&&c!=="__source"&&(d[c]=l[c]);var h=arguments.length-2;if(h===1)d.children=A;else if(1<h){for(var B=Array(h),I=0;I<h;I++)B[I]=arguments[I+2];d.children=B}if(n&&n.defaultProps)for(c in h=n.defaultProps,h)d[c]===void 0&&(d[c]=h[c]);return IS(n,p,d)};wt.createRef=function(){return{current:null}};wt.forwardRef=function(n){return{$$typeof:bO,render:n}};wt.isValidElement=yS;wt.lazy=function(n){return{$$typeof:sN,_payload:{_status:-1,_result:n},_init:LO}};wt.memo=function(n,l){return{$$typeof:_O,type:n,compare:l===void 0?null:l}};wt.startTransition=mN;wt.unstable_useCacheRefresh=function(){return Wn.H.useCacheRefresh()};wt.use=function(n){return Wn.H.use(n)};wt.useActionState=function(n,l,A){return Wn.H.useActionState(n,l,A)};wt.useCallback=function(n,l){return Wn.H.useCallback(n,l)};wt.useContext=function(n){return Wn.H.useContext(n)};wt.useDebugValue=function(){};wt.useDeferredValue=function(n,l){return Wn.H.useDeferredValue(n,l)};wt.useEffect=function(n,l){return Wn.H.useEffect(n,l)};wt.useEffectEvent=function(n){return Wn.H.useEffectEvent(n)};wt.useId=function(){return Wn.H.useId()};wt.useImperativeHandle=function(n,l,A){return Wn.H.useImperativeHandle(n,l,A)};wt.useInsertionEffect=function(n,l){return Wn.H.useInsertionEffect(n,l)};wt.useLayoutEffect=function(n,l){return Wn.H.useLayoutEffect(n,l)};wt.useMemo=function(n,l){return Wn.H.useMemo(n,l)};wt.useOptimistic=function(n,l){return Wn.H.useOptimistic(n,l)};wt.useReducer=function(n,l,A){return Wn.H.useReducer(n,l,A)};wt.useRef=function(n){return Wn.H.useRef(n)};wt.useState=function(n){return Wn.H.useState(n)};wt.useSyncExternalStore=function(n,l,A){return Wn.H.useSyncExternalStore(n,l,A)};wt.useTransition=function(){return Wn.H.useTransition()};wt.version="19.3.0"});var hN=Ko((yt,cy)=>{"use strict";process.env.NODE_ENV!=="production"&&(function(){function n(D,b){Object.defineProperty(c.prototype,D,{get:function(){console.warn("%s(...) is deprecated in plain JavaScript React classes. %s",b[0],b[1])}})}function l(D){return D===null||typeof D!="object"?null:(D=Ho&&D[Ho]||D["@@iterator"],typeof D=="function"?D:null)}function A(D,b){D=(D=D.constructor)&&(D.displayName||D.name)||"ReactClass";var $=D+"."+b;zt[$]||(console.error("Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.",b,D),zt[$]=!0)}function c(D,b,$){this.props=D,this.context=b,this.refs=No,this.updater=$||jn}function d(){}function p(D,b,$){this.props=D,this.context=b,this.refs=No,this.updater=$||jn}function h(){}function B(D){return""+D}function I(D){try{B(D);var b=!1}catch{b=!0}if(b){b=console;var $=b.error,ce=typeof Symbol=="function"&&Symbol.toStringTag&&D[Symbol.toStringTag]||D.constructor.name||"Object";return $.call(b,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",ce),B(D)}}function Q(D){if(D==null)return null;if(typeof D=="function")return D.$$typeof===Jn?null:D.displayName||D.name||null;if(typeof D=="string")return D;switch(D){case Bt:return"Fragment";case be:return"Profiler";case ee:return"StrictMode";case St:return"Suspense";case Je:return"SuspenseList";case tt:return"Activity";case Ht:return"ViewTransition"}if(typeof D=="object")switch(typeof D.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),D.$$typeof){case pt:return"Portal";case je:return D.displayName||"Context";case fe:return(D._context.displayName||"Context")+".Consumer";case Qt:var b=D.render;return D=D.displayName,D||(D=b.displayName||b.name||"",D=D!==""?"ForwardRef("+D+")":"ForwardRef"),D;case Te:return b=D.displayName||null,b!==null?b:Q(D.type)||"Memo";case Yt:b=D._payload,D=D._init;try{return Q(D(b))}catch{}}return null}function x(D){if(D===Bt)return"<>";if(typeof D=="object"&&D!==null&&D.$$typeof===Yt)return"<...>";try{var b=Q(D);return b?"<"+b+">":"<...>"}catch{return"<...>"}}function M(){var D=Fe.A;return D===null?null:D.getOwner()}function R(){return Error("react-stack-top-frame")}function _(D){if(Kn.call(D,"key")){var b=Object.getOwnPropertyDescriptor(D,"key").get;if(b&&b.isReactWarning)return!1}return D.key!==void 0}function G(D,b){function $(){wo||(wo=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",b))}$.isReactWarning=!0,Object.defineProperty(D,"key",{get:$,configurable:!0})}function k(){var D=Q(this.type);return ft[D]||(ft[D]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),D=this.props.ref,D!==void 0?D:null}function J(D,b,$,ce,ge,Oe){var Ue=$.ref;return D={$$typeof:Se,type:D,key:b,props:$,_owner:ce},(Ue!==void 0?Ue:null)!==null?Object.defineProperty(D,"ref",{enumerable:!1,get:k}):Object.defineProperty(D,"ref",{enumerable:!1,value:null}),D._store={},Object.defineProperty(D._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(D,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(D,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:ge}),Object.defineProperty(D,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:Oe}),Object.freeze&&(Object.freeze(D.props),Object.freeze(D)),D}function q(D,b){return b=J(D.type,b,D.props,D._owner,D._debugStack,D._debugTask),D._store&&(b._store.validated=D._store.validated),b}function ye(D){we(D)?D._store&&(D._store.validated=1):typeof D=="object"&&D!==null&&D.$$typeof===Yt&&(D._payload.status==="fulfilled"?we(D._payload.value)&&D._payload.value._store&&(D._payload.value._store.validated=1):D._store&&(D._store.validated=1))}function we(D){return typeof D=="object"&&D!==null&&D.$$typeof===Se}function Ge(D){var b={"=":"=0",":":"=2"};return"$"+D.replace(/[=:]/g,function($){return b[$]})}function Me(D,b){return typeof D=="object"&&D!==null&&D.key!=null?(I(D.key),Ge(""+D.key)):b.toString(36)}function Xe(D){switch(D.status){case"fulfilled":return D.value;case"rejected":throw D.reason;default:switch(typeof D.status=="string"?D.then(h,h):(D.status="pending",D.then(function(b){D.status==="pending"&&(D.status="fulfilled",D.value=b)},function(b){D.status==="pending"&&(D.status="rejected",D.reason=b)})),D.status){case"fulfilled":return D.value;case"rejected":throw D.reason}}throw D}function Re(D,b,$,ce,ge){var Oe=typeof D;(Oe==="undefined"||Oe==="boolean")&&(D=null);var Ue=!1;if(D===null)Ue=!0;else switch(Oe){case"bigint":case"string":case"number":Ue=!0;break;case"object":switch(D.$$typeof){case Se:case pt:Ue=!0;break;case Yt:return Ue=D._init,Re(Ue(D._payload),b,$,ce,ge)}}if(Ue){Ue=D,ge=ge(Ue);var it=ce===""?"."+Me(Ue,0):ce;return Dt(ge)?($="",it!=null&&($=it.replace($t,"$&/")+"/"),Re(ge,b,$,"",function(Ia){return Ia})):ge!=null&&(we(ge)&&(ge.key!=null&&(Ue&&Ue.key===ge.key||I(ge.key)),$=q(ge,$+(ge.key==null||Ue&&Ue.key===ge.key?"":(""+ge.key).replace($t,"$&/")+"/")+it),ce!==""&&Ue!=null&&we(Ue)&&Ue.key==null&&Ue._store&&!Ue._store.validated&&($._store.validated=2),ge=$),b.push(ge)),1}if(Ue=0,it=ce===""?".":ce+":",Dt(D))for(var vt=0;vt<D.length;vt++)ce=D[vt],Oe=it+Me(ce,vt),Ue+=Re(ce,b,$,Oe,ge);else if(vt=l(D),typeof vt=="function")for(vt===D.entries&&(Ca||console.warn("Using Maps as children is not supported. Use an array of keyed ReactElements instead."),Ca=!0),D=vt.call(D),vt=0;!(ce=D.next()).done;)ce=ce.value,Oe=it+Me(ce,vt++),Ue+=Re(ce,b,$,Oe,ge);else if(Oe==="object"){if(typeof D.then=="function")return Re(Xe(D),b,$,ce,ge);throw b=String(D),Error("Objects are not valid as a React child (found: "+(b==="[object Object]"?"object with keys {"+Object.keys(D).join(", ")+"}":b)+"). If you meant to render a collection of children, use an array instead.")}return Ue}function _e(D,b,$){if(D==null)return D;var ce=[],ge=0;return Re(D,ce,"","",function(Oe){return b.call($,Oe,ge++)}),ce}function Qe(D){if(D._status===-1){var b=null,$=null,ce=D._ioInfo;ce!=null&&(ce.start=ce.end=performance.now(),ce.value=new Promise(function(Ue,it){b=Ue,$=it})),ce=D._result;var ge=ce();if(ge.then(function(Ue){if(D._status===0||D._status===-1){D._status=1,D._result=Ue;var it=D._ioInfo;if(it!=null){it.end=performance.now();var vt=Ue?.default;b(vt),it.value.status="fulfilled",it.value.value=vt}ge.status===void 0&&(ge.status="fulfilled",ge.value=Ue)}},function(Ue){if(D._status===0||D._status===-1){D._status=2,D._result=Ue;var it=D._ioInfo;it!=null&&(it.end=performance.now(),it.value.then(h,h),$(Ue),it.value.status="rejected",it.value.reason=Ue),ge.status===void 0&&(ge.status="rejected",ge.reason=Ue)}}),ce=D._ioInfo,ce!=null){var Oe=ge.displayName;typeof Oe=="string"&&(ce.name=Oe)}D._status===-1&&(D._status=0,D._result=ge)}if(D._status===1)return ce=D._result,ce===void 0&&console.error(`lazy: Expected the result of a dynamic import() call. Instead received: %s
|
|
4
4
|
|
|
5
5
|
Your code should look like:
|
|
6
6
|
const MyComponent = lazy(() => import('./MyComponent'))
|
|
@@ -567,7 +567,7 @@ Available templates:`));for(let[p,h]of Object.entries(ey))console.log(` ${S.cya
|
|
|
567
567
|
`,0),at(`Source: ${A.bundledPath?"bundled TDK example":A.repo}`,0),at(`Destination: ${d}
|
|
568
568
|
`,0);try{if(A.bundledPath){let p=ty(wM(bM(new URL("../dist/commands/project.js",import.meta.url).href)),"../../../");DM(ty(p,A.bundledPath),d,{recursive:!0});let h=NM(d).replace(/-/g,"_");for(let B of["services/platform/messaging/docker-compose.yml","services/shop/orders-api/service.json","services/shop/orders-api/src/index.ts","services/shop/orders-worker/service.json","services/shop/orders-worker/src/index.ts"]){let I=ym(d,B),Q=nS(I,"utf-8");TM(I,Q.replaceAll("tdk_example",h))}}else vM("git",["clone",A.repo,d],{stdio:"inherit"})}catch{Ma(A.bundledPath?"Bundled example copy failed. Reinstall the TDK CLI package and try again.":"git clone failed. Check you have git installed and network access.")}console.log(S.green(`
|
|
569
569
|
\u2705 Cloned "${n}" into ${c}/`)),at(`
|
|
570
|
-
Next steps:`,0),at(`1. cd ${c}`),at("2. tdk doctor # check Docker/Tilt are ready"),at("3. tdk up # start the stack")}var Dh={version:"1.0",project:{name:"",version:"1.0.0"},phases:{pre_alpha:{name:"Pre-Alpha",description:"Core infrastructure and MVP services",enabledStacks:UM()},alpha:{name:"Alpha",description:"Essential business services",enabledStacks:[]},beta:{name:"Beta",description:"Extended features",enabledStacks:[]},out_of_scope:{name:"Out of Scope",description:"Future releases",enabledStacks:[]}},optional_infra:{monitoring:!1,elk:!1,debezium:!1,golden_image:!0,verdaccio:!1},discovery:{paths:["services/*/*"]},overrides:{}},rT=new xM("project").description("Initialize or validate project-level master configuration").argument("[template]",`Clone a starter example instead of a blank project (${Object.keys(ey).join(", ")})`).option("--path <dir>","Directory to clone the template into (default: the template's repo name)").option("--check","Check if master configs exist and are in sync").option("--force","Overwrite existing configuration (dangerous)").option("--yes","Non-interactive mode (use defaults)").option("--config-file <path>","Load project config from existing JSON file").action(async(n,l)=>{let{assertMachineReadyOrExit:A}=await import("./cold-preflight-
|
|
570
|
+
Next steps:`,0),at(`1. cd ${c}`),at("2. tdk doctor # check Docker/Tilt are ready"),at("3. tdk up # start the stack")}var Dh={version:"1.0",project:{name:"",version:"1.0.0"},phases:{pre_alpha:{name:"Pre-Alpha",description:"Core infrastructure and MVP services",enabledStacks:UM()},alpha:{name:"Alpha",description:"Essential business services",enabledStacks:[]},beta:{name:"Beta",description:"Extended features",enabledStacks:[]},out_of_scope:{name:"Out of Scope",description:"Future releases",enabledStacks:[]}},optional_infra:{monitoring:!1,elk:!1,debezium:!1,golden_image:!0,verdaccio:!1},discovery:{paths:["services/*/*"]},overrides:{}},rT=new xM("project").description("Initialize or validate project-level master configuration").argument("[template]",`Clone a starter example instead of a blank project (${Object.keys(ey).join(", ")})`).option("--path <dir>","Directory to clone the template into (default: the template's repo name)").option("--check","Check if master configs exist and are in sync").option("--force","Overwrite existing configuration (dangerous)").option("--yes","Non-interactive mode (use defaults)").option("--config-file <path>","Load project config from existing JSON file").action(async(n,l)=>{let{assertMachineReadyOrExit:A}=await import("./cold-preflight-3GFZQO6I.js");if(await A(),n){await Bn(async()=>MM(n,l.path));return}await Bn(async()=>{let c=fn();c||(c=lT(),di(`\u{1F680} Initializing new TDK project...
|
|
571
571
|
`),at(`Location: ${c}
|
|
572
572
|
`,0));let d=ym(c,".tdk"),p=ym(d,zc);if(l.check){let _=MA.every(k=>Yc(ym(c,".tdk",".tdk-out",k))),G=Yc(p);if(_&&G){let k=nA(c);fi("Project configuration is valid"),at(`Project: ${k.project.name}`,3),at(`Phases: ${Object.keys(k.phases).join(", ")}`,3),process.exit(0)}else{if(console.log(S.yellow("\u26A0\uFE0F Project configuration incomplete:")),G||at(".tdk/project.json (not found)",3),!_)for(let k of MA.filter(J=>!Yc(ym(c,".tdk/.tdk-out",J))))at(`.tdk/.tdk-out/${k} (not found)`,3);at("Run `tdk project` to create them."),process.exit(1)}}Jf("Project Configuration"),at(`Project root: ${c}
|
|
573
573
|
`,0),Yc(d)||(JR(d),fi("Created: .tdk/ directory"));let h=Yc(p);if(h&&!l.force){fi(".tdk/project.json exists");let _=JSON.parse(nS(p,"utf-8")),G=nA(c),k=oS(c),J=aS(G,k);if((J.length>0||!_.phases)&&Kc(p,G),J.length>0&&at(`Auto-enabled discovered service stacks: ${J.join(", ")}`,0),di(`
|
|
@@ -1693,7 +1693,7 @@ Read about how to prevent this error on https://github.com/vadimdemedes/ink/#isr
|
|
|
1693
1693
|
`)}`,B="Upgrade tdk to a version that supports these files. Changing schemaVersion by hand is not a fix";l.onInvalid?.(`${h}
|
|
1694
1694
|
Fix: ${B}`),console.error(S.red(`\u2717 ${h}`)),console.error(S.gray(` Fix: ${B}`)),A(1)}import{execFileSync as Nk}from"node:child_process";import{realpathSync as wk}from"node:fs";import{resolve as bk}from"node:path";var xk=(n,l)=>Nk(n,l,{encoding:"utf-8",stdio:"pipe",timeout:5e3,windowsHide:!0});function _k(n,l=process.platform,A=xk){if(l==="win32")return null;try{let c=A("lsof",["-nP",`-iTCP:${n}`,"-sTCP:LISTEN","-t"]).split(/\r?\n/).map(d=>d.trim()).filter(Boolean);for(let d of c){let p=A("ps",["-p",d,"-o","command="]).trim(),[h]=WR(`${d} ${p}`);if(h)return h}}catch{}return null}function m_(n){try{return wk(n)}catch{return bk(n)}}function Uk(n,l){return n!==null&&m_(n.root)!==m_(l)}async function p_(n,l,A,c=_k){let d={running:[],foreign:[]};for(let p of n){if(!await A(p))continue;let h=c(p);h&&Uk(h,l)?d.foreign.push({port:p,root:h.root}):d.running.push(p)}return d}import{execFileSync as Mk}from"node:child_process";var E_=(n,l)=>Mk(n,l,{encoding:"utf-8",stdio:"pipe",windowsHide:!0});function Ok(n,l=process.platform,A=E_){if(!Number.isInteger(n)||n<1||n>65535)return[];if(l==="win32"){let d=`$port=${n}; Get-NetTCPConnection -LocalPort $port -State Listen -ErrorAction SilentlyContinue | ForEach-Object { $p=Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue; if ($p -and $p.ProcessName -eq 'tilt') { $_.OwningProcess } } | Sort-Object -Unique`;try{return A("powershell.exe",["-NoProfile","-Command",d]).split(/\s+/).map(Number).filter(p=>Number.isInteger(p)&&p>0)}catch{throw new Error(`Unable to inspect Tilt listeners on port ${n} with PowerShell.`)}}let c;try{c=A("lsof",["-nP","-t",`-iTCP:${n}`,"-sTCP:LISTEN"]).split(/\s+/).map(Number).filter(d=>Number.isInteger(d)&&d>0)}catch(d){let p=d,h=p.stderr?.toString().trim();if(p?.status===1&&!h)return[];throw new Error(`Unable to inspect listeners on port ${n}. Install lsof or resolve the lsof error before using --force.`,{cause:p})}return c.filter(d=>{try{return A("ps",["-p",String(d),"-o","comm="]).trim().split(/[\\/]/).at(-1)==="tilt"}catch(p){throw new Error(`Unable to identify the process listening on port ${n}.`,{cause:p})}})}function m0(n,l=process.platform,A=E_){let c=Ok(n,l,A);for(let d of c)l==="win32"?A("taskkill.exe",["/PID",String(d),"/F"]):A("kill",["-TERM",String(d)]);return c}function h_(n,l){let A=new Set(l.map(c=>c.name));return n.filter(c=>!A.has(c))}function C_(n,l){let A=new Map(l.map(p=>[p.name,p])),c=new Set,d=p=>{if(!(c.has(p)||!A.has(p))){c.add(p);for(let h of A.get(p)?.config?.dependsOn??[])d(h)}};for(let p of n)d(p);return{selected:l.filter(p=>c.has(p.name)),dependencies:l.map(p=>p.name).filter(p=>c.has(p)&&!n.includes(p))}}function I_(n,l=[]){return["TDK is up.",`Tilt UI: http://localhost:${n}`,"App URLs:",...l.length>0?l.slice(0,5).map(A=>` ${A}`):[" run: tdk networks"],"Stop: tdk down"]}function Lk(n,l){return n!=="win32"||l==="1"?null:"Landscape startup needs Ubuntu on WSL2. Native Windows is inspect-only."}async function zk(n=t2(),l=jk){return n.kind==="webcontainer"?$R:n2(n.kind)&&!await l()?e2:null}async function jk(){let{execFile:n}=await import("node:child_process");return new Promise(l=>{n("docker",["ps"],{timeout:1e4},A=>l(!A))})}var Jk=2;function Kk(n){let l;try{({handEdited:l}=zI(n))}catch(A){if(A instanceof FR)return null;throw A}return l.length===0?null:["Generated files were edited by hand and no longer match service.json:",...l.map(A=>` ${A}`),"Run `tdk config regenerate` to discard the edits, or bypass with `tdk up --ignore-drift`."]}function Yk(n,l,A=process.exit){if(l.ignoreDrift){console.warn(S.yellow("Warning: --ignore-drift set; generated files were not checked."));return}let c=Kk(n);if(c){l.onDrift?.(c.join(`
|
|
1695
1695
|
`));for(let d of c)console.error(S.red(d));A(Jk)}}function Fk(n,l,A=Qr(),c=process.exit){if(l.ignoreVersion){console.warn(S.yellow("Warning: --ignore-version set; minTdkVersion was not checked."));return}let d=I2(n,A);d.status==="none"||d.status==="ok"||(l.onFail?.(`${d.message}
|
|
1696
|
-
${d.fix}`),console.error(S.red(d.message)),console.error(S.red(d.fix)),c(1))}function qk(n,l=3e4){return new Promise(A=>{let c=Date.now()+l,d=()=>{let p=Gk({host:"127.0.0.1",port:n}),h=!1,B=I=>{h||(h=!0,p.destroy(),I||Date.now()>=c?A(I):setTimeout(d,250))};p.once("connect",()=>B(!0)),p.once("error",()=>B(!1))};d()})}var y_=new kk("up").description("Start all services (optionally filtered by stack)").alias("deploy").argument("[stack-name]","Name of the stack to start (optional - runs all if omitted)").option("-v, --verbose","Enable verbose output",!1).option("-q, --quiet","Suppress non-essential output",!1).option("--dry-run","Show what would be started without starting",!1).option("-f, --force","Kill existing Tilt process before starting",!1).option("--ignore-drift","Start even if generated files differ from service.json",!1).option("--ignore-version","Start even if this tdk is older than minTdkVersion in .tdk/project.json",!1).option("--only <services...>","Start only these services plus what the Tiltfile enables for them (their dependsOn services and shared infrastructure). With a stack, names must belong to that stack; dependencies may cross stacks").option("--json","Print one JSON object on stdout when the stack is ready or the command fails; implies --quiet",!1).action(async(n,l)=>{let A=l.json?PI("UP_FAILED","tdk up"):void 0;l.json&&(l.quiet=!0);let c=mS(process.env.TILT_PORT);c.ok||(A?.({ok:!1},[{code:"INVALID_TILT_PORT",message:c.message}]),Ma(c.message));let d=c.port,p=fn();p&&Fk(p,{ignoreVersion:l.ignoreVersion,onFail:x=>A?.({ok:!1},[{code:"TDK_VERSION_TOO_OLD",message:x}])});let h=l.dryRun?null:await zk();h&&(A?.({ok:!1},[{code:"HOST_UNSUPPORTED",message:h}]),Ma(h));let B=Lk(process.platform,process.env.TDK_ALLOW_NATIVE_WINDOWS);B&&Ma(B);let I=fn();if(I&&g_(I,{onInvalid:x=>A?.({ok:!1},[{code:"INVALID_SCHEMA_VERSION",message:x}])}),!l.dryRun){let{assertMachineReadyOrExit:x}=await import("./cold-preflight-
|
|
1696
|
+
${d.fix}`),console.error(S.red(d.message)),console.error(S.red(d.fix)),c(1))}function qk(n,l=3e4){return new Promise(A=>{let c=Date.now()+l,d=()=>{let p=Gk({host:"127.0.0.1",port:n}),h=!1,B=I=>{h||(h=!0,p.destroy(),I||Date.now()>=c?A(I):setTimeout(d,250))};p.once("connect",()=>B(!0)),p.once("error",()=>B(!1))};d()})}var y_=new kk("up").description("Start all services (optionally filtered by stack)").alias("deploy").argument("[stack-name]","Name of the stack to start (optional - runs all if omitted)").option("-v, --verbose","Enable verbose output",!1).option("-q, --quiet","Suppress non-essential output",!1).option("--dry-run","Show what would be started without starting",!1).option("-f, --force","Kill existing Tilt process before starting",!1).option("--ignore-drift","Start even if generated files differ from service.json",!1).option("--ignore-version","Start even if this tdk is older than minTdkVersion in .tdk/project.json",!1).option("--only <services...>","Start only these services plus what the Tiltfile enables for them (their dependsOn services and shared infrastructure). With a stack, names must belong to that stack; dependencies may cross stacks").option("--json","Print one JSON object on stdout when the stack is ready or the command fails; implies --quiet",!1).action(async(n,l)=>{let A=l.json?PI("UP_FAILED","tdk up"):void 0;l.json&&(l.quiet=!0);let c=mS(process.env.TILT_PORT);c.ok||(A?.({ok:!1},[{code:"INVALID_TILT_PORT",message:c.message}]),Ma(c.message));let d=c.port,p=fn();p&&Fk(p,{ignoreVersion:l.ignoreVersion,onFail:x=>A?.({ok:!1},[{code:"TDK_VERSION_TOO_OLD",message:x}])});let h=l.dryRun?null:await zk();h&&(A?.({ok:!1},[{code:"HOST_UNSUPPORTED",message:h}]),Ma(h));let B=Lk(process.platform,process.env.TDK_ALLOW_NATIVE_WINDOWS);B&&Ma(B);let I=fn();if(I&&g_(I,{onInvalid:x=>A?.({ok:!1},[{code:"INVALID_SCHEMA_VERSION",message:x}])}),!l.dryRun){let{assertMachineReadyOrExit:x}=await import("./cold-preflight-3GFZQO6I.js");await x()}let Q=async()=>{let x=l.dryRun?ta():fn(),M=x??process.cwd(),R=UR(),_,G=[];if((!l.only||n)&&(_=ys(R),G=_.map(fe=>fe.name)),l.only){if(n&&!pm(n)){let Qt=Wt.stackNotFound(n,G);A?.({ok:!1},[kQ(Qt).error]),Qt.exit()}let fe=n?R.filter(Qt=>Qt.stack===n):R,je=h_(l.only,fe);if(je.length>0){let Qt=fe.map(Je=>Je.name),St=Wt.unknownServices(je,Qt);A?.({ok:!1},[{code:"UNKNOWN_SERVICE",message:St.message,...St.suggestions.length>0?{suggestions:St.suggestions}:{}}]),St.exit()}}x&&Yk(x,{ignoreDrift:l.ignoreDrift,onDrift:fe=>A?.({ok:!1},[{code:"DRIFT_DETECTED",message:fe}])}),x&&B2(x,{onInvalid:fe=>A?.({ok:!1},[{code:"INVALID_SERVICE_CONFIG",message:fe}])}),x&&!A&&!l.quiet&&C2(x);let k=await FI(M,{inspectDocker:!l.dryRun});if(!l.dryRun){if(x){let Qt=Bh(M);Qt.length>0&&!l.quiet&&console.log(S.gray(`Added ${Qt.join(", ")} to .env (generated; existing values unchanged)`))}x&&!Hk(B_(M,".tdk",".tdk-out","Tiltfile"))&&(l.quiet||console.log(S.gray("No generated Tiltfile yet; generating .tdk/.tdk-out/ ...")),await Kf(M,{quiet:l.quiet}));let fe=VR(M);fe.length>0&&l.verbose&&!l.quiet&&console.log(S.gray(`Refreshed runtime assets: ${fe.join(", ")}`));let je=AT(M);je.length>0&&!l.quiet&&console.log(S.gray(`Added ${je.join(", ")} to the pre_alpha phase in .tdk/project.json`))}let J,q,ye=[];if(n){if(J=R.filter(fe=>fe.stack===n),J.length===0){let fe=Wt.stackNotFound(n,G);A?.({ok:!1},[kQ(fe).error]),fe.exit()}ye=J.map(fe=>fe.name),q=`stack "${n}"`}else{J=R;let fe=_??ys(R);q=`all stacks (${Vn(fe.length,"stack")}, ${Vn(J.length,"service")})`}let we=[];if(l.only){let fe=C_(l.only,tA());J=fe.selected,we=fe.dependencies,ye=J.map(je=>je.name),q=`${Vn(l.only.length,"requested service")}${we.length>0?` plus ${we.join(", ")}`:""}`}l.verbose&&!l.quiet&&console.log(S.gray(`Found ${Vn(J.length,"service")} in ${q}`));let Ge=J.map(fe=>fe.name);if(!l.quiet){console.log(S.blue(`${l.dryRun?"Would start":"Starting"} ${Vn(Ge.length,"service")} from ${q}...`));for(let Je of Ge)console.log(S.gray(` - ${Je}`));let{appBase:fe,apiBase:je}=MI(k.ingressHttp),Qt=J.filter(Je=>Je.config?.appType==="frontend"),St=J.filter(Je=>Jc(Je.config?.appType));if(Qt.length>0){console.log(S.blue(`
|
|
1697
1697
|
\u{1F30D} Frontend URLs:`));for(let Je of Qt){let Te=Je.config?.basePath??`/${Je.name}`;console.log(S.gray(` - ${Je.name}: ${fe}${S.cyan(GQ(Te))}`))}}if(St.length>0){console.log(S.blue(`
|
|
1698
1698
|
\u{1F527} Backend API URLs:`));for(let Je of St){let Te=Je.name.replace(/-api$/,""),Yt=Je.config?.apiPath??`/api/${Te}`,tt=Je.config?.sablier,Ht=tt?.enable&&tt?.deferStart?S.dim(" (deferred \u2014 starts on first request)"):"";console.log(S.gray(` - ${Je.name}: ${je}${S.cyan(GQ(Yt))}${Ht}`))}}}let Me=l.only??(n?[n]:void 0),Xe=dR(ye,{verbose:l.verbose,quiet:l.quiet,force:l.force,focusTargets:Me}),Re=Me?`tilt up ${Xe.join(" ")}`:"tilt up";if(!l.quiet){console.log(S.blue(m2(k)));for(let fe of d_(k))console.log(S.yellow(fe));console.log(S.gray("Override with TDK_HTTP_PORT, TDK_HTTPS_PORT, or TDK_POSTGRES_PORT."))}if(A&&l.dryRun){A({ok:!0,dryRun:!0,stack:n??null,services:Ge,...l.only?{requested:l.only,declaredDependencies:we}:{},command:Re});return}if(XI(l,"not starting services",Re))return;h2(k),E2(M,k);let _e=Nl.tiltUi,Qe=d??_e,Ze=l.only?[...new Set([_e,Qe])]:[Qe],{running:ct,foreign:Ke}=await p_(Ze,M,async fe=>await Vf(fe)!==null);if(Ke.length>0&&d!==void 0){let fe=Ke[0],je=`TILT_PORT=${fe?.port} is used by another project's Tilt (${fe?.root}). Choose a free port, or run tdk down in that project.`;A?.({ok:!1},[{code:"TILT_PORT_IN_USE",message:je}]),Ma(je)}if(!l.quiet)for(let fe of Ke)console.log(S.yellow(`\u26A0\uFE0F Tilt on port ${fe.port} belongs to another project (${fe.root}); this project will use another port.`));let Ot=l.force&&Ke.length===0,lt=$T({runningPorts:ct,force:Ot,only:!!l.only});if(lt.action==="already-running"){let fe=`Environment is already running on port ${lt.ports.join(", ")}.`;A?.({ok:!0,alreadyRunning:!0,tiltUrl:`http://localhost:${lt.ports[0]}`}),l.quiet||console.log(S.green(fe));return}if(lt.action==="only-blocked"){let fe=`A Tilt is already running on port ${lt.ports.join(", ")}. --only cannot change a running stack's services: run \`tdk down\` first, or pass --force to replace it.`;A?.({ok:!1},[{code:"TILT_ALREADY_RUNNING",message:fe}]),Ma(fe)}if(l.only)for(let fe of ct)m0(fe);let de=await eN({configuredPort:d,force:Ot,basePort:_e,findAvailablePort:nT}),ve=de.port;de.autoSwitched&&!l.quiet&&(console.log(S.yellow(`\u26A0\uFE0F Port ${_e} is already in use`)),console.log(S.blue(`\u{1F504} Auto-switching to port ${ve}
|
|
1699
1699
|
`))),process.env.TILT_PORT=ve.toString(),await tN({force:Ot,quiet:l.quiet,port:ve},{stop:m0,log:fe=>console.log(S.yellow(fe)),wait:fe=>new Promise(je=>setTimeout(je,fe))}),l.quiet||(console.log(S.gray(`
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import{createRequire as __tdkRequire}from'node:module';const require=__tdkRequire(import.meta.url);
|
|
2
|
-
import{Qb as a,Rb as b,Sb as c,Tb as d,Ub as e}from"./chunk-
|
|
2
|
+
import{Qb as a,Rb as b,Sb as c,Tb as d,Ub as e}from"./chunk-DOZ5U6CI.js";import"./chunk-42IVF3YT.js";import"./chunk-6EA4DGCY.js";export{e as assertMachineReadyOrExit,d as formatColdPreflight,a as nodeTooOld,b as requireVerifiedDockerVersions,c as runColdPreflight};
|
package/cli/package.json
CHANGED