@tdk-landscape/tdk-cli-core 1.3.159 → 1.3.160
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 tr}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 ea,lstatSync as ta}from"node:fs";import{isAbsolute as yr,normalize as ze,relative as na,sep as Sr}from"node:path";var Tp=[`${N}/**`,".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 ra(e){let t=ze(e).split(Sr).join("/");return yr(e)||t===".."||t.startsWith("../")?!1:t.split("/").includes(N)||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=yr(t)?ze(t):ze(`${e}/${t}`),r=na(e,n).split(Sr).join("/");if(!ra(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}`),ea(s)&&ta(s).isSymbolicLink())throw new Error(`Refusing to write through a symbolic link in generated path: ${r}`);return n}var _e=[C,"proxy"];import{existsSync as Mr,readFileSync as Ur}from"node:fs";import{copyFileSync as vr,mkdirSync as ma,rmSync as Pr,writeFileSync as $r}from"node:fs";import{join as de}from"node:path";function j(e){return e==="backend"||e==="mcp"}import{readFileSync as la}from"node:fs";import{join as da}from"node:path";import{existsSync as oa}from"node:fs";import{dirname as ia,join as aa,resolve as Tr}from"node:path";import{cwd as ca}from"node:process";var br={name:"tdk-cli-internal",private:!0,version:"1.3.
|
|
15
|
+
`),s}import{existsSync as ea,lstatSync as ta}from"node:fs";import{isAbsolute as yr,normalize as ze,relative as na,sep as Sr}from"node:path";var Tp=[`${N}/**`,".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 ra(e){let t=ze(e).split(Sr).join("/");return yr(e)||t===".."||t.startsWith("../")?!1:t.split("/").includes(N)||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=yr(t)?ze(t):ze(`${e}/${t}`),r=na(e,n).split(Sr).join("/");if(!ra(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}`),ea(s)&&ta(s).isSymbolicLink())throw new Error(`Refusing to write through a symbolic link in generated path: ${r}`);return n}var _e=[C,"proxy"];import{existsSync as Mr,readFileSync as Ur}from"node:fs";import{copyFileSync as vr,mkdirSync as ma,rmSync as Pr,writeFileSync as $r}from"node:fs";import{join as de}from"node:path";function j(e){return e==="backend"||e==="mcp"}import{readFileSync as la}from"node:fs";import{join as da}from"node:path";import{existsSync as oa}from"node:fs";import{dirname as ia,join as aa,resolve as Tr}from"node:path";import{cwd as ca}from"node:process";var br={name:"tdk-cli-internal",private:!0,version:"1.3.160",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:"^7.1.1",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=ca()){let t=Tr(e),n=Tr("/");for(;t!==n;){if(oa(aa(t,".tdk",_)))return t;let r=ia(t);if(r===t)break;t=r}return null}var Ye=null;function ua(){if(Ye)return Ye;let e=br;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 xr(){return ua().version}function le(){let e=y();if(e)try{let t=la(da(e,".tdk",_),"utf-8"),n=JSON.parse(t);if(n?.project?.name)return n.project.name}catch{}return"tdk-project"}function jt(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 pa(e){return`${e.replace(/\/+$/,"")}/health`}function It(e){if(j(e.config?.appType)){let t=e.name.replace(/-api$/,"");return e.config?.apiPath??`/api/${t}`}return e.config?.basePath??`/${e.name}`}function Ft(e,t){return Er(e,t,n=>pa(n))}function wr(e,t){return Er(e,t,n=>n)}function Er(e,t,n){let{appBase:r,apiBase:s}=jt(t);return e.filter(o=>o.config?.appType==="frontend"||j(o.config?.appType)).map(o=>{let i=j(o.config.appType)?s:r;return{name:o.name,appType:o.config.appType,url:`${i}${n(It(o))}`}})}async function fa(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=>fa(n,t)))}var Nr=60,_r=1e3,Rr=1e4,Ar=200,Dr=64*1024,Or=new Set([404,502,503,504]),ha=new Set(["ECONNREFUSED","ENOTFOUND","EAI_AGAIN","EHOSTUNREACH","ENETUNREACH"]),ga=new Set(["GET","HEAD","OPTIONS"]);function X(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ka(e,t){if(ga.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"&&ha.has(r)}function Mt(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 Cr(e,t){let{appBase:n,apiBase:r}=jt(t),s=[];for(let o of e){let i=o.config;if(!i?.smoke)continue;let a=i.appType,c=j(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}${It(o).replace(/\/+$/,"")}`,...d?.startsWith("/")?{readyPath:d}:{},smoke:i.smoke})}return s}var ya=10;function jr(e,t={}){let n=t.timeoutSeconds??ya;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??Nr,n);return[{name:r.name,baseUrl:r.baseUrl,smoke:{via:r.smoke.via,timeoutSeconds:o,steps:s}}]})}function Sa(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 Ir(e,t){return e.replace(/\{\{(\w+)\}\}/g,(n,r)=>t[r]??n)}function Lt(e,t){return typeof e=="string"?Ir(e,t):Array.isArray(e)?e.map(n=>Lt(n,t)):X(e)?Object.fromEntries(Object.entries(e).map(([n,r])=>[n,Lt(r,t)])):e}function Qe(e){let t=e.replace(/\s+/g," ").trim();return t.length>Ar?`${t.slice(0,Ar)}...`:t}function Fr(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"step"}function ba(e,t){let n=Fr(t),r=(e.get(n)??0)+1;return e.set(n,r),r===1?n:`${n}-${r}`}function Ta(e,t,n,r,s){try{let o=de(e,Fr(n.service),t);ma(o,{recursive:!0});let i=de(o,"latest.json"),a=de(o,"body.txt");return r===void 0?Pr(a,{force:!0}):$r(a,r),$r(i,`${JSON.stringify({...n,bodyPath:r===void 0?null:"body.txt"},null,2)}
|
|
16
16
|
`),s&&(vr(i,de(o,"last-success.json")),r===void 0?Pr(de(o,"last-success-body.txt"),{force:!0}):vr(a,de(o,"last-success-body.txt"))),i}catch{return}}function xa(e){let t=Buffer.from(e,"utf8");if(t.length<=Dr)return{body:e,truncated:!1,bytes:t.length};let n=t.subarray(0,Dr).toString("utf8").replace(/\uFFFD$/,"");return{body:n,truncated:!0,bytes:Buffer.byteLength(n,"utf8")}}async function wa(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??Nr)*1e3,i=r()+o,a={},c=Mt(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(Rr)});if(await l.text(),!Or.has(l.status)&&l.status<500)break}catch{}if(r()>=i)break;await s(_r)}}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}${Ir(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(Lt(l.body,a)):void 0,signal:AbortSignal.timeout(Rr)});$=F.status,U=await F.text()}catch(F){G=ka(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&&Or.has($))||r()>=i)break;await s(_r)}let ne=`${e.name}: ${p}: ${h} ${f}`,ue;if(t.recordDir){let G=$===void 0?void 0:xa(U),Te=g===void 0&&$===b&&(l.bodyContains===void 0||U.includes(l.bodyContains));ue=Ta(t.recordDir,ba(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=Sa(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 Gp(e){return`Smoke check failed: ${e.failure}${e.recordPath?` (record: ${e.recordPath})`:""}`}async function Lr(e,t={}){return Promise.all(e.map(n=>wa(n,t)))}var Re=1,qp="https://tdk-landscape.github.io/schema.service.json",Ea={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"},va=new Set(["$schema","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"]),Pa=[{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 Pa){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 $a(e,t))r.has(s)||n.push(`${s}: ${o}`);return n}function Ut(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 $a(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))Ut(s)&&n.push([t,"a key contains a line break"]);for(;r.length>0;){let[s,o]=r.pop();if(typeof s=="string")Ut(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))Ut(i)?n.push([o,"a key contains a line break"]):r.push([a,`${o}.${i}`])}return n.sort(([s],[o])=>s.localeCompare(o))}var _a=["apiPath","basePath"];function Bt(e){if(!e||typeof e!="object"||Array.isArray(e))return[];let t=e;return _a.filter(n=>n in t&&typeof t[n]!="string")}function Ht(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 Bt(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 Mt(n.smoke))r.push(`${t}.${a}`);let i=Object.keys(n).flatMap(a=>{let c=Ea[a];return c?[`${t}.${a}: ${c}`]:va.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 Br(e,t){if(!Mr(e))return[];try{let n=JSON.parse(Ur(e,"utf-8"));return!n||typeof n!="object"||Array.isArray(n)?[]:Ze(n,t)}catch{return[]}}function Hr(e,t){if(!Mr(e))return{errors:[`${t}: file is missing`],warnings:[]};try{let n=JSON.parse(Ur(e,"utf-8"));return Ht(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 os,readFileSync as is,statSync as zt}from"node:fs";import{dirname as Xa,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 Kr(e){let t=0;return{isValid(){return Date.now()-t<e},markUpdated(){t=Date.now()},reset(){t=0}}}import{execFileSync as Na,execSync as Ca}from"node:child_process";import{existsSync as Gr}from"node:fs";import{delimiter as Vr,extname as Wr,join as Jr}from"node:path";import{delimiter as Qp,extname as Ra}from"node:path";function De(){return process.platform==="win32"}function Aa(e){return e==="linux"?"linux":e==="darwin"?"darwin":e==="win32"?"windows":null}function Da(e){return e==="x64"?"amd64":e==="arm64"?"arm64":null}function Oa(e,t){let n=Aa(e),r=Da(t);if(!n||!r||n==="windows"&&r!=="amd64")return null;let s=`tdk-${n}-${r}`;return n==="windows"?`${s}.exe`:s}function Zp(){return Oa(process.platform,process.arch)}function ef(){return De()?"tdk.exe":"tdk"}function Kt(e,t=De()){return t?Ra(e)?[e]:[e,`${e}.exe`,`${e}.cmd`,`${e}.bat`]:[e]}function O(e){let t=process.env.PATH??process.env.Path??"",n=De(),r=Kt(e,n);if(n&&!Wr(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(Vr))if(s)for(let o of r){let i=Jr(s,o);if(Gr(i))return i}return null}function qr(e){let t=process.env.PATH??process.env.Path??"",n=De(),r=Kt(e,n);if(n&&!Wr(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(Vr))if(i)for(let a of r){let c=Jr(i,a);if(!Gr(c))continue;let u=n?c.toLowerCase():c;o.has(u)||(o.add(u),s.push(c))}return s}var zr=1e4;function Yr(){let e=!1;if(process.platform==="win32")try{return Na(O("docker")??"docker",["ps"],{stdio:"ignore",timeout:zr,windowsHide:!0}),"running"}catch(t){return t.code==="ETIMEDOUT"?"unresponsive":"missing"}for(let t of["docker ps","colima status","podman ps"])try{return Ca(t,{stdio:"ignore",timeout:zr}),"running"}catch(n){n.code==="ETIMEDOUT"&&(e=!0)}return e?"unresponsive":"missing"}function et(e,t){return e[t]??0}function ja(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 Ia(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 Xr(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=Ia(n,i)?1:ja(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 Fa}from"node:child_process";import{join as La}from"node:path";function Ma(e,t=[],n={}){return new Promise((r,s)=>{let o=[e,...t];n.verbose&&console.log(`Executing: tilt ${o.join(" ")}`);let i=Fa(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 Qr(){try{return(await Ma("version",[],{inheritStdio:!1,timeoutMs:1e4})).exitCode===0}catch{return!1}}function Ua(){let e=y();if(!e)throw Y.notInProject();return La(e,".tdk",".tdk-out","Tiltfile")}function Zr(e){let t=Ua();e.push("-f",t)}function gf(e,t={}){let n=[];return Zr(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 kf(e={}){let t=[];return Zr(t),e.focusTargets&&e.focusTargets.length>0&&t.push("--",`--focus=${e.focusTargets.join(",")}`),t}function es(e){return e instanceof Error?e.message:String(e)}function vf(e,t){if(process.env.TDK_VERBOSE){let n=t!==void 0?`: ${es(t)}`:"";console.warn(m.gray(`${e}${n}`))}}var I=class extends Error{suggestions;exitCode;constructor(t,n=[],r=1){super(t),this.name="TdkError",this.suggestions=n,this.exitCode=r}display(){Ka(this.message,void 0,this.suggestions)}exit(){this.display(),process.exit(this.exitCode)}};function Gt(e,t,n=!1){let r=new Set;for(let s of e){let o=Xr(s,t);o&&r.add(n?`Did you mean "${o}" for "${s}"?`:`Did you mean "${o}"?`)}return[...r]}var Y={tiltNotInstalled:()=>new I("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: ${Ot}`]),dockerNotAvailable:()=>new I("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: ${Ot}`]),dockerNotResponding:()=>new I("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 I(`Stack "${e}" not found`,[...Gt([e],t),"Run `tdk stacks` to see available stacks","Run `tdk stack` to assign resources to a stack"]),resourceNotFound:(e,t=[])=>new I(`Resource "${e}" not found`,[...Gt([e],t),"Run `tdk resources` to list all resources","Check the resource name spelling"]),unknownServices:(e,t)=>{let n=Gt(e,t,e.length>1);return new I(`Unknown service ${e.join(", ")}. Valid names: ${t.join(", ")}`,n,2)},directoryExists:e=>new I(`Directory already exists: ${e}`,["Use `--path` to specify a different location","Remove the existing directory if no longer needed"]),invalidPath:e=>new I(`Invalid path: ${e}`,["Path must be within the project directory",'Path cannot contain special characters like <>:"|?*']),notInProject:()=>new I("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 Pf(){let e=y();return e||Y.notInProject().exit()}function Ba(e){e instanceof I&&e.exit(),console.error(m.red(`Error: ${es(e)}`)),process.exit(1)}async function Ha(e,t){try{return await e()}catch(n){return t?.verbose&&n instanceof Error&&n.stack&&console.error(m.gray(n.stack)),Ba(n)}}async function $f(e,t){let n=[],r=Yr();return r==="unresponsive"?n.push(Y.dockerNotResponding()):r==="missing"&&n.push(Y.dockerNotAvailable()),await Qr()||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)),Ha(e,t)}function _f(e,t=1){console.error(m.red(`Error: ${e}`)),process.exit(t)}function Ka(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 p1,$a as j1,A as A1,Aa as D1,Ab as aD,B as i1,Ba as R1,Bb as Ky,C as li,Ca as N1,Cb as AD,D as km,Da as Li,Db as iD,E as l1,Ea as b1,Eb as lD,F as r1,Fa as T1,Fb as rD,G as Wr,Ga as w1,Gb as sD,H as s1,Ha as $r,Hb as $C,I as gg,Ia as Cg,Ib as cD,J as vl,Ja as x1,Jb as uD,K as c1,Ka as U1,Kb as fD,L as Dl,La as M1,Lb as dD,M as pg,Ma as _1,N as u1,Na as O1,O as f1,Oa as H1,Ob as gD,P as d1,Pa as ji,Pb as pD,Q as Hu,Qa as Lu,R as Xa,Ra as G1,S as dn,Sa as k1,T as on,Ta as qC,U as Xo,Ua as rr,V as Tn,Va as ju,W as LC,Wa as Ly,X as Ca,Xa as zu,Y as jC,Ya as VC,Z as Un,Za as jy,_ as g1,_a as L1,a as S,aa as Lm,ab as z1,b as _C,ba as mg,bb as J1,c as ki,ca as m1,cb as F1,d as _u,da as jm,db as K1,e as Ou,ea as Gu,eb as Y1,f as Gm,fa as ku,fb as q1,g as e1,ga as zC,gb as V1,h as t1,ha as JC,hb as X1,i as tc,ia as ky,ib as Z1,j as dg,ja as E1,jb as XC,k as Ql,ka as Eg,kb as ZC,l as Oy,la as Za,lb as Ju,m as OC,ma as Pa,mb as P1,n as Sl,na as We,nb as PC,o as n1,oa as h1,ob as W1,p as HC,pa as C1,pb as zm,q as nc,qa as B1,qb as zy,r as o1,ra as I1,rb as $1,s as Hy,sa as FC,sb as eD,t as oc,ta as hg,tb as Jy,u as Cn,ua as y1,ub as Fy,v as lr,va as KC,vb as tD,w as GC,wa as YC,wb as nD,x as Gy,xa as Q1,xb as oD,y as kC,ya as S1,yb as Fu,z as a1,za as v1,zb as WC}from"./chunk-NYJ4DFC2.js";import{a as Pv,c as Wv,d as $v}from"./chunk-42IVF3YT.js";import{a as _y,b as Go,c as Zw,d as lt}from"./chunk-6EA4DGCY.js";var VR=Go(fB=>{"use strict";var rM=Symbol.for("react.transitional.element"),sM=Symbol.for("react.fragment");function qR(n,A,l){var c=null;if(l!==void 0&&(c=""+l),A.key!==void 0&&(c=""+A.key),"key"in A){l={};for(var u in A)u!=="key"&&(l[u]=A[u])}else l=A;return A=l.ref,{$$typeof:rM,type:n,key:c,ref:A!==void 0?A:null,props:l}}fB.Fragment=sM;fB.jsx=qR;fB.jsxs=qR});var l2=Go(vt=>{"use strict";var mQ=Symbol.for("react.transitional.element"),cM=Symbol.for("react.portal"),uM=Symbol.for("react.fragment"),fM=Symbol.for("react.strict_mode"),dM=Symbol.for("react.profiler"),gM=Symbol.for("react.consumer"),pM=Symbol.for("react.context"),mM=Symbol.for("react.forward_ref"),EM=Symbol.for("react.suspense"),hM=Symbol.for("react.memo"),$R=Symbol.for("react.lazy"),CM=Symbol.for("react.activity"),BM=Symbol.for("react.view_transition"),XR=Symbol.iterator;function IM(n){return n===null||typeof n!="object"?null:(n=XR&&n[XR]||n["@@iterator"],typeof n=="function"?n:null)}var e2={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},t2=Object.assign,n2={};function Ng(n,A,l){this.props=n,this.context=A,this.refs=n2,this.updater=l||e2}Ng.prototype.isReactComponent={};Ng.prototype.setState=function(n,A){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,A,"setState")};Ng.prototype.forceUpdate=function(n){this.updater.enqueueForceUpdate(this,n,"forceUpdate")};function o2(){}o2.prototype=Ng.prototype;function EQ(n,A,l){this.props=n,this.context=A,this.refs=n2,this.updater=l||e2}var hQ=EQ.prototype=new o2;hQ.constructor=EQ;t2(hQ,Ng.prototype);hQ.isPureReactComponent=!0;var ZR=Array.isArray;function pQ(){}var Jn={H:null,A:null,T:null,S:null},a2=Object.prototype.hasOwnProperty;function CQ(n,A,l){var c=l.ref;return{$$typeof:mQ,type:n,key:A,ref:c!==void 0?c:null,props:l}}function yM(n,A){return CQ(n.type,A,n.props)}function BQ(n){return typeof n=="object"&&n!==null&&n.$$typeof===mQ}function QM(n){var A={"=":"=0",":":"=2"};return"$"+n.replace(/[=:]/g,function(l){return A[l]})}var PR=/\/+/g;function gQ(n,A){return typeof n=="object"&&n!==null&&n.key!=null?QM(""+n.key):A.toString(36)}function SM(n){switch(n.status){case"fulfilled":return n.value;case"rejected":throw n.reason;default:switch(typeof n.status=="string"?n.then(pQ,pQ):(n.status="pending",n.then(function(A){n.status==="pending"&&(n.status="fulfilled",n.value=A)},function(A){n.status==="pending"&&(n.status="rejected",n.reason=A)})),n.status){case"fulfilled":return n.value;case"rejected":throw n.reason}}throw n}function Rg(n,A,l,c,u){var p=typeof n;(p==="undefined"||p==="boolean")&&(n=null);var E=!1;if(n===null)E=!0;else switch(p){case"bigint":case"string":case"number":E=!0;break;case"object":switch(n.$$typeof){case mQ:case cM:E=!0;break;case $R:return E=n._init,Rg(E(n._payload),A,l,c,u)}}if(E)return u=u(n),E=c===""?"."+gQ(n,0):c,ZR(u)?(l="",E!=null&&(l=E.replace(PR,"$&/")+"/"),Rg(u,A,l,"",function(D){return D})):u!=null&&(BQ(u)&&(u=yM(u,l+(u.key==null||n&&n.key===u.key?"":(""+u.key).replace(PR,"$&/")+"/")+E)),A.push(u)),1;E=0;var B=c===""?".":c+":";if(ZR(n))for(var I=0;I<n.length;I++)c=n[I],p=B+gQ(c,I),E+=Rg(c,A,l,p,u);else if(I=IM(n),typeof I=="function")for(n=I.call(n),I=0;!(c=n.next()).done;)c=c.value,p=B+gQ(c,I++),E+=Rg(c,A,l,p,u);else if(p==="object"){if(typeof n.then=="function")return Rg(SM(n),A,l,c,u);throw A=String(n),Error("Objects are not valid as a React child (found: "+(A==="[object Object]"?"object with keys {"+Object.keys(n).join(", ")+"}":A)+"). If you meant to render a collection of children, use an array instead.")}return E}function dB(n,A,l){if(n==null)return n;var c=[],u=0;return Rg(n,c,"","",function(p){return A.call(l,p,u++)}),c}function vM(n){if(n._status===-1){var A=n._result,l=A();l.then(function(c){(n._status===0||n._status===-1)&&(n._status=1,n._result=c,l.status===void 0&&(l.status="fulfilled",l.value=c))},function(c){(n._status===0||n._status===-1)&&(n._status=2,n._result=c,l.status===void 0&&(l.status="rejected",l.reason=c))}),n._status===-1&&(n._status=0,n._result=l)}if(n._status===1)return n._result.default;throw n._result}var WR=typeof reportError=="function"?reportError:function(n){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var A=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(A))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",n);return}console.error(n)};function A2(n){var A=Jn.T,l={};l.types=A!==null?A.types:null,Jn.T=l;try{var c=n(),u=Jn.S;u!==null&&u(l,c),typeof c=="object"&&c!==null&&typeof c.then=="function"&&c.then(pQ,WR)}catch(p){WR(p)}finally{A!==null&&l.types!==null&&(A.types=l.types),Jn.T=A}}function i2(n){var A=Jn.T;if(A!==null){var l=A.types;l===null?A.types=[n]:l.indexOf(n)===-1&&l.push(n)}else A2(i2.bind(null,n))}var DM={map:dB,forEach:function(n,A,l){dB(n,function(){A.apply(this,arguments)},l)},count:function(n){var A=0;return dB(n,function(){A++}),A},toArray:function(n){return dB(n,function(A){return A})||[]},only:function(n){if(!BQ(n))throw Error("React.Children.only expected to receive a single React element child.");return n}};vt.Activity=CM;vt.Children=DM;vt.Component=Ng;vt.Fragment=uM;vt.Profiler=dM;vt.PureComponent=EQ;vt.StrictMode=fM;vt.Suspense=EM;vt.ViewTransition=BM;vt.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=Jn;vt.__COMPILER_RUNTIME={__proto__:null,c:function(n){return Jn.H.useMemoCache(n)}};vt.addTransitionType=i2;vt.cache=function(n){return function(){return n.apply(null,arguments)}};vt.cacheSignal=function(){return null};vt.cloneElement=function(n,A,l){if(n==null)throw Error("The argument must be a React element, but you passed "+n+".");var c=t2({},n.props),u=n.key;if(A!=null)for(p in A.key!==void 0&&(u=""+A.key),A)!a2.call(A,p)||p==="key"||p==="__self"||p==="__source"||p==="ref"&&A.ref===void 0||(c[p]=A[p]);var p=arguments.length-2;if(p===1)c.children=l;else if(1<p){for(var E=Array(p),B=0;B<p;B++)E[B]=arguments[B+2];c.children=E}return CQ(n.type,u,c)};vt.createContext=function(n){return n={$$typeof:pM,_currentValue:n,_currentValue2:n,_threadCount:0,Provider:null,Consumer:null},n.Provider=n,n.Consumer={$$typeof:gM,_context:n},n};vt.createElement=function(n,A,l){var c,u={},p=null;if(A!=null)for(c in A.key!==void 0&&(p=""+A.key),A)a2.call(A,c)&&c!=="key"&&c!=="__self"&&c!=="__source"&&(u[c]=A[c]);var E=arguments.length-2;if(E===1)u.children=l;else if(1<E){for(var B=Array(E),I=0;I<E;I++)B[I]=arguments[I+2];u.children=B}if(n&&n.defaultProps)for(c in E=n.defaultProps,E)u[c]===void 0&&(u[c]=E[c]);return CQ(n,p,u)};vt.createRef=function(){return{current:null}};vt.forwardRef=function(n){return{$$typeof:mM,render:n}};vt.isValidElement=BQ;vt.lazy=function(n){return{$$typeof:$R,_payload:{_status:-1,_result:n},_init:vM}};vt.memo=function(n,A){return{$$typeof:hM,type:n,compare:A===void 0?null:A}};vt.startTransition=A2;vt.unstable_useCacheRefresh=function(){return Jn.H.useCacheRefresh()};vt.use=function(n){return Jn.H.use(n)};vt.useActionState=function(n,A,l){return Jn.H.useActionState(n,A,l)};vt.useCallback=function(n,A){return Jn.H.useCallback(n,A)};vt.useContext=function(n){return Jn.H.useContext(n)};vt.useDebugValue=function(){};vt.useDeferredValue=function(n,A){return Jn.H.useDeferredValue(n,A)};vt.useEffect=function(n,A){return Jn.H.useEffect(n,A)};vt.useEffectEvent=function(n){return Jn.H.useEffectEvent(n)};vt.useId=function(){return Jn.H.useId()};vt.useImperativeHandle=function(n,A,l){return Jn.H.useImperativeHandle(n,A,l)};vt.useInsertionEffect=function(n,A){return Jn.H.useInsertionEffect(n,A)};vt.useLayoutEffect=function(n,A){return Jn.H.useLayoutEffect(n,A)};vt.useMemo=function(n,A){return Jn.H.useMemo(n,A)};vt.useOptimistic=function(n,A){return Jn.H.useOptimistic(n,A)};vt.useReducer=function(n,A,l){return Jn.H.useReducer(n,A,l)};vt.useRef=function(n){return Jn.H.useRef(n)};vt.useState=function(n){return Jn.H.useState(n)};vt.useSyncExternalStore=function(n,A,l){return Jn.H.useSyncExternalStore(n,A,l)};vt.useTransition=function(){return Jn.H.useTransition()};vt.version="19.3.0"});var r2=Go((Ct,gB)=>{"use strict";process.env.NODE_ENV!=="production"&&(function(){function n(y,M){Object.defineProperty(c.prototype,y,{get:function(){console.warn("%s(...) is deprecated in plain JavaScript React classes. %s",M[0],M[1])}})}function A(y){return y===null||typeof y!="object"?null:(y=Pn&&y[Pn]||y["@@iterator"],typeof y=="function"?y:null)}function l(y,M){y=(y=y.constructor)&&(y.displayName||y.name)||"ReactClass";var fe=y+"."+M;Qt[fe]||(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.",M,y),Qt[fe]=!0)}function c(y,M,fe){this.props=y,this.context=M,this.refs=$t,this.updater=fe||zt}function u(){}function p(y,M,fe){this.props=y,this.context=M,this.refs=$t,this.updater=fe||zt}function E(){}function B(y){return""+y}function I(y){try{B(y);var M=!1}catch{M=!0}if(M){M=console;var fe=M.error,se=typeof Symbol=="function"&&Symbol.toStringTag&&y[Symbol.toStringTag]||y.constructor.name||"Object";return fe.call(M,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",se),B(y)}}function D(y){if(y==null)return null;if(typeof y=="function")return y.$$typeof===Wn?null:y.displayName||y.name||null;if(typeof y=="string")return y;switch(y){case It:return"Fragment";case Le:return"Profiler";case ne:return"StrictMode";case yt:return"Suspense";case we:return"SuspenseList";case Ot:return"Activity";case In:return"ViewTransition"}if(typeof y=="object")switch(typeof y.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),y.$$typeof){case Bt:return"Portal";case Fe:return y.displayName||"Context";case ge:return(y._context.displayName||"Context")+".Consumer";case ft:var M=y.render;return y=y.displayName,y||(y=M.displayName||M.name||"",y=y!==""?"ForwardRef("+y+")":"ForwardRef"),y;case Me:return M=y.displayName||null,M!==null?M:D(y.type)||"Memo";case Pe:M=y._payload,y=y._init;try{return D(y(M))}catch{}}return null}function w(y){if(y===It)return"<>";if(typeof y=="object"&&y!==null&&y.$$typeof===Pe)return"<...>";try{var M=D(y);return M?"<"+M+">":"<...>"}catch{return"<...>"}}function U(){var y=Xe.A;return y===null?null:y.getOwner()}function b(){return Error("react-stack-top-frame")}function T(y){if(Pt.call(y,"key")){var M=Object.getOwnPropertyDescriptor(y,"key").get;if(M&&M.isReactWarning)return!1}return y.key!==void 0}function J(y,M){function fe(){_n||(_n=!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)",M))}fe.isReactWarning=!0,Object.defineProperty(y,"key",{get:fe,configurable:!0})}function L(){var y=D(this.type);return wo[y]||(wo[y]=!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.")),y=this.props.ref,y!==void 0?y:null}function _(y,M,fe,se,ce,at){var Ue=fe.ref;return y={$$typeof:He,type:y,key:M,props:fe,_owner:se},(Ue!==void 0?Ue:null)!==null?Object.defineProperty(y,"ref",{enumerable:!1,get:L}):Object.defineProperty(y,"ref",{enumerable:!1,value:null}),y._store={},Object.defineProperty(y._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(y,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(y,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:ce}),Object.defineProperty(y,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:at}),Object.freeze&&(Object.freeze(y.props),Object.freeze(y)),y}function oe(y,M){return M=_(y.type,M,y.props,y._owner,y._debugStack,y._debugTask),y._store&&(M._store.validated=y._store.validated),M}function Ce(y){Re(y)?y._store&&(y._store.validated=1):typeof y=="object"&&y!==null&&y.$$typeof===Pe&&(y._payload.status==="fulfilled"?Re(y._payload.value)&&y._payload.value._store&&(y._payload.value._store.validated=1):y._store&&(y._store.validated=1))}function Re(y){return typeof y=="object"&&y!==null&&y.$$typeof===He}function ye(y){var M={"=":"=0",":":"=2"};return"$"+y.replace(/[=:]/g,function(fe){return M[fe]})}function ze(y,M){return typeof y=="object"&&y!==null&&y.key!=null?(I(y.key),ye(""+y.key)):M.toString(36)}function Ge(y){switch(y.status){case"fulfilled":return y.value;case"rejected":throw y.reason;default:switch(typeof y.status=="string"?y.then(E,E):(y.status="pending",y.then(function(M){y.status==="pending"&&(y.status="fulfilled",y.value=M)},function(M){y.status==="pending"&&(y.status="rejected",y.reason=M)})),y.status){case"fulfilled":return y.value;case"rejected":throw y.reason}}throw y}function Ne(y,M,fe,se,ce){var at=typeof y;(at==="undefined"||at==="boolean")&&(y=null);var Ue=!1;if(y===null)Ue=!0;else switch(at){case"bigint":case"string":case"number":Ue=!0;break;case"object":switch(y.$$typeof){case He:case Bt:Ue=!0;break;case Pe:return Ue=y._init,Ne(Ue(y._payload),M,fe,se,ce)}}if(Ue){Ue=y,ce=ce(Ue);var Ze=se===""?"."+ze(Ue,0):se;return co(ce)?(fe="",Ze!=null&&(fe=Ze.replace(ya,"$&/")+"/"),Ne(ce,M,fe,"",function(Qo){return Qo})):ce!=null&&(Re(ce)&&(ce.key!=null&&(Ue&&Ue.key===ce.key||I(ce.key)),fe=oe(ce,fe+(ce.key==null||Ue&&Ue.key===ce.key?"":(""+ce.key).replace(ya,"$&/")+"/")+Ze),se!==""&&Ue!=null&&Re(Ue)&&Ue.key==null&&Ue._store&&!Ue._store.validated&&(fe._store.validated=2),ce=fe),M.push(ce)),1}if(Ue=0,Ze=se===""?".":se+":",co(y))for(var Tt=0;Tt<y.length;Tt++)se=y[Tt],at=Ze+ze(se,Tt),Ue+=Ne(se,M,fe,at,ce);else if(Tt=A(y),typeof Tt=="function")for(Tt===y.entries&&(Yt||console.warn("Using Maps as children is not supported. Use an array of keyed ReactElements instead."),Yt=!0),y=Tt.call(y),Tt=0;!(se=y.next()).done;)se=se.value,at=Ze+ze(se,Tt++),Ue+=Ne(se,M,fe,at,ce);else if(at==="object"){if(typeof y.then=="function")return Ne(Ge(y),M,fe,se,ce);throw M=String(y),Error("Objects are not valid as a React child (found: "+(M==="[object Object]"?"object with keys {"+Object.keys(y).join(", ")+"}":M)+"). If you meant to render a collection of children, use an array instead.")}return Ue}function Je(y,M,fe){if(y==null)return y;var se=[],ce=0;return Ne(y,se,"","",function(at){return M.call(fe,at,ce++)}),se}function Se(y){if(y._status===-1){var M=null,fe=null,se=y._ioInfo;se!=null&&(se.start=se.end=performance.now(),se.value=new Promise(function(Ue,Ze){M=Ue,fe=Ze})),se=y._result;var ce=se();if(ce.then(function(Ue){if(y._status===0||y._status===-1){y._status=1,y._result=Ue;var Ze=y._ioInfo;if(Ze!=null){Ze.end=performance.now();var Tt=Ue?.default;M(Tt),Ze.value.status="fulfilled",Ze.value.value=Tt}ce.status===void 0&&(ce.status="fulfilled",ce.value=Ue)}},function(Ue){if(y._status===0||y._status===-1){y._status=2,y._result=Ue;var Ze=y._ioInfo;Ze!=null&&(Ze.end=performance.now(),Ze.value.then(E,E),fe(Ue),Ze.value.status="rejected",Ze.value.reason=Ue),ce.status===void 0&&(ce.status="rejected",ce.reason=Ue)}}),se=y._ioInfo,se!=null){var at=ce.displayName;typeof at=="string"&&(se.name=at)}y._status===-1&&(y._status=0,y._result=ce)}if(y._status===1)return se=y._result,se===void 0&&console.error(`lazy: Expected the result of a dynamic import() call. Instead received: %s
|
|
3
|
+
import{$ as p1,$a as j1,A as A1,Aa as D1,Ab as aD,B as i1,Ba as R1,Bb as Ky,C as li,Ca as N1,Cb as AD,D as km,Da as Li,Db as iD,E as l1,Ea as b1,Eb as lD,F as r1,Fa as T1,Fb as rD,G as Wr,Ga as w1,Gb as sD,H as s1,Ha as $r,Hb as $C,I as gg,Ia as Cg,Ib as cD,J as vl,Ja as x1,Jb as uD,K as c1,Ka as U1,Kb as fD,L as Dl,La as M1,Lb as dD,M as pg,Ma as _1,N as u1,Na as O1,O as f1,Oa as H1,Ob as gD,P as d1,Pa as ji,Pb as pD,Q as Hu,Qa as Lu,R as Xa,Ra as G1,S as dn,Sa as k1,T as on,Ta as qC,U as Xo,Ua as rr,V as Tn,Va as ju,W as LC,Wa as Ly,X as Ca,Xa as zu,Y as jC,Ya as VC,Z as Un,Za as jy,_ as g1,_a as L1,a as S,aa as Lm,ab as z1,b as _C,ba as mg,bb as J1,c as ki,ca as m1,cb as F1,d as _u,da as jm,db as K1,e as Ou,ea as Gu,eb as Y1,f as Gm,fa as ku,fb as q1,g as e1,ga as zC,gb as V1,h as t1,ha as JC,hb as X1,i as tc,ia as ky,ib as Z1,j as dg,ja as E1,jb as XC,k as Ql,ka as Eg,kb as ZC,l as Oy,la as Za,lb as Ju,m as OC,ma as Pa,mb as P1,n as Sl,na as We,nb as PC,o as n1,oa as h1,ob as W1,p as HC,pa as C1,pb as zm,q as nc,qa as B1,qb as zy,r as o1,ra as I1,rb as $1,s as Hy,sa as FC,sb as eD,t as oc,ta as hg,tb as Jy,u as Cn,ua as y1,ub as Fy,v as lr,va as KC,vb as tD,w as GC,wa as YC,wb as nD,x as Gy,xa as Q1,xb as oD,y as kC,ya as S1,yb as Fu,z as a1,za as v1,zb as WC}from"./chunk-RP7QPLJP.js";import{a as Pv,c as Wv,d as $v}from"./chunk-42IVF3YT.js";import{a as _y,b as Go,c as Zw,d as lt}from"./chunk-6EA4DGCY.js";var VR=Go(fB=>{"use strict";var rM=Symbol.for("react.transitional.element"),sM=Symbol.for("react.fragment");function qR(n,A,l){var c=null;if(l!==void 0&&(c=""+l),A.key!==void 0&&(c=""+A.key),"key"in A){l={};for(var u in A)u!=="key"&&(l[u]=A[u])}else l=A;return A=l.ref,{$$typeof:rM,type:n,key:c,ref:A!==void 0?A:null,props:l}}fB.Fragment=sM;fB.jsx=qR;fB.jsxs=qR});var l2=Go(vt=>{"use strict";var mQ=Symbol.for("react.transitional.element"),cM=Symbol.for("react.portal"),uM=Symbol.for("react.fragment"),fM=Symbol.for("react.strict_mode"),dM=Symbol.for("react.profiler"),gM=Symbol.for("react.consumer"),pM=Symbol.for("react.context"),mM=Symbol.for("react.forward_ref"),EM=Symbol.for("react.suspense"),hM=Symbol.for("react.memo"),$R=Symbol.for("react.lazy"),CM=Symbol.for("react.activity"),BM=Symbol.for("react.view_transition"),XR=Symbol.iterator;function IM(n){return n===null||typeof n!="object"?null:(n=XR&&n[XR]||n["@@iterator"],typeof n=="function"?n:null)}var e2={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},t2=Object.assign,n2={};function Ng(n,A,l){this.props=n,this.context=A,this.refs=n2,this.updater=l||e2}Ng.prototype.isReactComponent={};Ng.prototype.setState=function(n,A){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,A,"setState")};Ng.prototype.forceUpdate=function(n){this.updater.enqueueForceUpdate(this,n,"forceUpdate")};function o2(){}o2.prototype=Ng.prototype;function EQ(n,A,l){this.props=n,this.context=A,this.refs=n2,this.updater=l||e2}var hQ=EQ.prototype=new o2;hQ.constructor=EQ;t2(hQ,Ng.prototype);hQ.isPureReactComponent=!0;var ZR=Array.isArray;function pQ(){}var Jn={H:null,A:null,T:null,S:null},a2=Object.prototype.hasOwnProperty;function CQ(n,A,l){var c=l.ref;return{$$typeof:mQ,type:n,key:A,ref:c!==void 0?c:null,props:l}}function yM(n,A){return CQ(n.type,A,n.props)}function BQ(n){return typeof n=="object"&&n!==null&&n.$$typeof===mQ}function QM(n){var A={"=":"=0",":":"=2"};return"$"+n.replace(/[=:]/g,function(l){return A[l]})}var PR=/\/+/g;function gQ(n,A){return typeof n=="object"&&n!==null&&n.key!=null?QM(""+n.key):A.toString(36)}function SM(n){switch(n.status){case"fulfilled":return n.value;case"rejected":throw n.reason;default:switch(typeof n.status=="string"?n.then(pQ,pQ):(n.status="pending",n.then(function(A){n.status==="pending"&&(n.status="fulfilled",n.value=A)},function(A){n.status==="pending"&&(n.status="rejected",n.reason=A)})),n.status){case"fulfilled":return n.value;case"rejected":throw n.reason}}throw n}function Rg(n,A,l,c,u){var p=typeof n;(p==="undefined"||p==="boolean")&&(n=null);var E=!1;if(n===null)E=!0;else switch(p){case"bigint":case"string":case"number":E=!0;break;case"object":switch(n.$$typeof){case mQ:case cM:E=!0;break;case $R:return E=n._init,Rg(E(n._payload),A,l,c,u)}}if(E)return u=u(n),E=c===""?"."+gQ(n,0):c,ZR(u)?(l="",E!=null&&(l=E.replace(PR,"$&/")+"/"),Rg(u,A,l,"",function(D){return D})):u!=null&&(BQ(u)&&(u=yM(u,l+(u.key==null||n&&n.key===u.key?"":(""+u.key).replace(PR,"$&/")+"/")+E)),A.push(u)),1;E=0;var B=c===""?".":c+":";if(ZR(n))for(var I=0;I<n.length;I++)c=n[I],p=B+gQ(c,I),E+=Rg(c,A,l,p,u);else if(I=IM(n),typeof I=="function")for(n=I.call(n),I=0;!(c=n.next()).done;)c=c.value,p=B+gQ(c,I++),E+=Rg(c,A,l,p,u);else if(p==="object"){if(typeof n.then=="function")return Rg(SM(n),A,l,c,u);throw A=String(n),Error("Objects are not valid as a React child (found: "+(A==="[object Object]"?"object with keys {"+Object.keys(n).join(", ")+"}":A)+"). If you meant to render a collection of children, use an array instead.")}return E}function dB(n,A,l){if(n==null)return n;var c=[],u=0;return Rg(n,c,"","",function(p){return A.call(l,p,u++)}),c}function vM(n){if(n._status===-1){var A=n._result,l=A();l.then(function(c){(n._status===0||n._status===-1)&&(n._status=1,n._result=c,l.status===void 0&&(l.status="fulfilled",l.value=c))},function(c){(n._status===0||n._status===-1)&&(n._status=2,n._result=c,l.status===void 0&&(l.status="rejected",l.reason=c))}),n._status===-1&&(n._status=0,n._result=l)}if(n._status===1)return n._result.default;throw n._result}var WR=typeof reportError=="function"?reportError:function(n){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var A=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(A))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",n);return}console.error(n)};function A2(n){var A=Jn.T,l={};l.types=A!==null?A.types:null,Jn.T=l;try{var c=n(),u=Jn.S;u!==null&&u(l,c),typeof c=="object"&&c!==null&&typeof c.then=="function"&&c.then(pQ,WR)}catch(p){WR(p)}finally{A!==null&&l.types!==null&&(A.types=l.types),Jn.T=A}}function i2(n){var A=Jn.T;if(A!==null){var l=A.types;l===null?A.types=[n]:l.indexOf(n)===-1&&l.push(n)}else A2(i2.bind(null,n))}var DM={map:dB,forEach:function(n,A,l){dB(n,function(){A.apply(this,arguments)},l)},count:function(n){var A=0;return dB(n,function(){A++}),A},toArray:function(n){return dB(n,function(A){return A})||[]},only:function(n){if(!BQ(n))throw Error("React.Children.only expected to receive a single React element child.");return n}};vt.Activity=CM;vt.Children=DM;vt.Component=Ng;vt.Fragment=uM;vt.Profiler=dM;vt.PureComponent=EQ;vt.StrictMode=fM;vt.Suspense=EM;vt.ViewTransition=BM;vt.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=Jn;vt.__COMPILER_RUNTIME={__proto__:null,c:function(n){return Jn.H.useMemoCache(n)}};vt.addTransitionType=i2;vt.cache=function(n){return function(){return n.apply(null,arguments)}};vt.cacheSignal=function(){return null};vt.cloneElement=function(n,A,l){if(n==null)throw Error("The argument must be a React element, but you passed "+n+".");var c=t2({},n.props),u=n.key;if(A!=null)for(p in A.key!==void 0&&(u=""+A.key),A)!a2.call(A,p)||p==="key"||p==="__self"||p==="__source"||p==="ref"&&A.ref===void 0||(c[p]=A[p]);var p=arguments.length-2;if(p===1)c.children=l;else if(1<p){for(var E=Array(p),B=0;B<p;B++)E[B]=arguments[B+2];c.children=E}return CQ(n.type,u,c)};vt.createContext=function(n){return n={$$typeof:pM,_currentValue:n,_currentValue2:n,_threadCount:0,Provider:null,Consumer:null},n.Provider=n,n.Consumer={$$typeof:gM,_context:n},n};vt.createElement=function(n,A,l){var c,u={},p=null;if(A!=null)for(c in A.key!==void 0&&(p=""+A.key),A)a2.call(A,c)&&c!=="key"&&c!=="__self"&&c!=="__source"&&(u[c]=A[c]);var E=arguments.length-2;if(E===1)u.children=l;else if(1<E){for(var B=Array(E),I=0;I<E;I++)B[I]=arguments[I+2];u.children=B}if(n&&n.defaultProps)for(c in E=n.defaultProps,E)u[c]===void 0&&(u[c]=E[c]);return CQ(n,p,u)};vt.createRef=function(){return{current:null}};vt.forwardRef=function(n){return{$$typeof:mM,render:n}};vt.isValidElement=BQ;vt.lazy=function(n){return{$$typeof:$R,_payload:{_status:-1,_result:n},_init:vM}};vt.memo=function(n,A){return{$$typeof:hM,type:n,compare:A===void 0?null:A}};vt.startTransition=A2;vt.unstable_useCacheRefresh=function(){return Jn.H.useCacheRefresh()};vt.use=function(n){return Jn.H.use(n)};vt.useActionState=function(n,A,l){return Jn.H.useActionState(n,A,l)};vt.useCallback=function(n,A){return Jn.H.useCallback(n,A)};vt.useContext=function(n){return Jn.H.useContext(n)};vt.useDebugValue=function(){};vt.useDeferredValue=function(n,A){return Jn.H.useDeferredValue(n,A)};vt.useEffect=function(n,A){return Jn.H.useEffect(n,A)};vt.useEffectEvent=function(n){return Jn.H.useEffectEvent(n)};vt.useId=function(){return Jn.H.useId()};vt.useImperativeHandle=function(n,A,l){return Jn.H.useImperativeHandle(n,A,l)};vt.useInsertionEffect=function(n,A){return Jn.H.useInsertionEffect(n,A)};vt.useLayoutEffect=function(n,A){return Jn.H.useLayoutEffect(n,A)};vt.useMemo=function(n,A){return Jn.H.useMemo(n,A)};vt.useOptimistic=function(n,A){return Jn.H.useOptimistic(n,A)};vt.useReducer=function(n,A,l){return Jn.H.useReducer(n,A,l)};vt.useRef=function(n){return Jn.H.useRef(n)};vt.useState=function(n){return Jn.H.useState(n)};vt.useSyncExternalStore=function(n,A,l){return Jn.H.useSyncExternalStore(n,A,l)};vt.useTransition=function(){return Jn.H.useTransition()};vt.version="19.3.0"});var r2=Go((Ct,gB)=>{"use strict";process.env.NODE_ENV!=="production"&&(function(){function n(y,M){Object.defineProperty(c.prototype,y,{get:function(){console.warn("%s(...) is deprecated in plain JavaScript React classes. %s",M[0],M[1])}})}function A(y){return y===null||typeof y!="object"?null:(y=Pn&&y[Pn]||y["@@iterator"],typeof y=="function"?y:null)}function l(y,M){y=(y=y.constructor)&&(y.displayName||y.name)||"ReactClass";var fe=y+"."+M;Qt[fe]||(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.",M,y),Qt[fe]=!0)}function c(y,M,fe){this.props=y,this.context=M,this.refs=$t,this.updater=fe||zt}function u(){}function p(y,M,fe){this.props=y,this.context=M,this.refs=$t,this.updater=fe||zt}function E(){}function B(y){return""+y}function I(y){try{B(y);var M=!1}catch{M=!0}if(M){M=console;var fe=M.error,se=typeof Symbol=="function"&&Symbol.toStringTag&&y[Symbol.toStringTag]||y.constructor.name||"Object";return fe.call(M,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",se),B(y)}}function D(y){if(y==null)return null;if(typeof y=="function")return y.$$typeof===Wn?null:y.displayName||y.name||null;if(typeof y=="string")return y;switch(y){case It:return"Fragment";case Le:return"Profiler";case ne:return"StrictMode";case yt:return"Suspense";case we:return"SuspenseList";case Ot:return"Activity";case In:return"ViewTransition"}if(typeof y=="object")switch(typeof y.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),y.$$typeof){case Bt:return"Portal";case Fe:return y.displayName||"Context";case ge:return(y._context.displayName||"Context")+".Consumer";case ft:var M=y.render;return y=y.displayName,y||(y=M.displayName||M.name||"",y=y!==""?"ForwardRef("+y+")":"ForwardRef"),y;case Me:return M=y.displayName||null,M!==null?M:D(y.type)||"Memo";case Pe:M=y._payload,y=y._init;try{return D(y(M))}catch{}}return null}function w(y){if(y===It)return"<>";if(typeof y=="object"&&y!==null&&y.$$typeof===Pe)return"<...>";try{var M=D(y);return M?"<"+M+">":"<...>"}catch{return"<...>"}}function U(){var y=Xe.A;return y===null?null:y.getOwner()}function b(){return Error("react-stack-top-frame")}function T(y){if(Pt.call(y,"key")){var M=Object.getOwnPropertyDescriptor(y,"key").get;if(M&&M.isReactWarning)return!1}return y.key!==void 0}function J(y,M){function fe(){_n||(_n=!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)",M))}fe.isReactWarning=!0,Object.defineProperty(y,"key",{get:fe,configurable:!0})}function L(){var y=D(this.type);return wo[y]||(wo[y]=!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.")),y=this.props.ref,y!==void 0?y:null}function _(y,M,fe,se,ce,at){var Ue=fe.ref;return y={$$typeof:He,type:y,key:M,props:fe,_owner:se},(Ue!==void 0?Ue:null)!==null?Object.defineProperty(y,"ref",{enumerable:!1,get:L}):Object.defineProperty(y,"ref",{enumerable:!1,value:null}),y._store={},Object.defineProperty(y._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(y,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(y,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:ce}),Object.defineProperty(y,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:at}),Object.freeze&&(Object.freeze(y.props),Object.freeze(y)),y}function oe(y,M){return M=_(y.type,M,y.props,y._owner,y._debugStack,y._debugTask),y._store&&(M._store.validated=y._store.validated),M}function Ce(y){Re(y)?y._store&&(y._store.validated=1):typeof y=="object"&&y!==null&&y.$$typeof===Pe&&(y._payload.status==="fulfilled"?Re(y._payload.value)&&y._payload.value._store&&(y._payload.value._store.validated=1):y._store&&(y._store.validated=1))}function Re(y){return typeof y=="object"&&y!==null&&y.$$typeof===He}function ye(y){var M={"=":"=0",":":"=2"};return"$"+y.replace(/[=:]/g,function(fe){return M[fe]})}function ze(y,M){return typeof y=="object"&&y!==null&&y.key!=null?(I(y.key),ye(""+y.key)):M.toString(36)}function Ge(y){switch(y.status){case"fulfilled":return y.value;case"rejected":throw y.reason;default:switch(typeof y.status=="string"?y.then(E,E):(y.status="pending",y.then(function(M){y.status==="pending"&&(y.status="fulfilled",y.value=M)},function(M){y.status==="pending"&&(y.status="rejected",y.reason=M)})),y.status){case"fulfilled":return y.value;case"rejected":throw y.reason}}throw y}function Ne(y,M,fe,se,ce){var at=typeof y;(at==="undefined"||at==="boolean")&&(y=null);var Ue=!1;if(y===null)Ue=!0;else switch(at){case"bigint":case"string":case"number":Ue=!0;break;case"object":switch(y.$$typeof){case He:case Bt:Ue=!0;break;case Pe:return Ue=y._init,Ne(Ue(y._payload),M,fe,se,ce)}}if(Ue){Ue=y,ce=ce(Ue);var Ze=se===""?"."+ze(Ue,0):se;return co(ce)?(fe="",Ze!=null&&(fe=Ze.replace(ya,"$&/")+"/"),Ne(ce,M,fe,"",function(Qo){return Qo})):ce!=null&&(Re(ce)&&(ce.key!=null&&(Ue&&Ue.key===ce.key||I(ce.key)),fe=oe(ce,fe+(ce.key==null||Ue&&Ue.key===ce.key?"":(""+ce.key).replace(ya,"$&/")+"/")+Ze),se!==""&&Ue!=null&&Re(Ue)&&Ue.key==null&&Ue._store&&!Ue._store.validated&&(fe._store.validated=2),ce=fe),M.push(ce)),1}if(Ue=0,Ze=se===""?".":se+":",co(y))for(var Tt=0;Tt<y.length;Tt++)se=y[Tt],at=Ze+ze(se,Tt),Ue+=Ne(se,M,fe,at,ce);else if(Tt=A(y),typeof Tt=="function")for(Tt===y.entries&&(Yt||console.warn("Using Maps as children is not supported. Use an array of keyed ReactElements instead."),Yt=!0),y=Tt.call(y),Tt=0;!(se=y.next()).done;)se=se.value,at=Ze+ze(se,Tt++),Ue+=Ne(se,M,fe,at,ce);else if(at==="object"){if(typeof y.then=="function")return Ne(Ge(y),M,fe,se,ce);throw M=String(y),Error("Objects are not valid as a React child (found: "+(M==="[object Object]"?"object with keys {"+Object.keys(y).join(", ")+"}":M)+"). If you meant to render a collection of children, use an array instead.")}return Ue}function Je(y,M,fe){if(y==null)return y;var se=[],ce=0;return Ne(y,se,"","",function(at){return M.call(fe,at,ce++)}),se}function Se(y){if(y._status===-1){var M=null,fe=null,se=y._ioInfo;se!=null&&(se.start=se.end=performance.now(),se.value=new Promise(function(Ue,Ze){M=Ue,fe=Ze})),se=y._result;var ce=se();if(ce.then(function(Ue){if(y._status===0||y._status===-1){y._status=1,y._result=Ue;var Ze=y._ioInfo;if(Ze!=null){Ze.end=performance.now();var Tt=Ue?.default;M(Tt),Ze.value.status="fulfilled",Ze.value.value=Tt}ce.status===void 0&&(ce.status="fulfilled",ce.value=Ue)}},function(Ue){if(y._status===0||y._status===-1){y._status=2,y._result=Ue;var Ze=y._ioInfo;Ze!=null&&(Ze.end=performance.now(),Ze.value.then(E,E),fe(Ue),Ze.value.status="rejected",Ze.value.reason=Ue),ce.status===void 0&&(ce.status="rejected",ce.reason=Ue)}}),se=y._ioInfo,se!=null){var at=ce.displayName;typeof at=="string"&&(se.name=at)}y._status===-1&&(y._status=0,y._result=ce)}if(y._status===1)return se=y._result,se===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'))
|
|
@@ -560,7 +560,7 @@ Available templates:`));for(let[p,E]of Object.entries(iB))console.log(` ${S.cya
|
|
|
560
560
|
`,0),We(`Source: ${l.bundledPath?"bundled TDK example":l.repo}`,0),We(`Destination: ${u}
|
|
561
561
|
`,0);try{if(l.bundledPath){let p=lB(EU(hU(new URL("../dist/commands/project.js",import.meta.url).href)),"../../../");dU(lB(p,l.bundledPath),u,{recursive:!0});let E=mU(u).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=Dg(u,B),D=eQ(I,"utf-8");pU(I,D.replaceAll("tdk_example",E))}}else fU("git",["clone",l.repo,u],{stdio:"inherit"})}catch{Ca(l.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(`
|
|
562
562
|
\u2705 Cloned "${n}" into ${c}/`)),We(`
|
|
563
|
-
Next steps:`,0),We(`1. cd ${c}`),We("2. tdk doctor # check Docker/Tilt are ready"),We("3. tdk up # start the stack")}var qm={version:"1.0",project:{name:"",version:"1.0.0"},phases:{pre_alpha:{name:"Pre-Alpha",description:"Core infrastructure and MVP services",enabledStacks:IU()},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:{}},oR=new CU("project").description("Initialize or validate project-level master configuration").argument("[template]",`Clone a starter example instead of a blank project (${Object.keys(iB).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,A)=>{let{assertMachineReadyOrExit:l}=await import("./cold-preflight-
|
|
563
|
+
Next steps:`,0),We(`1. cd ${c}`),We("2. tdk doctor # check Docker/Tilt are ready"),We("3. tdk up # start the stack")}var qm={version:"1.0",project:{name:"",version:"1.0.0"},phases:{pre_alpha:{name:"Pre-Alpha",description:"Core infrastructure and MVP services",enabledStacks:IU()},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:{}},oR=new CU("project").description("Initialize or validate project-level master configuration").argument("[template]",`Clone a starter example instead of a blank project (${Object.keys(iB).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,A)=>{let{assertMachineReadyOrExit:l}=await import("./cold-preflight-2OWTPY23.js");if(await l(),n){await Tn(async()=>yU(n,A.path));return}await Tn(async()=>{let c=Cn();c||(c=tR(),Pa(`\u{1F680} Initializing new TDK project...
|
|
564
564
|
`),We(`Location: ${c}
|
|
565
565
|
`,0));let u=Dg(c,".tdk"),p=Dg(u,tc);if(A.check){let T=Ql.every(L=>ac(Dg(c,".tdk",".tdk-out",L))),J=ac(p);if(T&&J){let L=ji(c);Za("Project configuration is valid"),We(`Project: ${L.project.name}`,3),We(`Phases: ${Object.keys(L.phases).join(", ")}`,3),process.exit(0)}else{if(console.log(S.yellow("\u26A0\uFE0F Project configuration incomplete:")),J||We(".tdk/project.json (not found)",3),!T)for(let L of Ql.filter(_=>!ac(Dg(c,".tdk/.tdk-out",_))))We(`.tdk/.tdk-out/${L} (not found)`,3);We("Run `tdk project` to create them."),process.exit(1)}}ku("Project Configuration"),We(`Project root: ${c}
|
|
566
566
|
`,0),ac(u)||(o1(u),Za("Created: .tdk/ directory"));let E=ac(p);if(E&&!A.force){Za(".tdk/project.json exists");let T=JSON.parse(eQ(p,"utf-8")),J=ji(c),L=tQ(c),_=nQ(J,L);if((_.length>0||!T.phases)&&nc(p,J),_.length>0&&We(`Auto-enabled discovered service stacks: ${_.join(", ")}`,0),Pa(`
|
|
@@ -1369,7 +1369,7 @@ Read about how to prevent this error on https://github.com/vadimdemedes/ink/#isr
|
|
|
1369
1369
|
`)}`,B="Upgrade tdk to a version that supports these files. Changing schemaVersion by hand is not a fix";A.onInvalid?.(`${E}
|
|
1370
1370
|
Fix: ${B}`),console.error(S.red(`\u2717 ${E}`)),console.error(S.gray(` Fix: ${B}`)),l(1)}import{execFileSync as i4}from"node:child_process";import{realpathSync as l4}from"node:fs";import{resolve as r4}from"node:path";var s4=(n,A)=>i4(n,A,{encoding:"utf-8",stdio:"pipe",timeout:5e3,windowsHide:!0});function c4(n,A=process.platform,l=s4){if(A==="win32")return null;try{let c=l("lsof",["-nP",`-iTCP:${n}`,"-sTCP:LISTEN","-t"]).split(/\r?\n/).map(u=>u.trim()).filter(Boolean);for(let u of c){let p=l("ps",["-p",u,"-o","command="]).trim(),[E]=J1(`${u} ${p}`);if(E)return E}}catch{}return null}function nw(n){try{return l4(n)}catch{return r4(n)}}function u4(n,A){return n!==null&&nw(n.root)!==nw(A)}async function ow(n,A,l,c=c4){let u={running:[],foreign:[]};for(let p of n){if(!await l(p))continue;let E=c(p);E&&u4(E,A)?u.foreign.push({port:p,root:E.root}):u.running.push(p)}return u}import{execFileSync as f4}from"node:child_process";var aw=(n,A)=>f4(n,A,{encoding:"utf-8",stdio:"pipe",windowsHide:!0});function d4(n,A=process.platform,l=aw){if(!Number.isInteger(n)||n<1||n>65535)return[];if(A==="win32"){let u=`$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 l("powershell.exe",["-NoProfile","-Command",u]).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=l("lsof",["-nP","-t",`-iTCP:${n}`,"-sTCP:LISTEN"]).split(/\s+/).map(Number).filter(u=>Number.isInteger(u)&&u>0)}catch(u){let p=u,E=p.stderr?.toString().trim();if(p?.status===1&&!E)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(u=>{try{return l("ps",["-p",String(u),"-o","comm="]).trim().split(/[\\/]/).at(-1)==="tilt"}catch(p){throw new Error(`Unable to identify the process listening on port ${n}.`,{cause:p})}})}function QI(n,A=process.platform,l=aw){let c=d4(n,A,l);for(let u of c)A==="win32"?l("taskkill.exe",["/PID",String(u),"/F"]):l("kill",["-TERM",String(u)]);return c}function Aw(n,A){let l=new Set(A.map(c=>c.name));return n.filter(c=>!l.has(c))}function iw(n,A){let l=new Map(A.map(p=>[p.name,p])),c=new Set,u=p=>{if(!(c.has(p)||!l.has(p))){c.add(p);for(let E of l.get(p)?.config?.dependsOn??[])u(E)}};for(let p of n)u(p);return{selected:A.filter(p=>c.has(p.name)),dependencies:A.map(p=>p.name).filter(p=>c.has(p)&&!n.includes(p))}}function rw(n,A=[]){return["TDK is up.",`Tilt UI: http://localhost:${n}`,"App URLs:",...A.length>0?A.slice(0,5).map(l=>` ${l}`):[" run: tdk networks"],"Stop: tdk down"]}function E4(n,A){return n!=="win32"||A==="1"?null:"Landscape startup needs Ubuntu on WSL2. Native Windows is inspect-only."}async function h4(n=Y1(),A=C4){return n.kind==="webcontainer"?F1:q1(n.kind)&&!await A()?K1:null}async function C4(){let{execFile:n}=await import("node:child_process");return new Promise(A=>{n("docker",["ps"],{timeout:1e4},l=>A(!l))})}var B4=2;function I4(n){let A;try{({handEdited:A}=qC(n))}catch(l){if(l instanceof H1)return null;throw l}return A.length===0?null:["Generated files were edited by hand and no longer match service.json:",...A.map(l=>` ${l}`),"Run `tdk config regenerate` to discard the edits, or bypass with `tdk up --ignore-drift`."]}function y4(n,A,l=process.exit){if(A.ignoreDrift){console.warn(S.yellow("Warning: --ignore-drift set; generated files were not checked."));return}let c=I4(n);if(c){A.onDrift?.(c.join(`
|
|
1371
1371
|
`));for(let u of c)console.error(S.red(u));l(B4)}}function Q4(n,A,l=lr(),c=process.exit){if(A.ignoreVersion){console.warn(S.yellow("Warning: --ignore-version set; minTdkVersion was not checked."));return}let u=fD(n,l);u.status==="none"||u.status==="ok"||(A.onFail?.(`${u.message}
|
|
1372
|
-
${u.fix}`),console.error(S.red(u.message)),console.error(S.red(u.fix)),c(1))}function S4(n,A=3e4){return new Promise(l=>{let c=Date.now()+A,u=()=>{let p=p4({host:"127.0.0.1",port:n}),E=!1,B=I=>{E||(E=!0,p.destroy(),I||Date.now()>=c?l(I):setTimeout(u,250))};p.once("connect",()=>B(!0)),p.once("error",()=>B(!1))};u()})}var sw=new m4("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,A)=>{let l=A.json?AB("UP_FAILED","tdk up"):void 0;A.json&&(A.quiet=!0);let c=dQ(process.env.TILT_PORT);c.ok||(l?.({ok:!1},[{code:"INVALID_TILT_PORT",message:c.message}]),Ca(c.message));let u=c.port,p=Cn();p&&Q4(p,{ignoreVersion:A.ignoreVersion,onFail:w=>l?.({ok:!1},[{code:"TDK_VERSION_TOO_OLD",message:w}])});let E=A.dryRun?null:await h4();E&&(l?.({ok:!1},[{code:"HOST_UNSUPPORTED",message:E}]),Ca(E));let B=E4(process.platform,process.env.TDK_ALLOW_NATIVE_WINDOWS);B&&Ca(B);let I=Cn();if(I&&tw(I,{onInvalid:w=>l?.({ok:!1},[{code:"INVALID_SCHEMA_VERSION",message:w}])}),!A.dryRun){let{assertMachineReadyOrExit:w}=await import("./cold-preflight-
|
|
1372
|
+
${u.fix}`),console.error(S.red(u.message)),console.error(S.red(u.fix)),c(1))}function S4(n,A=3e4){return new Promise(l=>{let c=Date.now()+A,u=()=>{let p=p4({host:"127.0.0.1",port:n}),E=!1,B=I=>{E||(E=!0,p.destroy(),I||Date.now()>=c?l(I):setTimeout(u,250))};p.once("connect",()=>B(!0)),p.once("error",()=>B(!1))};u()})}var sw=new m4("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,A)=>{let l=A.json?AB("UP_FAILED","tdk up"):void 0;A.json&&(A.quiet=!0);let c=dQ(process.env.TILT_PORT);c.ok||(l?.({ok:!1},[{code:"INVALID_TILT_PORT",message:c.message}]),Ca(c.message));let u=c.port,p=Cn();p&&Q4(p,{ignoreVersion:A.ignoreVersion,onFail:w=>l?.({ok:!1},[{code:"TDK_VERSION_TOO_OLD",message:w}])});let E=A.dryRun?null:await h4();E&&(l?.({ok:!1},[{code:"HOST_UNSUPPORTED",message:E}]),Ca(E));let B=E4(process.platform,process.env.TDK_ALLOW_NATIVE_WINDOWS);B&&Ca(B);let I=Cn();if(I&&tw(I,{onInvalid:w=>l?.({ok:!1},[{code:"INVALID_SCHEMA_VERSION",message:w}])}),!A.dryRun){let{assertMachineReadyOrExit:w}=await import("./cold-preflight-2OWTPY23.js");await w()}let D=async()=>{let w=A.dryRun?Xo():Cn(),U=w??process.cwd(),b=b1(),T,J=[];if((!A.only||n)&&(T=$r(b),J=T.map(ge=>ge.name)),A.only){if(n&&!Cg(n)){let ft=on.stackNotFound(n,J);l?.({ok:!1},[oB(ft).error]),ft.exit()}let ge=n?b.filter(ft=>ft.stack===n):b,Fe=Aw(A.only,ge);if(Fe.length>0){let ft=ge.map(we=>we.name),yt=on.unknownServices(Fe,ft);l?.({ok:!1},[{code:"UNKNOWN_SERVICE",message:yt.message,...yt.suggestions.length>0?{suggestions:yt.suggestions}:{}}]),yt.exit()}}w&&y4(w,{ignoreDrift:A.ignoreDrift,onDrift:ge=>l?.({ok:!1},[{code:"DRIFT_DETECTED",message:ge}])}),w&&uD(w,{onInvalid:ge=>l?.({ok:!1},[{code:"INVALID_SERVICE_CONFIG",message:ge}])}),w&&!l&&!A.quiet&&cD(w);let L=await $C(U,{inspectDocker:!A.dryRun});if(!A.dryRun){if(w){let ft=zm(U);ft.length>0&&!A.quiet&&console.log(S.gray(`Added ${ft.join(", ")} to .env (generated; existing values unchanged)`))}w&&!g4(lw(U,".tdk",".tdk-out","Tiltfile"))&&(A.quiet||console.log(S.gray("No generated Tiltfile yet; generating .tdk/.tdk-out/ ...")),await Lu(U,{quiet:A.quiet}));let ge=k1(U);ge.length>0&&A.verbose&&!A.quiet&&console.log(S.gray(`Refreshed runtime assets: ${ge.join(", ")}`));let Fe=nR(U);Fe.length>0&&!A.quiet&&console.log(S.gray(`Added ${Fe.join(", ")} to the pre_alpha phase in .tdk/project.json`))}let _,oe,Ce=[];if(n){if(_=b.filter(ge=>ge.stack===n),_.length===0){let ge=on.stackNotFound(n,J);l?.({ok:!1},[oB(ge).error]),ge.exit()}Ce=_.map(ge=>ge.name),oe=`stack "${n}"`}else{_=b;let ge=T??$r(b);oe=`all stacks (${Un(ge.length,"stack")}, ${Un(_.length,"service")})`}let Re=[];if(A.only){let ge=iw(A.only,Li());_=ge.selected,Re=ge.dependencies,Ce=_.map(Fe=>Fe.name),oe=`${Un(A.only.length,"requested service")}${Re.length>0?` plus ${Re.join(", ")}`:""}`}A.verbose&&!A.quiet&&console.log(S.gray(`Found ${Un(_.length,"service")} in ${oe}`));let ye=_.map(ge=>ge.name);if(!A.quiet){console.log(S.blue(`${A.dryRun?"Would start":"Starting"} ${Un(ye.length,"service")} from ${oe}...`));for(let we of ye)console.log(S.gray(` - ${we}`));let{appBase:ge,apiBase:Fe}=GC(L.ingressHttp),ft=_.filter(we=>we.config?.appType==="frontend"),yt=_.filter(we=>oc(we.config?.appType));if(ft.length>0){console.log(S.blue(`
|
|
1373
1373
|
\u{1F30D} Frontend URLs:`));for(let we of ft){let Me=we.config?.basePath??`/${we.name}`;console.log(S.gray(` - ${we.name}: ${ge}${S.cyan(Gy(Me))}`))}}if(yt.length>0){console.log(S.blue(`
|
|
1374
1374
|
\u{1F527} Backend API URLs:`));for(let we of yt){let Me=we.name.replace(/-api$/,""),Pe=we.config?.apiPath??`/api/${Me}`,Ot=we.config?.sablier,In=Ot?.enable&&Ot?.deferStart?S.dim(" (deferred \u2014 starts on first request)"):"";console.log(S.gray(` - ${we.name}: ${Fe}${S.cyan(Gy(Pe))}${In}`))}}}let ze=A.only??(n?[n]:void 0),Ge=f1(Ce,{verbose:A.verbose,quiet:A.quiet,force:A.force,focusTargets:ze}),Ne=ze?`tilt up ${Ge.join(" ")}`:"tilt up";if(!A.quiet){console.log(S.blue(iD(L)));for(let ge of ew(L))console.log(S.yellow(ge));console.log(S.gray("Override with TDK_HTTP_PORT, TDK_HTTPS_PORT, or TDK_POSTGRES_PORT."))}if(l&&A.dryRun){l({ok:!0,dryRun:!0,stack:n??null,services:ye,...A.only?{requested:A.only,declaredDependencies:Re}:{},command:Ne});return}if(nB(A,"not starting services",Ne))return;sD(L),rD(U,L);let Je=Sl.tiltUi,Se=u??Je,Ve=A.only?[...new Set([Je,Se])]:[Se],{running:ot,foreign:ke}=await ow(Ve,U,async ge=>await Fu(ge)!==null);if(ke.length>0&&u!==void 0){let ge=ke[0],Fe=`TILT_PORT=${ge?.port} is used by another project's Tilt (${ge?.root}). Choose a free port, or run tdk down in that project.`;l?.({ok:!1},[{code:"TILT_PORT_IN_USE",message:Fe}]),Ca(Fe)}if(!A.quiet)for(let ge of ke)console.log(S.yellow(`\u26A0\uFE0F Tilt on port ${ge.port} belongs to another project (${ge.root}); this project will use another port.`));let xt=A.force&&ke.length===0,st=JR({runningPorts:ot,force:xt,only:!!A.only});if(st.action==="already-running"){let ge=`Environment is already running on port ${st.ports.join(", ")}.`;l?.({ok:!0,alreadyRunning:!0,tiltUrl:`http://localhost:${st.ports[0]}`}),A.quiet||console.log(S.green(ge));return}if(st.action==="only-blocked"){let ge=`A Tilt is already running on port ${st.ports.join(", ")}. --only cannot change a running stack's services: run \`tdk down\` first, or pass --force to replace it.`;l?.({ok:!1},[{code:"TILT_ALREADY_RUNNING",message:ge}]),Ca(ge)}if(A.only)for(let ge of ot)QI(ge);let Ee=await FR({configuredPort:u,force:xt,basePort:Je,findAvailablePort:PD}),ue=Ee.port;Ee.autoSwitched&&!A.quiet&&(console.log(S.yellow(`\u26A0\uFE0F Port ${Je} is already in use`)),console.log(S.blue(`\u{1F504} Auto-switching to port ${ue}
|
|
1375
1375
|
`))),process.env.TILT_PORT=ue.toString(),await KR({force:xt,quiet:A.quiet,port:ue},{stop:QI,log:ge=>console.log(S.yellow(ge)),wait:ge=>new Promise(Fe=>setTimeout(Fe,ge))}),A.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{Mb as a,Nb as b,Ob as c,Pb as d,Qb as e}from"./chunk-
|
|
2
|
+
import{Mb as a,Nb as b,Ob as c,Pb as d,Qb as e}from"./chunk-RP7QPLJP.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