likec4 1.46.4 → 1.47.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__app__/src/ProjectsOverview.js +16 -0
- package/__app__/src/likec4.js +1301 -502
- package/__app__/src/main.js +249 -219
- package/__app__/src/style.css +1 -1
- package/__app__/src/vendors.js +2690 -2349
- package/__app__/src/webcomponent.js +1 -1
- package/config/schema.json +3 -1
- package/dist/cli/index.mjs +339 -339
- package/dist/config/index.d.mts +1 -1
- package/dist/config/index.mjs +1 -1
- package/dist/index.d.mts +13 -4
- package/dist/index.mjs +1 -1
- package/dist/model/index.d.mts +1 -0
- package/dist/shared/likec4.CDVXAxDx.mjs +3573 -0
- package/dist/shared/likec4.CRP-WAuw.mjs +330 -0
- package/dist/shared/likec4.CXTvqtC-.mjs +207 -0
- package/dist/shared/{likec4.6kvTI22o.d.mts → likec4.DqDU0qex.d.mts} +648 -57
- package/dist/shared/{likec4.DobqFzmV.d.mts → likec4.iedqayBZ.d.mts} +6958 -11665
- package/dist/vite-plugin/index.d.mts +3 -3
- package/dist/vite-plugin/index.mjs +1 -1
- package/package.json +17 -20
- package/react/index.d.ts +41 -5
- package/react/index.js +1441 -497
- package/vite-plugin-modules.d.ts +8 -0
- package/dist/shared/likec4.BJupup6Q.mjs +0 -4211
- package/dist/shared/likec4.DASl7M77.mjs +0 -183
- package/dist/shared/likec4.DwZEQeLv.mjs +0 -272
package/dist/cli/index.mjs
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{h as ve,r as
|
|
3
|
-
rmSync as cr,statSync as
|
|
4
|
-
writeFile as Oe,mkdir as Se,stat as
|
|
5
|
-
|
|
6
|
-
function
|
|
7
|
-
use-dot-bin",boolean:!0,type:"boolean",desc:Le()?"enabled in container, disable by --no-use-dot":'use graphviz binaries ("dot" should be on PATH)',default:Le()},
|
|
8
|
-
|
|
9
|
-
ip address of the network interface to listen on"},nargs:1},
|
|
10
|
-
join(i,t);try{const o=B.statSync(s,{throwIfNoEntry:!1});if(r==="file"&&o?.isFile()||r==="directory"&&o?.isDirectory())return s}catch{}i=W.dirname(i)}}function
|
|
2
|
+
import{h as ve,r as Ac,k as He,l as us,m as st,u as y,w as ls,o as _c,p as Cc,q as ge,s as fs,v as yt,x as Te,y as xc,d as ps,z as ds,A as Tc,c as Ic,L as ye,_ as Oc,j as hs,B as Lc,C as it,D as sr,E as kc,F as ms,G as wt,H as gs,I as Nc,J as Pc,K as jc,M as Dc,O as qc,P as Ie,Q as Hc,R as Mc,S as Uc,U as Fc,V as Gc,W as Bc,X as Vc,Y as zc,e as Wc,Z as Be,$ as ir,a0 as Ve,a1 as or,a2 as ar,a3 as Xc,a4 as Kc,a5 as Yc,a6 as Jc}from"../shared/likec4.CDVXAxDx.mjs";import B,{existsSync as _e,copyFileSync as ys,
|
|
3
|
+
readdirSync as Qc,rmSync as cr,statSync as Zc}from"node:fs";import re,{hrtime as eu,cwd as vt,exit as ws,argv as tu,stdout as ru}from"node:process";import{b as vs,t as ur,a as nu,d as Me}from"../shared/likec4.CB2-Uaub.mjs";import{env as $s,isMinimal as su,nodeENV as iu,isDevelopment as bs}from"std-env";import ou from"yargs";import{hideBin as au}from"yargs/helpers";import W,{resolve as z,dirname as Re,join as ot,relative as Ce,sep as Es,extname as at,isAbsolute as lr,basename as $t}from"node:path";
|
|
4
|
+
import Rs,{mkdtemp as bt,writeFile as Oe,mkdir as Se,stat as fr,copyFile as cu,rm as uu}from"node:fs/promises";import ct,{tmpdir as Et}from"node:os";import{fileURLToPath as Ss}from"node:url";import pr from"@vitejs/plugin-react";import As from"util";import dr,{resolve as ze}from"path";import{j as _s,e as Cs,C as lu,t as xs,N as We,L as hr,g as fu,a as pu,b as du}from"../shared/likec4.CRP-WAuw.mjs";import{build as ut,createServer as hu,preview as mu}from"vite";import gu from"node:module";import{invariant as mr,
|
|
5
|
+
nonexhaustive as gr}from"@likec4/core";import yu from"node:net";import{setTimeout as wu}from"node:timers/promises";import{promisify as ae,isDeepStrictEqual as Ts}from"node:util";import Ue from"node:crypto";import Is from"node:assert";import{a as Xe}from"../shared/likec4.CXTvqtC-.mjs";import{isDeploymentRelationModel as vu,isRelationModel as $u,isDeploymentElementModel as bu,isLikeC4ViewModel as Eu,isElementModel as Ru,LikeC4Model as Su}from"@likec4/core/model";import{compareNatural as Au,sortNaturalByFqn as _u,
|
|
6
|
+
invariant as Cu,delay as Os}from"@likec4/core/utils";let yr;function xu(){try{return B.statSync("/.dockerenv"),!0}catch{return!1}}function Tu(){try{return B.readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return!1}}function Iu(){return yr===void 0&&(yr=xu()||Tu()),yr}let wr;const Ou=()=>{try{return B.statSync("/run/.containerenv"),!0}catch{return!1}};function Le(){return wr===void 0&&(wr=Ou()||Iu()),wr}const ce={type:"string",desc:"<directory> with LikeC4 sources (default is cu\
|
|
7
|
+
rrent directory)",normalize:!0,default:".",coerce:z},de={alias:"use-dot-bin",boolean:!0,type:"boolean",desc:Le()?"enabled in container, disable by --no-use-dot":'use graphviz binaries ("dot" should be on PATH)',default:Le()},Ls={boolean:!0,type:"boolean",desc:"use `@likec4/core` package in types",default:!1},ks={boolean:!0,type:"boolean",desc:'use hash history for navigation, e.g. "/#/view" instead of "/view"'},Rt={alias:"o",type:"string",desc:"output directory",normalize:!0,nargs:1,coerce:z},vr={
|
|
8
|
+
alias:"w",type:"string",desc:'prefix for Webcomponents, e.g "c4" generates <c4-view ../>',default:"likec4",nargs:1},Ns={alias:"t",type:"string",desc:'base title of the app pages (default is "LikeC4")',default:"LikeC4",nargs:1},Ps={alias:["base-url"],type:"string",desc:'base url the app is being served from, e.g. "/" or "/pages/"',nargs:1},Lu={boolean:!0,type:"boolean",desc:"outputs a single self-contained HTML file with all required resources inlined"},ku={alias:"l",type:"string",...Le()?{desc:"\
|
|
9
|
+
listen 0.0.0.0 by default in container",default:"0.0.0.0"}:{desc:"ip address of the network interface to listen on"},nargs:1},Nu={type:"number",desc:"port number for the dev server (default is 5173, or PORT environment variable)",nargs:1},Ke={alias:"p",type:"string",desc:'select LikeC4 project by name (e.g. "my-project") or by path',nargs:1},js=t=>t instanceof URL?Ss(t):t;function Pu(t,{cwd:e=re.cwd(),type:r="file",stopAt:n}={}){let i=W.resolve(js(e)??"");const{root:a}=W.parse(i);for(n=W.resolve(
|
|
10
|
+
i,js(n)??a);i&&i!==n&&i!==a;){const s=W.isAbsolute(t)?t:W.join(i,t);try{const o=B.statSync(s,{throwIfNoEntry:!1});if(r==="file"&&o?.isFile()||r==="directory"&&o?.isDirectory())return s}catch{}i=W.dirname(i)}}function ju({cwd:t=re.cwd()}={}){return Pu("package.json",{cwd:t})}const Du=ve("vite"),St=Re(Ss(import.meta.url)),qu=`
|
|
11
11
|
/* prettier-ignore-start */
|
|
12
12
|
/* eslint-disable */
|
|
13
13
|
|
|
@@ -16,118 +16,118 @@ join(i,t);try{const o=B.statSync(s,{throwIfNoEntry:!1});if(r==="file"&&o?.isFile
|
|
|
16
16
|
* DO NOT EDIT MANUALLY!
|
|
17
17
|
******************************************************************************/
|
|
18
18
|
|
|
19
|
-
`.trimStart(),
|
|
19
|
+
`.trimStart(),Hu=`
|
|
20
20
|
|
|
21
21
|
/* prettier-ignore-end */
|
|
22
|
-
|
|
22
|
+
`,$r={banner:qu,footer:Hu};function Ds(){const t=ju({cwd:St});if(!t)throw new Error("likec4 package folder not found");return Re(t)}function br(){const t=Ds(),e=[z(t,"__app__"),z(St,"../__app__"),z(St,"../../__app__"),z(St,"../../dist/__app__")],r=Ac(e,_e);if(!r)throw He.error(`likec4 app root does not exist, tried:
|
|
23
23
|
${e.join(`
|
|
24
|
-
`)}`),new Error("likec4 app root does not exist");return r}async function
|
|
25
|
-
`),t}const
|
|
24
|
+
`)}`),new Error("likec4 app root does not exist");return r}async function Er(){const t=await bt(ot(Et(),".likec4-public-"));return await Oe(ot(t,"likec4-views.js"),`// generated by likec4
|
|
25
|
+
`),t}const Rr=1e4;function Sr(){const t=Ds();return{"likec4/icons":z(t,"icons"),"likec4/react":z(t,"react/index.js"),"likec4/model":z(t,"dist/model/index.mjs"),"likec4/vite-plugin/internal":z(t,"dist/vite-plugin/internal.mjs")}}var Ar={},qs;function _r(){return qs||(qs=1,(function(t){t.isInteger=e=>typeof e=="number"?Number.isInteger(e):typeof e=="string"&&e.trim()!==""?Number.isInteger(Number(e)):!1,t.find=(e,r)=>e.nodes.find(n=>n.type===r),t.exceedsLimit=(e,r,n=1,i)=>i===!1||!t.isInteger(e)||!t.
|
|
26
26
|
isInteger(r)?!1:(Number(r)-Number(e))/Number(n)>=i,t.escapeNode=(e,r=0,n)=>{const i=e.nodes[r];i&&(n&&i.type===n||i.type==="open"||i.type==="close")&&i.escaped!==!0&&(i.value="\\"+i.value,i.escaped=!0)},t.encloseBrace=e=>e.type!=="brace"?!1:e.commas>>0+e.ranges>>0===0?(e.invalid=!0,!0):!1,t.isInvalidBrace=e=>e.type!=="brace"?!1:e.invalid===!0||e.dollar?!0:e.commas>>0+e.ranges>>0===0||e.open!==!0||e.close!==!0?(e.invalid=!0,!0):!1,t.isOpenOrClose=e=>e.type==="open"||e.type==="close"?!0:e.open===!0||
|
|
27
|
-
e.close===!0,t.reduce=e=>e.reduce((r,n)=>(n.type==="text"&&r.push(n.value),n.type==="range"&&(n.type="text"),r),[]),t.flatten=(...e)=>{const r=[],n=i=>{for(let a=0;a<i.length;a++){const s=i[a];if(Array.isArray(s)){n(s);continue}s!==void 0&&r.push(s)}return r};return n(e),r}})(
|
|
28
|
-
t.isOpenOrClose(i)?"\\"+i.value:i.value;if(i.value)return i.value;if(i.nodes)for(const u of i.nodes)c+=n(u);return c};return n(e)},
|
|
29
|
-
m);if(t(g)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let
|
|
30
|
-
max:g,a:q,b:M},L=[],I=[];if(V&&(F.isPadded=V,F.maxLen=String(F.max).length),q<0){let C=M<0?Math.abs(M):1;I=a(C,Math.abs(q),F,
|
|
31
|
-
[g]);for(;m<=S&&S<=g;)E.add(S),T+=1,S=l(m,T);for(S=f(g+1,
|
|
32
|
-
b&&b.pattern===M.pattern){b.count.length>1&&b.count.pop(),b.count.push(M.count[0]),b.string=b.pattern+p(b.count),A=q+1;continue}T.isPadded&&(V=w(q,T,
|
|
33
|
-
|
|
34
|
-
0{${
|
|
35
|
-
-"?"-":"";A&&(
|
|
36
|
-
(${A}${q})`:q},f=(
|
|
37
|
-
be a number`);return[]},m=(
|
|
38
|
-
abs($)),D=[],H=0;for(;q?b>=x:b<=x;)A.toRegex===!0&&E>1?P(b):D.push(c(k(b,H),I,C)),b=q?b-E:b+E,H++;return A.toRegex===!0?E>1?l(O,A,I):p(D,null,{wrap:!1,...A}):D},g=(
|
|
39
|
-
wrap:!1,options:A}):L},T=(
|
|
40
|
-
i.escapeInvalid===!0,l=c===!0||u===!0,f=i.escapeInvalid===!0?"\\":"";let p="";if(s.isOpen===!0)return f+s.value;if(s.isClose===!0)return console.log("node.isClose",f,s.value),f+s.value;if(s.type==="open")return l?f+s.value:"(";if(s.type==="close")return l?f+s.value:")";if(s.type==="comma")return s.prev.type==="comma"?"":l?s.value:"|";if(s.value)return s.value;if(s.nodes&&s.ranges>0){const
|
|
41
|
-
length>1?`(${v})`:v}if(s.nodes)for(const
|
|
27
|
+
e.close===!0,t.reduce=e=>e.reduce((r,n)=>(n.type==="text"&&r.push(n.value),n.type==="range"&&(n.type="text"),r),[]),t.flatten=(...e)=>{const r=[],n=i=>{for(let a=0;a<i.length;a++){const s=i[a];if(Array.isArray(s)){n(s);continue}s!==void 0&&r.push(s)}return r};return n(e),r}})(Ar)),Ar}var Cr,Hs;function xr(){if(Hs)return Cr;Hs=1;const t=_r();return Cr=(e,r={})=>{const n=(i,a={})=>{const s=r.escapeInvalid&&t.isInvalidBrace(a),o=i.invalid===!0&&r.escapeInvalid===!0;let c="";if(i.value)return(s||o)&&
|
|
28
|
+
t.isOpenOrClose(i)?"\\"+i.value:i.value;if(i.value)return i.value;if(i.nodes)for(const u of i.nodes)c+=n(u);return c};return n(e)},Cr}var Tr,Ms;function Mu(){return Ms||(Ms=1,Tr=function(t){return typeof t=="number"?t-t===0:typeof t=="string"&&t.trim()!==""?Number.isFinite?Number.isFinite(+t):isFinite(+t):!1}),Tr}var Ir,Us;function Uu(){if(Us)return Ir;Us=1;const t=Mu(),e=(m,g,T)=>{if(t(m)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(g===void 0||m===g)return String(
|
|
29
|
+
m);if(t(g)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let h={relaxZeros:!0,...T};typeof h.strictZeros=="boolean"&&(h.relaxZeros=h.strictZeros===!1);let S=String(h.relaxZeros),E=String(h.shorthand),A=String(h.capture),b=String(h.wrap),x=m+":"+g+"="+S+E+A+b;if(e.cache.hasOwnProperty(x))return e.cache[x].result;let q=Math.min(m,g),M=Math.max(m,g);if(Math.abs(q-M)===1){let C=m+"|"+g;return h.capture?`(${C})`:h.wrap===!1?C:`(?:${C})`}let V=v(m)||v(g),F={min:m,
|
|
30
|
+
max:g,a:q,b:M},L=[],I=[];if(V&&(F.isPadded=V,F.maxLen=String(F.max).length),q<0){let C=M<0?Math.abs(M):1;I=a(C,Math.abs(q),F,h),q=F.a=0}return M>=0&&(L=a(q,M,F,h)),F.negatives=I,F.positives=L,F.result=r(I,L),h.capture===!0?F.result=`(${F.result})`:h.wrap!==!1&&L.length+I.length>1&&(F.result=`(?:${F.result})`),e.cache[x]=F,F.result};function r(m,g,T){let h=s(m,g,"-",!1)||[],S=s(g,m,"",!1)||[],E=s(m,g,"-?",!0)||[];return h.concat(E).concat(S).join("|")}function n(m,g){let T=1,h=1,S=l(m,T),E=new Set(
|
|
31
|
+
[g]);for(;m<=S&&S<=g;)E.add(S),T+=1,S=l(m,T);for(S=f(g+1,h)-1;m<S&&S<=g;)E.add(S),h+=1,S=f(g+1,h)-1;return E=[...E],E.sort(c),E}function i(m,g,T){if(m===g)return{pattern:m,count:[],digits:0};let h=o(m,g),S=h.length,E="",A=0;for(let b=0;b<S;b++){let[x,q]=h[b];x===q?E+=x:x!=="0"||q!=="9"?E+=d(x,q):A++}return A&&(E+=T.shorthand===!0?"\\d":"[0-9]"),{pattern:E,count:[A],digits:S}}function a(m,g,T,h){let S=n(m,g),E=[],A=m,b;for(let x=0;x<S.length;x++){let q=S[x],M=i(String(A),String(q),h),V="";if(!T.isPadded&&
|
|
32
|
+
b&&b.pattern===M.pattern){b.count.length>1&&b.count.pop(),b.count.push(M.count[0]),b.string=b.pattern+p(b.count),A=q+1;continue}T.isPadded&&(V=w(q,T,h)),M.string=V+M.pattern+p(M.count),E.push(M),A=q+1,b=M}return E}function s(m,g,T,h,S){let E=[];for(let A of m){let{string:b}=A;!h&&!u(g,"string",b)&&E.push(T+b),h&&u(g,"string",b)&&E.push(T+b)}return E}function o(m,g){let T=[];for(let h=0;h<m.length;h++)T.push([m[h],g[h]]);return T}function c(m,g){return m>g?1:g>m?-1:0}function u(m,g,T){return m.some(
|
|
33
|
+
h=>h[g]===T)}function l(m,g){return Number(String(m).slice(0,-g)+"9".repeat(g))}function f(m,g){return m-m%Math.pow(10,g)}function p(m){let[g=0,T=""]=m;return T||g>1?`{${g+(T?","+T:"")}}`:""}function d(m,g,T){return`[${m}${g-m===1?"":"-"}${g}]`}function v(m){return/^-?(0+)\d/.test(m)}function w(m,g,T){if(!g.isPadded)return m;let h=Math.abs(g.maxLen-String(m).length),S=T.relaxZeros!==!1;switch(h){case 0:return"";case 1:return S?"0?":"0";case 2:return S?"0{0,2}":"00";default:return S?`0{0,${h}}`:`\
|
|
34
|
+
0{${h}}`}}return e.cache={},e.clearCache=()=>e.cache={},Ir=e,Ir}var Or,Fs;function Gs(){if(Fs)return Or;Fs=1;const t=As,e=Uu(),r=h=>h!==null&&typeof h=="object"&&!Array.isArray(h),n=h=>S=>h===!0?Number(S):String(S),i=h=>typeof h=="number"||typeof h=="string"&&h!=="",a=h=>Number.isInteger(+h),s=h=>{let S=`${h}`,E=-1;if(S[0]==="-"&&(S=S.slice(1)),S==="0")return!1;for(;S[++E]==="0";);return E>0},o=(h,S,E)=>typeof h=="string"||typeof S=="string"?!0:E.stringify===!0,c=(h,S,E)=>{if(S>0){let A=h[0]==="\
|
|
35
|
+
-"?"-":"";A&&(h=h.slice(1)),h=A+h.padStart(A?S-1:S,"0")}return E===!1?String(h):h},u=(h,S)=>{let E=h[0]==="-"?"-":"";for(E&&(h=h.slice(1),S--);h.length<S;)h="0"+h;return E?"-"+h:h},l=(h,S,E)=>{h.negatives.sort((M,V)=>M<V?-1:M>V?1:0),h.positives.sort((M,V)=>M<V?-1:M>V?1:0);let A=S.capture?"":"?:",b="",x="",q;return h.positives.length&&(b=h.positives.map(M=>u(String(M),E)).join("|")),h.negatives.length&&(x=`-(${A}${h.negatives.map(M=>u(String(M),E)).join("|")})`),b&&x?q=`${b}|${x}`:q=b||x,S.wrap?`\
|
|
36
|
+
(${A}${q})`:q},f=(h,S,E,A)=>{if(E)return e(h,S,{wrap:!1,...A});let b=String.fromCharCode(h);if(h===S)return b;let x=String.fromCharCode(S);return`[${b}-${x}]`},p=(h,S,E)=>{if(Array.isArray(h)){let A=E.wrap===!0,b=E.capture?"":"?:";return A?`(${b}${h.join("|")})`:h.join("|")}return e(h,S,E)},d=(...h)=>new RangeError("Invalid range arguments: "+t.inspect(...h)),v=(h,S,E)=>{if(E.strictRanges===!0)throw d([h,S]);return[]},w=(h,S)=>{if(S.strictRanges===!0)throw new TypeError(`Expected step "${h}" to \
|
|
37
|
+
be a number`);return[]},m=(h,S,E=1,A={})=>{let b=Number(h),x=Number(S);if(!Number.isInteger(b)||!Number.isInteger(x)){if(A.strictRanges===!0)throw d([h,S]);return[]}b===0&&(b=0),x===0&&(x=0);let q=b>x,M=String(h),V=String(S),F=String(E);E=Math.max(Math.abs(E),1);let L=s(M)||s(V)||s(F),I=L?Math.max(M.length,V.length,F.length):0,C=L===!1&&o(h,S,A)===!1,k=A.transform||n(C);if(A.toRegex&&E===1)return f(u(h,I),u(S,I),!0,A);let O={negatives:[],positives:[]},P=$=>O[$<0?"negatives":"positives"].push(Math.
|
|
38
|
+
abs($)),D=[],H=0;for(;q?b>=x:b<=x;)A.toRegex===!0&&E>1?P(b):D.push(c(k(b,H),I,C)),b=q?b-E:b+E,H++;return A.toRegex===!0?E>1?l(O,A,I):p(D,null,{wrap:!1,...A}):D},g=(h,S,E=1,A={})=>{if(!a(h)&&h.length>1||!a(S)&&S.length>1)return v(h,S,A);let b=A.transform||(C=>String.fromCharCode(C)),x=`${h}`.charCodeAt(0),q=`${S}`.charCodeAt(0),M=x>q,V=Math.min(x,q),F=Math.max(x,q);if(A.toRegex&&E===1)return f(V,F,!1,A);let L=[],I=0;for(;M?x>=q:x<=q;)L.push(b(x,I)),x=M?x-E:x+E,I++;return A.toRegex===!0?p(L,null,{
|
|
39
|
+
wrap:!1,options:A}):L},T=(h,S,E,A={})=>{if(S==null&&i(h))return[h];if(!i(h)||!i(S))return v(h,S,A);if(typeof E=="function")return T(h,S,1,{transform:E});if(r(E))return T(h,S,0,E);let b={...A};return b.capture===!0&&(b.wrap=!0),E=E||b.step||1,a(E)?a(h)&&a(S)?m(h,S,E,b):g(h,S,Math.max(Math.abs(E),1),b):E!=null&&!r(E)?w(E,b):T(h,S,1,E)};return Or=T,Or}var Lr,Bs;function Fu(){if(Bs)return Lr;Bs=1;const t=Gs(),e=_r();return Lr=(n,i={})=>{const a=(s,o={})=>{const c=e.isInvalidBrace(o),u=s.invalid===!0&&
|
|
40
|
+
i.escapeInvalid===!0,l=c===!0||u===!0,f=i.escapeInvalid===!0?"\\":"";let p="";if(s.isOpen===!0)return f+s.value;if(s.isClose===!0)return console.log("node.isClose",f,s.value),f+s.value;if(s.type==="open")return l?f+s.value:"(";if(s.type==="close")return l?f+s.value:")";if(s.type==="comma")return s.prev.type==="comma"?"":l?s.value:"|";if(s.value)return s.value;if(s.nodes&&s.ranges>0){const d=e.reduce(s.nodes),v=t(...d,{...i,wrap:!1,toRegex:!0,strictZeros:!0});if(v.length!==0)return d.length>1&&v.
|
|
41
|
+
length>1?`(${v})`:v}if(s.nodes)for(const d of s.nodes)p+=a(d,s);return p};return a(n)},Lr}var kr,Vs;function Gu(){if(Vs)return kr;Vs=1;const t=Gs(),e=xr(),r=_r(),n=(a="",s="",o=!1)=>{const c=[];if(a=[].concat(a),s=[].concat(s),!s.length)return a;if(!a.length)return o?r.flatten(s).map(u=>`{${u}}`):s;for(const u of a)if(Array.isArray(u))for(const l of u)c.push(n(l,s,o));else for(let l of s)o===!0&&typeof l=="string"&&(l=`{${l}}`),c.push(Array.isArray(l)?n(u,l,o):u+l);return r.flatten(c)};return kr=
|
|
42
42
|
(a,s={})=>{const o=s.rangeLimit===void 0?1e3:s.rangeLimit,c=(u,l={})=>{u.queue=[];let f=l,p=l.queue;for(;f.type!=="brace"&&f.type!=="root"&&f.parent;)f=f.parent,p=f.queue;if(u.invalid||u.dollar){p.push(n(p.pop(),e(u,s)));return}if(u.type==="brace"&&u.invalid!==!0&&u.nodes.length===2){p.push(n(p.pop(),["{}"]));return}if(u.nodes&&u.ranges>0){const m=r.reduce(u.nodes);if(r.exceedsLimit(...m,s.step,o))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase\
|
|
43
|
-
or disable the limit.");let g=t(...m,s);g.length===0&&(g=e(u,s)),p.push(n(p.pop(),g)),u.nodes=[];return}const
|
|
44
|
-
flatten(c(a))},
|
|
43
|
+
or disable the limit.");let g=t(...m,s);g.length===0&&(g=e(u,s)),p.push(n(p.pop(),g)),u.nodes=[];return}const d=r.encloseBrace(u);let v=u.queue,w=u;for(;w.type!=="brace"&&w.type!=="root"&&w.parent;)w=w.parent,v=w.queue;for(let m=0;m<u.nodes.length;m++){const g=u.nodes[m];if(g.type==="comma"&&u.type==="brace"){m===1&&v.push(""),v.push("");continue}if(g.type==="close"){p.push(n(p.pop(),v,d));continue}if(g.value&&g.type!=="open"){v.push(n(v.pop(),g.value));continue}g.nodes&&c(g,u)}return v};return r.
|
|
44
|
+
flatten(c(a))},kr}var Nr,zs;function Bu(){return zs||(zs=1,Nr={MAX_LENGTH:1e4,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\
|
|
45
45
|
\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:`
|
|
46
|
-
`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}),
|
|
47
|
-
CHAR_LEFT_CURLY_BRACE:c,CHAR_RIGHT_CURLY_BRACE:u,CHAR_LEFT_SQUARE_BRACKET:l,CHAR_RIGHT_SQUARE_BRACKET:f,CHAR_DOUBLE_QUOTE:p,CHAR_SINGLE_QUOTE:
|
|
46
|
+
`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}),Nr}var Pr,Ws;function Vu(){if(Ws)return Pr;Ws=1;const t=xr(),{MAX_LENGTH:e,CHAR_BACKSLASH:r,CHAR_BACKTICK:n,CHAR_COMMA:i,CHAR_DOT:a,CHAR_LEFT_PARENTHESES:s,CHAR_RIGHT_PARENTHESES:o,
|
|
47
|
+
CHAR_LEFT_CURLY_BRACE:c,CHAR_RIGHT_CURLY_BRACE:u,CHAR_LEFT_SQUARE_BRACKET:l,CHAR_RIGHT_SQUARE_BRACKET:f,CHAR_DOUBLE_QUOTE:p,CHAR_SINGLE_QUOTE:d,CHAR_NO_BREAK_SPACE:v,CHAR_ZERO_WIDTH_NOBREAK_SPACE:w}=Bu();return Pr=(g,T={})=>{if(typeof g!="string")throw new TypeError("Expected a string");const h=T||{},S=typeof h.maxLength=="number"?Math.min(e,h.maxLength):e;if(g.length>S)throw new SyntaxError(`Input length (${g.length}), exceeds max characters (${S})`);const E={type:"root",input:g,nodes:[]},A=[E];
|
|
48
48
|
let b=E,x=E,q=0;const M=g.length;let V=0,F=0,L;const I=()=>g[V++],C=k=>{if(k.type==="text"&&x.type==="dot"&&(x.type="text"),x&&x.type==="text"&&k.type==="text"){x.value+=k.value;return}return b.nodes.push(k),k.parent=b,k.prev=x,x=k,k};for(C({type:"bos"});V<M;)if(b=A[A.length-1],L=I(),!(L===w||L===v)){if(L===r){C({type:"text",value:(T.keepEscaping?L:"")+I()});continue}if(L===f){C({type:"text",value:"\\"+L});continue}if(L===l){q++;let k;for(;V<M&&(k=I());){if(L+=k,k===l){q++;continue}if(k===r){L+=
|
|
49
|
-
I();continue}if(k===f&&(q--,q===0))break}C({type:"text",value:L});continue}if(L===s){b=C({type:"paren",nodes:[]}),A.push(b),C({type:"text",value:L});continue}if(L===o){if(b.type!=="paren"){C({type:"text",value:L});continue}b=A.pop(),C({type:"text",value:L}),b=A[A.length-1];continue}if(L===p||L===
|
|
49
|
+
I();continue}if(k===f&&(q--,q===0))break}C({type:"text",value:L});continue}if(L===s){b=C({type:"paren",nodes:[]}),A.push(b),C({type:"text",value:L});continue}if(L===o){if(b.type!=="paren"){C({type:"text",value:L});continue}b=A.pop(),C({type:"text",value:L}),b=A[A.length-1];continue}if(L===p||L===d||L===n){const k=L;let O;for(T.keepQuotes!==!0&&(L="");V<M&&(O=I());){if(O===r){L+=O+I();continue}if(O===k){T.keepQuotes===!0&&(L+=O);break}L+=O}C({type:"text",value:L});continue}if(L===c){F++;const O={
|
|
50
50
|
type:"brace",open:!0,close:!1,dollar:x.value&&x.value.slice(-1)==="$"||b.dollar===!0,depth:F,commas:0,ranges:0,nodes:[]};b=C(O),A.push(b),C({type:"open",value:L});continue}if(L===u){if(b.type!=="brace"){C({type:"text",value:L});continue}const k="close";b=A.pop(),b.close=!0,C({type:k,value:L}),F--,b=A[A.length-1];continue}if(L===i&&F>0){if(b.ranges>0){b.ranges=0;const k=b.nodes.shift();b.nodes=[k,{type:"text",value:t(b)}]}C({type:"comma",value:L}),b.commas++;continue}if(L===a&&F>0&&b.commas===0){
|
|
51
51
|
const k=b.nodes;if(F===0||k.length===0){C({type:"text",value:L});continue}if(x.type==="dot"){if(b.range=[],x.value+=L,x.type="range",b.nodes.length!==3&&b.nodes.length!==5){b.invalid=!0,b.ranges=0,x.type="text";continue}b.ranges++,b.args=[];continue}if(x.type==="range"){k.pop();const O=k[k.length-1];O.value+=x.value+L,x=O,b.ranges--;continue}C({type:"dot",value:L});continue}C({type:"text",value:L})}do if(b=A.pop(),b.type!=="root"){b.nodes.forEach(P=>{P.nodes||(P.type==="open"&&(P.isOpen=!0),P.type===
|
|
52
|
-
"close"&&(P.isClose=!0),P.nodes||(P.type="text"),P.invalid=!0)});const k=A[A.length-1],O=k.nodes.indexOf(b);k.nodes.splice(O,1,...b.nodes)}while(A.length>0);return C({type:"eos"}),E},
|
|
53
|
-
a,s),i.stringify=(a,s={})=>t(typeof a=="string"?i.parse(a,s):a,s),i.compile=(a,s={})=>(typeof a=="string"&&(a=i.parse(a,s)),e(a,s)),i.expand=(a,s={})=>{typeof a=="string"&&(a=i.parse(a,s));let o=r(a,s);return s.noempty===!0&&(o=o.filter(Boolean)),s.nodupes===!0&&(o=[...new Set(o)]),o},i.create=(a,s={})=>a===""||a.length<3?[a]:s.expand!==!0?i.compile(a,s):i.expand(a,s),
|
|
54
|
-
=.)",c="[^/]",u=`(?:${s}|$)`,l=`(?:^|${s})`,f=`${n}{1,2}${u}`,p=`(?!${n})`,
|
|
55
|
-
NO_DOT_SLASH:`(?!${n}{0,1}(?:[${e}]|$))`,NO_DOTS_SLASH:`(?!${n}{1,2}(?:[${e}]|$))`,QMARK_NO_DOT:`[^.${e}]`,START_ANCHOR:`(?:^|[${e}])`,END_ANCHOR:`(?:[${e}]|$)`},S={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};return
|
|
52
|
+
"close"&&(P.isClose=!0),P.nodes||(P.type="text"),P.invalid=!0)});const k=A[A.length-1],O=k.nodes.indexOf(b);k.nodes.splice(O,1,...b.nodes)}while(A.length>0);return C({type:"eos"}),E},Pr}var jr,Xs;function zu(){if(Xs)return jr;Xs=1;const t=xr(),e=Fu(),r=Gu(),n=Vu(),i=(a,s={})=>{let o=[];if(Array.isArray(a))for(const c of a){const u=i.create(c,s);Array.isArray(u)?o.push(...u):o.push(u)}else o=[].concat(i.create(a,s));return s&&s.expand===!0&&s.nodupes===!0&&(o=[...new Set(o)]),o};return i.parse=(a,s={})=>n(
|
|
53
|
+
a,s),i.stringify=(a,s={})=>t(typeof a=="string"?i.parse(a,s):a,s),i.compile=(a,s={})=>(typeof a=="string"&&(a=i.parse(a,s)),e(a,s)),i.expand=(a,s={})=>{typeof a=="string"&&(a=i.parse(a,s));let o=r(a,s);return s.noempty===!0&&(o=o.filter(Boolean)),s.nodupes===!0&&(o=[...new Set(o)]),o},i.create=(a,s={})=>a===""||a.length<3?[a]:s.expand!==!0?i.compile(a,s):i.expand(a,s),jr=i,jr}var Dr={},qr,Ks;function At(){if(Ks)return qr;Ks=1;const t=dr,e="\\\\/",r=`[^${e}]`,n="\\.",i="\\+",a="\\?",s="\\/",o="(?\
|
|
54
|
+
=.)",c="[^/]",u=`(?:${s}|$)`,l=`(?:^|${s})`,f=`${n}{1,2}${u}`,p=`(?!${n})`,d=`(?!${l}${f})`,v=`(?!${n}{0,1}${u})`,w=`(?!${f})`,m=`[^.${s}]`,g=`${c}*?`,T={DOT_LITERAL:n,PLUS_LITERAL:i,QMARK_LITERAL:a,SLASH_LITERAL:s,ONE_CHAR:o,QMARK:c,END_ANCHOR:u,DOTS_SLASH:f,NO_DOT:p,NO_DOTS:d,NO_DOT_SLASH:v,NO_DOTS_SLASH:w,QMARK_NO_DOT:m,STAR:g,START_ANCHOR:l},h={...T,SLASH_LITERAL:`[${e}]`,QMARK:r,STAR:`${r}*?`,DOTS_SLASH:`${n}{1,2}(?:[${e}]|$)`,NO_DOT:`(?!${n})`,NO_DOTS:`(?!(?:^|[${e}])${n}{1,2}(?:[${e}]|$))`,
|
|
55
|
+
NO_DOT_SLASH:`(?!${n}{0,1}(?:[${e}]|$))`,NO_DOTS_SLASH:`(?!${n}{1,2}(?:[${e}]|$))`,QMARK_NO_DOT:`[^.${e}]`,START_ANCHOR:`(?:^|[${e}])`,END_ANCHOR:`(?:[${e}]|$)`},S={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};return qr={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:S,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,
|
|
56
56
|
REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,
|
|
57
57
|
CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,
|
|
58
|
-
CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:t.sep,extglobChars(E){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${E.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(E){return E===!0?
|
|
58
|
+
CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:t.sep,extglobChars(E){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${E.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(E){return E===!0?h:T}},qr}var Ys;function _t(){return Ys||(Ys=1,(function(t){const e=dr,r=process.
|
|
59
59
|
platform==="win32",{REGEX_BACKSLASH:n,REGEX_REMOVE_BACKSLASH:i,REGEX_SPECIAL_CHARS:a,REGEX_SPECIAL_CHARS_GLOBAL:s}=At();t.isObject=o=>o!==null&&typeof o=="object"&&!Array.isArray(o),t.hasRegexChars=o=>a.test(o),t.isRegexChar=o=>o.length===1&&t.hasRegexChars(o),t.escapeRegex=o=>o.replace(s,"\\$1"),t.toPosixSlashes=o=>o.replace(n,"/"),t.removeBackslashes=o=>o.replace(i,c=>c==="\\"?"":c),t.supportsLookbehinds=()=>{const o=process.version.slice(1).split(".").map(Number);return o.length===3&&o[0]>=9||
|
|
60
|
-
o[0]===8&&o[1]>=10},t.isWindows=o=>o&&typeof o.windows=="boolean"?o.windows:r===!0||e.sep==="\\",t.escapeLast=(o,c,u)=>{const l=o.lastIndexOf(c,u);return l===-1?o:o[l-1]==="\\"?t.escapeLast(o,c,l-1):`${o.slice(0,l)}\\${o.slice(l)}`},t.removePrefix=(o,c={})=>{let u=o;return u.startsWith("./")&&(u=u.slice(2),c.prefix="./"),u},t.wrapOutput=(o,c={},u={})=>{const l=u.contains?"":"^",f=u.contains?"":"$";let p=`${l}(?:${o})${f}`;return c.negated===!0&&(p=`(?:^(?!${p}).*$)`),p}})(
|
|
61
|
-
if(
|
|
62
|
-
M=[];let V=
|
|
63
|
-
X.isBrace=!0,O=X.isGlob=!0,Q=!0,b===!0)continue;break}if(K===
|
|
60
|
+
o[0]===8&&o[1]>=10},t.isWindows=o=>o&&typeof o.windows=="boolean"?o.windows:r===!0||e.sep==="\\",t.escapeLast=(o,c,u)=>{const l=o.lastIndexOf(c,u);return l===-1?o:o[l-1]==="\\"?t.escapeLast(o,c,l-1):`${o.slice(0,l)}\\${o.slice(l)}`},t.removePrefix=(o,c={})=>{let u=o;return u.startsWith("./")&&(u=u.slice(2),c.prefix="./"),u},t.wrapOutput=(o,c={},u={})=>{const l=u.contains?"":"^",f=u.contains?"":"$";let p=`${l}(?:${o})${f}`;return c.negated===!0&&(p=`(?:^(?!${p}).*$)`),p}})(Dr)),Dr}var Hr,Js;function Wu(){
|
|
61
|
+
if(Js)return Hr;Js=1;const t=_t(),{CHAR_ASTERISK:e,CHAR_AT:r,CHAR_BACKWARD_SLASH:n,CHAR_COMMA:i,CHAR_DOT:a,CHAR_EXCLAMATION_MARK:s,CHAR_FORWARD_SLASH:o,CHAR_LEFT_CURLY_BRACE:c,CHAR_LEFT_PARENTHESES:u,CHAR_LEFT_SQUARE_BRACKET:l,CHAR_PLUS:f,CHAR_QUESTION_MARK:p,CHAR_RIGHT_CURLY_BRACE:d,CHAR_RIGHT_PARENTHESES:v,CHAR_RIGHT_SQUARE_BRACKET:w}=At(),m=h=>h===o||h===n,g=h=>{h.isPrefix!==!0&&(h.depth=h.isGlobstar?1/0:1)};return Hr=(h,S)=>{const E=S||{},A=h.length-1,b=E.parts===!0||E.scanToEnd===!0,x=[],q=[],
|
|
62
|
+
M=[];let V=h,F=-1,L=0,I=0,C=!1,k=!1,O=!1,P=!1,D=!1,H=!1,$=!1,U=!1,J=!1,Q=!1,R=0,_,K,X={value:"",depth:0,isGlob:!1};const me=()=>F>=A,Ae=()=>V.charCodeAt(F+1),ne=()=>(_=K,V.charCodeAt(++F));for(;F<A;){K=ne();let G;if(K===n){$=X.backslashes=!0,K=ne(),K===c&&(H=!0);continue}if(H===!0||K===c){for(R++;me()!==!0&&(K=ne());){if(K===n){$=X.backslashes=!0,ne();continue}if(K===c){R++;continue}if(H!==!0&&K===a&&(K=ne())===a){if(C=X.isBrace=!0,O=X.isGlob=!0,Q=!0,b===!0)continue;break}if(H!==!0&&K===i){if(C=
|
|
63
|
+
X.isBrace=!0,O=X.isGlob=!0,Q=!0,b===!0)continue;break}if(K===d&&(R--,R===0)){H=!1,C=X.isBrace=!0,Q=!0;break}}if(b===!0)continue;break}if(K===o){if(x.push(F),q.push(X),X={value:"",depth:0,isGlob:!1},Q===!0)continue;if(_===a&&F===L+1){L+=2;continue}I=F+1;continue}if(E.noext!==!0&&(K===f||K===r||K===e||K===p||K===s)===!0&&Ae()===u){if(O=X.isGlob=!0,P=X.isExtglob=!0,Q=!0,K===s&&F===L&&(J=!0),b===!0){for(;me()!==!0&&(K=ne());){if(K===n){$=X.backslashes=!0,K=ne();continue}if(K===v){O=X.isGlob=!0,Q=!0;
|
|
64
64
|
break}}continue}break}if(K===e){if(_===e&&(D=X.isGlobstar=!0),O=X.isGlob=!0,Q=!0,b===!0)continue;break}if(K===p){if(O=X.isGlob=!0,Q=!0,b===!0)continue;break}if(K===l){for(;me()!==!0&&(G=ne());){if(G===n){$=X.backslashes=!0,ne();continue}if(G===w){k=X.isBracket=!0,O=X.isGlob=!0,Q=!0;break}}if(b===!0)continue;break}if(E.nonegate!==!0&&K===s&&F===L){U=X.negated=!0,L++;continue}if(E.noparen!==!0&&K===u){if(O=X.isGlob=!0,b===!0){for(;me()!==!0&&(K=ne());){if(K===u){$=X.backslashes=!0,K=ne();continue}
|
|
65
|
-
if(K===v){Q=!0;break}}continue}break}if(O===!0){if(Q=!0,b===!0)continue;break}}E.noext===!0&&(P=!1,O=!1);let se=V,
|
|
66
|
-
isGlobstar:D,negated:U,negatedExtglob:J};if(E.tokens===!0&&(
|
|
67
|
-
x,
|
|
68
|
-
throw new TypeError("Expected a string");l=s[l]||l;const p={...f},
|
|
65
|
+
if(K===v){Q=!0;break}}continue}break}if(O===!0){if(Q=!0,b===!0)continue;break}}E.noext===!0&&(P=!1,O=!1);let se=V,nt="",$e="";L>0&&(nt=V.slice(0,L),V=V.slice(L),I-=L),se&&O===!0&&I>0?(se=V.slice(0,I),$e=V.slice(I)):O===!0?(se="",$e=V):se=V,se&&se!==""&&se!=="/"&&se!==V&&m(se.charCodeAt(se.length-1))&&(se=se.slice(0,-1)),E.unescape===!0&&($e&&($e=t.removeBackslashes($e)),se&&$===!0&&(se=t.removeBackslashes(se)));const fe={prefix:nt,input:h,start:L,base:se,glob:$e,isBrace:C,isBracket:k,isGlob:O,isExtglob:P,
|
|
66
|
+
isGlobstar:D,negated:U,negatedExtglob:J};if(E.tokens===!0&&(fe.maxDepth=0,m(K)||q.push(X),fe.tokens=q),E.parts===!0||E.tokens===!0){let G;for(let ie=0;ie<x.length;ie++){const rr=G?G+1:L,j=x[ie],Z=h.slice(rr,j);E.tokens&&(ie===0&&L!==0?(q[ie].isPrefix=!0,q[ie].value=nt):q[ie].value=Z,g(q[ie]),fe.maxDepth+=q[ie].depth),(ie!==0||Z!=="")&&M.push(Z),G=j}if(G&&G+1<h.length){const ie=h.slice(G+1);M.push(ie),E.tokens&&(q[q.length-1].value=ie,g(q[q.length-1]),fe.maxDepth+=q[q.length-1].depth)}fe.slashes=
|
|
67
|
+
x,fe.parts=M}return fe},Hr}var Mr,Qs;function Xu(){if(Qs)return Mr;Qs=1;const t=At(),e=_t(),{MAX_LENGTH:r,POSIX_REGEX_SOURCE:n,REGEX_NON_SPECIAL_CHARS:i,REGEX_SPECIAL_CHARS_BACKREF:a,REPLACEMENTS:s}=t,o=(l,f)=>{if(typeof f.expandRange=="function")return f.expandRange(...l,f);l.sort();const p=`[${l.join("-")}]`;try{new RegExp(p)}catch{return l.map(v=>e.escapeRegex(v)).join("..")}return p},c=(l,f)=>`Missing ${l}: "${f}" - use "\\\\${f}" to match literal characters`,u=(l,f)=>{if(typeof l!="string")
|
|
68
|
+
throw new TypeError("Expected a string");l=s[l]||l;const p={...f},d=typeof p.maxLength=="number"?Math.min(r,p.maxLength):r;let v=l.length;if(v>d)throw new SyntaxError(`Input length: ${v}, exceeds maximum allowed length: ${d}`);const w={type:"bos",value:"",output:p.prepend||""},m=[w],g=p.capture?"":"?:",T=e.isWindows(f),h=t.globChars(T),S=t.extglobChars(h),{DOT_LITERAL:E,PLUS_LITERAL:A,SLASH_LITERAL:b,ONE_CHAR:x,DOTS_SLASH:q,NO_DOT:M,NO_DOT_SLASH:V,NO_DOTS_SLASH:F,QMARK:L,QMARK_NO_DOT:I,STAR:C,START_ANCHOR:k}=h,
|
|
69
69
|
O=j=>`(${g}(?:(?!${k}${j.dot?q:E}).)*?)`,P=p.dot?"":M,D=p.dot?L:I;let H=p.bash===!0?O(p):C;p.capture&&(H=`(${H})`),typeof p.noext=="boolean"&&(p.noextglob=p.noext);const $={input:l,index:-1,start:0,dot:p.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:m};l=e.removePrefix(l,$),v=l.length;const U=[],J=[],Q=[];let R=w,_;const K=()=>$.index===v-1,X=$.peek=(j=1)=>l[$.index+j],me=$.advance=()=>l[++$.index]||"",Ae=()=>l.slice($.index+
|
|
70
|
-
1),ne=(j="",Z=0)=>{$.consumed+=j,$.index+=Z},se=j=>{$.output+=j.output!=null?j.output:j.value,ne(j.value)},
|
|
70
|
+
1),ne=(j="",Z=0)=>{$.consumed+=j,$.index+=Z},se=j=>{$.output+=j.output!=null?j.output:j.value,ne(j.value)},nt=()=>{let j=1;for(;X()==="!"&&(X(2)!=="("||X(3)==="?");)me(),$.start++,j++;return j%2===0?!1:($.negated=!0,$.start++,!0)},$e=j=>{$[j]++,Q.push(j)},fe=j=>{$[j]--,Q.pop()},G=j=>{if(R.type==="globstar"){const Z=$.braces>0&&(j.type==="comma"||j.type==="brace"),N=j.extglob===!0||U.length&&(j.type==="pipe"||j.type==="paren");j.type!=="slash"&&j.type!=="paren"&&!Z&&!N&&($.output=$.output.slice(0,
|
|
71
71
|
-R.output.length),R.type="star",R.value="*",R.output=H,$.output+=R.output)}if(U.length&&j.type!=="paren"&&(U[U.length-1].inner+=j.value),(j.value||j.output)&&se(j),R&&R.type==="text"&&j.type==="text"){R.value+=j.value,R.output=(R.output||"")+j.value;return}j.prev=R,m.push(j),R=j},ie=(j,Z)=>{const N={...S[Z],conditions:1,inner:""};N.prev=R,N.parens=$.parens,N.output=$.output;const Y=(p.capture?"(":"")+N.open;$e("parens"),G({type:j,value:Z,output:$.output?"":x}),G({type:"paren",extglob:!0,value:me(),
|
|
72
|
-
output:Y}),U.push(N)},rr=j=>{let Z=j.close+(p.capture?")":""),N;if(j.type==="negate"){let Y=H;if(j.inner&&j.inner.length>1&&j.inner.includes("/")&&(Y=O(p)),(Y!==H||K()||/^\)+$/.test(Ae()))&&(Z=j.close=`)$))${Y}`),j.inner.includes("*")&&(N=Ae())&&/^\.[^\\/.]+$/.test(N)){const te=u(N,{...f,fastpaths:!1}).output;Z=j.close=`)${te})${Y})`}j.prev.type==="bos"&&($.negatedExtglob=!0)}G({type:"paren",extglob:!0,value:_,output:Z}),
|
|
73
|
-
Z=l.replace(a,(N,Y,te,
|
|
74
|
-
."||N===";")continue;if(!N){_+="\\",G({type:"text",value:_});continue}const Y=/^\\+/.exec(Ae());let te=0;if(Y&&Y[0].length>2&&(te=Y[0].length,$.index+=te,te%2!==0&&(_+="\\")),p.unescape===!0?_=me():_+=me(),$.brackets===0){G({type:"text",value:_});continue}}if($.brackets>0&&(_!=="]"||R.value==="["||R.value==="[^")){if(p.posix!==!1&&_===":"){const N=R.value.slice(1);if(N.includes("[")&&(R.posix=!0,N.includes(":"))){const Y=R.value.lastIndexOf("["),te=R.value.slice(0,Y),
|
|
72
|
+
output:Y}),U.push(N)},rr=j=>{let Z=j.close+(p.capture?")":""),N;if(j.type==="negate"){let Y=H;if(j.inner&&j.inner.length>1&&j.inner.includes("/")&&(Y=O(p)),(Y!==H||K()||/^\)+$/.test(Ae()))&&(Z=j.close=`)$))${Y}`),j.inner.includes("*")&&(N=Ae())&&/^\.[^\\/.]+$/.test(N)){const te=u(N,{...f,fastpaths:!1}).output;Z=j.close=`)${te})${Y})`}j.prev.type==="bos"&&($.negatedExtglob=!0)}G({type:"paren",extglob:!0,value:_,output:Z}),fe("parens")};if(p.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(l)){let j=!1,
|
|
73
|
+
Z=l.replace(a,(N,Y,te,pe,oe,nr)=>pe==="\\"?(j=!0,N):pe==="?"?Y?Y+pe+(oe?L.repeat(oe.length):""):nr===0?D+(oe?L.repeat(oe.length):""):L.repeat(te.length):pe==="."?E.repeat(te.length):pe==="*"?Y?Y+pe+(oe?H:""):H:Y?N:`\\${N}`);return j===!0&&(p.unescape===!0?Z=Z.replace(/\\/g,""):Z=Z.replace(/\\+/g,N=>N.length%2===0?"\\\\":N?"\\":"")),Z===l&&p.contains===!0?($.output=l,$):($.output=e.wrapOutput(Z,$,f),$)}for(;!K();){if(_=me(),_==="\0")continue;if(_==="\\"){const N=X();if(N==="/"&&p.bash!==!0||N==="\
|
|
74
|
+
."||N===";")continue;if(!N){_+="\\",G({type:"text",value:_});continue}const Y=/^\\+/.exec(Ae());let te=0;if(Y&&Y[0].length>2&&(te=Y[0].length,$.index+=te,te%2!==0&&(_+="\\")),p.unescape===!0?_=me():_+=me(),$.brackets===0){G({type:"text",value:_});continue}}if($.brackets>0&&(_!=="]"||R.value==="["||R.value==="[^")){if(p.posix!==!1&&_===":"){const N=R.value.slice(1);if(N.includes("[")&&(R.posix=!0,N.includes(":"))){const Y=R.value.lastIndexOf("["),te=R.value.slice(0,Y),pe=R.value.slice(Y+2),oe=n[pe];
|
|
75
75
|
if(oe){R.value=te+oe,$.backtrack=!0,me(),!w.output&&m.indexOf(R)===1&&(w.output=x);continue}}}(_==="["&&X()!==":"||_==="-"&&X()==="]")&&(_=`\\${_}`),_==="]"&&(R.value==="["||R.value==="[^")&&(_=`\\${_}`),p.posix===!0&&_==="!"&&R.value==="["&&(_="^"),R.value+=_,se({value:_});continue}if($.quotes===1&&_!=='"'){_=e.escapeRegex(_),R.value+=_,se({value:_});continue}if(_==='"'){$.quotes=$.quotes===1?0:1,p.keepQuotes===!0&&G({type:"text",value:_});continue}if(_==="("){$e("parens"),G({type:"paren",value:_});
|
|
76
|
-
continue}if(_===")"){if($.parens===0&&p.strictBrackets===!0)throw new SyntaxError(c("opening","("));const N=U[U.length-1];if(N&&$.parens===N.parens+1){rr(U.pop());continue}G({type:"paren",value:_,output:$.parens?")":"\\)"}),
|
|
77
|
-
cket"&&R.value.length===1){G({type:"text",value:_,output:`\\${_}`});continue}if($.brackets===0){if(p.strictBrackets===!0)throw new SyntaxError(c("opening","["));G({type:"text",value:_,output:`\\${_}`});continue}
|
|
78
|
-
R.value=Y;continue}R.value=`(${g}${Y}|${R.value})`,$.output+=R.value;continue}if(_==="{"&&p.nobrace!==!0){$e("braces");const N={type:"brace",value:_,output:"(",outputIndex:$.output.length,tokensIndex:$.tokens.length};J.push(N),G(N);continue}if(_==="}"){const N=J[J.length-1];if(p.nobrace===!0||!N){G({type:"text",value:_,output:_});continue}let Y=")";if(N.dots===!0){const te=m.slice(),
|
|
79
|
-
Y=o(
|
|
76
|
+
continue}if(_===")"){if($.parens===0&&p.strictBrackets===!0)throw new SyntaxError(c("opening","("));const N=U[U.length-1];if(N&&$.parens===N.parens+1){rr(U.pop());continue}G({type:"paren",value:_,output:$.parens?")":"\\)"}),fe("parens");continue}if(_==="["){if(p.nobracket===!0||!Ae().includes("]")){if(p.nobracket!==!0&&p.strictBrackets===!0)throw new SyntaxError(c("closing","]"));_=`\\${_}`}else $e("brackets");G({type:"bracket",value:_});continue}if(_==="]"){if(p.nobracket===!0||R&&R.type==="bra\
|
|
77
|
+
cket"&&R.value.length===1){G({type:"text",value:_,output:`\\${_}`});continue}if($.brackets===0){if(p.strictBrackets===!0)throw new SyntaxError(c("opening","["));G({type:"text",value:_,output:`\\${_}`});continue}fe("brackets");const N=R.value.slice(1);if(R.posix!==!0&&N[0]==="^"&&!N.includes("/")&&(_=`/${_}`),R.value+=_,se({value:_}),p.literalBrackets===!1||e.hasRegexChars(N))continue;const Y=e.escapeRegex(R.value);if($.output=$.output.slice(0,-R.value.length),p.literalBrackets===!0){$.output+=Y,
|
|
78
|
+
R.value=Y;continue}R.value=`(${g}${Y}|${R.value})`,$.output+=R.value;continue}if(_==="{"&&p.nobrace!==!0){$e("braces");const N={type:"brace",value:_,output:"(",outputIndex:$.output.length,tokensIndex:$.tokens.length};J.push(N),G(N);continue}if(_==="}"){const N=J[J.length-1];if(p.nobrace===!0||!N){G({type:"text",value:_,output:_});continue}let Y=")";if(N.dots===!0){const te=m.slice(),pe=[];for(let oe=te.length-1;oe>=0&&(m.pop(),te[oe].type!=="brace");oe--)te[oe].type!=="dots"&&pe.unshift(te[oe].value);
|
|
79
|
+
Y=o(pe,p),$.backtrack=!0}if(N.comma!==!0&&N.dots!==!0){const te=$.output.slice(0,N.outputIndex),pe=$.tokens.slice(N.tokensIndex);N.value=N.output="\\{",_=Y="\\}",$.output=te;for(const oe of pe)$.output+=oe.output||oe.value}G({type:"brace",value:_,output:Y}),fe("braces"),J.pop();continue}if(_==="|"){U.length>0&&U[U.length-1].conditions++,G({type:"text",value:_});continue}if(_===","){let N=_;const Y=J[J.length-1];Y&&Q[Q.length-1]==="braces"&&(Y.comma=!0,N="|"),G({type:"comma",value:_,output:N});continue}
|
|
80
80
|
if(_==="/"){if(R.type==="dot"&&$.index===$.start+1){$.start=$.index+1,$.consumed="",$.output="",m.pop(),R=w;continue}G({type:"slash",value:_,output:b});continue}if(_==="."){if($.braces>0&&R.type==="dot"){R.value==="."&&(R.output=E);const N=J[J.length-1];R.type="dots",R.output+=_,R.value+=_,N.dots=!0;continue}if($.braces+$.parens===0&&R.type!=="bos"&&R.type!=="slash"){G({type:"text",value:_,output:E});continue}G({type:"dot",value:_,output:E});continue}if(_==="?"){if(!(R&&R.value==="(")&&p.noextglob!==
|
|
81
81
|
!0&&X()==="("&&X(2)!=="?"){ie("qmark",_);continue}if(R&&R.type==="paren"){const Y=X();let te=_;if(Y==="<"&&!e.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(R.value==="("&&!/[!=<:]/.test(Y)||Y==="<"&&!/<([!=]|\w+>)/.test(Ae()))&&(te=`\\${_}`),G({type:"text",value:_,output:te});continue}if(p.dot!==!0&&(R.type==="slash"||R.type==="bos")){G({type:"qmark",value:_,output:I});continue}G({type:"qmark",value:_,output:L});continue}if(_==="!"){if(p.noextglob!==
|
|
82
|
-
!0&&X()==="("&&(X(2)!=="?"||!/[!=<:]/.test(X(3)))){ie("negate",_);continue}if(p.nonegate!==!0&&$.index===0){
|
|
82
|
+
!0&&X()==="("&&(X(2)!=="?"||!/[!=<:]/.test(X(3)))){ie("negate",_);continue}if(p.nonegate!==!0&&$.index===0){nt();continue}}if(_==="+"){if(p.noextglob!==!0&&X()==="("&&X(2)!=="?"){ie("plus",_);continue}if(R&&R.value==="("||p.regex===!1){G({type:"plus",value:_,output:A});continue}if(R&&(R.type==="bracket"||R.type==="paren"||R.type==="brace")||$.parens>0){G({type:"plus",value:_});continue}G({type:"plus",value:A});continue}if(_==="@"){if(p.noextglob!==!0&&X()==="("&&X(2)!=="?"){G({type:"at",extglob:!0,
|
|
83
83
|
value:_,output:""});continue}G({type:"text",value:_});continue}if(_!=="*"){(_==="$"||_==="^")&&(_=`\\${_}`);const N=i.exec(Ae());N&&(_+=N[0],$.index+=N[0].length),G({type:"text",value:_});continue}if(R&&(R.type==="globstar"||R.star===!0)){R.type="star",R.star=!0,R.value+=_,R.output=H,$.backtrack=!0,$.globstar=!0,ne(_);continue}let j=Ae();if(p.noextglob!==!0&&/^\([^?]/.test(j)){ie("star",_);continue}if(R.type==="star"){if(p.noglobstar===!0){ne(_);continue}const N=R.prev,Y=N.prev,te=N.type==="slas\
|
|
84
|
-
h"||N.type==="bos",
|
|
85
|
-
$.output=R.output,$.globstar=!0,ne(_);continue}if(N.type==="slash"&&N.prev.type!=="bos"&&!
|
|
84
|
+
h"||N.type==="bos",pe=Y&&(Y.type==="star"||Y.type==="globstar");if(p.bash===!0&&(!te||j[0]&&j[0]!=="/")){G({type:"star",value:_,output:""});continue}const oe=$.braces>0&&(N.type==="comma"||N.type==="brace"),nr=U.length&&(N.type==="pipe"||N.type==="paren");if(!te&&N.type!=="paren"&&!oe&&!nr){G({type:"star",value:_,output:""});continue}for(;j.slice(0,3)==="/**";){const gt=l[$.index+4];if(gt&>!=="/")break;j=j.slice(3),ne("/**",3)}if(N.type==="bos"&&K()){R.type="globstar",R.value+=_,R.output=O(p),
|
|
85
|
+
$.output=R.output,$.globstar=!0,ne(_);continue}if(N.type==="slash"&&N.prev.type!=="bos"&&!pe&&K()){$.output=$.output.slice(0,-(N.output+R.output).length),N.output=`(?:${N.output}`,R.type="globstar",R.output=O(p)+(p.strictSlashes?")":"|$)"),R.value+=_,$.globstar=!0,$.output+=N.output+R.output,ne(_);continue}if(N.type==="slash"&&N.prev.type!=="bos"&&j[0]==="/"){const gt=j[1]!==void 0?"|$":"";$.output=$.output.slice(0,-(N.output+R.output).length),N.output=`(?:${N.output}`,R.type="globstar",R.output=
|
|
86
86
|
`${O(p)}${b}|${b}${gt})`,R.value+=_,$.output+=N.output+R.output,$.globstar=!0,ne(_+me()),G({type:"slash",value:"/",output:""});continue}if(N.type==="bos"&&j[0]==="/"){R.type="globstar",R.value+=_,R.output=`(?:^|${b}|${O(p)}${b})`,$.output=R.output,$.globstar=!0,ne(_+me()),G({type:"slash",value:"/",output:""});continue}$.output=$.output.slice(0,-R.output.length),R.type="globstar",R.output=O(p),R.value+=_,$.output+=R.output,$.globstar=!0,ne(_);continue}const Z={type:"star",value:_,output:H};if(p.bash===
|
|
87
87
|
!0){Z.output=".*?",(R.type==="bos"||R.type==="slash")&&(Z.output=P+Z.output),G(Z);continue}if(R&&(R.type==="bracket"||R.type==="paren")&&p.regex===!0){Z.output=_,G(Z);continue}($.index===$.start||R.type==="slash"||R.type==="dot")&&(R.type==="dot"?($.output+=V,R.output+=V):p.dot===!0?($.output+=F,R.output+=F):($.output+=P,R.output+=P),X()!=="*"&&($.output+=x,R.output+=x)),G(Z)}for(;$.brackets>0;){if(p.strictBrackets===!0)throw new SyntaxError(c("closing","]"));$.output=e.escapeLast($.output,"["),
|
|
88
|
-
|
|
89
|
-
output+=j.suffix)}return $};return u.fastpaths=(l,f)=>{const p={...f},
|
|
90
|
-
)`);const I=P=>P.noglobstar===!0?L:`(${V}(?:(?!${x}${P.dot?
|
|
91
|
-
m+D[2]:void 0}}},k=e.removePrefix(l,F);let O=C(k);return O&&p.strictSlashes!==!0&&(O+=`${g}?`),O},
|
|
92
|
-
{},p=n.isWindows(c),
|
|
93
|
-
onMatch=="function"&&f.onMatch(A),T?A:!0)};return u&&(m.state=v),m};return s.test=(o,c,u,{glob:l,posix:f}={})=>{if(typeof o!="string")throw new TypeError("Expected input to be a string");if(o==="")return{isMatch:!1,output:""};const p=u||{},
|
|
94
|
-
u))=>(c instanceof RegExp?c:s.makeRe(c,u)).test(t.basename(o)),s.isMatch=(o,c,u)=>s(c,u)(o),s.parse=(o,c)=>Array.isArray(o)?o.map(u=>s.parse(u,c)):r(o,{...c,fastpaths:!1}),s.scan=(o,c)=>e(o,c),s.compileRe=(o,c,u=!1,l=!1)=>{if(u===!0)return o.output;const f=c||{},p=f.contains?"":"^",
|
|
95
|
-
"Expected a non-empty string");let f={negated:!1,fastpaths:!0};return c.fastpaths!==!1&&(o[0]==="."||o[0]==="*")&&(f.output=r.fastpaths(o,c)),f.output||(f=r(o,c)),s.compileRe(f,c,u,l)},s.toRegex=(o,c)=>{try{const u=c||{};return new RegExp(o,u.flags||(u.nocase?"i":""))}catch(u){if(c&&c.debug===!0)throw u;return/$^/}},s.constants=i,
|
|
96
|
-
indexOf("{");return c>-1&&o.indexOf("}",c)>-1},s=(o,c,u)=>{c=[].concat(c),o=[].concat(o);let l=new Set,f=new Set,p=new Set,
|
|
97
|
-
!0)throw new Error(`No matches found for "${c.join(", ")}"`);if(u.nonull===!0||u.nullglob===!0)return u.unescape?c.map(g=>g.replace(/\\/g,"")):c}return m};return s.match=s,s.matcher=(o,c)=>r(o,c),s.isMatch=(o,c,u)=>r(c,u)(o),s.any=s.isMatch,s.not=(o,c,u={})=>{c=[].concat(c).map(String);let l=new Set,f=[],p=v=>{u.onResult&&u.onResult(v),f.push(v.output)},
|
|
88
|
+
fe("brackets")}for(;$.parens>0;){if(p.strictBrackets===!0)throw new SyntaxError(c("closing",")"));$.output=e.escapeLast($.output,"("),fe("parens")}for(;$.braces>0;){if(p.strictBrackets===!0)throw new SyntaxError(c("closing","}"));$.output=e.escapeLast($.output,"{"),fe("braces")}if(p.strictSlashes!==!0&&(R.type==="star"||R.type==="bracket")&&G({type:"maybe_slash",value:"",output:`${b}?`}),$.backtrack===!0){$.output="";for(const j of $.tokens)$.output+=j.output!=null?j.output:j.value,j.suffix&&($.
|
|
89
|
+
output+=j.suffix)}return $};return u.fastpaths=(l,f)=>{const p={...f},d=typeof p.maxLength=="number"?Math.min(r,p.maxLength):r,v=l.length;if(v>d)throw new SyntaxError(`Input length: ${v}, exceeds maximum allowed length: ${d}`);l=s[l]||l;const w=e.isWindows(f),{DOT_LITERAL:m,SLASH_LITERAL:g,ONE_CHAR:T,DOTS_SLASH:h,NO_DOT:S,NO_DOTS:E,NO_DOTS_SLASH:A,STAR:b,START_ANCHOR:x}=t.globChars(w),q=p.dot?E:S,M=p.dot?A:S,V=p.capture?"":"?:",F={negated:!1,prefix:""};let L=p.bash===!0?".*?":b;p.capture&&(L=`(${L}\
|
|
90
|
+
)`);const I=P=>P.noglobstar===!0?L:`(${V}(?:(?!${x}${P.dot?h:m}).)*?)`,C=P=>{switch(P){case"*":return`${q}${T}${L}`;case".*":return`${m}${T}${L}`;case"*.*":return`${q}${L}${m}${T}${L}`;case"*/*":return`${q}${L}${g}${T}${M}${L}`;case"**":return q+I(p);case"**/*":return`(?:${q}${I(p)}${g})?${M}${T}${L}`;case"**/*.*":return`(?:${q}${I(p)}${g})?${M}${L}${m}${T}${L}`;case"**/.*":return`(?:${q}${I(p)}${g})?${m}${T}${L}`;default:{const D=/^(.*?)\.(\w+)$/.exec(P);if(!D)return;const H=C(D[1]);return H?H+
|
|
91
|
+
m+D[2]:void 0}}},k=e.removePrefix(l,F);let O=C(k);return O&&p.strictSlashes!==!0&&(O+=`${g}?`),O},Mr=u,Mr}var Ur,Zs;function Ku(){if(Zs)return Ur;Zs=1;const t=dr,e=Wu(),r=Xu(),n=_t(),i=At(),a=o=>o&&typeof o=="object"&&!Array.isArray(o),s=(o,c,u=!1)=>{if(Array.isArray(o)){const g=o.map(h=>s(h,c,u));return h=>{for(const S of g){const E=S(h);if(E)return E}return!1}}const l=a(o)&&o.tokens&&o.input;if(o===""||typeof o!="string"&&!l)throw new TypeError("Expected pattern to be a non-empty string");const f=c||
|
|
92
|
+
{},p=n.isWindows(c),d=l?s.compileRe(o,c):s.makeRe(o,c,!1,!0),v=d.state;delete d.state;let w=()=>!1;if(f.ignore){const g={...c,ignore:null,onMatch:null,onResult:null};w=s(f.ignore,g,u)}const m=(g,T=!1)=>{const{isMatch:h,match:S,output:E}=s.test(g,d,c,{glob:o,posix:p}),A={glob:o,state:v,regex:d,posix:p,input:g,output:E,match:S,isMatch:h};return typeof f.onResult=="function"&&f.onResult(A),h===!1?(A.isMatch=!1,T?A:!1):w(g)?(typeof f.onIgnore=="function"&&f.onIgnore(A),A.isMatch=!1,T?A:!1):(typeof f.
|
|
93
|
+
onMatch=="function"&&f.onMatch(A),T?A:!0)};return u&&(m.state=v),m};return s.test=(o,c,u,{glob:l,posix:f}={})=>{if(typeof o!="string")throw new TypeError("Expected input to be a string");if(o==="")return{isMatch:!1,output:""};const p=u||{},d=p.format||(f?n.toPosixSlashes:null);let v=o===l,w=v&&d?d(o):o;return v===!1&&(w=d?d(o):o,v=w===l),(v===!1||p.capture===!0)&&(p.matchBase===!0||p.basename===!0?v=s.matchBase(o,c,u,f):v=c.exec(w)),{isMatch:!!v,match:v,output:w}},s.matchBase=(o,c,u,l=n.isWindows(
|
|
94
|
+
u))=>(c instanceof RegExp?c:s.makeRe(c,u)).test(t.basename(o)),s.isMatch=(o,c,u)=>s(c,u)(o),s.parse=(o,c)=>Array.isArray(o)?o.map(u=>s.parse(u,c)):r(o,{...c,fastpaths:!1}),s.scan=(o,c)=>e(o,c),s.compileRe=(o,c,u=!1,l=!1)=>{if(u===!0)return o.output;const f=c||{},p=f.contains?"":"^",d=f.contains?"":"$";let v=`${p}(?:${o.output})${d}`;o&&o.negated===!0&&(v=`^(?!${v}).*$`);const w=s.toRegex(v,c);return l===!0&&(w.state=o),w},s.makeRe=(o,c={},u=!1,l=!1)=>{if(!o||typeof o!="string")throw new TypeError(
|
|
95
|
+
"Expected a non-empty string");let f={negated:!1,fastpaths:!0};return c.fastpaths!==!1&&(o[0]==="."||o[0]==="*")&&(f.output=r.fastpaths(o,c)),f.output||(f=r(o,c)),s.compileRe(f,c,u,l)},s.toRegex=(o,c)=>{try{const u=c||{};return new RegExp(o,u.flags||(u.nocase?"i":""))}catch(u){if(c&&c.debug===!0)throw u;return/$^/}},s.constants=i,Ur=s,Ur}var Fr,ei;function Yu(){return ei||(ei=1,Fr=Ku()),Fr}var Gr,ti;function Ju(){if(ti)return Gr;ti=1;const t=As,e=zu(),r=Yu(),n=_t(),i=o=>o===""||o==="./",a=o=>{const c=o.
|
|
96
|
+
indexOf("{");return c>-1&&o.indexOf("}",c)>-1},s=(o,c,u)=>{c=[].concat(c),o=[].concat(o);let l=new Set,f=new Set,p=new Set,d=0,v=g=>{p.add(g.output),u&&u.onResult&&u.onResult(g)};for(let g=0;g<c.length;g++){let T=r(String(c[g]),{...u,onResult:v},!0),h=T.state.negated||T.state.negatedExtglob;h&&d++;for(let S of o){let E=T(S,!0);(h?!E.isMatch:E.isMatch)&&(h?l.add(E.output):(l.delete(E.output),f.add(E.output)))}}let m=(d===c.length?[...p]:[...f]).filter(g=>!l.has(g));if(u&&m.length===0){if(u.failglob===
|
|
97
|
+
!0)throw new Error(`No matches found for "${c.join(", ")}"`);if(u.nonull===!0||u.nullglob===!0)return u.unescape?c.map(g=>g.replace(/\\/g,"")):c}return m};return s.match=s,s.matcher=(o,c)=>r(o,c),s.isMatch=(o,c,u)=>r(c,u)(o),s.any=s.isMatch,s.not=(o,c,u={})=>{c=[].concat(c).map(String);let l=new Set,f=[],p=v=>{u.onResult&&u.onResult(v),f.push(v.output)},d=new Set(s(o,c,{...u,onResult:p}));for(let v of f)d.has(v)||l.add(v);return[...l]},s.contains=(o,c,u)=>{if(typeof o!="string")throw new TypeError(
|
|
98
98
|
`Expected a string: "${t.inspect(o)}"`);if(Array.isArray(c))return c.some(l=>s.contains(o,l,u));if(typeof c=="string"){if(i(o)||i(c))return!1;if(o.includes(c)||o.startsWith("./")&&o.slice(2).includes(c))return!0}return s.isMatch(o,c,{...u,contains:!0})},s.matchKeys=(o,c,u)=>{if(!n.isObject(o))throw new TypeError("Expected the first argument to be an object");let l=s(Object.keys(o),c,u),f={};for(let p of l)f[p]=o[p];return f},s.some=(o,c,u)=>{let l=[].concat(o);for(let f of[].concat(c)){let p=r(String(
|
|
99
|
-
f),u);if(l.some(
|
|
100
|
-
(...o)=>r.scan(...o),s.parse=(o,c)=>{let u=[];for(let l of[].concat(o||[]))for(let f of e(String(l),c))u.push(r.parse(f,c));return u},s.braces=(o,c)=>{if(typeof o!="string")throw new TypeError("Expected a string");return c&&c.nobrace===!0||!a(o)?[o]:e(o,c)},s.braceExpand=(o,c)=>{if(typeof o!="string")throw new TypeError("Expected a string");return s.braces(o,{...c,expand:!0})},s.hasBraces=a,
|
|
101
|
-
function
|
|
102
|
-
</style>`)}const
|
|
99
|
+
f),u);if(l.some(d=>p(d)))return!0}return!1},s.every=(o,c,u)=>{let l=[].concat(o);for(let f of[].concat(c)){let p=r(String(f),u);if(!l.every(d=>p(d)))return!1}return!0},s.all=(o,c,u)=>{if(typeof o!="string")throw new TypeError(`Expected a string: "${t.inspect(o)}"`);return[].concat(c).every(l=>r(l,u)(o))},s.capture=(o,c,u)=>{let l=n.isWindows(u),p=r.makeRe(String(o),{...u,capture:!0}).exec(l?n.toPosixSlashes(c):c);if(p)return p.slice(1).map(d=>d===void 0?"":d)},s.makeRe=(...o)=>r.makeRe(...o),s.scan=
|
|
100
|
+
(...o)=>r.scan(...o),s.parse=(o,c)=>{let u=[];for(let l of[].concat(o||[]))for(let f of e(String(l),c))u.push(r.parse(f,c));return u},s.braces=(o,c)=>{if(typeof o!="string")throw new TypeError("Expected a string");return c&&c.nobrace===!0||!a(o)?[o]:e(o,c)},s.braceExpand=(o,c)=>{if(typeof o!="string")throw new TypeError("Expected a string");return s.braces(o,{...c,expand:!0})},s.hasBraces=a,Gr=s,Gr}var Qu=Ju();const ri=us(Qu),Zu={useRecommendedBuildConfig:!0,removeViteModuleLoader:!1,deleteInlinedFiles:!0};
|
|
101
|
+
function el(t,e,r,n=!1){const i=e.replaceAll(".","\\."),a=new RegExp(`<script([^>]*?) src="(?:[^"]*?/)?${i}"([^>]*)></script>`),s=/"?__VITE_PRELOAD__"?/g,o=r.replace(s,"void 0").replace(/<(\/script>|!--)/g,"\\x3C$1"),c=t.replace(a,(u,l,f)=>`<script${l}${f}>${o.trim()}</script>`);return n?ol(c):c}function tl(t,e,r){const n=e.replaceAll(".","\\."),i=new RegExp(`<link([^>]*?) href="(?:[^"]*?/)?${n}"([^>]*)>`),a=r.replace('@charset "UTF-8";',"");return t.replace(i,(o,c,u)=>`<style${c}${u}>${a.trim()}\
|
|
102
|
+
</style>`)}const rl=/\.[mc]?js$/,nl=/\.css$/,sl=/\.html?$/;function il({useRecommendedBuildConfig:t=!0,removeViteModuleLoader:e=!1,inlinePattern:r=[],deleteInlinedFiles:n=!0,overrideConfig:i={}}=Zu){return{name:"vite:singlefile",config:t?s=>{s.build||(s.build={}),s.build.assetsInlineLimit=()=>!0,s.build.chunkSizeWarningLimit=1e8,s.build.cssCodeSplit=!1,s.base="./",s.build.assetsDir="",s.build.rollupOptions||(s.build.rollupOptions={}),s.build.rollupOptions.output||(s.build.rollupOptions.output={});
|
|
103
103
|
const o=c=>{c.inlineDynamicImports=!0};if(Array.isArray(s.build.rollupOptions.output))for(const c of s.build.rollupOptions.output)o(c);else o(s.build.rollupOptions.output);Object.assign(s,i)}:void 0,enforce:"post",generateBundle(s,o){const c=f=>this.info(`NOTE: asset not inlined: ${f}`);this.info(`
|
|
104
|
-
`);const u={html:[],css:[],js:[],other:[]};for(const f of Object.keys(o))
|
|
105
|
-
v),
|
|
106
|
-
`).trimStart()}function
|
|
107
|
-
`).trimStart()}function
|
|
104
|
+
`);const u={html:[],css:[],js:[],other:[]};for(const f of Object.keys(o))sl.test(f)?u.html.push(f):nl.test(f)?u.css.push(f):rl.test(f)?u.js.push(f):u.other.push(f);const l=[];for(const f of u.html){const p=o[f];let d=p.source;for(const v of u.js){if(r.length&&!ri.isMatch(v,r)){c(v);continue}const w=o[v];w.code!=null&&(this.info(`Inlining: ${v}`),l.push(v),d=el(d,w.fileName,w.code,e))}for(const v of u.css){if(r.length&&!ri.isMatch(v,r)){c(v);continue}const w=o[v];this.info(`Inlining: ${v}`),l.push(
|
|
105
|
+
v),d=tl(d,w.fileName,w.source)}p.source=d}if(n)for(const f of l)delete o[f];for(const f of u.other)c(f)}}}const ol=t=>t.replace(/(<script type="module" crossorigin>\s*)\(function(?: polyfill)?\(\)\s*\{[\s\S]*?\}\)\(\);/,'<script type="module">');function Ye(t){return t.length===0?"never":t.sort(Au).map(e=>` | ${JSON.stringify(e)}`).join(`
|
|
106
|
+
`).trimStart()}function ni(t){const e=vs(t);return e.length===0?"never":ur(e,_u,nu(r=>` | ${JSON.stringify(r.id)}`)).join(`
|
|
107
|
+
`).trimStart()}function si(t,e={}){const{useCorePackage:r=!1}=e;return`
|
|
108
108
|
import type { Aux, SpecAux } from '${r?"@likec4/core/types":"likec4/model"}';
|
|
109
109
|
|
|
110
110
|
export type $Specs = SpecAux<
|
|
111
111
|
// Element kinds
|
|
112
|
-
${
|
|
112
|
+
${Ye(st(t.specification.elements))},
|
|
113
113
|
// Deployment kinds
|
|
114
|
-
${
|
|
114
|
+
${Ye(st(t.specification.deployments??{}))},
|
|
115
115
|
// Relationship kinds
|
|
116
|
-
${
|
|
116
|
+
${Ye(st(t.specification.relationships??{}))},
|
|
117
117
|
// Tags
|
|
118
|
-
${
|
|
118
|
+
${Ye(st(t.specification.tags??{}))},
|
|
119
119
|
// Metadata keys
|
|
120
|
-
${
|
|
120
|
+
${Ye(t.specification.metadataKeys??[])}
|
|
121
121
|
>
|
|
122
122
|
|
|
123
123
|
export type $Aux = Aux<
|
|
124
124
|
${JSON.stringify(t.stage)},
|
|
125
125
|
// Elements
|
|
126
|
-
${
|
|
126
|
+
${ni(t.$data.elements)},
|
|
127
127
|
// Deployments
|
|
128
|
-
${
|
|
128
|
+
${ni(t.$data.deployments.elements)},
|
|
129
129
|
// Views
|
|
130
|
-
${
|
|
130
|
+
${Ye(st(t.$data.views))},
|
|
131
131
|
// Project ID
|
|
132
132
|
${JSON.stringify(t.projectId)},
|
|
133
133
|
$Specs
|
|
@@ -143,7 +143,7 @@ export type $DeploymentKind = $Aux['DeploymentKind']
|
|
|
143
143
|
export type $Tag = $Aux['Tag']
|
|
144
144
|
export type $Tags = readonly $Aux['Tag'][]
|
|
145
145
|
export type $MetadataKey = $Aux['MetadataKey']
|
|
146
|
-
`.trimStart()}function
|
|
146
|
+
`.trimStart()}function al(t,e={}){const r=si(t,e),{useCorePackage:n=!1}=e;return`
|
|
147
147
|
/* prettier-ignore-start */
|
|
148
148
|
/* eslint-disable */
|
|
149
149
|
|
|
@@ -155,10 +155,10 @@ export type $MetadataKey = $Aux['MetadataKey']
|
|
|
155
155
|
import { LikeC4Model } from '${n?"@likec4/core":"likec4"}/model'
|
|
156
156
|
${r}
|
|
157
157
|
|
|
158
|
-
export const likec4model: LikeC4Model<$Aux> = new LikeC4Model(${
|
|
158
|
+
export const likec4model: LikeC4Model<$Aux> = new LikeC4Model(${Xe.stringify(t.$data,{space:2,quote:"'"})} as any) as any
|
|
159
159
|
|
|
160
160
|
/* prettier-ignore-end */
|
|
161
|
-
`.trimStart()}function
|
|
161
|
+
`.trimStart()}function cl(t){return _s(t,e=>Cs`${Xe.stringify(e.id)}`,{separator:" | "})}function ul(t){const e=Array.from(t),r=new lu;return r.appendTemplate`
|
|
162
162
|
/******************************************************************************
|
|
163
163
|
* This file was generated
|
|
164
164
|
* DO NOT EDIT MANUALLY!
|
|
@@ -169,10 +169,10 @@ export const likec4model: LikeC4Model<$Aux> = new LikeC4Model(${We.stringify(t.$
|
|
|
169
169
|
// @ts-nocheck
|
|
170
170
|
|
|
171
171
|
import type { DiagramView } from 'likec4'
|
|
172
|
-
`.append(
|
|
173
|
-
export type LikeC4ViewId = ${
|
|
172
|
+
`.append(We,We),e.length===0?(r.append("export {}",We),xs(r)):(r.appendTemplate`
|
|
173
|
+
export type LikeC4ViewId = ${cl(e)};
|
|
174
174
|
export const LikeC4Views = {
|
|
175
|
-
`.indent({indentation:2,indentedChildren(n){n.appendNewLineIf(e.length>1).append(
|
|
175
|
+
`.indent({indentation:2,indentedChildren(n){n.appendNewLineIf(e.length>1).append(_s(e,i=>Cs`${Xe.stringify(i.id)}: (${Xe.stringify(i)} as unknown) as DiagramView`,{separator:",",appendNewLineIfNotEmpty:!0}))}}).append("} as const satisfies Record<LikeC4ViewId, DiagramView>",We,We).appendTemplate`
|
|
176
176
|
export type LikeC4Views = typeof LikeC4Views
|
|
177
177
|
|
|
178
178
|
export function isLikeC4ViewId(value: unknown): value is LikeC4ViewId {
|
|
@@ -184,7 +184,7 @@ export const likec4model: LikeC4Model<$Aux> = new LikeC4Model(${We.stringify(t.$
|
|
|
184
184
|
}
|
|
185
185
|
|
|
186
186
|
/* prettier-ignore-end */
|
|
187
|
-
`.append(
|
|
187
|
+
`.append(We),xs(r))}function ll(t,e={}){const{useCorePackage:r=!1}=e;Cu(!t.isParsed(),"can not generate react types for parsed model");const n=si(t,e);return`
|
|
188
188
|
/* prettier-ignore-start */
|
|
189
189
|
/* eslint-disable */
|
|
190
190
|
|
|
@@ -240,261 +240,277 @@ export {
|
|
|
240
240
|
ReactLikeC4
|
|
241
241
|
}
|
|
242
242
|
/* prettier-ignore-end */
|
|
243
|
-
`.trimStart()}const
|
|
244
|
-
webcomponentPrefix:c,title:u,root:i,languageServices:t,clearScreen:!1,base:o,resolve:{conditions:["production"],dedupe:["react","react-dom","react/jsx-runtime","react/jsx-dev-runtime","react-dom/client"],alias:{...
|
|
245
|
-
tils","@likec4/core","likec4/model","likec4/react","likec4/vite-plugin/internal"],noDiscovery:!0},esbuild:{tsconfigRaw:{compilerOptions:{target:"ESNext",jsx:"react-jsx"}}},define:{WEBCOMPONENT_PREFIX:JSON.stringify(c),PAGE_TITLE:JSON.stringify(u),__USE_OVERVIEW_GRAPH__:a?"true":"false",__USE_HASH_HISTORY__:r?.useHashHistory===!0?"true":"false","process.env.NODE_ENV":'"production"'},build:{outDir:s,emptyOutDir:!1,sourcemap:!1,cssMinify:!1,minify:!0,copyPublicDir:!0,chunkSizeWarningLimit:
|
|
246
|
-
treeshake:{preset:"recommended"},...!l&&{input:[z(i,"index.html"),z(i,"src","main.js"),z(i,"src","fonts.css"),z(i,"src","style.css")],output:{manualChunks:f=>{if(!(f.endsWith(".css")||f.endsWith(".html")||f.includes("likec4/icons"))){if(f.includes("__app__")){let p=f.match(/__app__\/src\/([\w]+)\.js/)?.[1];return p?p[1]:void 0}if(f.includes("node_modules/likec4")||f.includes("node_modules/@likec4"))return"likec4";if(f.includes("node_modules"))return"vendors"}}}}}},customLogger:n,plugins:[
|
|
247
|
-
{languageServices:t.languageServices,useOverviewGraph:a}),l?
|
|
248
|
-
ient"]},define:{WEBCOMPONENT_PREFIX:JSON.stringify(n),"process.env.NODE_ENV":'"production"'},esbuild:{
|
|
249
|
-
|
|
243
|
+
`.trimStart()}const Br=async({languageServices:t,likec4AssetsDir:e,...r})=>{const n=r.customLogger??Du,i=br(),a=r?.useOverviewGraph===!0;n.info(`${y.cyan("likec4 app root")} ${y.dim(i)}`);const s=r.outputDir??z(t.workspace,"dist");n.info(y.cyan("outDir")+" "+y.dim(s));let o="/";r.base&&(o=ls(r.base),!_c(o)&&o!=="./"&&(o=Cc(o))),o!=="/"&&n.info(`${y.green("app base url")} ${y.dim(o)}`);const c=r.webcomponentPrefix??"likec4",u=r.title??"LikeC4",l=r.outputSingleFile??!1;return{isDev:!1,likec4AssetsDir:e,
|
|
244
|
+
webcomponentPrefix:c,title:u,root:i,languageServices:t,clearScreen:!1,base:o,resolve:{conditions:["production"],dedupe:["react","react-dom","react/jsx-runtime","react/jsx-dev-runtime","react-dom/client"],alias:{...Sr(),"likec4/previews":e}},configFile:!1,mode:"production",optimizeDeps:{include:["react","react-dom","react/jsx-runtime","react/jsx-dev-runtime","react-dom/client","@likec4/core/types","@likec4/core/model","@likec4/core/styles","@likec4/core/compute-view/relationships","@likec4/core/u\
|
|
245
|
+
tils","@likec4/core","likec4/model","likec4/react","likec4/vite-plugin/internal"],noDiscovery:!0},esbuild:{tsconfigRaw:{compilerOptions:{target:"ESNext",jsx:"react-jsx"}}},define:{WEBCOMPONENT_PREFIX:JSON.stringify(c),PAGE_TITLE:JSON.stringify(u),__USE_OVERVIEW_GRAPH__:a?"true":"false",__USE_HASH_HISTORY__:r?.useHashHistory===!0?"true":"false","process.env.NODE_ENV":'"production"'},build:{outDir:s,emptyOutDir:!1,sourcemap:!1,cssMinify:!1,minify:!0,copyPublicDir:!0,chunkSizeWarningLimit:Rr,rollupOptions:{
|
|
246
|
+
treeshake:{preset:"recommended"},...!l&&{input:[z(i,"index.html"),z(i,"src","main.js"),z(i,"src","fonts.css"),z(i,"src","style.css")],output:{manualChunks:f=>{if(!(f.endsWith(".css")||f.endsWith(".html")||f.includes("likec4/icons"))){if(f.includes("__app__")){let p=f.match(/__app__\/src\/([\w]+)\.js/)?.[1];return p?p[1]:void 0}if(f.includes("node_modules/likec4")||f.includes("node_modules/@likec4"))return"likec4";if(f.includes("node_modules"))return"vendors"}}}}}},customLogger:n,plugins:[pr(),hr(
|
|
247
|
+
{languageServices:t.languageServices,useOverviewGraph:a}),l?il():void 0].filter(Boolean)}};async function Vr({languageServices:t,outDir:e,base:r,webcomponentPrefix:n="likec4",filename:i="likec4-views.js"}){const a=ve(["vite","webcomponent"]),s=br();return a.info(y.cyan("outDir")+" "+y.dim(e)),{root:s,clearScreen:!1,base:r,configFile:!1,publicDir:!1,mode:"production",resolve:{conditions:["production"],alias:Sr(),dedupe:["react","react-dom","react/jsx-runtime","react/jsx-dev-runtime","react-dom/cl\
|
|
248
|
+
ient"]},define:{WEBCOMPONENT_PREFIX:JSON.stringify(n),"process.env.NODE_ENV":'"production"'},esbuild:{...$r,tsconfigRaw:{compilerOptions:{target:"ESNext",jsx:"react-jsx"}}},build:{outDir:e,emptyOutDir:!1,sourcemap:!1,minify:!0,assetsInlineLimit:100*1024,chunkSizeWarningLimit:Rr,lib:{entry:"src/webcomponent.js",fileName(o,c){return i},formats:["iife"],name:"LikeC4Views"},rollupOptions:{treeshake:{preset:"recommended"},output:{format:"iife",hoistTransitiveImports:!1,compact:!0}}},customLogger:a,plugins:[
|
|
249
|
+
pr(),hr({languageServices:t.languageServices,useOverviewGraph:!1})]}}const fl=["favicon.ico","robots.txt"],pl=async({buildWebcomponent:t=!0,webcomponentPrefix:e="likec4",title:r,languageServices:n,likec4AssetsDir:i,outputSingleFile:a,...s})=>{i??=await bt(ot(Et(),".likec4-assets-"));const o=await Br({...s,languageServices:n,likec4AssetsDir:i,webcomponentPrefix:e,title:r,outputSingleFile:a}),c=await Er();for(const l of fl){const f=z(o.root,l);_e(f)&&ys(f,z(c,l))}const u=n.languageServices.projects();
|
|
250
250
|
if(u.length===1){const l=await n.viewsService.computedViews(),f=await n.diagrams();if(f.length===0)throw process.exitCode=1,new Error("no views found");f.length===l.length?o.customLogger.info(`${y.dim("workspace:")} ${y.green("\u2713 all views layouted")}`):o.customLogger.warn(`${y.dim("workspace:")} ${y.yellow(`\u2717 layouted ${f.length} of ${l.length} views`)}`),f.forEach(p=>{(p.hasLayoutDrift||p.drifts&&p.drifts.length>0)&&o.customLogger.warn(y.dim("view")+" "+y.red(p.id)+" "+y.yellow("is ou\
|
|
251
|
-
t of date, layout drift detected"))})}else for(const l of u){const f=await n.viewsService.computedViews(l.id);f.length===0?o.customLogger.warn(`${y.dim("project:")} ${l.id} ${y.yellow("\u2717 no views found")}`):o.customLogger.info(`${y.dim("project:")} ${l.id} ${y.green(`${f.length} views`)}`)}if(t){const l=await
|
|
252
|
-
ex.html"))cr(z(o.build.outDir,l),{recursive:!0});else{const l=z(o.build.outDir,"index.html");_e(l)&&
|
|
253
|
-
"npx",0],"execute-local":["npx",0],uninstall:["npm","uninstall",0],global_uninstall:["npm","uninstall","-g",0]},
|
|
254
|
-
move",0]},
|
|
255
|
-
"update","-i",0],dedupe:["pnpm","dedupe",0],execute:["pnpm","dlx",0],"execute-local":["pnpm","exec",0],uninstall:["pnpm","remove",0],global_uninstall:["pnpm","remove","--global",0]},
|
|
256
|
-
remove",0],global_uninstall:["bun","remove","-g",0]},
|
|
257
|
-
"pnpm@6":{...
|
|
258
|
-
npm"},
|
|
259
|
-
!await
|
|
260
|
-
eld":{const s=await
|
|
261
|
-
packageManager?.name=="string")return{name:t.devEngines.packageManager.name,ver:e(t.devEngines.packageManager.version)}}async function
|
|
262
|
-
{name:s,agent:i,version:c}):e.onUnknown?.(n.packageManager)??null}}catch{}return null}function
|
|
263
|
-
process.exit(1));const e=
|
|
251
|
+
t of date, layout drift detected"))})}else for(const l of u){const f=await n.viewsService.computedViews(l.id);f.length===0?o.customLogger.warn(`${y.dim("project:")} ${l.id} ${y.yellow("\u2717 no views found")}`):o.customLogger.info(`${y.dim("project:")} ${l.id} ${y.green(`${f.length} views`)}`)}if(t){const l=await Vr({webcomponentPrefix:e,languageServices:n,outDir:c,base:o.base});await ut(l)}if(await ut({...o,publicDir:c,mode:"production"}),a)for(let l of Qc(z(o.build.outDir)).filter(f=>f!=="ind\
|
|
252
|
+
ex.html"))cr(z(o.build.outDir,l),{recursive:!0});else{const l=z(o.build.outDir,"index.html");_e(l)&&ys(l,z(o.build.outDir,"404.html"))}};function zr(t,e){return r=>r.length>1?[t,e,r[0],"--",...r.slice(1)]:[t,e,r[0]]}function dl(){return t=>["deno","run",`npm:${t[0]}`,...t.slice(1)]}const hl={agent:["npm",0],run:zr("npm","run"),install:["npm","i",0],frozen:["npm","ci",0],global:["npm","i","-g",0],add:["npm","i",0],upgrade:["npm","update",0],"upgrade-interactive":null,dedupe:["npm","dedupe",0],execute:[
|
|
253
|
+
"npx",0],"execute-local":["npx",0],uninstall:["npm","uninstall",0],global_uninstall:["npm","uninstall","-g",0]},ii={agent:["yarn",0],run:["yarn","run",0],install:["yarn","install",0],frozen:["yarn","install","--frozen-lockfile",0],global:["yarn","global","add",0],add:["yarn","add",0],upgrade:["yarn","upgrade",0],"upgrade-interactive":["yarn","upgrade-interactive",0],dedupe:null,execute:["npx",0],"execute-local":zr("yarn","exec"),uninstall:["yarn","remove",0],global_uninstall:["yarn","global","re\
|
|
254
|
+
move",0]},ml={...ii,frozen:["yarn","install","--immutable",0],upgrade:["yarn","up",0],"upgrade-interactive":["yarn","up","-i",0],dedupe:["yarn","dedupe",0],execute:["yarn","dlx",0],"execute-local":["yarn","exec",0],global:["npm","i","-g",0],global_uninstall:["npm","uninstall","-g",0]},oi={agent:["pnpm",0],run:["pnpm","run",0],install:["pnpm","i",0],frozen:["pnpm","i","--frozen-lockfile",0],global:["pnpm","add","-g",0],add:["pnpm","add",0],upgrade:["pnpm","update",0],"upgrade-interactive":["pnpm",
|
|
255
|
+
"update","-i",0],dedupe:["pnpm","dedupe",0],execute:["pnpm","dlx",0],"execute-local":["pnpm","exec",0],uninstall:["pnpm","remove",0],global_uninstall:["pnpm","remove","--global",0]},gl={agent:["bun",0],run:["bun","run",0],install:["bun","install",0],frozen:["bun","install","--frozen-lockfile",0],global:["bun","add","-g",0],add:["bun","add",0],upgrade:["bun","update",0],"upgrade-interactive":["bun","update","-i",0],dedupe:null,execute:["bun","x",0],"execute-local":["bun","x",0],uninstall:["bun","\
|
|
256
|
+
remove",0],global_uninstall:["bun","remove","-g",0]},yl={agent:["deno",0],run:["deno","task",0],install:["deno","install",0],frozen:["deno","install","--frozen",0],global:["deno","install","-g",0],add:["deno","add",0],upgrade:["deno","outdated","--update",0],"upgrade-interactive":["deno","outdated","--update",0],dedupe:null,execute:dl(),"execute-local":["deno","task","--eval",0],uninstall:["deno","remove",0],global_uninstall:["deno","uninstall","-g",0]},wl={npm:hl,yarn:ii,"yarn@berry":ml,pnpm:oi,
|
|
257
|
+
"pnpm@6":{...oi,run:zr("pnpm","run")},bun:gl,deno:yl};function vl(t,e,r){const n=wl[t][e];return $l(n,r)}function $l(t,e){if(t==null)return null;const r=typeof t=="function"?t(e):t.flatMap(n=>typeof n=="number"?e:[n]);return{command:r[0],args:r.slice(1)}}const bl=["npm","yarn","yarn@berry","pnpm","pnpm@6","bun","deno"],ai={"bun.lock":"bun","bun.lockb":"bun","deno.lock":"deno","pnpm-lock.yaml":"pnpm","pnpm-workspace.yaml":"pnpm","yarn.lock":"yarn","package-lock.json":"npm","npm-shrinkwrap.json":"\
|
|
258
|
+
npm"},ci={"node_modules/.deno/":"deno","node_modules/.pnpm/":"pnpm","node_modules/.yarn-state.yml":"yarn","node_modules/.yarn_integrity":"yarn","node_modules/.package-lock.json":"npm",".pnp.cjs":"yarn",".pnp.js":"yarn","bun.lock":"bun","bun.lockb":"bun"};async function Wr(t,e){try{const r=await Rs.stat(t);return e==="file"?r.isFile():r.isDirectory()}catch{return!1}}function*El(t=re.cwd()){let e=W.resolve(t);const{root:r}=W.parse(e);for(;e&&e!==r;)yield e,e=W.dirname(e)}async function ui(t,e){return!t||
|
|
259
|
+
!await Wr(t,"file")?null:await Al(t,e)}async function Rl(t={}){const{cwd:e,strategies:r=["lockfile","packageManager-field","devEngines-field"]}=t;let n;if(typeof t.stopDir=="string"){const i=W.resolve(t.stopDir);n=a=>a===i}else n=t.stopDir;for(const i of El(e)){for(const a of r)switch(a){case"lockfile":{for(const s of Object.keys(ai))if(await Wr(W.join(i,s),"file")){const o=ai[s],c=await ui(W.join(i,"package.json"),t);return c||{name:o,agent:o}}break}case"packageManager-field":case"devEngines-fi\
|
|
260
|
+
eld":{const s=await ui(W.join(i,"package.json"),t);if(s)return s;break}case"install-metadata":{for(const s of Object.keys(ci)){const o=s.endsWith("/")?"dir":"file";if(await Wr(W.join(i,s),o)){const c=ci[s],u=c==="yarn"?_l(s)?"yarn":"yarn@berry":c;return{name:c,agent:u}}}break}}if(n?.(i))break}return null}function Sl(t){const e=r=>r?.match(/\d+(\.\d+){0,2}/)?.[0]??r;if(typeof t.packageManager=="string"){const[r,n]=t.packageManager.replace(/^\^/,"").split("@");return{name:r,ver:e(n)}}if(typeof t.devEngines?.
|
|
261
|
+
packageManager?.name=="string")return{name:t.devEngines.packageManager.name,ver:e(t.devEngines.packageManager.version)}}async function Al(t,e){try{const r=await Rs.readFile(t,"utf8"),n=e.packageJsonParser?await e.packageJsonParser(r,t):JSON.parse(r);let i;const a=Sl(n);if(a){const s=a.name,o=a.ver;let c=o;return s==="yarn"&&o&&Number.parseInt(o)>1?(i="yarn@berry",c="berry",{name:s,agent:i,version:c}):s==="pnpm"&&o&&Number.parseInt(o)<7?(i="pnpm@6",{name:s,agent:i,version:c}):bl.includes(s)?(i=s,
|
|
262
|
+
{name:s,agent:i,version:c}):e.onUnknown?.(n.packageManager)??null}}catch{}return null}function _l(t){return t.endsWith(".yarn_integrity")}function li(t){try{return!!gu.createRequire(import.meta.url).resolve(t)}catch(e){return ge.debug(yt(e)),!1}}async function lt(){if(li("react")&&li("react-dom")){ge.debug("react already installed");return}ge.debug("react not installed");const t=await Rl();t||(ge.error`Package manager not detected, please install dependencies manually: ${"react"} ${"react-dom"}`,
|
|
263
|
+
process.exit(1));const e=vl(t.agent,"add",["react","react-dom"]);e||(ge.error`Please install dependencies manually: ${"react"} ${"react-dom"}`,process.exit(1));try{await fs(e.command,e.args,{stdio:"inherit"})}catch(r){ge.debug(yt(r)),ge.error`Please install dependencies manually: ${"react"} ${"react-dom"}`,process.exit(1)}}function fi(t){if(t.resolvedUrls)return ps(t.resolvedUrls.network)??ps(t.resolvedUrls.local)}function pi(t){if(!t.resolvedUrls)throw new Error("Vite server is not ready, no re\
|
|
264
264
|
solvedUrls");Te([y.green("LikeC4 served at:"),"",y.dim("Local: ")+t.resolvedUrls.local.join(`
|
|
265
265
|
`+"".padEnd(9," ")),t.resolvedUrls.network.length?y.dim("Network: ")+t.resolvedUrls.network.join(`
|
|
266
|
-
`+"".padEnd(9," ")):void 0].filter(e=>
|
|
267
|
-
`))}class
|
|
268
|
-
try{await
|
|
269
|
-
responding to the port you want excluded.");if(!Number.isSafeInteger(a))throw new TypeError(`Number ${a} in the exclude option is not a safe integer and can't be used`)}r=new Set(i)}ft===void 0&&(ft=setTimeout(()=>{ft=void 0,
|
|
270
|
-
if(!["EADDRINUSE","EACCES"].includes(a.code)&&!(a instanceof
|
|
271
|
-
i;a++)yield a}(t,e)}async function
|
|
272
|
-
w=o??(Le()?"0.0.0.0":"localhost");e?(p.info(`Enabling HMR: localhost:${
|
|
273
|
-
base:f.base}).then(g=>
|
|
274
|
-
catch(E=>n.error(`failed to close page: ${E}`)),u=void 0);const S=
|
|
275
|
-
(T=
|
|
266
|
+
`+"".padEnd(9," ")):void 0].filter(e=>xc(e)).join(`
|
|
267
|
+
`))}class di extends Error{constructor(e){super(`${e} is locked`)}}const Je={old:new Set,young:new Set},Cl=1e3*15,Ct=1024,xt=65535;let ft;const xl=()=>{const t=ct.networkInterfaces(),e=new Set([void 0,"0.0.0.0"]);for(const r of Object.values(t))for(const n of r)e.add(n.address);return e},hi=t=>new Promise((e,r)=>{const n=yu.createServer();n.unref(),n.on("error",r),n.listen(t,()=>{const{port:i}=n.address();n.close(()=>{e(i)})})}),mi=async(t,e)=>{if(t.host||t.port===0)return hi(t);for(const r of e)
|
|
268
|
+
try{await hi({port:t.port,host:r})}catch(n){if(!["EADDRNOTAVAIL","EINVAL"].includes(n.code))throw n}return t.port},Tl=function*(t){t&&(yield*t),yield 0};async function Xr(t){let e,r=new Set;if(t&&(t.port&&(e=typeof t.port=="number"?[t.port]:t.port),t.exclude)){const i=t.exclude;if(typeof i[Symbol.iterator]!="function")throw new TypeError("The `exclude` option must be an iterable.");for(const a of i){if(typeof a!="number")throw new TypeError("Each item in the `exclude` option must be a number cor\
|
|
269
|
+
responding to the port you want excluded.");if(!Number.isSafeInteger(a))throw new TypeError(`Number ${a} in the exclude option is not a safe integer and can't be used`)}r=new Set(i)}ft===void 0&&(ft=setTimeout(()=>{ft=void 0,Je.old=Je.young,Je.young=new Set},Cl),ft.unref&&ft.unref());const n=xl();for(const i of Tl(e))try{if(r.has(i))continue;let a=await mi({...t,port:i},n);for(;Je.old.has(a)||Je.young.has(a);){if(i!==0)throw new di(i);a=await mi({...t,port:i},n)}return Je.young.add(a),a}catch(a){
|
|
270
|
+
if(!["EADDRINUSE","EACCES"].includes(a.code)&&!(a instanceof di))throw a}throw new Error("No available ports found")}function Tt(t,e){if(!Number.isInteger(t)||!Number.isInteger(e))throw new TypeError("`from` and `to` must be integer numbers");if(t<Ct||t>xt)throw new RangeError(`'from' must be between ${Ct} and ${xt}`);if(e<Ct||e>xt)throw new RangeError(`'to' must be between ${Ct} and ${xt}`);if(t>e)throw new RangeError("`to` must be greater than or equal to `from`");return function*(n,i){for(let a=n;a<=
|
|
271
|
+
i;a++)yield a}(t,e)}async function gi({buildWebcomponent:t=!0,hmr:e=!0,webcomponentPrefix:r="likec4",title:n,languageServices:i,likec4AssetsDir:a,openBrowser:s,listen:o,port:c,...u}){a??=await bt(ot(Et(),".likec4-assets-"));const{isDev:l,...f}=await Br({...u,languageServices:i,likec4AssetsDir:a,webcomponentPrefix:r,title:n}),p=f.customLogger;c??=$s.PORT?parseInt($s.PORT,10):void 0,c||(c=await Xr({port:[5173,5174,...Tt(61e3,61010),...Tt(62002,62010)]}));const d=await Xr({port:Tt(24678,24690)}),v=await Er(),
|
|
272
|
+
w=o??(Le()?"0.0.0.0":"localhost");e?(p.info(`Enabling HMR: localhost:${d}`),Le()&&p.info(y.yellow(`ensure port ${d} is published from container`))):p.info("Disabling HMR");const m=await hu({...f,define:e?{...f.define,"process.env.NODE_ENV":'"development"'}:f.define,mode:e?"development":f.mode,publicDir:v,server:{host:w,allowedHosts:!0,port:c,hmr:e&&{overlay:!0,port:d},fs:{strict:!1},open:s??(!l&&!Le())}});return t?(p.info("Building webcomponent"),Vr({webcomponentPrefix:r,languageServices:i,outDir:v,
|
|
273
|
+
base:f.base}).then(g=>ut({...g,logLevel:"warn"})).catch(g=>{p.warn(yt(g)),p.warn("webcomponent build failed, ignoring error and continue")})):p.info("Skip webcomponent build"),await m.listen(),m}async function Il({browserContext:t,views:e,output:r,logger:n,timeout:i,maxAttempts:a,dynamicVariant:s,outputType:o,theme:c}){let u;const l=e.map(d=>({view:d,attempt:1})),f=[];let p;for(;p=l.shift();){const{view:d,attempt:v}=p,w=`export/${encodeURIComponent(d.id)}/`;try{if(v>1){u&&(u.close({runBeforeUnload:!0}).
|
|
274
|
+
catch(E=>n.error(`failed to close page: ${E}`)),u=void 0);const S=ds(v*200,{min:200,max:1e3});n.info(y.cyan(w)+y.dim(` attempt ${v} of ${a} after ${S}ms`)),await wu(S)}else d.hasLayoutDrift&&n.warn(y.yellow("Drift detected, manual layout can not be applied, view may be invalid: ")+y.red(d.id));let m=".";o==="relative"&&(m=d.sourcePath??".",m.includes("/")?m=m.slice(0,m.lastIndexOf("/")):m=".");const g=z(r,m,`${d.id}.png`);u??=await t.newPage();let T=d.bounds;s==="sequence"&&d._type==="dynamic"&&
|
|
275
|
+
(T=d.sequenceLayout.bounds);const h=20;await u.setViewportSize({width:T.width+40+h,height:T.height+40+h}),await u.goto(Tc(w,{padding:20,theme:c,dynamic:s})),n.info(y.cyan(w)+y.dim(` -> ${Ce(r,g)}`)),await u.waitForSelector(".react-flow.initialized"),d.nodes.some(S=>Ic(S.icon)&&S.icon.toLowerCase().startsWith("http"))&&await Ol(u,i),await u.getByTestId("export-page").screenshot({animations:"disabled",path:g,omitBackground:!0}),f.push({view:d,path:g})}catch(m){u?.close({runBeforeUnload:!0}).catch(
|
|
276
276
|
g=>n.error(`failed to close page: ${g}`)),n.error(y.red("failed "+w+`
|
|
277
|
-
`+m)),v<a&&(l.push({view:
|
|
278
|
-
cDispose")],n===void 0&&(n=e[
|
|
279
|
-
return Promise.resolve(o).then(a,c=>(i(c),a()))}catch(c){i(c)}if(r)throw e};return a()};async function
|
|
277
|
+
`+m)),v<a&&(l.push({view:d,attempt:v+1}),n.info(y.dim(`retry ${w}`))),u=void 0}}return f}async function Ol(t,e){let r=await t.locator("//img").all();if(!r.length)return;const n=r.map(i=>i.evaluate(a=>a.complete||new Promise(s=>{a.onload=s,a.onerror=s}),{timeout:Math.max(15e3,e)}));await Promise.allSettled(n)}var yi=(t,e)=>(e=Symbol[t])?e:Symbol.for("Symbol."+t),wi=t=>{throw TypeError(t)},Ll=(t,e,r)=>{if(e!=null){typeof e!="object"&&typeof e!="function"&&wi("Object expected");var n,i;n=e[yi("asyn\
|
|
278
|
+
cDispose")],n===void 0&&(n=e[yi("dispose")],i=n),typeof n!="function"&&wi("Object not disposable"),i&&(n=function(){try{i.call(this)}catch(a){return Promise.reject(a)}}),t.push([r,n,e])}else t.push([r]);return e},kl=(t,e,r)=>{var n=typeof SuppressedError=="function"?SuppressedError:function(s,o,c,u){return u=Error(c),u.name="SuppressedError",u.error=s,u.suppressed=o,u},i=s=>e=r?new n(s,e,"An error was suppressed during disposal"):(r=!0,s),a=s=>{for(;s=t.pop();)try{var o=s[1]&&s[1].call(s[2]);if(s[0])
|
|
279
|
+
return Promise.resolve(o).then(a,c=>(i(c),a()))}catch(c){i(c)}if(r)throw e};return a()};async function vi({logger:t,serverUrl:e,theme:r="light",timeoutMs:n=15e3,views:i,output:a,outputType:s="relative",maxAttempts:o=3,chromiumSandbox:c=!1,sequence:u=!1}){t.info(`${y.dim("output")} ${a}`),t.info(`${y.dim("base url")} ${e}
|
|
280
280
|
`);const{chromium:l}=await import("playwright"),f=l.executablePath();t.info(y.cyan("Start chromium")+" "+y.dim(f));const p=await l.launch({chromiumSandbox:c,headless:!0});t.info(y.cyan("Color scheme: ")+r+`
|
|
281
|
-
`);const
|
|
282
|
-
ignore:o=!1,timeoutMs:c=1e4,maxAttempts:u=3,filter:l,sequence:f=!1,chromiumSandbox:p=!1}){var
|
|
283
|
-
hmr:!1}),s=
|
|
284
|
-
!0):(g.info(`${y.gray("skip")} ${y.dim(L.id)}`),!1))}if(!
|
|
285
|
-
`),M.length!==b.length&&(o&&M.length>0?g.info(y.dim("ignore")+" "+y.red(`failed ${b.length-M.length} out of ${b.length} views`)):g.error(y.red(`failed ${b.length-M.length} out of ${b.length} views`))),M.length!==b.length&&(M.length===0||!o))throw new Error(`Failed ${b.length-M.length} out of ${b.length} views`)}S&&(g.info(y.cyan("stop server")),await S.close().catch(A=>{g.error(A)}))}catch(g){var v=g,w=!0}finally{var m=
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
281
|
+
`);const d=await p.newContext({deviceScaleFactor:2,colorScheme:r,baseURL:e,bypassCSP:!0,ignoreHTTPSErrors:!0,isMobile:!1});d.setDefaultNavigationTimeout(n),d.setDefaultTimeout(n);try{return await Il({browserContext:d,views:i,output:a,outputType:s,logger:t,maxAttempts:o,dynamicVariant:u?"sequence":"diagram",timeout:n,theme:r})}finally{t.info(y.cyan("close chromium")),await d.close(),await p.close()}}async function $i({path:t,useDotBin:e,project:r,theme:n="light",output:i,outputType:a,serverUrl:s,
|
|
282
|
+
ignore:o=!1,timeoutMs:c=1e4,maxAttempts:u=3,filter:l,sequence:f=!1,chromiumSandbox:p=!1}){var d=[];try{const g=ve("export"),T=eu(),h=Ll(d,await ye.fromWorkspace(t,{logger:"vite",graphviz:e?"binary":"wasm",watch:!1}),!0);i??=h.workspace;let S,E=[...h.languageServices.projects()];if(r&&!E.some(A=>A.id===r))throw g.error(`project not found: ${r}`),new Error(`project not found: ${r}`);if(!s&&(g.info(y.cyan("start preview server")),S=await gi({languageServices:h,buildWebcomponent:!1,openBrowser:!1,useOverviewGraph:!1,
|
|
283
|
+
hmr:!1}),s=fi(S),!s))throw g.error("Vite server is not ready, no resolvedUrls"),new Error("Vite server is not ready, no resolvedUrls");for(const A of E){if(r&&A.id!==r)continue;E.length>1&&(g.info(y.dim("---------")),g.info(`${y.dim("project:")} ${A.id}`),g.info(`${y.dim("folder:")} ${A.folder.fsPath}`));let b=await h.diagrams(A.id);if(l&&Me(l,1)&&Me(b,1)){const F=Oc(l);g.info(`${y.cyan("filter")} ${y.dim(JSON.stringify(l))}`),b=b.filter(L=>F(L.id)?(g.info(`${y.green("include")} ${L.id} \u2705`),
|
|
284
|
+
!0):(g.info(`${y.gray("skip")} ${y.dim(L.id)}`),!1))}if(!Me(b,1)){g.warn("no views found");continue}let x=E.length>1?ls(hs(s,"project",A.id)):s,q=E.length>1?hs(i,A.id):i;const M=await vi({logger:g,serverUrl:x,theme:n,timeoutMs:c,views:b,output:q,outputType:a,maxAttempts:u,sequence:f,chromiumSandbox:p}),{pretty:V}=Lc(T);if(M.length>0&&g.info(y.green(`exported ${M.length} views in ${V}`)+`
|
|
285
|
+
`),M.length!==b.length&&(o&&M.length>0?g.info(y.dim("ignore")+" "+y.red(`failed ${b.length-M.length} out of ${b.length} views`)):g.error(y.red(`failed ${b.length-M.length} out of ${b.length} views`))),M.length!==b.length&&(M.length===0||!o))throw new Error(`Failed ${b.length-M.length} out of ${b.length} views`)}S&&(g.info(y.cyan("stop server")),await S.close().catch(A=>{g.error(A)}))}catch(g){var v=g,w=!0}finally{var m=kl(d,v,w);m&&await m}}function Nl(t){return t.command({command:"png [path]",describe:"\
|
|
286
|
+
export views to PNG",builder:e=>e.positional("path",ce).options({output:{alias:["o","outdir"],type:"string",desc:"output directory, if not specified, images are saved next to sources",normalize:!0,nargs:1,coerce:z},project:Ke,theme:{choices:["light","dark"],desc:"color-scheme to use, defaults to light",conflicts:["dark","light"],nargs:1},dark:{type:"boolean",desc:"use dark theme, shortcut for --theme=dark",conflicts:["theme","light"]},light:{type:"boolean",desc:"use light theme, shortcut for --t\
|
|
287
|
+
heme=light",conflicts:["theme","dark"]},"use-dot":de,seq:{boolean:!0,alias:["sequence"],type:"boolean",desc:"use sequence layout for dynamic views"},flat:{alias:["flatten"],boolean:!0,type:"boolean",desc:"flatten all images in output directory ignoring sources structure"},filter:{alias:"f",array:!0,string:!0,desc:`include views with ids matching given patterns
|
|
288
|
+
multiple patterns are combined with OR`},ignore:{boolean:!0,alias:"i",desc:"continue if export fails for some views"},timeout:{type:"number",alias:"t",desc:"timeout for playwright (in seconds)",default:15,nargs:1},"max-attempts":{type:"number",desc:"max attempts to export failing view, 1 means no retry",default:3,nargs:1},"server-url":{type:"string",desc:"use this url instead of starting new likec4 server",nargs:1},"chromium-sandbox":{boolean:!0,desc:"enable chromium sandbox (see Playwright docs\
|
|
289
|
+
)",default:!1}}).epilog(`${y.bold("Examples:")}
|
|
290
|
+
${y.green("$0 export png")}
|
|
291
|
+
${y.gray("Search for likec4 files in current directory and output PNG next to sources")}
|
|
292
|
+
|
|
293
|
+
${y.green("$0 export png --theme dark -o ./png src/likec4")}
|
|
294
|
+
${y.gray("Search for likec4 files in src/likec4 and output PNG with dark theme to png folder")}
|
|
295
|
+
|
|
296
|
+
${y.green('$0 export png -f "team1*" -f "team2*" --flat -o ./png src/likec4')}
|
|
297
|
+
${y.gray("Export views matching team1* or team2* only")}
|
|
298
|
+
|
|
299
|
+
${y.green('$0 export png -f "use-case*" --sequence src/likec4')}
|
|
300
|
+
${y.gray("Export views matching use-case* using sequence layout")}
|
|
301
|
+
`),handler:async e=>{mr(e.timeout>=1,"timeout must be >= 1"),mr(e["max-attempts"]>=1,"max-attempts must be >= 1"),await lt();const r=e.theme??(e.dark?"dark":"light");await $i({path:e.path,useDotBin:e["use-dot"],output:e.output,project:e.project,timeoutMs:e.timeout*1e3,maxAttempts:e.maxAttempts,ignore:e.ignore===!0,outputType:e.flat?"flat":"relative",serverUrl:e.serverUrl,theme:r,filter:e.filter,sequence:e.seq,chromiumSandbox:e["chromium-sandbox"]})}})}var bi=(t,e)=>(e=Symbol[t])?e:Symbol.for("Sy\
|
|
302
|
+
mbol."+t),Ei=t=>{throw TypeError(t)},Pl=(t,e,r)=>{if(e!=null){typeof e!="object"&&typeof e!="function"&&Ei("Object expected");var n,i;n=e[bi("asyncDispose")],n===void 0&&(n=e[bi("dispose")],i=n),typeof n!="function"&&Ei("Object not disposable"),i&&(n=function(){try{i.call(this)}catch(a){return Promise.reject(a)}}),t.push([r,n,e])}else t.push([r]);return e},jl=(t,e,r)=>{var n=typeof SuppressedError=="function"?SuppressedError:function(s,o,c,u){return u=Error(c),u.name="SuppressedError",u.error=s,
|
|
303
|
+
u.suppressed=o,u},i=s=>e=r?new n(s,e,"An error was suppressed during disposal"):(r=!0,s),a=s=>{for(;s=t.pop();)try{var o=s[1]&&s[1].call(s[2]);if(s[0])return Promise.resolve(o).then(a,c=>(i(c),a()))}catch(c){i(c)}if(r)throw e};return a()};const{cyan:Ri,dim:Si}=y;async function Dl({path:t,useDotBin:e,useHashHistory:r,webcomponentPrefix:n,title:i,useOverview:a=!1,output:s,outputSingleFile:o,base:c}){var u=[];try{await lt();const d=ve("c4:build"),v=Pl(u,await ye.fromWorkspace(t,{graphviz:e?"binary":
|
|
304
|
+
"wasm",logger:"vite",watch:!1}),!0),w=s??z(v.workspace,"dist");let m=z(w,"assets");if(a)try{m=z(w,"assets","previews"),await Se(m,{recursive:!0}),d.info(`${Ri("Generate previews")} ${Si(m)}
|
|
305
|
+
`),await $i({path:t,useDotBin:e,project:void 0,output:m,outputType:"flat",ignore:!0})}catch(g){d.error(y.red("Failed to generate previews")),d.error(g),d.warn(y.yellow("Ignore previews and continue build")),cr(m,{recursive:!0,force:!0}),a=!1}await pl({base:c,useHashHistory:o||r,customLogger:d,useOverviewGraph:a,webcomponentPrefix:n,title:i,languageServices:v,likec4AssetsDir:m,outputDir:s,outputSingleFile:o}),a&&(d.info(`${Ri("clean previews")} ${Si(m)}`),cr(m,{recursive:!0,force:!0}))}catch(d){var l=d,
|
|
306
|
+
f=!0}finally{var p=jl(u,l,f);p&&await p}}const ql=t=>t.command({command:"build [path]",aliases:["bundle"],describe:"Build a static website",builder:e=>e.positional("path",ce).option("output",{alias:"o",type:"string",desc:"output directory for production build",normalize:!0,coerce:z}).option("base",Ps).option("use-hash-history",ks).option("use-dot",de).option("webcomponent-prefix",vr).option("title",Ns).option("output-single-file",Lu).example(`${y.green("$0 build -o ./build ./src")}`,y.gray("Sear\
|
|
307
|
+
ch for likec4 files in 'src' and output static site to 'build'")),handler:async e=>{await Dl({path:e.path,output:e.output,base:e.base,useHashHistory:e["use-hash-history"],useDotBin:e["use-dot"],webcomponentPrefix:e["webcomponent-prefix"],title:e.title,outputSingleFile:e["output-single-file"]??!1})}}),Fe=t=>{const e=typeof t;return t!==null&&(e==="object"||e==="function")},Ai=new Set(["__proto__","prototype","constructor"]),_i=1e6,Hl=t=>t>="0"&&t<="9";function Ci(t){if(t==="0")return!0;if(/^[1-9]\d*$/.
|
|
308
|
+
test(t)){const e=Number.parseInt(t,10);return e<=Number.MAX_SAFE_INTEGER&&e<=_i}return!1}function Kr(t,e){return Ai.has(t)?!1:(t&&Ci(t)?e.push(Number.parseInt(t,10)):e.push(t),!0)}function Ml(t){if(typeof t!="string")throw new TypeError(`Expected a string, got ${typeof t}`);const e=[];let r="",n="start",i=!1,a=0;for(const s of t){if(a++,i){r+=s,i=!1;continue}if(s==="\\"){if(n==="index")throw new Error(`Invalid character '${s}' in an index at position ${a}`);if(n==="indexEnd")throw new Error(`Inv\
|
|
309
|
+
alid character '${s}' after an index at position ${a}`);i=!0,n=n==="start"?"property":n;continue}switch(s){case".":{if(n==="index")throw new Error(`Invalid character '${s}' in an index at position ${a}`);if(n==="indexEnd"){n="property";break}if(!Kr(r,e))return[];r="",n="property";break}case"[":{if(n==="index")throw new Error(`Invalid character '${s}' in an index at position ${a}`);if(n==="indexEnd"){n="index";break}if(n==="property"||n==="start"){if((r||n==="property")&&!Kr(r,e))return[];r=""}n=
|
|
310
|
+
"index";break}case"]":{if(n==="index"){if(r==="")r=(e.pop()||"")+"[]",n="property";else{const o=Number.parseInt(r,10);!Number.isNaN(o)&&Number.isFinite(o)&&o>=0&&o<=Number.MAX_SAFE_INTEGER&&o<=_i&&r===String(o)?e.push(o):e.push(r),r="",n="indexEnd"}break}if(n==="indexEnd")throw new Error(`Invalid character '${s}' after an index at position ${a}`);r+=s;break}default:{if(n==="index"&&!Hl(s))throw new Error(`Invalid character '${s}' in an index at position ${a}`);if(n==="indexEnd")throw new Error(`\
|
|
311
|
+
Invalid character '${s}' after an index at position ${a}`);n==="start"&&(n="property"),r+=s}}}switch(i&&(r+="\\"),n){case"property":{if(!Kr(r,e))return[];break}case"index":throw new Error("Index was not closed");case"start":{e.push("");break}}return e}function It(t){if(typeof t=="string")return Ml(t);if(Array.isArray(t)){const e=[];for(const[r,n]of t.entries()){if(typeof n!="string"&&typeof n!="number")throw new TypeError(`Expected a string or number for path segment at index ${r}, got ${typeof n}`);
|
|
312
|
+
if(typeof n=="number"&&!Number.isFinite(n))throw new TypeError(`Path segment at index ${r} must be a finite number, got ${n}`);if(Ai.has(n))return[];typeof n=="string"&&Ci(n)?e.push(Number.parseInt(n,10)):e.push(n)}return e}return[]}function xi(t,e,r){if(!Fe(t)||typeof e!="string"&&!Array.isArray(e))return r===void 0?t:r;const n=It(e);if(n.length===0)return r;for(let i=0;i<n.length;i++){const a=n[i];if(t=t[a],t==null){if(i!==n.length-1)return r;break}}return t===void 0?r:t}function Ot(t,e,r){if(!Fe(
|
|
313
|
+
t)||typeof e!="string"&&!Array.isArray(e))return t;const n=t,i=It(e);if(i.length===0)return t;for(let a=0;a<i.length;a++){const s=i[a];if(a===i.length-1)t[s]=r;else if(!Fe(t[s])){const c=typeof i[a+1]=="number";t[s]=c?[]:{}}t=t[s]}return n}function Ul(t,e){if(!Fe(t)||typeof e!="string"&&!Array.isArray(e))return!1;const r=It(e);if(r.length===0)return!1;for(let n=0;n<r.length;n++){const i=r[n];if(n===r.length-1)return Object.hasOwn(t,i)?(delete t[i],!0):!1;if(t=t[i],!Fe(t))return!1}}function Yr(t,e){
|
|
314
|
+
if(!Fe(t)||typeof e!="string"&&!Array.isArray(e))return!1;const r=It(e);if(r.length===0)return!1;for(const n of r){if(!Fe(t)||!(n in t))return!1;t=t[n]}return!0}const ke=ct.homedir(),Jr=ct.tmpdir(),{env:Qe}=re,Fl=t=>{const e=W.join(ke,"Library");return{data:W.join(e,"Application Support",t),config:W.join(e,"Preferences",t),cache:W.join(e,"Caches",t),log:W.join(e,"Logs",t),temp:W.join(Jr,t)}},Gl=t=>{const e=Qe.APPDATA||W.join(ke,"AppData","Roaming"),r=Qe.LOCALAPPDATA||W.join(ke,"AppData","Local");
|
|
315
|
+
return{data:W.join(r,t,"Data"),config:W.join(e,t,"Config"),cache:W.join(r,t,"Cache"),log:W.join(r,t,"Log"),temp:W.join(Jr,t)}},Bl=t=>{const e=W.basename(ke);return{data:W.join(Qe.XDG_DATA_HOME||W.join(ke,".local","share"),t),config:W.join(Qe.XDG_CONFIG_HOME||W.join(ke,".config"),t),cache:W.join(Qe.XDG_CACHE_HOME||W.join(ke,".cache"),t),log:W.join(Qe.XDG_STATE_HOME||W.join(ke,".local","state"),t),temp:W.join(Jr,e,t)}};function Vl(t,{suffix:e="nodejs"}={}){if(typeof t!="string")throw new TypeError(
|
|
316
|
+
`Expected a string, got ${typeof t}`);return e&&(t+=`-${e}`),re.platform==="darwin"?Fl(t):re.platform==="win32"?Gl(t):Bl(t)}const Ne=(t,e)=>function(...n){return t.apply(void 0,n).catch(e)},xe=(t,e)=>function(...n){try{return t.apply(void 0,n)}catch(i){return e(i)}},zl=re.getuid?!re.getuid():!1,Wl=1e4,we=()=>{},ee={isChangeErrorOk:t=>{if(!ee.isNodeError(t))return!1;const{code:e}=t;return e==="ENOSYS"||!zl&&(e==="EINVAL"||e==="EPERM")},isNodeError:t=>t instanceof Error,isRetriableError:t=>{if(!ee.
|
|
317
|
+
isNodeError(t))return!1;const{code:e}=t;return e==="EMFILE"||e==="ENFILE"||e==="EAGAIN"||e==="EBUSY"||e==="EACCESS"||e==="EACCES"||e==="EACCS"||e==="EPERM"},onChangeError:t=>{if(!ee.isNodeError(t))throw t;if(!ee.isChangeErrorOk(t))throw t}};class Xl{constructor(){this.interval=25,this.intervalId=void 0,this.limit=Wl,this.queueActive=new Set,this.queueWaiting=new Set,this.init=()=>{this.intervalId||(this.intervalId=setInterval(this.tick,this.interval))},this.reset=()=>{this.intervalId&&(clearInterval(
|
|
302
318
|
this.intervalId),delete this.intervalId)},this.add=e=>{this.queueWaiting.add(e),this.queueActive.size<this.limit/2?this.tick():this.init()},this.remove=e=>{this.queueWaiting.delete(e),this.queueActive.delete(e)},this.schedule=()=>new Promise(e=>{const r=()=>this.remove(n),n=()=>e(r);this.add(n)}),this.tick=()=>{if(!(this.queueActive.size>=this.limit)){if(!this.queueWaiting.size)return this.reset();for(const e of this.queueWaiting){if(this.queueActive.size>=this.limit)break;this.queueWaiting.delete(
|
|
303
|
-
e),this.queueActive.add(e),e()}}}}}const
|
|
319
|
+
e),this.queueActive.add(e),e()}}}}}const Kl=new Xl,Pe=(t,e)=>function(n){return function i(...a){return Kl.schedule().then(s=>{const o=u=>(s(),u),c=u=>{if(s(),Date.now()>=n)throw u;if(e(u)){const l=Math.round(100*Math.random());return new Promise(p=>setTimeout(p,l)).then(()=>i.apply(void 0,a))}throw u};return t.apply(void 0,a).then(o,c)})}},je=(t,e)=>function(n){return function i(...a){try{return t.apply(void 0,a)}catch(s){if(Date.now()>n)throw s;if(e(s))return i.apply(void 0,a);throw s}}},ue={attempt:{
|
|
304
320
|
chmod:Ne(ae(B.chmod),ee.onChangeError),chown:Ne(ae(B.chown),ee.onChangeError),close:Ne(ae(B.close),we),fsync:Ne(ae(B.fsync),we),mkdir:Ne(ae(B.mkdir),we),realpath:Ne(ae(B.realpath),we),stat:Ne(ae(B.stat),we),unlink:Ne(ae(B.unlink),we),chmodSync:xe(B.chmodSync,ee.onChangeError),chownSync:xe(B.chownSync,ee.onChangeError),closeSync:xe(B.closeSync,we),existsSync:xe(B.existsSync,we),fsyncSync:xe(B.fsync,we),mkdirSync:xe(B.mkdirSync,we),realpathSync:xe(B.realpathSync,we),statSync:xe(B.statSync,we),unlinkSync:xe(
|
|
305
321
|
B.unlinkSync,we)},retry:{close:Pe(ae(B.close),ee.isRetriableError),fsync:Pe(ae(B.fsync),ee.isRetriableError),open:Pe(ae(B.open),ee.isRetriableError),readFile:Pe(ae(B.readFile),ee.isRetriableError),rename:Pe(ae(B.rename),ee.isRetriableError),stat:Pe(ae(B.stat),ee.isRetriableError),write:Pe(ae(B.write),ee.isRetriableError),writeFile:Pe(ae(B.writeFile),ee.isRetriableError),closeSync:je(B.closeSync,ee.isRetriableError),fsyncSync:je(B.fsyncSync,ee.isRetriableError),openSync:je(B.openSync,ee.isRetriableError),
|
|
306
|
-
readFileSync:je(B.readFileSync,ee.isRetriableError),renameSync:je(B.renameSync,ee.isRetriableError),statSync:je(B.statSync,ee.isRetriableError),writeSync:je(B.writeSync,ee.isRetriableError),writeFileSync:je(B.writeFileSync,ee.isRetriableError)}},
|
|
307
|
-
n32",
|
|
308
|
-
for(const e of
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
writeSync(n)(s,e,0,e.length,0),r.fsync!==!1&&(r.fsyncWait!==!1?
|
|
312
|
-
Nt={},
|
|
313
|
-
schema:u,self:l}=o.it,{root:f,baseId:p,localRefs:
|
|
314
|
-
if(s[0]!=="#")throw new Error(`"${c}" only supports hash fragment reference`);const l=s.slice(1);if(u.allErrors)f();else{const
|
|
315
|
-
|
|
316
|
-
e,jt}var
|
|
317
|
-
1,Object.defineProperty(Ht,"__esModule",{value:!0});const t=
|
|
318
|
-
default=e,Mt}var
|
|
319
|
-
unevaluatedProperty}}`},code(a){const{gen:s,schema:o,data:c,errsCount:u,it:l}=a;if(!u)throw new Error("ajv implementation error");const{allErrors:f,props:p}=l;p instanceof t.Name?s.if((0,t._)`${p} !== true`,()=>s.forIn("key",c,m=>s.if(v(p,m),()=>
|
|
320
|
-
const g=s.name("valid");a.subschema({keyword:"unevaluatedProperties",dataProp:m,dataPropType:e.Type.Str},g),f||s.if((0,t.not)(g),()=>s.break())}}function v(m,g){return(0,t._)`!${m} || !${m}[${g}]`}function w(m,g){const T=[];for(const
|
|
321
|
-
"boolean","object"],error:{message:({params:{len:i}})=>(0,t.str)`must NOT have more than ${i} items`,params:({params:{len:i}})=>(0,t._)`{limit: ${i}}`},code(i){const{gen:a,schema:s,data:o,it:c}=i,u=c.items||0;if(u===!0)return;const l=a.const("len",(0,t._)`${o}.length`);if(s===!1)i.setParams({len:u}),i.fail((0,t._)`${l} > ${u}`);else if(typeof s=="object"&&!(0,e.alwaysValidSchema)(c,s)){const p=a.var("valid",(0,t._)`${l} <= ${u}`);a.if((0,t.not)(p),()=>f(p,u)),i.ok(p)}c.items=!0;function f(p,
|
|
322
|
-
forRange("i",
|
|
323
|
-
t.default,e.default,(0,r.default)(!0),s.default,o.metadataVocabulary,o.contentVocabulary,i.default,a.default];return kt.default=c,kt}var Bt={};const
|
|
324
|
-
n-schema.org/draft/2020-12/vocab/meta-data":!0,"https://json-schema.org/draft/2020-12/vocab/format-annotation":!0,"https://json-schema.org/draft/2020-12/vocab/content":!0},
|
|
325
|
-
previous drafts in order to prevent incompatible extensions as they remain in common use.",
|
|
326
|
-
/stringArray"}]},deprecated:!0,default:{}},$recursiveAnchor:{$comment:'"$recursiveAnchor" has been replaced by "$dynamicAnchor".',$ref:"meta/core#/$defs/anchorString",deprecated:!0},$recursiveRef:{$comment:'"$recursiveRef" has been replaced by "$dynamicRef".',$ref:"meta/core#/$defs/uriReferenceString",deprecated:!0}}
|
|
327
|
-
allOf:
|
|
328
|
-
$dynamicRef:"#meta"},default:{}},patternProperties:{type:"object",additionalProperties:{$dynamicRef:"#meta"},propertyNames:{format:"regex"},default:{}},dependentSchemas:{type:"object",additionalProperties:{$dynamicRef:"#meta"},default:{}},propertyNames:{$dynamicRef:"#meta"},if:{$dynamicRef:"#meta"},then:{$dynamicRef:"#meta"},else:{$dynamicRef:"#meta"},allOf:{$ref:"#/$defs/schemaArray"},anyOf:{$ref:"#/$defs/schemaArray"},oneOf:{$ref:"#/$defs/schemaArray"},not:{$dynamicRef:"#meta"}},
|
|
329
|
-
type:"array",minItems:1,items:{$dynamicRef:"#meta"}}},
|
|
330
|
-
ulary meta-schema",
|
|
331
|
-
ent":!0},
|
|
332
|
-
"https://json-schema.org/draft/2020-12/vocab/core":!0},
|
|
333
|
-
ng"},additionalProperties:{type:"boolean"}},$comment:{type:"string"},$defs:{type:"object",additionalProperties:{$dynamicRef:"#meta"}}},
|
|
334
|
-
title:
|
|
335
|
-
properties:
|
|
336
|
-
$schema:
|
|
322
|
+
readFileSync:je(B.readFileSync,ee.isRetriableError),renameSync:je(B.renameSync,ee.isRetriableError),statSync:je(B.statSync,ee.isRetriableError),writeSync:je(B.writeSync,ee.isRetriableError),writeFileSync:je(B.writeFileSync,ee.isRetriableError)}},Yl="utf8",Ti=438,Jl=511,Ql={},Zl=ct.userInfo().uid,ef=ct.userInfo().gid,tf=1e3,rf=!!re.getuid;re.getuid&&re.getuid();const Ii=128,nf=t=>t instanceof Error&&"code"in t,Oi=t=>typeof t=="string",Qr=t=>t===void 0,sf=re.platform==="linux",Li=re.platform==="wi\
|
|
323
|
+
n32",Zr=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];Li||Zr.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT"),sf&&Zr.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED");class of{constructor(){this.callbacks=new Set,this.exited=!1,this.exit=e=>{if(!this.exited){this.exited=!0;for(const r of this.callbacks)r();e&&(Li&&e!=="SIGINT"&&e!=="SIGTERM"&&e!=="SIGKILL"?re.kill(re.pid,"SIGTERM"):re.kill(re.pid,e))}},this.hook=()=>{re.once("exit",()=>this.exit());
|
|
324
|
+
for(const e of Zr)try{re.once(e,()=>this.exit(e))}catch{}},this.register=e=>(this.callbacks.add(e),()=>{this.callbacks.delete(e)}),this.hook()}}const af=new of,cf=af.register,le={store:{},create:t=>{const e=`000000${Math.floor(Math.random()*16777215).toString(16)}`.slice(-6),i=`.tmp-${Date.now().toString().slice(-10)}${e}`;return`${t}${i}`},get:(t,e,r=!0)=>{const n=le.truncate(e(t));return n in le.store?le.get(t,e,r):(le.store[n]=r,[n,()=>delete le.store[n]])},purge:t=>{le.store[t]&&(delete le.store[t],
|
|
325
|
+
ue.attempt.unlink(t))},purgeSync:t=>{le.store[t]&&(delete le.store[t],ue.attempt.unlinkSync(t))},purgeSyncAll:()=>{for(const t in le.store)le.purgeSync(t)},truncate:t=>{const e=W.basename(t);if(e.length<=Ii)return t;const r=/^(\.?)(.*?)((?:\.[^.]+)?(?:\.tmp-\d{10}[a-f0-9]{6})?)$/.exec(e);if(!r)return t;const n=e.length-Ii;return`${t.slice(0,-e.length)}${r[1]}${r[2].slice(0,-n)}${r[3]}`}};cf(le.purgeSyncAll);function ki(t,e,r=Ql){if(Oi(r))return ki(t,e,{encoding:r});const n=Date.now()+((r.timeout??
|
|
326
|
+
tf)||-1);let i=null,a=null,s=null;try{const o=ue.attempt.realpathSync(t),c=!!o;t=o||t,[a,i]=le.get(t,r.tmpCreate||le.create,r.tmpPurge!==!1);const u=rf&&Qr(r.chown),l=Qr(r.mode);if(c&&(u||l)){const f=ue.attempt.statSync(t);f&&(r={...r},u&&(r.chown={uid:f.uid,gid:f.gid}),l&&(r.mode=f.mode))}if(!c){const f=W.dirname(t);ue.attempt.mkdirSync(f,{mode:Jl,recursive:!0})}s=ue.retry.openSync(n)(a,"w",r.mode||Ti),r.tmpCreated&&r.tmpCreated(a),Oi(e)?ue.retry.writeSync(n)(s,e,0,r.encoding||Yl):Qr(e)||ue.retry.
|
|
327
|
+
writeSync(n)(s,e,0,e.length,0),r.fsync!==!1&&(r.fsyncWait!==!1?ue.retry.fsyncSync(n)(s):ue.attempt.fsync(s)),ue.retry.closeSync(n)(s),s=null,r.chown&&(r.chown.uid!==Zl||r.chown.gid!==ef)&&ue.attempt.chownSync(a,r.chown.uid,r.chown.gid),r.mode&&r.mode!==Ti&&ue.attempt.chmodSync(a,r.mode);try{ue.retry.renameSync(n)(a,t)}catch(f){if(!nf(f)||f.code!=="ENAMETOOLONG")throw f;ue.retry.renameSync(n)(a,le.truncate(t))}i(),a=null}finally{s&&ue.attempt.closeSync(s),a&&le.purge(a)}}var Lt={exports:{}},kt={},
|
|
328
|
+
Nt={},Ze={},Ni;function Pi(){if(Ni)return Ze;Ni=1,Object.defineProperty(Ze,"__esModule",{value:!0}),Ze.dynamicAnchor=void 0;const t=it(),e=sr(),r=kc(),n=ms(),i={keyword:"$dynamicAnchor",schemaType:"string",code:o=>a(o,o.schema)};function a(o,c){const{gen:u,it:l}=o;l.schemaEnv.root.dynamicAnchors[c]=!0;const f=(0,t._)`${e.default.dynamicAnchors}${(0,t.getProperty)(c)}`,p=l.errSchemaPath==="#"?l.validateName:s(o);u.if((0,t._)`!${f}`,()=>u.assign(f,p))}Ze.dynamicAnchor=a;function s(o){const{schemaEnv:c,
|
|
329
|
+
schema:u,self:l}=o.it,{root:f,baseId:p,localRefs:d,meta:v}=c.root,{schemaId:w}=l.opts,m=new r.SchemaEnv({schema:u,schemaId:w,root:f,baseId:p,localRefs:d,meta:v});return r.compileSchema.call(l,m),(0,n.getValidate)(o,m)}return Ze.default=i,Ze}var et={},ji;function Di(){if(ji)return et;ji=1,Object.defineProperty(et,"__esModule",{value:!0}),et.dynamicRef=void 0;const t=it(),e=sr(),r=ms(),n={keyword:"$dynamicRef",schemaType:"string",code:a=>i(a,a.schema)};function i(a,s){const{gen:o,keyword:c,it:u}=a;
|
|
330
|
+
if(s[0]!=="#")throw new Error(`"${c}" only supports hash fragment reference`);const l=s.slice(1);if(u.allErrors)f();else{const d=o.let("valid",!1);f(d),a.ok(d)}function f(d){if(u.schemaEnv.root.dynamicAnchors[l]){const v=o.let("_v",(0,t._)`${e.default.dynamicAnchors}${(0,t.getProperty)(l)}`);o.if(v,p(v,d),p(u.validateName,d))}else p(u.validateName,d)()}function p(d,v){return v?()=>o.block(()=>{(0,r.callRef)(a,d),o.let(v,!0)}):()=>(0,r.callRef)(a,d)}}return et.dynamicRef=i,et.default=n,et}var Pt={},
|
|
331
|
+
qi;function uf(){if(qi)return Pt;qi=1,Object.defineProperty(Pt,"__esModule",{value:!0});const t=Pi(),e=wt(),r={keyword:"$recursiveAnchor",schemaType:"boolean",code(n){n.schema?(0,t.dynamicAnchor)(n,""):(0,e.checkStrictMode)(n.it,"$recursiveAnchor: false is ignored")}};return Pt.default=r,Pt}var jt={},Hi;function lf(){if(Hi)return jt;Hi=1,Object.defineProperty(jt,"__esModule",{value:!0});const t=Di(),e={keyword:"$recursiveRef",schemaType:"string",code:r=>(0,t.dynamicRef)(r,r.schema)};return jt.default=
|
|
332
|
+
e,jt}var Mi;function ff(){if(Mi)return Nt;Mi=1,Object.defineProperty(Nt,"__esModule",{value:!0});const t=Pi(),e=Di(),r=uf(),n=lf(),i=[t.default,e.default,r.default,n.default];return Nt.default=i,Nt}var Dt={},qt={},Ui;function pf(){if(Ui)return qt;Ui=1,Object.defineProperty(qt,"__esModule",{value:!0});const t=gs(),e={keyword:"dependentRequired",type:"object",schemaType:"object",error:t.error,code:r=>(0,t.validatePropertyDeps)(r)};return qt.default=e,qt}var Ht={},Fi;function df(){if(Fi)return Ht;Fi=
|
|
333
|
+
1,Object.defineProperty(Ht,"__esModule",{value:!0});const t=gs(),e={keyword:"dependentSchemas",type:"object",schemaType:"object",code:r=>(0,t.validateSchemaDeps)(r)};return Ht.default=e,Ht}var Mt={},Gi;function hf(){if(Gi)return Mt;Gi=1,Object.defineProperty(Mt,"__esModule",{value:!0});const t=wt(),e={keyword:["maxContains","minContains"],type:"array",schemaType:"number",code({keyword:r,parentSchema:n,it:i}){n.contains===void 0&&(0,t.checkStrictMode)(i,`"${r}" without "contains" is ignored`)}};return Mt.
|
|
334
|
+
default=e,Mt}var Bi;function mf(){if(Bi)return Dt;Bi=1,Object.defineProperty(Dt,"__esModule",{value:!0});const t=pf(),e=df(),r=hf(),n=[t.default,e.default,r.default];return Dt.default=n,Dt}var Ut={},Ft={},Vi;function gf(){if(Vi)return Ft;Vi=1,Object.defineProperty(Ft,"__esModule",{value:!0});const t=it(),e=wt(),r=sr(),i={keyword:"unevaluatedProperties",type:"object",schemaType:["boolean","object"],trackErrors:!0,error:{message:"must NOT have unevaluated properties",params:({params:a})=>(0,t._)`{unevaluatedProperty: ${a.
|
|
335
|
+
unevaluatedProperty}}`},code(a){const{gen:s,schema:o,data:c,errsCount:u,it:l}=a;if(!u)throw new Error("ajv implementation error");const{allErrors:f,props:p}=l;p instanceof t.Name?s.if((0,t._)`${p} !== true`,()=>s.forIn("key",c,m=>s.if(v(p,m),()=>d(m)))):p!==!0&&s.forIn("key",c,m=>p===void 0?d(m):s.if(w(p,m),()=>d(m))),l.props=!0,a.ok((0,t._)`${u} === ${r.default.errors}`);function d(m){if(o===!1){a.setParams({unevaluatedProperty:m}),a.error(),f||s.break();return}if(!(0,e.alwaysValidSchema)(l,o)){
|
|
336
|
+
const g=s.name("valid");a.subschema({keyword:"unevaluatedProperties",dataProp:m,dataPropType:e.Type.Str},g),f||s.if((0,t.not)(g),()=>s.break())}}function v(m,g){return(0,t._)`!${m} || !${m}[${g}]`}function w(m,g){const T=[];for(const h in m)m[h]===!0&&T.push((0,t._)`${g} !== ${h}`);return(0,t.and)(...T)}}};return Ft.default=i,Ft}var Gt={},zi;function yf(){if(zi)return Gt;zi=1,Object.defineProperty(Gt,"__esModule",{value:!0});const t=it(),e=wt(),n={keyword:"unevaluatedItems",type:"array",schemaType:[
|
|
337
|
+
"boolean","object"],error:{message:({params:{len:i}})=>(0,t.str)`must NOT have more than ${i} items`,params:({params:{len:i}})=>(0,t._)`{limit: ${i}}`},code(i){const{gen:a,schema:s,data:o,it:c}=i,u=c.items||0;if(u===!0)return;const l=a.const("len",(0,t._)`${o}.length`);if(s===!1)i.setParams({len:u}),i.fail((0,t._)`${l} > ${u}`);else if(typeof s=="object"&&!(0,e.alwaysValidSchema)(c,s)){const p=a.var("valid",(0,t._)`${l} <= ${u}`);a.if((0,t.not)(p),()=>f(p,u)),i.ok(p)}c.items=!0;function f(p,d){a.
|
|
338
|
+
forRange("i",d,l,v=>{i.subschema({keyword:"unevaluatedItems",dataProp:v,dataPropType:e.Type.Num},p),c.allErrors||a.if((0,t.not)(p),()=>a.break())})}}};return Gt.default=n,Gt}var Wi;function wf(){if(Wi)return Ut;Wi=1,Object.defineProperty(Ut,"__esModule",{value:!0});const t=gf(),e=yf(),r=[t.default,e.default];return Ut.default=r,Ut}var Xi;function vf(){if(Xi)return kt;Xi=1,Object.defineProperty(kt,"__esModule",{value:!0});const t=Nc(),e=Pc(),r=jc(),n=ff(),i=mf(),a=wf(),s=Dc(),o=qc(),c=[n.default,
|
|
339
|
+
t.default,e.default,(0,r.default)(!0),s.default,o.metadataVocabulary,o.contentVocabulary,i.default,a.default];return kt.default=c,kt}var Bt={};const Ki="https://json-schema.org/draft/2020-12/schema",Yi="https://json-schema.org/draft/2020-12/schema",Ji={"https://json-schema.org/draft/2020-12/vocab/core":!0,"https://json-schema.org/draft/2020-12/vocab/applicator":!0,"https://json-schema.org/draft/2020-12/vocab/unevaluated":!0,"https://json-schema.org/draft/2020-12/vocab/validation":!0,"https://jso\
|
|
340
|
+
n-schema.org/draft/2020-12/vocab/meta-data":!0,"https://json-schema.org/draft/2020-12/vocab/format-annotation":!0,"https://json-schema.org/draft/2020-12/vocab/content":!0},Qi="meta",Zi="Core and Validation specifications meta-schema",eo=[{$ref:"meta/core"},{$ref:"meta/applicator"},{$ref:"meta/unevaluated"},{$ref:"meta/validation"},{$ref:"meta/meta-data"},{$ref:"meta/format-annotation"},{$ref:"meta/content"}],to=["object","boolean"],ro="This meta-schema also defines keywords that have appeared in\
|
|
341
|
+
previous drafts in order to prevent incompatible extensions as they remain in common use.",no={definitions:{$comment:'"definitions" has been replaced by "$defs".',type:"object",additionalProperties:{$dynamicRef:"#meta"},deprecated:!0,default:{}},dependencies:{$comment:'"dependencies" has been split and replaced by "dependentSchemas" and "dependentRequired" in order to serve their differing semantics.',type:"object",additionalProperties:{anyOf:[{$dynamicRef:"#meta"},{$ref:"meta/validation#/$defs\
|
|
342
|
+
/stringArray"}]},deprecated:!0,default:{}},$recursiveAnchor:{$comment:'"$recursiveAnchor" has been replaced by "$dynamicAnchor".',$ref:"meta/core#/$defs/anchorString",deprecated:!0},$recursiveRef:{$comment:'"$recursiveRef" has been replaced by "$dynamicRef".',$ref:"meta/core#/$defs/uriReferenceString",deprecated:!0}},$f={$schema:Ki,$id:Yi,$vocabulary:Ji,$dynamicAnchor:Qi,title:Zi,allOf:eo,type:to,$comment:ro,properties:no},bf={__proto__:null,$comment:ro,$dynamicAnchor:Qi,$id:Yi,$schema:Ki,$vocabulary:Ji,
|
|
343
|
+
allOf:eo,default:$f,properties:no,title:Zi,type:to},Ef=Ie(bf),so="https://json-schema.org/draft/2020-12/schema",io="https://json-schema.org/draft/2020-12/meta/applicator",oo={"https://json-schema.org/draft/2020-12/vocab/applicator":!0},ao="meta",co="Applicator vocabulary meta-schema",uo=["object","boolean"],lo={prefixItems:{$ref:"#/$defs/schemaArray"},items:{$dynamicRef:"#meta"},contains:{$dynamicRef:"#meta"},additionalProperties:{$dynamicRef:"#meta"},properties:{type:"object",additionalProperties:{
|
|
344
|
+
$dynamicRef:"#meta"},default:{}},patternProperties:{type:"object",additionalProperties:{$dynamicRef:"#meta"},propertyNames:{format:"regex"},default:{}},dependentSchemas:{type:"object",additionalProperties:{$dynamicRef:"#meta"},default:{}},propertyNames:{$dynamicRef:"#meta"},if:{$dynamicRef:"#meta"},then:{$dynamicRef:"#meta"},else:{$dynamicRef:"#meta"},allOf:{$ref:"#/$defs/schemaArray"},anyOf:{$ref:"#/$defs/schemaArray"},oneOf:{$ref:"#/$defs/schemaArray"},not:{$dynamicRef:"#meta"}},fo={schemaArray:{
|
|
345
|
+
type:"array",minItems:1,items:{$dynamicRef:"#meta"}}},Rf={$schema:so,$id:io,$vocabulary:oo,$dynamicAnchor:ao,title:co,type:uo,properties:lo,$defs:fo},Sf={__proto__:null,$defs:fo,$dynamicAnchor:ao,$id:io,$schema:so,$vocabulary:oo,default:Rf,properties:lo,title:co,type:uo},Af=Ie(Sf),po="https://json-schema.org/draft/2020-12/schema",ho="https://json-schema.org/draft/2020-12/meta/unevaluated",mo={"https://json-schema.org/draft/2020-12/vocab/unevaluated":!0},go="meta",yo="Unevaluated applicator vocab\
|
|
346
|
+
ulary meta-schema",wo=["object","boolean"],vo={unevaluatedItems:{$dynamicRef:"#meta"},unevaluatedProperties:{$dynamicRef:"#meta"}},_f={$schema:po,$id:ho,$vocabulary:mo,$dynamicAnchor:go,title:yo,type:wo,properties:vo},Cf={__proto__:null,$dynamicAnchor:go,$id:ho,$schema:po,$vocabulary:mo,default:_f,properties:vo,title:yo,type:wo},xf=Ie(Cf),$o="https://json-schema.org/draft/2020-12/schema",bo="https://json-schema.org/draft/2020-12/meta/content",Eo={"https://json-schema.org/draft/2020-12/vocab/cont\
|
|
347
|
+
ent":!0},Ro="meta",So="Content vocabulary meta-schema",Ao=["object","boolean"],_o={contentEncoding:{type:"string"},contentMediaType:{type:"string"},contentSchema:{$dynamicRef:"#meta"}},Tf={$schema:$o,$id:bo,$vocabulary:Eo,$dynamicAnchor:Ro,title:So,type:Ao,properties:_o},If={__proto__:null,$dynamicAnchor:Ro,$id:bo,$schema:$o,$vocabulary:Eo,default:Tf,properties:_o,title:So,type:Ao},Of=Ie(If),Co="https://json-schema.org/draft/2020-12/schema",xo="https://json-schema.org/draft/2020-12/meta/core",To={
|
|
348
|
+
"https://json-schema.org/draft/2020-12/vocab/core":!0},Io="meta",Oo="Core vocabulary meta-schema",Lo=["object","boolean"],ko={$id:{$ref:"#/$defs/uriReferenceString",$comment:"Non-empty fragments not allowed.",pattern:"^[^#]*#?$"},$schema:{$ref:"#/$defs/uriString"},$ref:{$ref:"#/$defs/uriReferenceString"},$anchor:{$ref:"#/$defs/anchorString"},$dynamicRef:{$ref:"#/$defs/uriReferenceString"},$dynamicAnchor:{$ref:"#/$defs/anchorString"},$vocabulary:{type:"object",propertyNames:{$ref:"#/$defs/uriStri\
|
|
349
|
+
ng"},additionalProperties:{type:"boolean"}},$comment:{type:"string"},$defs:{type:"object",additionalProperties:{$dynamicRef:"#meta"}}},No={anchorString:{type:"string",pattern:"^[A-Za-z_][-A-Za-z0-9._]*$"},uriString:{type:"string",format:"uri"},uriReferenceString:{type:"string",format:"uri-reference"}},Lf={$schema:Co,$id:xo,$vocabulary:To,$dynamicAnchor:Io,title:Oo,type:Lo,properties:ko,$defs:No},kf={__proto__:null,$defs:No,$dynamicAnchor:Io,$id:xo,$schema:Co,$vocabulary:To,default:Lf,properties:ko,
|
|
350
|
+
title:Oo,type:Lo},Nf=Ie(kf),Po="https://json-schema.org/draft/2020-12/schema",jo="https://json-schema.org/draft/2020-12/meta/format-annotation",Do={"https://json-schema.org/draft/2020-12/vocab/format-annotation":!0},qo="meta",Ho="Format vocabulary meta-schema for annotation results",Mo=["object","boolean"],Uo={format:{type:"string"}},Pf={$schema:Po,$id:jo,$vocabulary:Do,$dynamicAnchor:qo,title:Ho,type:Mo,properties:Uo},jf={__proto__:null,$dynamicAnchor:qo,$id:jo,$schema:Po,$vocabulary:Do,default:Pf,
|
|
351
|
+
properties:Uo,title:Ho,type:Mo},Df=Ie(jf),Fo="https://json-schema.org/draft/2020-12/schema",Go="https://json-schema.org/draft/2020-12/meta/meta-data",Bo={"https://json-schema.org/draft/2020-12/vocab/meta-data":!0},Vo="meta",zo="Meta-data vocabulary meta-schema",Wo=["object","boolean"],Xo={title:{type:"string"},description:{type:"string"},default:!0,deprecated:{type:"boolean",default:!1},readOnly:{type:"boolean",default:!1},writeOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0}},qf={
|
|
352
|
+
$schema:Fo,$id:Go,$vocabulary:Bo,$dynamicAnchor:Vo,title:zo,type:Wo,properties:Xo},Hf={__proto__:null,$dynamicAnchor:Vo,$id:Go,$schema:Fo,$vocabulary:Bo,default:qf,properties:Xo,title:zo,type:Wo},Mf=Ie(Hf),Ko="https://json-schema.org/draft/2020-12/schema",Yo="https://json-schema.org/draft/2020-12/meta/validation",Jo={"https://json-schema.org/draft/2020-12/vocab/validation":!0},Qo="meta",Zo="Validation vocabulary meta-schema",ea=["object","boolean"],ta={type:{anyOf:[{$ref:"#/$defs/simpleTypes"},{
|
|
337
353
|
type:"array",items:{$ref:"#/$defs/simpleTypes"},minItems:1,uniqueItems:!0}]},const:!0,enum:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/$defs/nonNegativeInteger"},minLength:{$ref:"#/$defs/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},maxItems:{$ref:"#/$defs/nonNegativeInteger"},minItems:{$ref:"#/$defs/nonNegativeIntege\
|
|
338
|
-
rDefault0"},uniqueItems:{type:"boolean",default:!1},maxContains:{$ref:"#/$defs/nonNegativeInteger"},minContains:{$ref:"#/$defs/nonNegativeInteger",default:1},maxProperties:{$ref:"#/$defs/nonNegativeInteger"},minProperties:{$ref:"#/$defs/nonNegativeIntegerDefault0"},required:{$ref:"#/$defs/stringArray"},dependentRequired:{type:"object",additionalProperties:{$ref:"#/$defs/stringArray"}}},
|
|
339
|
-
default:0},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},
|
|
340
|
-
e=
|
|
341
|
-
org/draft/2020-12/schema";class o extends r.default{constructor(
|
|
342
|
-
s)?s:void 0)}}e.Ajv2020=o,t.exports=e=o,t.exports.Ajv2020=o,Object.defineProperty(e,"__esModule",{value:!0}),e.default=o;var c=
|
|
343
|
-
enumerable:!0,get:function(){return u.nil}}),Object.defineProperty(e,"Name",{enumerable:!0,get:function(){return u.Name}}),Object.defineProperty(e,"CodeGen",{enumerable:!0,get:function(){return u.CodeGen}});var l=
|
|
344
|
-
totype"||r==="arguments"||r==="caller")return;const i=Object.getOwnPropertyDescriptor(t,r),a=Object.getOwnPropertyDescriptor(e,r);!
|
|
345
|
-
${e}`,
|
|
346
|
-
e,i,r);return
|
|
347
|
-
void 0),a&&(c=t.apply(f,l))},
|
|
348
|
-
MAX_SAFE_BUILD_LENGTH:i,MAX_SAFE_INTEGER:r,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:t,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2},
|
|
349
|
-
MAX_LENGTH:i}=zt(),a=Wt();e=t.exports={};const s=e.re=[],o=e.safeRe=[],c=e.src=[],u=e.safeSrc=[],l=e.t={};let f=0;const p="[a-zA-Z0-9-]",
|
|
354
|
+
rDefault0"},uniqueItems:{type:"boolean",default:!1},maxContains:{$ref:"#/$defs/nonNegativeInteger"},minContains:{$ref:"#/$defs/nonNegativeInteger",default:1},maxProperties:{$ref:"#/$defs/nonNegativeInteger"},minProperties:{$ref:"#/$defs/nonNegativeIntegerDefault0"},required:{$ref:"#/$defs/stringArray"},dependentRequired:{type:"object",additionalProperties:{$ref:"#/$defs/stringArray"}}},ra={nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{$ref:"#/$defs/nonNegativeInteger",
|
|
355
|
+
default:0},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},Uf={$schema:Ko,$id:Yo,$vocabulary:Jo,$dynamicAnchor:Qo,title:Zo,type:ea,properties:ta,$defs:ra},Ff={__proto__:null,$defs:ra,$dynamicAnchor:Qo,$id:Yo,$schema:Ko,$vocabulary:Jo,default:Uf,properties:ta,title:Zo,type:ea},Gf=Ie(Ff);var na;function Bf(){if(na)return Bt;na=1,Object.defineProperty(Bt,"__esModule",{value:!0});const t=Ef,
|
|
356
|
+
e=Af,r=xf,n=Of,i=Nf,a=Df,s=Mf,o=Gf,c=["/properties"];function u(l){return[t,e,r,n,i,f(this,a),s,f(this,o)].forEach(p=>this.addMetaSchema(p,void 0,!1)),this;function f(p,d){return l?p.$dataMetaSchema(d,c):d}}return Bt.default=u,Bt}var sa;function Vf(){return sa||(sa=1,(function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MissingRefError=e.ValidationError=e.CodeGen=e.Name=e.nil=e.stringify=e.str=e._=e.KeywordCxt=e.Ajv2020=void 0;const r=Hc(),n=vf(),i=Mc(),a=Bf(),s="https://json-schema.\
|
|
357
|
+
org/draft/2020-12/schema";class o extends r.default{constructor(d={}){super({...d,dynamicRef:!0,next:!0,unevaluated:!0})}_addVocabularies(){super._addVocabularies(),n.default.forEach(d=>this.addVocabulary(d)),this.opts.discriminator&&this.addKeyword(i.default)}_addDefaultMetaSchema(){super._addDefaultMetaSchema();const{$data:d,meta:v}=this.opts;v&&(a.default.call(this,d),this.refs["http://json-schema.org/schema"]=s)}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(
|
|
358
|
+
s)?s:void 0)}}e.Ajv2020=o,t.exports=e=o,t.exports.Ajv2020=o,Object.defineProperty(e,"__esModule",{value:!0}),e.default=o;var c=Uc();Object.defineProperty(e,"KeywordCxt",{enumerable:!0,get:function(){return c.KeywordCxt}});var u=it();Object.defineProperty(e,"_",{enumerable:!0,get:function(){return u._}}),Object.defineProperty(e,"str",{enumerable:!0,get:function(){return u.str}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return u.stringify}}),Object.defineProperty(e,"nil",{
|
|
359
|
+
enumerable:!0,get:function(){return u.nil}}),Object.defineProperty(e,"Name",{enumerable:!0,get:function(){return u.Name}}),Object.defineProperty(e,"CodeGen",{enumerable:!0,get:function(){return u.CodeGen}});var l=Fc();Object.defineProperty(e,"ValidationError",{enumerable:!0,get:function(){return l.default}});var f=Gc();Object.defineProperty(e,"MissingRefError",{enumerable:!0,get:function(){return f.default}})})(Lt,Lt.exports)),Lt.exports}var zf=Vf();const Wf=(t,e,r,n)=>{if(r==="length"||r==="pro\
|
|
360
|
+
totype"||r==="arguments"||r==="caller")return;const i=Object.getOwnPropertyDescriptor(t,r),a=Object.getOwnPropertyDescriptor(e,r);!Xf(i,a)&&n||Object.defineProperty(t,r,a)},Xf=function(t,e){return t===void 0||t.configurable||t.writable===e.writable&&t.enumerable===e.enumerable&&t.configurable===e.configurable&&(t.writable||t.value===e.value)},Kf=(t,e)=>{const r=Object.getPrototypeOf(e);r!==Object.getPrototypeOf(t)&&Object.setPrototypeOf(t,r)},Yf=(t,e)=>`/* Wrapped ${t}*/
|
|
361
|
+
${e}`,Jf=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),Qf=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name"),Zf=(t,e,r)=>{const n=r===""?"":`with ${r.trim()}() `,i=Yf.bind(null,n,e.toString());Object.defineProperty(i,"name",Qf);const{writable:a,enumerable:s,configurable:o}=Jf;Object.defineProperty(t,"toString",{value:i,writable:a,enumerable:s,configurable:o})};function ep(t,e,{ignoreNonConfigurable:r=!1}={}){const{name:n}=t;for(const i of Reflect.ownKeys(e))Wf(t,
|
|
362
|
+
e,i,r);return Kf(t,e),Zf(t,e,n),t}const ia=(t,e={})=>{if(typeof t!="function")throw new TypeError(`Expected the first argument to be a function, got \`${typeof t}\``);const{wait:r=0,maxWait:n=Number.POSITIVE_INFINITY,before:i=!1,after:a=!0}=e;if(r<0||n<0)throw new RangeError("`wait` and `maxWait` must not be negative.");if(!i&&!a)throw new Error("Both `before` and `after` are false, function wouldn't be called.");let s,o,c;const u=function(...l){const f=this,p=()=>{s=void 0,o&&(clearTimeout(o),o=
|
|
363
|
+
void 0),a&&(c=t.apply(f,l))},d=()=>{o=void 0,s&&(clearTimeout(s),s=void 0),a&&(c=t.apply(f,l))},v=i&&!s;return clearTimeout(s),s=setTimeout(p,r),n>0&&n!==Number.POSITIVE_INFINITY&&!o&&(o=setTimeout(d,n)),v&&(c=t.apply(f,l)),c};return ep(u,t),u.cancel=()=>{s&&(clearTimeout(s),s=void 0),o&&(clearTimeout(o),o=void 0)},u};var Vt={exports:{}},en,oa;function zt(){if(oa)return en;oa=1;const t="2.0.0",e=256,r=Number.MAX_SAFE_INTEGER||9007199254740991,n=16,i=e-6;return en={MAX_LENGTH:e,MAX_SAFE_COMPONENT_LENGTH:n,
|
|
364
|
+
MAX_SAFE_BUILD_LENGTH:i,MAX_SAFE_INTEGER:r,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:t,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2},en}var tn,aa;function Wt(){return aa||(aa=1,tn=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{}),tn}var ca;function pt(){return ca||(ca=1,(function(t,e){const{MAX_SAFE_COMPONENT_LENGTH:r,MAX_SAFE_BUILD_LENGTH:n,
|
|
365
|
+
MAX_LENGTH:i}=zt(),a=Wt();e=t.exports={};const s=e.re=[],o=e.safeRe=[],c=e.src=[],u=e.safeSrc=[],l=e.t={};let f=0;const p="[a-zA-Z0-9-]",d=[["\\s",1],["\\d",i],[p,n]],v=m=>{for(const[g,T]of d)m=m.split(`${g}*`).join(`${g}{0,${T}}`).split(`${g}+`).join(`${g}{1,${T}}`);return m},w=(m,g,T)=>{const h=v(g),S=f++;a(m,S,g),l[m]=S,c[S]=g,u[S]=h,s[S]=new RegExp(g,T?"g":void 0),o[S]=new RegExp(h,T?"g":void 0)};w("NUMERICIDENTIFIER","0|[1-9]\\d*"),w("NUMERICIDENTIFIERLOOSE","\\d+"),w("NONNUMERICIDENTIFIER",
|
|
350
366
|
`\\d*[a-zA-Z-]${p}*`),w("MAINVERSION",`(${c[l.NUMERICIDENTIFIER]})\\.(${c[l.NUMERICIDENTIFIER]})\\.(${c[l.NUMERICIDENTIFIER]})`),w("MAINVERSIONLOOSE",`(${c[l.NUMERICIDENTIFIERLOOSE]})\\.(${c[l.NUMERICIDENTIFIERLOOSE]})\\.(${c[l.NUMERICIDENTIFIERLOOSE]})`),w("PRERELEASEIDENTIFIER",`(?:${c[l.NONNUMERICIDENTIFIER]}|${c[l.NUMERICIDENTIFIER]})`),w("PRERELEASEIDENTIFIERLOOSE",`(?:${c[l.NONNUMERICIDENTIFIER]}|${c[l.NUMERICIDENTIFIERLOOSE]})`),w("PRERELEASE",`(?:-(${c[l.PRERELEASEIDENTIFIER]}(?:\\.${c[l.
|
|
351
367
|
PRERELEASEIDENTIFIER]})*))`),w("PRERELEASELOOSE",`(?:-?(${c[l.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${c[l.PRERELEASEIDENTIFIERLOOSE]})*))`),w("BUILDIDENTIFIER",`${p}+`),w("BUILD",`(?:\\+(${c[l.BUILDIDENTIFIER]}(?:\\.${c[l.BUILDIDENTIFIER]})*))`),w("FULLPLAIN",`v?${c[l.MAINVERSION]}${c[l.PRERELEASE]}?${c[l.BUILD]}?`),w("FULL",`^${c[l.FULLPLAIN]}$`),w("LOOSEPLAIN",`[v=\\s]*${c[l.MAINVERSIONLOOSE]}${c[l.PRERELEASELOOSE]}?${c[l.BUILD]}?`),w("LOOSE",`^${c[l.LOOSEPLAIN]}$`),w("GTLT","((?:<|>)?=?)"),w("XRAN\
|
|
352
368
|
GEIDENTIFIERLOOSE",`${c[l.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),w("XRANGEIDENTIFIER",`${c[l.NUMERICIDENTIFIER]}|x|X|\\*`),w("XRANGEPLAIN",`[v=\\s]*(${c[l.XRANGEIDENTIFIER]})(?:\\.(${c[l.XRANGEIDENTIFIER]})(?:\\.(${c[l.XRANGEIDENTIFIER]})(?:${c[l.PRERELEASE]})?${c[l.BUILD]}?)?)?`),w("XRANGEPLAINLOOSE",`[v=\\s]*(${c[l.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[l.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[l.XRANGEIDENTIFIERLOOSE]})(?:${c[l.PRERELEASELOOSE]})?${c[l.BUILD]}?)?)?`),w("XRANGE",`^${c[l.GTLT]}\\s*${c[l.XRANGEPLAIN]}\
|
|
353
369
|
$`),w("XRANGELOOSE",`^${c[l.GTLT]}\\s*${c[l.XRANGEPLAINLOOSE]}$`),w("COERCEPLAIN",`(^|[^\\d])(\\d{1,${r}})(?:\\.(\\d{1,${r}}))?(?:\\.(\\d{1,${r}}))?`),w("COERCE",`${c[l.COERCEPLAIN]}(?:$|[^\\d])`),w("COERCEFULL",c[l.COERCEPLAIN]+`(?:${c[l.PRERELEASE]})?(?:${c[l.BUILD]})?(?:$|[^\\d])`),w("COERCERTL",c[l.COERCE],!0),w("COERCERTLFULL",c[l.COERCEFULL],!0),w("LONETILDE","(?:~>?)"),w("TILDETRIM",`(\\s*)${c[l.LONETILDE]}\\s+`,!0),e.tildeTrimReplace="$1~",w("TILDE",`^${c[l.LONETILDE]}${c[l.XRANGEPLAIN]}\
|
|
354
370
|
$`),w("TILDELOOSE",`^${c[l.LONETILDE]}${c[l.XRANGEPLAINLOOSE]}$`),w("LONECARET","(?:\\^)"),w("CARETTRIM",`(\\s*)${c[l.LONECARET]}\\s+`,!0),e.caretTrimReplace="$1^",w("CARET",`^${c[l.LONECARET]}${c[l.XRANGEPLAIN]}$`),w("CARETLOOSE",`^${c[l.LONECARET]}${c[l.XRANGEPLAINLOOSE]}$`),w("COMPARATORLOOSE",`^${c[l.GTLT]}\\s*(${c[l.LOOSEPLAIN]})$|^$`),w("COMPARATOR",`^${c[l.GTLT]}\\s*(${c[l.FULLPLAIN]})$|^$`),w("COMPARATORTRIM",`(\\s*)${c[l.GTLT]}\\s*(${c[l.LOOSEPLAIN]}|${c[l.XRANGEPLAIN]})`,!0),e.comparatorTrimReplace=
|
|
355
|
-
"$1$2$3",w("HYPHENRANGE",`^\\s*(${c[l.XRANGEPLAIN]})\\s+-\\s+(${c[l.XRANGEPLAIN]})\\s*$`),w("HYPHENRANGELOOSE",`^\\s*(${c[l.XRANGEPLAINLOOSE]})\\s+-\\s+(${c[l.XRANGEPLAINLOOSE]})\\s*$`),w("STAR","(<|>)?=?\\s*\\*"),w("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),w("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")})(Vt,Vt.exports)),Vt.exports}var
|
|
356
|
-
|
|
371
|
+
"$1$2$3",w("HYPHENRANGE",`^\\s*(${c[l.XRANGEPLAIN]})\\s+-\\s+(${c[l.XRANGEPLAIN]})\\s*$`),w("HYPHENRANGELOOSE",`^\\s*(${c[l.XRANGEPLAINLOOSE]})\\s+-\\s+(${c[l.XRANGEPLAINLOOSE]})\\s*$`),w("STAR","(<|>)?=?\\s*\\*"),w("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),w("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")})(Vt,Vt.exports)),Vt.exports}var rn,ua;function nn(){if(ua)return rn;ua=1;const t=Object.freeze({loose:!0}),e=Object.freeze({});return rn=n=>n?typeof n!="object"?t:n:e,rn}var sn,la;function fa(){if(la)return sn;
|
|
372
|
+
la=1;const t=/^[0-9]+$/,e=(n,i)=>{if(typeof n=="number"&&typeof i=="number")return n===i?0:n<i?-1:1;const a=t.test(n),s=t.test(i);return a&&s&&(n=+n,i=+i),n===i?0:a&&!s?-1:s&&!a?1:n<i?-1:1};return sn={compareIdentifiers:e,rcompareIdentifiers:(n,i)=>e(i,n)},sn}var on,pa;function he(){if(pa)return on;pa=1;const t=Wt(),{MAX_LENGTH:e,MAX_SAFE_INTEGER:r}=zt(),{safeRe:n,t:i}=pt(),a=nn(),{compareIdentifiers:s}=fa();class o{constructor(u,l){if(l=a(l),u instanceof o){if(u.loose===!!l.loose&&u.includePrerelease===
|
|
357
373
|
!!l.includePrerelease)return u;u=u.version}else if(typeof u!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof u}".`);if(u.length>e)throw new TypeError(`version is longer than ${e} characters`);t("SemVer",u,l),this.options=l,this.loose=!!l.loose,this.includePrerelease=!!l.includePrerelease;const f=u.trim().match(l.loose?n[i.LOOSE]:n[i.FULL]);if(!f)throw new TypeError(`Invalid Version: ${u}`);if(this.raw=u,this.major=+f[1],this.minor=+f[2],this.patch=+f[3],this.major>
|
|
358
|
-
r||this.major<0)throw new TypeError("Invalid major version");if(this.minor>r||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>r||this.patch<0)throw new TypeError("Invalid patch version");f[4]?this.prerelease=f[4].split(".").map(p=>{if(/^[0-9]+$/.test(p)){const
|
|
374
|
+
r||this.major<0)throw new TypeError("Invalid major version");if(this.minor>r||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>r||this.patch<0)throw new TypeError("Invalid patch version");f[4]?this.prerelease=f[4].split(".").map(p=>{if(/^[0-9]+$/.test(p)){const d=+p;if(d>=0&&d<r)return d}return p}):this.prerelease=[],this.build=f[5]?f[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=
|
|
359
375
|
`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(u){if(t("SemVer.compare",this.version,this.options,u),!(u instanceof o)){if(typeof u=="string"&&u===this.version)return 0;u=new o(u,this.options)}return u.version===this.version?0:this.compareMain(u)||this.comparePre(u)}compareMain(u){return u instanceof o||(u=new o(u,this.options)),this.major<u.major?-1:this.major>u.major?1:this.minor<u.minor?-1:this.minor>u.minor?1:this.patch<u.patch?-1:this.patch>u.patch?1:0}comparePre(u){
|
|
360
376
|
if(u instanceof o||(u=new o(u,this.options)),this.prerelease.length&&!u.prerelease.length)return-1;if(!this.prerelease.length&&u.prerelease.length)return 1;if(!this.prerelease.length&&!u.prerelease.length)return 0;let l=0;do{const f=this.prerelease[l],p=u.prerelease[l];if(t("prerelease compare",l,f,p),f===void 0&&p===void 0)return 0;if(p===void 0)return 1;if(f===void 0)return-1;if(f===p)continue;return s(f,p)}while(++l)}compareBuild(u){u instanceof o||(u=new o(u,this.options));let l=0;do{const f=this.
|
|
361
377
|
build[l],p=u.build[l];if(t("build compare",l,f,p),f===void 0&&p===void 0)return 0;if(p===void 0)return 1;if(f===void 0)return-1;if(f===p)continue;return s(f,p)}while(++l)}inc(u,l,f){if(u.startsWith("pre")){if(!l&&f===!1)throw new Error("invalid increment argument: identifier is empty");if(l){const p=`-${l}`.match(this.options.loose?n[i.PRERELEASELOOSE]:n[i.PRERELEASE]);if(!p||p[1]!==l)throw new Error(`invalid identifier: ${l}`)}}switch(u){case"premajor":this.prerelease.length=0,this.patch=0,this.
|
|
362
378
|
minor=0,this.major++,this.inc("pre",l,f);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",l,f);break;case"prepatch":this.prerelease.length=0,this.inc("patch",l,f),this.inc("pre",l,f);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",l,f),this.inc("pre",l,f);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.
|
|
363
|
-
prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{const p=Number(f)?1:0;if(this.prerelease.length===0)this.prerelease=[p];else{let
|
|
364
|
-
join(".")&&f===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(p)}}if(l){let
|
|
365
|
-
t)return r;try{return new t(r,n)}catch(a){if(!i)return null;throw a}},
|
|
366
|
-
r,i).inc(n,a,s).version}catch{return null}},
|
|
367
|
-
|
|
368
|
-
r,i).compare(new t(n,i)),
|
|
369
|
-
|
|
370
|
-
r,n,i)>=0,
|
|
371
|
-
>=":return n(o,u,l);case"<":return i(o,u,l);case"<=":return a(o,u,l);default:throw new TypeError(`Invalid operator: ${c}`)}},
|
|
372
|
-
a))&&(!o||o.index+o[0].length!==a.length);)(!o||v.index+v[0].length!==o.index+o[0].length)&&(o=v),
|
|
373
|
-
delete(r),this.map.set(r,n),n}delete(r){return this.map.delete(r)}set(r,n){if(!this.delete(r)&&n!==void 0){if(this.map.size>=this.max){const a=this.map.keys().next().value;this.delete(a)}this.map.set(r,n)}return this}}return
|
|
379
|
+
prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{const p=Number(f)?1:0;if(this.prerelease.length===0)this.prerelease=[p];else{let d=this.prerelease.length;for(;--d>=0;)typeof this.prerelease[d]=="number"&&(this.prerelease[d]++,d=-2);if(d===-1){if(l===this.prerelease.
|
|
380
|
+
join(".")&&f===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(p)}}if(l){let d=[l,p];f===!1&&(d=[l]),s(this.prerelease[0],l)===0?isNaN(this.prerelease[1])&&(this.prerelease=d):this.prerelease=d}break}default:throw new Error(`invalid increment argument: ${u}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}}return on=o,on}var an,da;function tt(){if(da)return an;da=1;const t=he();return an=(r,n,i=!1)=>{if(r instanceof
|
|
381
|
+
t)return r;try{return new t(r,n)}catch(a){if(!i)return null;throw a}},an}var cn,ha;function tp(){if(ha)return cn;ha=1;const t=tt();return cn=(r,n)=>{const i=t(r,n);return i?i.version:null},cn}var un,ma;function rp(){if(ma)return un;ma=1;const t=tt();return un=(r,n)=>{const i=t(r.trim().replace(/^[=v]+/,""),n);return i?i.version:null},un}var ln,ga;function np(){if(ga)return ln;ga=1;const t=he();return ln=(r,n,i,a,s)=>{typeof i=="string"&&(s=a,a=i,i=void 0);try{return new t(r instanceof t?r.version:
|
|
382
|
+
r,i).inc(n,a,s).version}catch{return null}},ln}var fn,ya;function sp(){if(ya)return fn;ya=1;const t=tt();return fn=(r,n)=>{const i=t(r,null,!0),a=t(n,null,!0),s=i.compare(a);if(s===0)return null;const o=s>0,c=o?i:a,u=o?a:i,l=!!c.prerelease.length;if(!!u.prerelease.length&&!l){if(!u.patch&&!u.minor)return"major";if(u.compareMain(c)===0)return u.minor&&!u.patch?"minor":"patch"}const p=l?"pre":"";return i.major!==a.major?p+"major":i.minor!==a.minor?p+"minor":i.patch!==a.patch?p+"patch":"prerelease"},
|
|
383
|
+
fn}var pn,wa;function ip(){if(wa)return pn;wa=1;const t=he();return pn=(r,n)=>new t(r,n).major,pn}var dn,va;function op(){if(va)return dn;va=1;const t=he();return dn=(r,n)=>new t(r,n).minor,dn}var hn,$a;function ap(){if($a)return hn;$a=1;const t=he();return hn=(r,n)=>new t(r,n).patch,hn}var mn,ba;function cp(){if(ba)return mn;ba=1;const t=tt();return mn=(r,n)=>{const i=t(r,n);return i&&i.prerelease.length?i.prerelease:null},mn}var gn,Ea;function be(){if(Ea)return gn;Ea=1;const t=he();return gn=(r,n,i)=>new t(
|
|
384
|
+
r,i).compare(new t(n,i)),gn}var yn,Ra;function up(){if(Ra)return yn;Ra=1;const t=be();return yn=(r,n,i)=>t(n,r,i),yn}var wn,Sa;function lp(){if(Sa)return wn;Sa=1;const t=be();return wn=(r,n)=>t(r,n,!0),wn}var vn,Aa;function $n(){if(Aa)return vn;Aa=1;const t=he();return vn=(r,n,i)=>{const a=new t(r,i),s=new t(n,i);return a.compare(s)||a.compareBuild(s)},vn}var bn,_a;function fp(){if(_a)return bn;_a=1;const t=$n();return bn=(r,n)=>r.sort((i,a)=>t(i,a,n)),bn}var En,Ca;function pp(){if(Ca)return En;
|
|
385
|
+
Ca=1;const t=$n();return En=(r,n)=>r.sort((i,a)=>t(a,i,n)),En}var Rn,xa;function Xt(){if(xa)return Rn;xa=1;const t=be();return Rn=(r,n,i)=>t(r,n,i)>0,Rn}var Sn,Ta;function An(){if(Ta)return Sn;Ta=1;const t=be();return Sn=(r,n,i)=>t(r,n,i)<0,Sn}var _n,Ia;function Oa(){if(Ia)return _n;Ia=1;const t=be();return _n=(r,n,i)=>t(r,n,i)===0,_n}var Cn,La;function ka(){if(La)return Cn;La=1;const t=be();return Cn=(r,n,i)=>t(r,n,i)!==0,Cn}var xn,Na;function Tn(){if(Na)return xn;Na=1;const t=be();return xn=(r,n,i)=>t(
|
|
386
|
+
r,n,i)>=0,xn}var In,Pa;function On(){if(Pa)return In;Pa=1;const t=be();return In=(r,n,i)=>t(r,n,i)<=0,In}var Ln,ja;function Da(){if(ja)return Ln;ja=1;const t=Oa(),e=ka(),r=Xt(),n=Tn(),i=An(),a=On();return Ln=(o,c,u,l)=>{switch(c){case"===":return typeof o=="object"&&(o=o.version),typeof u=="object"&&(u=u.version),o===u;case"!==":return typeof o=="object"&&(o=o.version),typeof u=="object"&&(u=u.version),o!==u;case"":case"=":case"==":return t(o,u,l);case"!=":return e(o,u,l);case">":return r(o,u,l);case"\
|
|
387
|
+
>=":return n(o,u,l);case"<":return i(o,u,l);case"<=":return a(o,u,l);default:throw new TypeError(`Invalid operator: ${c}`)}},Ln}var kn,qa;function dp(){if(qa)return kn;qa=1;const t=he(),e=tt(),{safeRe:r,t:n}=pt();return kn=(a,s)=>{if(a instanceof t)return a;if(typeof a=="number"&&(a=String(a)),typeof a!="string")return null;s=s||{};let o=null;if(!s.rtl)o=a.match(s.includePrerelease?r[n.COERCEFULL]:r[n.COERCE]);else{const d=s.includePrerelease?r[n.COERCERTLFULL]:r[n.COERCERTL];let v;for(;(v=d.exec(
|
|
388
|
+
a))&&(!o||o.index+o[0].length!==a.length);)(!o||v.index+v[0].length!==o.index+o[0].length)&&(o=v),d.lastIndex=v.index+v[1].length+v[2].length;d.lastIndex=-1}if(o===null)return null;const c=o[2],u=o[3]||"0",l=o[4]||"0",f=s.includePrerelease&&o[5]?`-${o[5]}`:"",p=s.includePrerelease&&o[6]?`+${o[6]}`:"";return e(`${c}.${u}.${l}${f}${p}`,s)},kn}var Nn,Ha;function hp(){if(Ha)return Nn;Ha=1;class t{constructor(){this.max=1e3,this.map=new Map}get(r){const n=this.map.get(r);if(n!==void 0)return this.map.
|
|
389
|
+
delete(r),this.map.set(r,n),n}delete(r){return this.map.delete(r)}set(r,n){if(!this.delete(r)&&n!==void 0){if(this.map.size>=this.max){const a=this.map.keys().next().value;this.delete(a)}this.map.set(r,n)}return this}}return Nn=t,Nn}var Pn,Ma;function Ee(){if(Ma)return Pn;Ma=1;const t=/\s+/g;class e{constructor(C,k){if(k=i(k),C instanceof e)return C.loose===!!k.loose&&C.includePrerelease===!!k.includePrerelease?C:new e(C.raw,k);if(C instanceof a)return this.raw=C.value,this.set=[[C]],this.formatted=
|
|
374
390
|
void 0,this;if(this.options=k,this.loose=!!k.loose,this.includePrerelease=!!k.includePrerelease,this.raw=C.trim().replace(t," "),this.set=this.raw.split("||").map(O=>this.parseRange(O.trim())).filter(O=>O.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){const O=this.set[0];if(this.set=this.set.filter(P=>!w(P[0])),this.set.length===0)this.set=[O];else if(this.set.length>1){for(const P of this.set)if(P.length===1&&m(P[0])){this.set=[P];break}}}
|
|
375
|
-
this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let C=0;C<this.set.length;C++){C>0&&(this.formatted+="||");const k=this.set[C];for(let O=0;O<k.length;O++)O>0&&(this.formatted+=" "),this.formatted+=k[O].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(C){const O=((this.options.includePrerelease&&
|
|
391
|
+
this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let C=0;C<this.set.length;C++){C>0&&(this.formatted+="||");const k=this.set[C];for(let O=0;O<k.length;O++)O>0&&(this.formatted+=" "),this.formatted+=k[O].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(C){const O=((this.options.includePrerelease&&d)|(this.options.loose&&v))+":"+C,P=n.get(O);if(P)return P;const D=this.options.loose,H=D?c[u.HYPHENRANGELOOSE]:
|
|
376
392
|
c[u.HYPHENRANGE];C=C.replace(H,F(this.options.includePrerelease)),s("hyphen replace",C),C=C.replace(c[u.COMPARATORTRIM],l),s("comparator trim",C),C=C.replace(c[u.TILDETRIM],f),s("tilde trim",C),C=C.replace(c[u.CARETTRIM],p),s("caret trim",C);let $=C.split(" ").map(R=>T(R,this.options)).join(" ").split(/\s+/).map(R=>V(R,this.options));D&&($=$.filter(R=>(s("loose invalid filter",R,this.options),!!R.match(c[u.COMPARATORLOOSE])))),s("range list",$);const U=new Map,J=$.map(R=>new a(R,this.options));for(const R of J){
|
|
377
|
-
if(w(R))return[R];U.set(R.value,R)}U.size>1&&U.has("")&&U.delete("");const Q=[...U.values()];return n.set(O,Q),Q}intersects(C,k){if(!(C instanceof e))throw new TypeError("a Range is required");return this.set.some(O=>g(O,k)&&C.set.some(P=>g(P,k)&&O.every(D=>P.every(H=>D.intersects(H,k)))))}test(C){if(!C)return!1;if(typeof C=="string")try{C=new o(C,this.options)}catch{return!1}for(let k=0;k<this.set.length;k++)if(L(this.set[k],C,this.options))return!0;return!1}}
|
|
378
|
-
s=Wt(),o=
|
|
379
|
-
trim().split(/\s+/).map(k=>E(k,C)).join(" "),E=(I,C)=>{const k=C.loose?c[u.TILDELOOSE]:c[u.TILDE];return I.replace(k,(O,P,D,H,$)=>{s("tilde",I,O,P,D,H,$);let U;return
|
|
380
|
-
c[u.CARET],O=C.includePrerelease?"-0":"";return I.replace(k,(P,D,H,$,U)=>{s("caret",I,P,D,H,$,U);let J;return
|
|
381
|
-
`>=${D}.${H}.${$}${O} <${D}.${+H+1}.0-0`:J=`>=${D}.${H}.${$} <${+D+1}.0.0-0`),s("caret return",J),J})},x=(I,C)=>(s("replaceXRanges",I,C),I.split(/\s+/).map(k=>q(k,C)).join(" ")),q=(I,C)=>{I=I.trim();const k=C.loose?c[u.XRANGELOOSE]:c[u.XRANGE];return I.replace(k,(O,P,D,H,$,U)=>{s("xRange",I,O,P,D,H,$,U);const J=
|
|
382
|
-
0)):P==="<="&&(P="<",Q?D=+D+1:H=+H+1),P==="<"&&(U="-0"),O=`${P+D}.${H}.${$}${U}`):Q?O=`>=${D}.0.0${U} <${+D+1}.0.0-0`:R&&(O=`>=${D}.${H}.0${U} <${D}.${+H+1}.0-0`),s("xRange return",O),O})},M=(I,C)=>(s("replaceStars",I,C),I.trim().replace(c[u.STAR],"")),V=(I,C)=>(s("replaceGTE0",I,C),I.trim().replace(c[C.includePrerelease?u.GTE0PRE:u.GTE0],"")),F=I=>(C,k,O,P,D,H,$,U,J,Q,R,_)=>(
|
|
383
|
-
|
|
384
|
-
|
|
393
|
+
if(w(R))return[R];U.set(R.value,R)}U.size>1&&U.has("")&&U.delete("");const Q=[...U.values()];return n.set(O,Q),Q}intersects(C,k){if(!(C instanceof e))throw new TypeError("a Range is required");return this.set.some(O=>g(O,k)&&C.set.some(P=>g(P,k)&&O.every(D=>P.every(H=>D.intersects(H,k)))))}test(C){if(!C)return!1;if(typeof C=="string")try{C=new o(C,this.options)}catch{return!1}for(let k=0;k<this.set.length;k++)if(L(this.set[k],C,this.options))return!0;return!1}}Pn=e;const r=hp(),n=new r,i=nn(),a=Kt(),
|
|
394
|
+
s=Wt(),o=he(),{safeRe:c,t:u,comparatorTrimReplace:l,tildeTrimReplace:f,caretTrimReplace:p}=pt(),{FLAG_INCLUDE_PRERELEASE:d,FLAG_LOOSE:v}=zt(),w=I=>I.value==="<0.0.0-0",m=I=>I.value==="",g=(I,C)=>{let k=!0;const O=I.slice();let P=O.pop();for(;k&&O.length;)k=O.every(D=>P.intersects(D,C)),P=O.pop();return k},T=(I,C)=>(I=I.replace(c[u.BUILD],""),s("comp",I,C),I=A(I,C),s("caret",I),I=S(I,C),s("tildes",I),I=x(I,C),s("xrange",I),I=M(I,C),s("stars",I),I),h=I=>!I||I.toLowerCase()==="x"||I==="*",S=(I,C)=>I.
|
|
395
|
+
trim().split(/\s+/).map(k=>E(k,C)).join(" "),E=(I,C)=>{const k=C.loose?c[u.TILDELOOSE]:c[u.TILDE];return I.replace(k,(O,P,D,H,$)=>{s("tilde",I,O,P,D,H,$);let U;return h(P)?U="":h(D)?U=`>=${P}.0.0 <${+P+1}.0.0-0`:h(H)?U=`>=${P}.${D}.0 <${P}.${+D+1}.0-0`:$?(s("replaceTilde pr",$),U=`>=${P}.${D}.${H}-${$} <${P}.${+D+1}.0-0`):U=`>=${P}.${D}.${H} <${P}.${+D+1}.0-0`,s("tilde return",U),U})},A=(I,C)=>I.trim().split(/\s+/).map(k=>b(k,C)).join(" "),b=(I,C)=>{s("caret",I,C);const k=C.loose?c[u.CARETLOOSE]:
|
|
396
|
+
c[u.CARET],O=C.includePrerelease?"-0":"";return I.replace(k,(P,D,H,$,U)=>{s("caret",I,P,D,H,$,U);let J;return h(D)?J="":h(H)?J=`>=${D}.0.0${O} <${+D+1}.0.0-0`:h($)?D==="0"?J=`>=${D}.${H}.0${O} <${D}.${+H+1}.0-0`:J=`>=${D}.${H}.0${O} <${+D+1}.0.0-0`:U?(s("replaceCaret pr",U),D==="0"?H==="0"?J=`>=${D}.${H}.${$}-${U} <${D}.${H}.${+$+1}-0`:J=`>=${D}.${H}.${$}-${U} <${D}.${+H+1}.0-0`:J=`>=${D}.${H}.${$}-${U} <${+D+1}.0.0-0`):(s("no pr"),D==="0"?H==="0"?J=`>=${D}.${H}.${$}${O} <${D}.${H}.${+$+1}-0`:J=
|
|
397
|
+
`>=${D}.${H}.${$}${O} <${D}.${+H+1}.0-0`:J=`>=${D}.${H}.${$} <${+D+1}.0.0-0`),s("caret return",J),J})},x=(I,C)=>(s("replaceXRanges",I,C),I.split(/\s+/).map(k=>q(k,C)).join(" ")),q=(I,C)=>{I=I.trim();const k=C.loose?c[u.XRANGELOOSE]:c[u.XRANGE];return I.replace(k,(O,P,D,H,$,U)=>{s("xRange",I,O,P,D,H,$,U);const J=h(D),Q=J||h(H),R=Q||h($),_=R;return P==="="&&_&&(P=""),U=C.includePrerelease?"-0":"",J?P===">"||P==="<"?O="<0.0.0-0":O="*":P&&_?(Q&&(H=0),$=0,P===">"?(P=">=",Q?(D=+D+1,H=0,$=0):(H=+H+1,$=
|
|
398
|
+
0)):P==="<="&&(P="<",Q?D=+D+1:H=+H+1),P==="<"&&(U="-0"),O=`${P+D}.${H}.${$}${U}`):Q?O=`>=${D}.0.0${U} <${+D+1}.0.0-0`:R&&(O=`>=${D}.${H}.0${U} <${D}.${+H+1}.0-0`),s("xRange return",O),O})},M=(I,C)=>(s("replaceStars",I,C),I.trim().replace(c[u.STAR],"")),V=(I,C)=>(s("replaceGTE0",I,C),I.trim().replace(c[C.includePrerelease?u.GTE0PRE:u.GTE0],"")),F=I=>(C,k,O,P,D,H,$,U,J,Q,R,_)=>(h(O)?k="":h(P)?k=`>=${O}.0.0${I?"-0":""}`:h(D)?k=`>=${O}.${P}.0${I?"-0":""}`:H?k=`>=${k}`:k=`>=${k}${I?"-0":""}`,h(J)?U="":
|
|
399
|
+
h(Q)?U=`<${+J+1}.0.0-0`:h(R)?U=`<${J}.${+Q+1}.0-0`:_?U=`<=${J}.${Q}.${R}-${_}`:I?U=`<${J}.${Q}.${+R+1}-0`:U=`<=${U}`,`${k} ${U}`.trim()),L=(I,C,k)=>{for(let O=0;O<I.length;O++)if(!I[O].test(C))return!1;if(C.prerelease.length&&!k.includePrerelease){for(let O=0;O<I.length;O++)if(s(I[O].semver),I[O].semver!==a.ANY&&I[O].semver.prerelease.length>0){const P=I[O].semver;if(P.major===C.major&&P.minor===C.minor&&P.patch===C.patch)return!0}return!1}return!0};return Pn}var jn,Ua;function Kt(){if(Ua)return jn;
|
|
400
|
+
Ua=1;const t=Symbol("SemVer ANY");class e{static get ANY(){return t}constructor(l,f){if(f=r(f),l instanceof e){if(l.loose===!!f.loose)return l;l=l.value}l=l.trim().split(/\s+/).join(" "),s("comparator",l,f),this.options=f,this.loose=!!f.loose,this.parse(l),this.semver===t?this.value="":this.value=this.operator+this.semver.version,s("comp",this)}parse(l){const f=this.options.loose?n[i.COMPARATORLOOSE]:n[i.COMPARATOR],p=l.match(f);if(!p)throw new TypeError(`Invalid comparator: ${l}`);this.operator=
|
|
385
401
|
p[1]!==void 0?p[1]:"",this.operator==="="&&(this.operator=""),p[2]?this.semver=new o(p[2],this.options.loose):this.semver=t}toString(){return this.value}test(l){if(s("Comparator.test",l,this.options.loose),this.semver===t||l===t)return!0;if(typeof l=="string")try{l=new o(l,this.options)}catch{return!1}return a(l,this.operator,this.semver,this.options)}intersects(l,f){if(!(l instanceof e))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new c(l.value,f).
|
|
386
402
|
test(this.value):l.operator===""?l.value===""?!0:new c(this.value,f).test(l.semver):(f=r(f),f.includePrerelease&&(this.value==="<0.0.0-0"||l.value==="<0.0.0-0")||!f.includePrerelease&&(this.value.startsWith("<0.0.0")||l.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&l.operator.startsWith(">")||this.operator.startsWith("<")&&l.operator.startsWith("<")||this.semver.version===l.semver.version&&this.operator.includes("=")&&l.operator.includes("=")||a(this.semver,"<",l.semver,f)&&this.
|
|
387
|
-
operator.startsWith(">")&&l.operator.startsWith("<")||a(this.semver,">",l.semver,f)&&this.operator.startsWith("<")&&l.operator.startsWith(">")))}}
|
|
388
|
-
var
|
|
389
|
-
1;const t=
|
|
390
|
-
return s&&i.test(s)?s:null},
|
|
391
|
-
l,f,
|
|
392
|
-
return
|
|
393
|
-
u.push(`${p} - ${
|
|
394
|
-
f[0].semver===r){if(p.length===1&&p[0].semver===r)return!0;
|
|
395
|
-
x,String(m),
|
|
396
|
-
b.minor&&x.semver.patch===b.patch&&(b=!1),x.operator===">"||x.operator===">="){if(T=u(w,x,
|
|
397
|
-
S&&!m&&g!==0||m&&E&&!w&&g!==0||b||A)},u=(f,p,
|
|
398
|
-
x=
|
|
399
|
-
src:t.src,tokens:t.t,SEMVER_SPEC_VERSION:e.SEMVER_SPEC_VERSION,RELEASE_TYPES:e.RELEASE_TYPES,compareIdentifiers:n.compareIdentifiers,rcompareIdentifiers:n.rcompareIdentifiers},
|
|
400
|
-
`Expected \`Uint8Array\`, got \`${typeof t}\``)}function
|
|
401
|
-
"string")throw new TypeError(`Expected \`string\`, got \`${typeof t}\``)}const
|
|
402
|
-
|
|
403
|
-
t\`, got ${typeof e}`);if(typeof e!="object"&&r===void 0)throw new TypeError("Use `delete()` to clear values");if(this._containsReservedKey(e))throw new TypeError(`Please don't use the ${qe} key, as it's used to manage this module internal operations.`);const{store:n}=this,i=(a,s)=>{if(
|
|
404
|
-
e,r);this.store=n}has(e){return this.#r.accessPropertiesByDotNotation?
|
|
405
|
-
store=r}clear(){const e=De();for(const r of Object.keys(this.#t))
|
|
403
|
+
operator.startsWith(">")&&l.operator.startsWith("<")||a(this.semver,">",l.semver,f)&&this.operator.startsWith("<")&&l.operator.startsWith(">")))}}jn=e;const r=nn(),{safeRe:n,t:i}=pt(),a=Da(),s=Wt(),o=he(),c=Ee();return jn}var Dn,Fa;function Yt(){if(Fa)return Dn;Fa=1;const t=Ee();return Dn=(r,n,i)=>{try{n=new t(n,i)}catch{return!1}return n.test(r)},Dn}var qn,Ga;function mp(){if(Ga)return qn;Ga=1;const t=Ee();return qn=(r,n)=>new t(r,n).set.map(i=>i.map(a=>a.value).join(" ").trim().split(" ")),qn}
|
|
404
|
+
var Hn,Ba;function gp(){if(Ba)return Hn;Ba=1;const t=he(),e=Ee();return Hn=(n,i,a)=>{let s=null,o=null,c=null;try{c=new e(i,a)}catch{return null}return n.forEach(u=>{c.test(u)&&(!s||o.compare(u)===-1)&&(s=u,o=new t(s,a))}),s},Hn}var Mn,Va;function yp(){if(Va)return Mn;Va=1;const t=he(),e=Ee();return Mn=(n,i,a)=>{let s=null,o=null,c=null;try{c=new e(i,a)}catch{return null}return n.forEach(u=>{c.test(u)&&(!s||o.compare(u)===1)&&(s=u,o=new t(s,a))}),s},Mn}var Un,za;function wp(){if(za)return Un;za=
|
|
405
|
+
1;const t=he(),e=Ee(),r=Xt();return Un=(i,a)=>{i=new e(i,a);let s=new t("0.0.0");if(i.test(s)||(s=new t("0.0.0-0"),i.test(s)))return s;s=null;for(let o=0;o<i.set.length;++o){const c=i.set[o];let u=null;c.forEach(l=>{const f=new t(l.semver.version);switch(l.operator){case">":f.prerelease.length===0?f.patch++:f.prerelease.push(0),f.raw=f.format();case"":case">=":(!u||r(f,u))&&(u=f);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${l.operator}`)}}),u&&(!s||r(s,u))&&(s=u)}
|
|
406
|
+
return s&&i.test(s)?s:null},Un}var Fn,Wa;function vp(){if(Wa)return Fn;Wa=1;const t=Ee();return Fn=(r,n)=>{try{return new t(r,n).range||"*"}catch{return null}},Fn}var Gn,Xa;function Bn(){if(Xa)return Gn;Xa=1;const t=he(),e=Kt(),{ANY:r}=e,n=Ee(),i=Yt(),a=Xt(),s=An(),o=On(),c=Tn();return Gn=(l,f,p,d)=>{l=new t(l,d),f=new n(f,d);let v,w,m,g,T;switch(p){case">":v=a,w=o,m=s,g=">",T=">=";break;case"<":v=s,w=c,m=a,g="<",T="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(i(
|
|
407
|
+
l,f,d))return!1;for(let h=0;h<f.set.length;++h){const S=f.set[h];let E=null,A=null;if(S.forEach(b=>{b.semver===r&&(b=new e(">=0.0.0")),E=E||b,A=A||b,v(b.semver,E.semver,d)?E=b:m(b.semver,A.semver,d)&&(A=b)}),E.operator===g||E.operator===T||(!A.operator||A.operator===g)&&w(l,A.semver))return!1;if(A.operator===T&&m(l,A.semver))return!1}return!0},Gn}var Vn,Ka;function $p(){if(Ka)return Vn;Ka=1;const t=Bn();return Vn=(r,n,i)=>t(r,n,">",i),Vn}var zn,Ya;function bp(){if(Ya)return zn;Ya=1;const t=Bn();
|
|
408
|
+
return zn=(r,n,i)=>t(r,n,"<",i),zn}var Wn,Ja;function Ep(){if(Ja)return Wn;Ja=1;const t=Ee();return Wn=(r,n,i)=>(r=new t(r,i),n=new t(n,i),r.intersects(n,i)),Wn}var Xn,Qa;function Rp(){if(Qa)return Xn;Qa=1;const t=Yt(),e=be();return Xn=(r,n,i)=>{const a=[];let s=null,o=null;const c=r.sort((p,d)=>e(p,d,i));for(const p of c)t(p,n,i)?(o=p,s||(s=p)):(o&&a.push([s,o]),o=null,s=null);s&&a.push([s,null]);const u=[];for(const[p,d]of a)p===d?u.push(p):!d&&p===c[0]?u.push("*"):d?p===c[0]?u.push(`<=${d}`):
|
|
409
|
+
u.push(`${p} - ${d}`):u.push(`>=${p}`);const l=u.join(" || "),f=typeof n.raw=="string"?n.raw:String(n);return l.length<f.length?l:n},Xn}var Kn,Za;function Sp(){if(Za)return Kn;Za=1;const t=Ee(),e=Kt(),{ANY:r}=e,n=Yt(),i=be(),a=(f,p,d={})=>{if(f===p)return!0;f=new t(f,d),p=new t(p,d);let v=!1;e:for(const w of f.set){for(const m of p.set){const g=c(w,m,d);if(v=v||g!==null,g)continue e}if(v)return!1}return!0},s=[new e(">=0.0.0-0")],o=[new e(">=0.0.0")],c=(f,p,d)=>{if(f===p)return!0;if(f.length===1&&
|
|
410
|
+
f[0].semver===r){if(p.length===1&&p[0].semver===r)return!0;d.includePrerelease?f=s:f=o}if(p.length===1&&p[0].semver===r){if(d.includePrerelease)return!0;p=o}const v=new Set;let w,m;for(const x of f)x.operator===">"||x.operator===">="?w=u(w,x,d):x.operator==="<"||x.operator==="<="?m=l(m,x,d):v.add(x.semver);if(v.size>1)return null;let g;if(w&&m){if(g=i(w.semver,m.semver,d),g>0)return null;if(g===0&&(w.operator!==">="||m.operator!=="<="))return null}for(const x of v){if(w&&!n(x,String(w),d)||m&&!n(
|
|
411
|
+
x,String(m),d))return null;for(const q of p)if(!n(x,String(q),d))return!1;return!0}let T,h,S,E,A=m&&!d.includePrerelease&&m.semver.prerelease.length?m.semver:!1,b=w&&!d.includePrerelease&&w.semver.prerelease.length?w.semver:!1;A&&A.prerelease.length===1&&m.operator==="<"&&A.prerelease[0]===0&&(A=!1);for(const x of p){if(E=E||x.operator===">"||x.operator===">=",S=S||x.operator==="<"||x.operator==="<=",w){if(b&&x.semver.prerelease&&x.semver.prerelease.length&&x.semver.major===b.major&&x.semver.minor===
|
|
412
|
+
b.minor&&x.semver.patch===b.patch&&(b=!1),x.operator===">"||x.operator===">="){if(T=u(w,x,d),T===x&&T!==w)return!1}else if(w.operator===">="&&!n(w.semver,String(x),d))return!1}if(m){if(A&&x.semver.prerelease&&x.semver.prerelease.length&&x.semver.major===A.major&&x.semver.minor===A.minor&&x.semver.patch===A.patch&&(A=!1),x.operator==="<"||x.operator==="<="){if(h=l(m,x,d),h===x&&h!==m)return!1}else if(m.operator==="<="&&!n(m.semver,String(x),d))return!1}if(!x.operator&&(m||w)&&g!==0)return!1}return!(w&&
|
|
413
|
+
S&&!m&&g!==0||m&&E&&!w&&g!==0||b||A)},u=(f,p,d)=>{if(!f)return p;const v=i(f.semver,p.semver,d);return v>0?f:v<0||p.operator===">"&&f.operator===">="?p:f},l=(f,p,d)=>{if(!f)return p;const v=i(f.semver,p.semver,d);return v<0?f:v>0||p.operator==="<"&&f.operator==="<="?p:f};return Kn=a,Kn}var Yn,ec;function Ap(){if(ec)return Yn;ec=1;const t=pt(),e=zt(),r=he(),n=fa(),i=tt(),a=tp(),s=rp(),o=np(),c=sp(),u=ip(),l=op(),f=ap(),p=cp(),d=be(),v=up(),w=lp(),m=$n(),g=fp(),T=pp(),h=Xt(),S=An(),E=Oa(),A=ka(),b=Tn(),
|
|
414
|
+
x=On(),q=Da(),M=dp(),V=Kt(),F=Ee(),L=Yt(),I=mp(),C=gp(),k=yp(),O=wp(),P=vp(),D=Bn(),H=$p(),$=bp(),U=Ep(),J=Rp(),Q=Sp();return Yn={parse:i,valid:a,clean:s,inc:o,diff:c,major:u,minor:l,patch:f,prerelease:p,compare:d,rcompare:v,compareLoose:w,compareBuild:m,sort:g,rsort:T,gt:h,lt:S,eq:E,neq:A,gte:b,lte:x,cmp:q,coerce:M,Comparator:V,Range:F,satisfies:L,toComparators:I,maxSatisfying:C,minSatisfying:k,minVersion:O,validRange:P,outside:D,gtr:H,ltr:$,intersects:U,simplifyRange:J,subset:Q,SemVer:r,re:t.re,
|
|
415
|
+
src:t.src,tokens:t.t,SEMVER_SPEC_VERSION:e.SEMVER_SPEC_VERSION,RELEASE_TYPES:e.RELEASE_TYPES,compareIdentifiers:n.compareIdentifiers,rcompareIdentifiers:n.rcompareIdentifiers},Yn}var Jn=Ap();const rt=us(Jn),_p=Object.prototype.toString,Cp="[object Uint8Array]",xp="[object ArrayBuffer]";function tc(t,e,r){return t?t.constructor===e?!0:_p.call(t)===r:!1}function rc(t){return tc(t,Uint8Array,Cp)}function Tp(t){return tc(t,ArrayBuffer,xp)}function Ip(t){return rc(t)||Tp(t)}function Op(t){if(!rc(t))throw new TypeError(
|
|
416
|
+
`Expected \`Uint8Array\`, got \`${typeof t}\``)}function Lp(t){if(!Ip(t))throw new TypeError(`Expected \`Uint8Array\` or \`ArrayBuffer\`, got \`${typeof t}\``)}function Qn(t,e){if(t.length===0)return new Uint8Array(0);e??=t.reduce((i,a)=>i+a.length,0);const r=new Uint8Array(e);let n=0;for(const i of t)Op(i),r.set(i,n),n+=i.length;return r}const nc={utf8:new globalThis.TextDecoder("utf8")};function Jt(t,e="utf8"){return Lp(t),nc[e]??=new globalThis.TextDecoder(e),nc[e].decode(t)}function kp(t){if(typeof t!=
|
|
417
|
+
"string")throw new TypeError(`Expected \`string\`, got \`${typeof t}\``)}const Np=new globalThis.TextEncoder;function Qt(t){return kp(t),Np.encode(t)}Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));const Zn="aes-256-cbc",De=()=>Object.create(null),sc=t=>t!==void 0,es=(t,e)=>{const r=new Set(["undefined","symbol","function"]),n=typeof e;if(r.has(n))throw new TypeError(`Setting a value of type \`${n}\` for key \`${t}\` is not allowed as it's not supported by JSON`)},qe="__internal__",
|
|
418
|
+
ts=`${qe}.migrations.version`;class Pp{path;events;#a;#n;#r;#t={};#e=!1;#o;#i;#s;constructor(e={}){const r=this.#u(e);this.#r=r,this.#h(r),this.#p(r),this.#m(r),this.events=new EventTarget,this.#n=r.encryptionKey,this.path=this.#c(r),this.#l(r),r.watch&&this._watch()}get(e,r){if(this.#r.accessPropertiesByDotNotation)return this._get(e,r);const{store:n}=this;return e in n?n[e]:r}set(e,r){if(typeof e!="string"&&typeof e!="object")throw new TypeError(`Expected \`key\` to be of type \`string\` or \`objec\
|
|
419
|
+
t\`, got ${typeof e}`);if(typeof e!="object"&&r===void 0)throw new TypeError("Use `delete()` to clear values");if(this._containsReservedKey(e))throw new TypeError(`Please don't use the ${qe} key, as it's used to manage this module internal operations.`);const{store:n}=this,i=(a,s)=>{if(es(a,s),this.#r.accessPropertiesByDotNotation)Ot(n,a,s);else{if(a==="__proto__"||a==="constructor"||a==="prototype")return;n[a]=s}};if(typeof e=="object"){const a=e;for(const[s,o]of Object.entries(a))i(s,o)}else i(
|
|
420
|
+
e,r);this.store=n}has(e){return this.#r.accessPropertiesByDotNotation?Yr(this.store,e):e in this.store}appendToArray(e,r){es(e,r);const n=this.#r.accessPropertiesByDotNotation?this._get(e,[]):e in this.store?this.store[e]:[];if(!Array.isArray(n))throw new TypeError(`The key \`${e}\` is already set to a non-array value`);this.set(e,[...n,r])}reset(...e){for(const r of e)sc(this.#t[r])&&this.set(r,this.#t[r])}delete(e){const{store:r}=this;this.#r.accessPropertiesByDotNotation?Ul(r,e):delete r[e],this.
|
|
421
|
+
store=r}clear(){const e=De();for(const r of Object.keys(this.#t))sc(this.#t[r])&&(es(r,this.#t[r]),this.#r.accessPropertiesByDotNotation?Ot(e,r,this.#t[r]):e[r]=this.#t[r]);this.store=e}onDidChange(e,r){if(typeof e!="string")throw new TypeError(`Expected \`key\` to be of type \`string\`, got ${typeof e}`);if(typeof r!="function")throw new TypeError(`Expected \`callback\` to be of type \`function\`, got ${typeof r}`);return this._handleValueChange(()=>this.get(e),r)}onDidAnyChange(e){if(typeof e!=
|
|
406
422
|
"function")throw new TypeError(`Expected \`callback\` to be of type \`function\`, got ${typeof e}`);return this._handleStoreChange(e)}get size(){return Object.keys(this.store).filter(r=>!this._isReservedKeyPath(r)).length}get store(){try{const e=B.readFileSync(this.path,this.#n?null:"utf8"),r=this._decryptData(e),n=this._deserialize(r);return this.#e||this._validate(n),Object.assign(De(),n)}catch(e){if(e?.code==="ENOENT")return this._ensureDirectory(),De();if(this.#r.clearInvalidConfig){const r=e;
|
|
407
|
-
if(r.name==="SyntaxError"||r.message?.startsWith("Config schema violation:"))return De()}throw e}}set store(e){if(this._ensureDirectory(),!
|
|
408
|
-
(this.#o.close(),this.#o=void 0),this.#i&&(B.unwatchFile(this.path),this.#i=!1),this.#s=void 0}_decryptData(e){if(!this.#n)return typeof e=="string"?e:Jt(e);try{const r=e.slice(0,16),n=
|
|
409
|
-
|
|
410
|
-
stringify(e,void 0," ");_validate(e){if(!this.#a||this.#a(e)||!this.#a.errors)return;const n=this.#a.errors.map(({instancePath:i,message:a=""})=>`\`${i.slice(1)}\` ${a}`);throw new Error("Config schema violation: "+n.join("; "))}_ensureDirectory(){B.mkdirSync(W.dirname(this.path),{recursive:!0})}_write(e){let r=this._serialize(e);if(this.#n){const n=
|
|
411
|
-
B.writeFileSync(this.path,r,{mode:this.#r.configFileMode});else try{
|
|
412
|
-
encoding:"utf8"},(n,i)=>{i&&i!==r||typeof this.#s=="function"&&this.#s()})}else this.#s??=
|
|
413
|
-
c?.(this),this._set(
|
|
414
|
-
if(!e||typeof e!="object")return!1;for(const[r,n]of Object.entries(e))if(this._isReservedKeyPath(r)||this._objectContainsReservedKey(n))return!0;return!1}_isReservedKeyPath(e){return e===qe||e.startsWith(`${qe}.`)}_isVersionInRangeFormat(e){return
|
|
415
|
-
n}#u(e){const r={configName:"config",fileExtension:"json",projectSuffix:"nodejs",clearInvalidConfig:!1,accessPropertiesByDotNotation:!0,configFileMode:438,...e};if(!r.cwd){if(!r.projectName)throw new Error("Please specify the `projectName` option.");r.cwd=
|
|
416
|
-
"The `schema` option must be an object.");const r=
|
|
417
|
-
(this._deserialize=e.deserialize)}#c(e){const r=typeof e.fileExtension=="string"?e.fileExtension:void 0,n=r?`.${r}`:"";return W.resolve(e.cwd,`${e.configName??"config"}${n}`)}#l(e){if(e.migrations){this.#d(e),this._validate(this.store);return}const r=this.store,n=Object.assign(De(),e.defaults??{},r);this._validate(n);try{
|
|
418
|
-
store,a=Object.assign(De(),e.defaults??{},i);try{
|
|
419
|
-
Error";value;constructor(e){let r="Non-error value was thrown";try{typeof e=="string"?r=e:e&&typeof e=="object"&&"message"in e&&typeof e.message=="string"&&(r=e.message)}catch{}super(r),this.value=e}}class
|
|
420
|
-
e?.request}}const
|
|
421
|
-
nction"&&typeof globalThis.AbortSignal.any=="function",
|
|
422
|
-
parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,onUploadProgress:!0,fetch:!0,context:!0},
|
|
423
|
-
length,e+=typeof n=="string"?new TextEncoder().encode(n).length:n.size;return e}if(t instanceof Blob)return t.size;if(t instanceof ArrayBuffer)return t.byteLength;if(typeof t=="string")return new TextEncoder().encode(t).length;if(t instanceof URLSearchParams)return new TextEncoder().encode(t.toString()).length;if("byteLength"in t)return t.byteLength;if(typeof t=="object"&&t!==null)try{const e=JSON.stringify(t);return new TextEncoder().encode(e).length}catch{return 0}return 0},
|
|
424
|
-
i=0;return t.pipeThrough(new TransformStream({transform(a,s){if(s.enqueue(a),n){i+=n.byteLength;let o=e===0?0:i/e;o>=1&&(o=1-Number.EPSILON),r?.({percent:o,totalBytes:Math.max(e,i),transferredBytes:i},n)}n=a},flush(){n&&(i+=n.byteLength,r?.({percent:1,totalBytes:Math.max(e,i),transferredBytes:i},n))}}))},
|
|
425
|
-
0);return new Response(
|
|
426
|
-
Headers(e);for(const[a,s]of i.entries())n&&s==="undefined"||s===void 0?r.delete(a):r.set(a,s);return r};function er(t,e,r){return Object.hasOwn(e,r)&&e[r]===void 0?[]:
|
|
427
|
-
i,a);else if(Array.isArray(n))for(const i of n){if(!Array.isArray(i)||i.length!==2)throw new TypeError("Array search parameters must be provided in [[key, value], ...] format");r.append(String(i[0]),String(i[1]))}else if(
|
|
428
|
-
s)){for(let[o,c]of Object.entries(s)){if(o==="signal"&&c instanceof globalThis.AbortSignal){a.push(c);continue}if(o==="context"){if(c!=null&&(!
|
|
429
|
-
void 0&&(e.searchParams=i),a.length>0&&(a.length===1?e.signal=a[0]:
|
|
430
|
-
if(typeof t=="number")return{...
|
|
431
|
-
(i,a)=>{const s=setTimeout(()=>{r&&r.abort(),a(new
|
|
432
|
-
void 0?!1:Array.isArray(t)?t.length>0:t instanceof URLSearchParams?t.size>0:typeof t=="object"?Object.keys(t).length>0:typeof t=="string"?t.trim().length>0:!!t;function
|
|
433
|
-
for(const o of n.#e.hooks.afterResponse){const c=n.#f(s.clone()),u=await o(n.request,n.#c(),c,{retryCount:n.#r});if(u instanceof globalThis.Response&&(s=u),u instanceof
|
|
434
|
-
if(typeof n.#e.onDownloadProgress!="function")throw new TypeError("The `onDownloadProgress` option must be a function");if(!
|
|
423
|
+
if(r.name==="SyntaxError"||r.message?.startsWith("Config schema violation:"))return De()}throw e}}set store(e){if(this._ensureDirectory(),!Yr(e,qe))try{const r=B.readFileSync(this.path,this.#n?null:"utf8"),n=this._decryptData(r),i=this._deserialize(n);Yr(i,qe)&&Ot(e,qe,xi(i,qe))}catch{}this.#e||this._validate(e),this._write(e),this.events.dispatchEvent(new Event("change"))}*[Symbol.iterator](){for(const[e,r]of Object.entries(this.store))this._isReservedKeyPath(e)||(yield[e,r])}_closeWatcher(){this.#o&&
|
|
424
|
+
(this.#o.close(),this.#o=void 0),this.#i&&(B.unwatchFile(this.path),this.#i=!1),this.#s=void 0}_decryptData(e){if(!this.#n)return typeof e=="string"?e:Jt(e);try{const r=e.slice(0,16),n=Ue.pbkdf2Sync(this.#n,r,1e4,32,"sha512"),i=Ue.createDecipheriv(Zn,n,r),a=e.slice(17),s=typeof a=="string"?Qt(a):a;return Jt(Qn([i.update(s),i.final()]))}catch{try{const r=e.slice(0,16),n=Ue.pbkdf2Sync(this.#n,r.toString(),1e4,32,"sha512"),i=Ue.createDecipheriv(Zn,n,r),a=e.slice(17),s=typeof a=="string"?Qt(a):a;return Jt(
|
|
425
|
+
Qn([i.update(s),i.final()]))}catch{}}return typeof e=="string"?e:Jt(e)}_handleStoreChange(e){let r=this.store;const n=()=>{const i=r,a=this.store;Ts(a,i)||(r=a,e.call(this,a,i))};return this.events.addEventListener("change",n),()=>{this.events.removeEventListener("change",n)}}_handleValueChange(e,r){let n=e();const i=()=>{const a=n,s=e();Ts(s,a)||(n=s,r.call(this,s,a))};return this.events.addEventListener("change",i),()=>{this.events.removeEventListener("change",i)}}_deserialize=e=>JSON.parse(e);_serialize=e=>JSON.
|
|
426
|
+
stringify(e,void 0," ");_validate(e){if(!this.#a||this.#a(e)||!this.#a.errors)return;const n=this.#a.errors.map(({instancePath:i,message:a=""})=>`\`${i.slice(1)}\` ${a}`);throw new Error("Config schema violation: "+n.join("; "))}_ensureDirectory(){B.mkdirSync(W.dirname(this.path),{recursive:!0})}_write(e){let r=this._serialize(e);if(this.#n){const n=Ue.randomBytes(16),i=Ue.pbkdf2Sync(this.#n,n,1e4,32,"sha512"),a=Ue.createCipheriv(Zn,i,n);r=Qn([n,Qt(":"),a.update(Qt(r)),a.final()])}if(re.env.SNAP)
|
|
427
|
+
B.writeFileSync(this.path,r,{mode:this.#r.configFileMode});else try{ki(this.path,r,{mode:this.#r.configFileMode})}catch(n){if(n?.code==="EXDEV"){B.writeFileSync(this.path,r,{mode:this.#r.configFileMode});return}throw n}}_watch(){if(this._ensureDirectory(),B.existsSync(this.path)||this._write(De()),re.platform==="win32"||re.platform==="darwin"){this.#s??=ia(()=>{this.events.dispatchEvent(new Event("change"))},{wait:100});const e=W.dirname(this.path),r=W.basename(this.path);this.#o=B.watch(e,{persistent:!1,
|
|
428
|
+
encoding:"utf8"},(n,i)=>{i&&i!==r||typeof this.#s=="function"&&this.#s()})}else this.#s??=ia(()=>{this.events.dispatchEvent(new Event("change"))},{wait:1e3}),B.watchFile(this.path,{persistent:!1},(e,r)=>{typeof this.#s=="function"&&this.#s()}),this.#i=!0}_migrate(e,r,n){let i=this._get(ts,"0.0.0");const a=Object.keys(e).filter(o=>this._shouldPerformMigration(o,i,r));let s=structuredClone(this.store);for(const o of a)try{n&&n(this,{fromVersion:i,toVersion:o,finalVersion:r,versions:a});const c=e[o];
|
|
429
|
+
c?.(this),this._set(ts,o),i=o,s=structuredClone(this.store)}catch(c){this.store=s;try{this._write(s)}catch{}const u=c instanceof Error?c.message:String(c);throw new Error(`Something went wrong during the migration! Changes applied to the store until this failed migration will be restored. ${u}`)}(this._isVersionInRangeFormat(i)||!rt.eq(i,r))&&this._set(ts,r)}_containsReservedKey(e){return typeof e=="string"?this._isReservedKeyPath(e):!e||typeof e!="object"?!1:this._objectContainsReservedKey(e)}_objectContainsReservedKey(e){
|
|
430
|
+
if(!e||typeof e!="object")return!1;for(const[r,n]of Object.entries(e))if(this._isReservedKeyPath(r)||this._objectContainsReservedKey(n))return!0;return!1}_isReservedKeyPath(e){return e===qe||e.startsWith(`${qe}.`)}_isVersionInRangeFormat(e){return rt.clean(e)===null}_shouldPerformMigration(e,r,n){return this._isVersionInRangeFormat(e)?r!=="0.0.0"&&rt.satisfies(r,e)?!1:rt.satisfies(n,e):!(rt.lte(e,r)||rt.gt(e,n))}_get(e,r){return xi(this.store,e,r)}_set(e,r){const{store:n}=this;Ot(n,e,r),this.store=
|
|
431
|
+
n}#u(e){const r={configName:"config",fileExtension:"json",projectSuffix:"nodejs",clearInvalidConfig:!1,accessPropertiesByDotNotation:!0,configFileMode:438,...e};if(!r.cwd){if(!r.projectName)throw new Error("Please specify the `projectName` option.");r.cwd=Vl(r.projectName,{suffix:r.projectSuffix}).config}return typeof r.fileExtension=="string"&&(r.fileExtension=r.fileExtension.replace(/^\.+/,"")),r}#h(e){if(!(e.schema??e.ajvOptions??e.rootSchema))return;if(e.schema&&typeof e.schema!="object")throw new TypeError(
|
|
432
|
+
"The `schema` option must be an object.");const r=Bc.default,n=new zf.Ajv2020({allErrors:!0,useDefaults:!0,...e.ajvOptions});r(n);const i={...e.rootSchema,type:"object",properties:e.schema};this.#a=n.compile(i),this.#f(e.schema)}#f(e){const r=Object.entries(e??{});for(const[n,i]of r){if(!i||typeof i!="object"||!Object.hasOwn(i,"default"))continue;const{default:a}=i;a!==void 0&&(this.#t[n]=a)}}#p(e){e.defaults&&Object.assign(this.#t,e.defaults)}#m(e){e.serialize&&(this._serialize=e.serialize),e.deserialize&&
|
|
433
|
+
(this._deserialize=e.deserialize)}#c(e){const r=typeof e.fileExtension=="string"?e.fileExtension:void 0,n=r?`.${r}`:"";return W.resolve(e.cwd,`${e.configName??"config"}${n}`)}#l(e){if(e.migrations){this.#d(e),this._validate(this.store);return}const r=this.store,n=Object.assign(De(),e.defaults??{},r);this._validate(n);try{Is.deepEqual(r,n)}catch{this.store=n}}#d(e){const{migrations:r,projectVersion:n}=e;if(r){if(!n)throw new Error("Please specify the `projectVersion` option.");this.#e=!0;try{const i=this.
|
|
434
|
+
store,a=Object.assign(De(),e.defaults??{},i);try{Is.deepEqual(i,a)}catch{this._write(a)}this._migrate(r,n,e.beforeEachMigration)}finally{this.#e=!1}}}}class rs extends Error{response;request;options;constructor(e,r,n){const i=e.status||e.status===0?e.status:"",a=e.statusText??"",s=`${i} ${a}`.trim(),o=s?`status code ${s}`:"an unknown error";super(`Request failed with ${o}: ${r.method} ${r.url}`),this.name="HTTPError",this.response=e,this.request=r,this.options=n}}class ic extends Error{name="Non\
|
|
435
|
+
Error";value;constructor(e){let r="Non-error value was thrown";try{typeof e=="string"?r=e:e&&typeof e=="object"&&"message"in e&&typeof e.message=="string"&&(r=e.message)}catch{}super(r),this.value=e}}class ns extends Error{name="ForceRetryError";customDelay;code;customRequest;constructor(e){const r=e?.cause?e.cause instanceof Error?e.cause:new ic(e.cause):void 0;super(e?.code?`Forced retry: ${e.code}`:"Forced retry",r?{cause:r}:void 0),this.customDelay=e?.delay,this.code=e?.code,this.customRequest=
|
|
436
|
+
e?.request}}const oc=(()=>{let t=!1,e=!1;const r=typeof globalThis.ReadableStream=="function",n=typeof globalThis.Request=="function";if(r&&n)try{e=new globalThis.Request("https://empty.invalid",{body:new globalThis.ReadableStream,method:"POST",get duplex(){return t=!0,"half"}}).headers.has("Content-Type")}catch(i){if(i instanceof Error&&i.message==="unsupported BodyInit type")return!1;throw i}return t&&!e})(),jp=typeof globalThis.AbortController=="function",ac=typeof globalThis.AbortSignal=="fu\
|
|
437
|
+
nction"&&typeof globalThis.AbortSignal.any=="function",Dp=typeof globalThis.ReadableStream=="function",qp=typeof globalThis.FormData=="function",cc=["get","post","put","patch","head","delete"],Hp={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*",bytes:"*/*"},ss=2147483647,Mp=new TextEncoder().encode("------WebKitFormBoundaryaxpyiPgbbPti10Rw").length,uc=Symbol("stop");class lc{options;constructor(e){this.options=e}}const Up=t=>new lc(t),Fp={json:!0,
|
|
438
|
+
parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,onUploadProgress:!0,fetch:!0,context:!0},Gp={next:!0},Bp={method:!0,headers:!0,body:!0,mode:!0,credentials:!0,cache:!0,redirect:!0,referrer:!0,referrerPolicy:!0,integrity:!0,keepalive:!0,signal:!0,window:!0,duplex:!0},Vp=t=>{if(!t)return 0;if(t instanceof FormData){let e=0;for(const[r,n]of t)e+=Mp,e+=new TextEncoder().encode(`Content-Disposition: form-data; name="${r}"`).
|
|
439
|
+
length,e+=typeof n=="string"?new TextEncoder().encode(n).length:n.size;return e}if(t instanceof Blob)return t.size;if(t instanceof ArrayBuffer)return t.byteLength;if(typeof t=="string")return new TextEncoder().encode(t).length;if(t instanceof URLSearchParams)return new TextEncoder().encode(t.toString()).length;if("byteLength"in t)return t.byteLength;if(typeof t=="object"&&t!==null)try{const e=JSON.stringify(t);return new TextEncoder().encode(e).length}catch{return 0}return 0},fc=(t,e,r)=>{let n,
|
|
440
|
+
i=0;return t.pipeThrough(new TransformStream({transform(a,s){if(s.enqueue(a),n){i+=n.byteLength;let o=e===0?0:i/e;o>=1&&(o=1-Number.EPSILON),r?.({percent:o,totalBytes:Math.max(e,i),transferredBytes:i},n)}n=a},flush(){n&&(i+=n.byteLength,r?.({percent:1,totalBytes:Math.max(e,i),transferredBytes:i},n))}}))},zp=(t,e)=>{if(!t.body)return t;if(t.status===204)return new Response(null,{status:t.status,statusText:t.statusText,headers:t.headers});const r=Math.max(0,Number(t.headers.get("content-length"))||
|
|
441
|
+
0);return new Response(fc(t.body,r,e),{status:t.status,statusText:t.statusText,headers:t.headers})},Wp=(t,e,r)=>{if(!t.body)return t;const n=Vp(r??t.body);return new Request(t,{duplex:"half",body:fc(t.body,n,e)})},Ge=t=>t!==null&&typeof t=="object",Zt=(...t)=>{for(const e of t)if((!Ge(e)||Array.isArray(e))&&e!==void 0)throw new TypeError("The `options` argument must be an object");return is({},...t)},pc=(t={},e={})=>{const r=new globalThis.Headers(t),n=e instanceof globalThis.Headers,i=new globalThis.
|
|
442
|
+
Headers(e);for(const[a,s]of i.entries())n&&s==="undefined"||s===void 0?r.delete(a):r.set(a,s);return r};function er(t,e,r){return Object.hasOwn(e,r)&&e[r]===void 0?[]:is(t[r]??[],e[r]??[])}const dc=(t={},e={})=>({beforeRequest:er(t,e,"beforeRequest"),beforeRetry:er(t,e,"beforeRetry"),afterResponse:er(t,e,"afterResponse"),beforeError:er(t,e,"beforeError")}),Xp=(t,e)=>{const r=new URLSearchParams;for(const n of[t,e])if(n!==void 0)if(n instanceof URLSearchParams)for(const[i,a]of n.entries())r.append(
|
|
443
|
+
i,a);else if(Array.isArray(n))for(const i of n){if(!Array.isArray(i)||i.length!==2)throw new TypeError("Array search parameters must be provided in [[key, value], ...] format");r.append(String(i[0]),String(i[1]))}else if(Ge(n))for(const[i,a]of Object.entries(n))a!==void 0&&r.append(i,String(a));else{const i=new URLSearchParams(n);for(const[a,s]of i.entries())r.append(a,s)}return r},is=(...t)=>{let e={},r={},n={},i;const a=[];for(const s of t)if(Array.isArray(s))Array.isArray(e)||(e=[]),e=[...e,...s];else if(Ge(
|
|
444
|
+
s)){for(let[o,c]of Object.entries(s)){if(o==="signal"&&c instanceof globalThis.AbortSignal){a.push(c);continue}if(o==="context"){if(c!=null&&(!Ge(c)||Array.isArray(c)))throw new TypeError("The `context` option must be an object");e={...e,context:c==null?{}:{...e.context,...c}};continue}if(o==="searchParams"){c==null?i=void 0:i=i===void 0?c:Xp(i,c);continue}Ge(c)&&o in e&&(c=is(e[o],c)),e={...e,[o]:c}}Ge(s.hooks)&&(n=dc(n,s.hooks),e.hooks=n),Ge(s.headers)&&(r=pc(r,s.headers),e.headers=r)}return i!==
|
|
445
|
+
void 0&&(e.searchParams=i),a.length>0&&(a.length===1?e.signal=a[0]:ac?e.signal=AbortSignal.any(a):e.signal=a.at(-1)),e.context===void 0&&(e.context={}),e},Kp=t=>cc.includes(t)?t.toUpperCase():t,Yp=["get","put","head","delete","options","trace"],Jp=[408,413,429,500,502,503,504],Qp=[413,429,503],hc={limit:2,methods:Yp,statusCodes:Jp,afterStatusCodes:Qp,maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:t=>.3*2**(t-1)*1e3,jitter:void 0,retryOnTimeout:!1},Zp=(t={})=>{
|
|
446
|
+
if(typeof t=="number")return{...hc,limit:t};if(t.methods&&!Array.isArray(t.methods))throw new Error("retry.methods must be an array");if(t.statusCodes&&!Array.isArray(t.statusCodes))throw new Error("retry.statusCodes must be an array");const e=Object.fromEntries(Object.entries(t).filter(([,r])=>r!==void 0));return{...hc,...e}};class os extends Error{request;constructor(e){super(`Request timed out: ${e.method} ${e.url}`),this.name="TimeoutError",this.request=e}}async function ed(t,e,r,n){return new Promise(
|
|
447
|
+
(i,a)=>{const s=setTimeout(()=>{r&&r.abort(),a(new os(t))},n.timeout);n.fetch(t,e).then(i).catch(a).then(()=>{clearTimeout(s)})})}async function td(t,{signal:e}){return new Promise((r,n)=>{e&&(e.throwIfAborted(),e.addEventListener("abort",i,{once:!0}));function i(){clearTimeout(a),n(e.reason)}const a=setTimeout(()=>{e?.removeEventListener("abort",i),r()},t)})}const rd=(t,e)=>{const r={};for(const n in e)Object.hasOwn(e,n)&&!(n in Bp)&&!(n in Fp)&&(!(n in t)||n in Gp)&&(r[n]=e[n]);return r},nd=t=>t===
|
|
448
|
+
void 0?!1:Array.isArray(t)?t.length>0:t instanceof URLSearchParams?t.size>0:typeof t=="object"?Object.keys(t).length>0:typeof t=="string"?t.trim().length>0:!!t;function sd(t){return t instanceof rs||t?.name===rs.name}function id(t){return t instanceof os||t?.name===os.name}class mt{static create(e,r){const n=new mt(e,r),i=async()=>{if(typeof n.#e.timeout=="number"&&n.#e.timeout>ss)throw new RangeError(`The \`timeout\` option cannot be greater than ${ss}`);await Promise.resolve();let s=await n.#m();
|
|
449
|
+
for(const o of n.#e.hooks.afterResponse){const c=n.#f(s.clone()),u=await o(n.request,n.#c(),c,{retryCount:n.#r});if(u instanceof globalThis.Response&&(s=u),u instanceof lc)throw await Promise.all([c.body?.cancel(),s.body?.cancel()]),new ns(u.options)}if(n.#f(s),!s.ok&&(typeof n.#e.throwHttpErrors=="function"?n.#e.throwHttpErrors(s.status):n.#e.throwHttpErrors)){let o=new rs(s,n.request,n.#c());for(const c of n.#e.hooks.beforeError)o=await c(o,{retryCount:n.#r});throw o}if(n.#e.onDownloadProgress){
|
|
450
|
+
if(typeof n.#e.onDownloadProgress!="function")throw new TypeError("The `onDownloadProgress` option must be a function");if(!Dp)throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");return zp(s.clone(),n.#e.onDownloadProgress)}return s},a=n.#p(i).finally(async()=>{const s=n.#o,o=[];s&&!s.bodyUsed&&o.push(s.body?.cancel()),n.request.bodyUsed||o.push(n.request.body?.cancel()),await Promise.all(o)});for(const[s,o]of Object.entries(Hp))s==="bytes"&&typeof globalThis.
|
|
435
451
|
Response?.prototype?.bytes!="function"||(a[s]=async()=>{n.request.headers.set("accept",n.request.headers.get("accept")||o);const c=await a;if(s==="json"){if(c.status===204)return"";const u=await c.text();return u===""?"":r.parseJson?r.parseJson(u):JSON.parse(u)}return c[s]()});return a}static#a(e){return e&&typeof e=="object"&&!Array.isArray(e)&&!(e instanceof URLSearchParams)?Object.fromEntries(Object.entries(e).filter(([,r])=>r!==void 0)):e}request;#n;#r=0;#t;#e;#o;#i;#s;constructor(e,r={}){if(this.#t=
|
|
436
|
-
e,this.#e={...r,headers:
|
|
437
|
-
ng, URL, or Request");if(this.#e.prefixUrl&&typeof this.#t=="string"){if(this.#t.startsWith("/"))throw new Error("`input` must not begin with a slash when using `prefixUrl`");this.#e.prefixUrl.endsWith("/")||(this.#e.prefixUrl+="/"),this.#t=this.#e.prefixUrl+this.#t}
|
|
438
|
-
this.#e.stringifyJson?.(this.#e.json)??JSON.stringify(this.#e.json),this.#e.headers.set("content-type",this.#e.headers.get("content-type")??"application/json"));const n=r.headers&&new globalThis.Headers(r.headers).has("content-type");if(this.#t instanceof globalThis.Request&&(
|
|
439
|
-
(typeof this.#e.searchParams=="string"?this.#e.searchParams.replace(/^\?/,""):new URLSearchParams(mt.#a(this.#e.searchParams)).toString()),s=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,a);this.request=new globalThis.Request(s,this.#e)}if(this.#e.onUploadProgress){if(typeof this.#e.onUploadProgress!="function")throw new TypeError("The `onUploadProgress` option must be a function");if(!
|
|
440
|
-
not available.");this.request=this.#d(this.request,this.#e.body??void 0)}}#u(){const e=this.#e.retry.delay(this.#r);let r=e;this.#e.retry.jitter===!0?r=Math.random()*e:typeof this.#e.retry.jitter=="function"&&(r=this.#e.retry.jitter(e),(!Number.isFinite(r)||r<0)&&(r=e));const n=this.#e.retry.backoffLimit??Number.POSITIVE_INFINITY;return Math.min(n,r)}async#h(e){if(this.#r++,this.#r>this.#e.retry.limit)throw e;const r=e instanceof Error?e:new
|
|
441
|
-
if(!this.#e.retry.methods.includes(this.request.method.toLowerCase()))throw e;if(this.#e.retry.shouldRetry!==void 0){const n=await this.#e.retry.shouldRetry({error:r,retryCount:this.#r});if(n===!1)throw e;if(n===!0)return this.#u()}if(
|
|
452
|
+
e,this.#e={...r,headers:pc(this.#t.headers,r.headers),hooks:dc({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},r.hooks),method:Kp(r.method??this.#t.method??"GET"),prefixUrl:String(r.prefixUrl||""),retry:Zp(r.retry),throwHttpErrors:r.throwHttpErrors??!0,timeout:r.timeout??1e4,fetch:r.fetch??globalThis.fetch.bind(globalThis),context:r.context??{}},typeof this.#t!="string"&&!(this.#t instanceof URL||this.#t instanceof globalThis.Request))throw new TypeError("`input` must be a stri\
|
|
453
|
+
ng, URL, or Request");if(this.#e.prefixUrl&&typeof this.#t=="string"){if(this.#t.startsWith("/"))throw new Error("`input` must not begin with a slash when using `prefixUrl`");this.#e.prefixUrl.endsWith("/")||(this.#e.prefixUrl+="/"),this.#t=this.#e.prefixUrl+this.#t}jp&&ac&&(this.#i=this.#e.signal??this.#t.signal,this.#n=new globalThis.AbortController,this.#e.signal=this.#i?AbortSignal.any([this.#i,this.#n.signal]):this.#n.signal),oc&&(this.#e.duplex="half"),this.#e.json!==void 0&&(this.#e.body=
|
|
454
|
+
this.#e.stringifyJson?.(this.#e.json)??JSON.stringify(this.#e.json),this.#e.headers.set("content-type",this.#e.headers.get("content-type")??"application/json"));const n=r.headers&&new globalThis.Headers(r.headers).has("content-type");if(this.#t instanceof globalThis.Request&&(qp&&this.#e.body instanceof globalThis.FormData||this.#e.body instanceof URLSearchParams)&&!n&&this.#e.headers.delete("content-type"),this.request=new globalThis.Request(this.#t,this.#e),nd(this.#e.searchParams)){const a="?"+
|
|
455
|
+
(typeof this.#e.searchParams=="string"?this.#e.searchParams.replace(/^\?/,""):new URLSearchParams(mt.#a(this.#e.searchParams)).toString()),s=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,a);this.request=new globalThis.Request(s,this.#e)}if(this.#e.onUploadProgress){if(typeof this.#e.onUploadProgress!="function")throw new TypeError("The `onUploadProgress` option must be a function");if(!oc)throw new Error("Request streams are not supported in your environment. The `duplex` option for `Request` is \
|
|
456
|
+
not available.");this.request=this.#d(this.request,this.#e.body??void 0)}}#u(){const e=this.#e.retry.delay(this.#r);let r=e;this.#e.retry.jitter===!0?r=Math.random()*e:typeof this.#e.retry.jitter=="function"&&(r=this.#e.retry.jitter(e),(!Number.isFinite(r)||r<0)&&(r=e));const n=this.#e.retry.backoffLimit??Number.POSITIVE_INFINITY;return Math.min(n,r)}async#h(e){if(this.#r++,this.#r>this.#e.retry.limit)throw e;const r=e instanceof Error?e:new ic(e);if(r instanceof ns)return r.customDelay??this.#u();
|
|
457
|
+
if(!this.#e.retry.methods.includes(this.request.method.toLowerCase()))throw e;if(this.#e.retry.shouldRetry!==void 0){const n=await this.#e.retry.shouldRetry({error:r,retryCount:this.#r});if(n===!1)throw e;if(n===!0)return this.#u()}if(id(e)&&!this.#e.retry.retryOnTimeout)throw e;if(sd(e)){if(!this.#e.retry.statusCodes.includes(e.response.status))throw e;const n=e.response.headers.get("Retry-After")??e.response.headers.get("RateLimit-Reset")??e.response.headers.get("X-RateLimit-Retry-After")??e.response.
|
|
442
458
|
headers.get("X-RateLimit-Reset")??e.response.headers.get("X-Rate-Limit-Reset");if(n&&this.#e.retry.afterStatusCodes.includes(e.response.status)){let i=Number(n)*1e3;Number.isNaN(i)?i=Date.parse(n)-Date.now():i>=Date.parse("2024-01-01")&&(i-=Date.now());const a=this.#e.retry.maxRetryAfter??i;return i<a?i:a}if(e.response.status===413)throw e}return this.#u()}#f(e){return this.#e.parseJson&&(e.json=async()=>this.#e.parseJson(await e.text())),e}async#p(e){try{return await e()}catch(r){const n=Math.min(
|
|
443
|
-
await this.#h(r),
|
|
444
|
-
e)}}async#m(){this.#n?.signal.aborted&&(this.#n=new globalThis.AbortController,this.#e.signal=this.#i?AbortSignal.any([this.#i,this.#n.signal]):this.#n.signal,this.request=new globalThis.Request(this.request,{signal:this.#e.signal}));for(const r of this.#e.hooks.beforeRequest){const n=await r(this.request,this.#c(),{retryCount:this.#r});if(n instanceof Response)return n;if(n instanceof globalThis.Request){this.#l(n);break}}const e=
|
|
445
|
-
this.#o.clone(),this.#e.timeout===!1?this.#e.fetch(this.#o,e):
|
|
446
|
-
on"&&(r=r(t??{})),
|
|
447
|
-
y.green(e)].join(""))}async function
|
|
448
|
-
json()).version}const
|
|
449
|
-
id} at path: ${r}`,i.id;ge.debug`No project registered at path: ${r}`}return t.languageServices.projectsManager.ensureProjectId(e)}function tr(t,e){const r=
|
|
450
|
-
pected");var n,i;n=e[
|
|
451
|
-
s[1].call(s[2]);if(s[0])return Promise.resolve(o).then(a,c=>(i(c),a()))}catch(c){i(c)}if(r)throw e};return a()};const dt=ge.getChild("generator");async function
|
|
452
|
-
new Error(`generator ${t} does not exist in project config`);dt.info(`${y.dim("generator")} ${y.green(t)}`);const
|
|
453
|
-
()=>r({likec4model:e,ctx:{workspace:t.languageServices.workspaceUri,project:s,locate:c=>{let u=null;switch(!0){case
|
|
454
|
-
relativePath:or.relative(s.folder,l),folder:or.dirname(l).fsPath,filename:or.basename(l)}},write:async({path:c,content:u})=>{let l;ir.isUri(c)?l=c.fsPath:l=z(s.folder.fsPath,...Array.isArray(c)?c:[c]);const f=Re(l);a.has(f)||(_e(f)||(n.debug(`${y.dim("create directory")} ${f}`),await Se(f,{recursive:!0})),a.add(f)),n.debug(`${y.dim("write")} ${l}`),await Oe(l,u)},abort:c=>{throw n.error(c||"Generator aborted"),new Error(c||"Generator aborted")}}}))}async function
|
|
455
|
-
kec4.generated.ts"),
|
|
456
|
-
Re(o.sourcePath)),u=z(e,u),n.has(u)||(await Se(u,{recursive:!0}),n.add(u));const l=z(u,o.id+".dot");await Oe(l,c),r.info(`${y.dim("generated")} ${Ce(process.cwd(),l)}`),s++}catch(c){ge.error(`error while generating ${o.id}`,{error:c})}s>0&&r.info(`${y.dim("total")} ${s} files`)}async function
|
|
457
|
-
|
|
458
|
-
"c4:codegen"),i=
|
|
459
|
-
"Symbol."+t)
|
|
460
|
-
s,u.suppressed=o,u},i=s=>e=r?new n(s,e,"An error was suppressed during disposal"):(r=!0,s),a=s=>{for(;s=t.pop();)try{var o=s[1]&&s[1].call(s[2]);if(s[0])return Promise.resolve(o).then(a,c=>(i(c),a()))}catch(c){i(c)}if(r)throw e};return a()};async function
|
|
461
|
-
`${y.dim("project")} ${y.green(p)}`),u.info(`${y.dim("format")} ${y.green("model")}`);const v=await f.layoutedModel(p);for(const
|
|
462
|
-
if(![".ts",".mts",".cts"].includes(g))throw u.error(`output file ${n} has extension "${g}"`),new Error(`output file ${n} must be a .ts, .mts or .cts file`);const T=Re(w);u.info(`${y.dim("outdir")} ${T}`),await Se(T,{recursive:!0}),await Oe(w,
|
|
459
|
+
await this.#h(r),ss);if(this.#r<1)throw r;if(await td(n,this.#i?{signal:this.#i}:{}),r instanceof ns&&r.customRequest){const i=this.#e.signal?new globalThis.Request(r.customRequest,{signal:this.#e.signal}):new globalThis.Request(r.customRequest);this.#l(i)}for(const i of this.#e.hooks.beforeRetry){const a=await i({request:this.request,options:this.#c(),error:r,retryCount:this.#r});if(a instanceof globalThis.Request){this.#l(a);break}if(a instanceof globalThis.Response)return a;if(a===uc)return}return this.#p(
|
|
460
|
+
e)}}async#m(){this.#n?.signal.aborted&&(this.#n=new globalThis.AbortController,this.#e.signal=this.#i?AbortSignal.any([this.#i,this.#n.signal]):this.#n.signal,this.request=new globalThis.Request(this.request,{signal:this.#e.signal}));for(const r of this.#e.hooks.beforeRequest){const n=await r(this.request,this.#c(),{retryCount:this.#r});if(n instanceof Response)return n;if(n instanceof globalThis.Request){this.#l(n);break}}const e=rd(this.request,this.#e);return this.#o=this.request,this.request=
|
|
461
|
+
this.#o.clone(),this.#e.timeout===!1?this.#e.fetch(this.#o,e):ed(this.#o,e,this.#n,this.#e)}#c(){if(!this.#s){const{hooks:e,...r}=this.#e;this.#s=Object.freeze(r)}return this.#s}#l(e){this.#s=void 0,this.request=this.#d(e)}#d(e,r){return!this.#e.onUploadProgress||!e.body?e:Wp(e,this.#e.onUploadProgress,r??this.#e.body??void 0)}}const as=t=>{const e=(r,n)=>mt.create(r,Zt(t,n));for(const r of cc)e[r]=(n,i)=>mt.create(n,Zt(t,i,{method:r}));return e.create=r=>as(Zt(r)),e.extend=r=>(typeof r=="functi\
|
|
462
|
+
on"&&(r=r(t??{})),as(Zt(t,r))),e.stop=uc,e.retry=Up,e},od=as(),cs=new Pp({projectName:Vc,serialize:t=>Xe.stringify(t,null,2),deserialize:t=>Xe.parse(t)}),ad=1e3*60*60*24,mc="check-update";function cd(){if(su||iu===mc)return;const t=cs.get("lastUpdateCheck"),e=cs.get("latestVersion");if(zc(e)||Wc(t)||t+ad<Date.now())try{fs("likec4",["check-update"],{stdio:"ignore",preferLocal:!0,detached:!0,env:{NODE_ENV:mc}}).catch(()=>{})}catch{}e&&Jn.gt(e,Be)&&Te(["Update available: ",y.dim(Be),y.reset(" \u2192 "),
|
|
463
|
+
y.green(e)].join(""))}async function ud(){try{const t=await ld();mr(t,"No version found in latest npm"),cs.set({lastUpdateCheck:Date.now(),latestVersion:t}),Jn.gt(t,Be)?Te(["Update available: ",y.dim(Be),y.reset(" \u2192 "),y.green(t)].join("")):Te(y.dim("Up to date: ")+" "+y.green(Be))}catch(t){ge.error(yt(t))}}async function ld(){return(await od("https://registry.npmjs.org/likec4/latest",{headers:{accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"},keepalive:!0}).
|
|
464
|
+
json()).version}const fd=t=>t.command({command:"check-update",describe:"Check for updates",handler:async()=>{await ud()}});function pd(t,e){if(!e)return t.languageServices.projectsManager.ensureProjectId();const r=z(e);if(r===t.workspace)return t.languageServices.projectsManager.ensureProjectId();if(_e(r)&&Zc(r).isDirectory()){ge.debug`Project path exists: ${r}`;const n=ir.file(r.endsWith(Es)?r:r+Es),i=t.languageServices.projects().find(a=>a.folder.fsPath===n.fsPath);if(i)return ge.debug`Found project ${i.
|
|
465
|
+
id} at path: ${r}`,i.id;ge.debug`No project registered at path: ${r}`}return t.languageServices.projectsManager.ensureProjectId(e)}function tr(t,e){const r=pd(t,e),n=t.languageServices.projectsManager.getProject(r);return t.languageServices.projectsManager.defaultProjectId=r,{projectId:r,projectFolder:n.folderUri.fsPath,config:n.config}}var gc=(t,e)=>(e=Symbol[t])?e:Symbol.for("Symbol."+t),yc=t=>{throw TypeError(t)},dd=(t,e,r)=>{if(e!=null){typeof e!="object"&&typeof e!="function"&&yc("Object ex\
|
|
466
|
+
pected");var n,i;n=e[gc("asyncDispose")],n===void 0&&(n=e[gc("dispose")],i=n),typeof n!="function"&&yc("Object not disposable"),i&&(n=function(){try{i.call(this)}catch(a){return Promise.reject(a)}}),t.push([r,n,e])}else t.push([r]);return e},hd=(t,e,r)=>{var n=typeof SuppressedError=="function"?SuppressedError:function(s,o,c,u){return u=Error(c),u.name="SuppressedError",u.error=s,u.suppressed=o,u},i=s=>e=r?new n(s,e,"An error was suppressed during disposal"):(r=!0,s),a=s=>{for(;s=t.pop();)try{var o=s[1]&&
|
|
467
|
+
s[1].call(s[2]);if(s[0])return Promise.resolve(o).then(a,c=>(i(c),a()))}catch(c){i(c)}if(r)throw e};return a()};const dt=ge.getChild("generator");async function wc({name:t,path:e,useDotBin:r,project:n}){var i=[];try{const c=Ve(dt),u=dd(i,await ye.fromWorkspace(e,{logger:"vite",graphviz:r?"binary":"wasm",watch:!1}),!0),{projectId:l,config:f}=tr(u,n);n&&dt.info(`${y.dim("project")} ${y.green(l)}`);const p=f.generators?.[t];if(!p)throw dt.error(y.red(`generator ${t} does not exist in project config`)),
|
|
468
|
+
new Error(`generator ${t} does not exist in project config`);dt.info(`${y.dim("generator")} ${y.green(t)}`);const d=await u.layoutedModel(l);await md({likec4:u,model:d,generator:p,logger:dt.getChild(t)}),c.stopAndLog()}catch(c){var a=c,s=!0}finally{var o=hd(i,a,s);o&&await o}}async function md({likec4:t,model:e,generator:r,logger:n}){const i=t.languageServices,a=new Set,s=i.project(e.project.id),o=e.project.id;n.debug(`${y.dim("runnig for project:")} ${y.green(s.id)}`),await Promise.resolve().then(
|
|
469
|
+
()=>r({likec4model:e,ctx:{workspace:t.languageServices.workspaceUri,project:s,locate:c=>{let u=null;switch(!0){case Ru(c):u=i.locate({element:c.id,projectId:o});break;case Eu(c):u=i.locate({view:c.id,projectId:o});break;case bu(c):u=i.locate({deployment:c.id,projectId:o});break;case $u(c):case vu(c):u=i.locate({relation:c.id,projectId:o});break;default:gr(c)}if(!u)throw n.error(`Cannot locate ${c.id}`,{target:c}),new Error(`Cannot locate ${c.id}`);const l=ir.parse(u.uri);return{range:u.range,document:l,
|
|
470
|
+
relativePath:or.relative(s.folder,l),folder:or.dirname(l).fsPath,filename:or.basename(l)}},write:async({path:c,content:u})=>{let l;ir.isUri(c)?l=c.fsPath:l=z(s.folder.fsPath,...Array.isArray(c)?c:[c]);const f=Re(l);a.has(f)||(_e(f)||(n.debug(`${y.dim("create directory")} ${f}`),await Se(f,{recursive:!0})),a.add(f)),n.debug(`${y.dim("write")} ${l}`),await Oe(l,u)},abort:c=>{throw n.error(c||"Generator aborted"),new Error(c||"Generator aborted")}}}))}async function gd(t,e,r){e=e??z(t.workspace,"li\
|
|
471
|
+
kec4.generated.ts"),at(e)!==".ts"&&(e=e+".ts"),await Se(Re(e),{recursive:!0});const n=await t.diagrams(),i=ul([...n]);await Oe(e,i),r.info(`${y.dim("generated")} ${Ce(process.cwd(),e)}`)}async function yd(t,e,r){await Se(e,{recursive:!0}),r.info(`${y.dim("format")} ${y.green("dot")}`),r.info(`${y.dim("outdir")} ${e}`);const n=new Set,i=await t.computedModel(),a=vs(i.$data.views);let s=0;for(const o of a)try{const c=await t.viewsService.layouter.dot({view:o,styles:i.$styles});let u=".";o.sourcePath&&
|
|
472
|
+
(u=Re(o.sourcePath)),u=z(e,u),n.has(u)||(await Se(u,{recursive:!0}),n.add(u));const l=z(u,o.id+".dot");await Oe(l,c),r.info(`${y.dim("generated")} ${Ce(process.cwd(),l)}`),s++}catch(c){ge.error(`error while generating ${o.id}`,{error:c})}s>0&&r.info(`${y.dim("total")} ${s} files`)}async function wd(t,e,r,n){await Se(r,{recursive:!0}),n.info(`${y.dim("format")} ${y.green(e)}`),n.info(`${y.dim("outdir")} ${r}`);let i,a;switch(e){case"d2":i=".d2",a=du;break;case"mermaid":i=".mmd",a=pu;break;case"pl\
|
|
473
|
+
antuml":i=".puml",a=fu;break;default:gr(e)}const s=new Set,o=await t.layoutedModel();let c=0;for(const u of o.views()){const l=u.$view;try{let f=".";l.sourcePath&&(f=Re(l.sourcePath)),f=z(r,f),s.has(f)||(await Se(f,{recursive:!0}),s.add(f));const p=z(f,l.id+i),d=a(u);await Oe(p,d),n.info(`${y.dim("generated")} ${Ce(process.cwd(),p)}`),c++}catch(f){n.error(`error while generating ${l.id}`,{error:f})}}c>0&&n.info(`${y.dim("total")} ${c} files`)}async function ht({path:t,useDotBin:e,...r}){const n=ve(
|
|
474
|
+
"c4:codegen"),i=Ve(n),a=await ye.fromWorkspace(t,{logger:"vite",graphviz:e?"binary":"wasm"});if(a.ensureSingleProject(),(await a.viewsService.computedViews()).length===0)throw n.warn("no views found"),process.exitCode=1,new Error("no views found");switch(r.format){case"views":{await gd(a,r.outfile,n);break}case"dot":{await yd(a,r.outdir??t,n);break}case"d2":case"mermaid":case"plantuml":{await wd(a,r.format,r.outdir??t,n);break}default:gr(r)}i.stopAndLog()}var vc=(t,e)=>(e=Symbol[t])?e:Symbol.for(
|
|
475
|
+
"Symbol."+t),$c=t=>{throw TypeError(t)},vd=(t,e,r)=>{if(e!=null){typeof e!="object"&&typeof e!="function"&&$c("Object expected");var n,i;n=e[vc("asyncDispose")],n===void 0&&(n=e[vc("dispose")],i=n),typeof n!="function"&&$c("Object not disposable"),i&&(n=function(){try{i.call(this)}catch(a){return Promise.reject(a)}}),t.push([r,n,e])}else t.push([r]);return e},$d=(t,e,r)=>{var n=typeof SuppressedError=="function"?SuppressedError:function(s,o,c,u){return u=Error(c),u.name="SuppressedError",u.error=
|
|
476
|
+
s,u.suppressed=o,u},i=s=>e=r?new n(s,e,"An error was suppressed during disposal"):(r=!0,s),a=s=>{for(;s=t.pop();)try{var o=s[1]&&s[1].call(s[2]);if(s[0])return Promise.resolve(o).then(a,c=>(i(c),a()))}catch(c){i(c)}if(r)throw e};return a()};async function bd({path:t,useDotBin:e,useCorePackage:r,outfile:n,project:i}){var a=[];try{const u=ve("c4:codegen"),l=Ve(u),f=vd(a,await ye.fromWorkspace(t,{logger:"vite",graphviz:e?"binary":"wasm",watch:!1}),!0),{projectId:p,projectFolder:d}=tr(f,i);i&&u.info(
|
|
477
|
+
`${y.dim("project")} ${y.green(p)}`),u.info(`${y.dim("format")} ${y.green("model")}`);const v=await f.layoutedModel(p);for(const h of v.views())h.hasLayoutDrifts&&u.warn(y.yellow("layout drift detected, view:")+" "+y.red(h.id));let w=z(f.projectsManager.hasMultipleProjects()?d:f.workspace,"likec4-model.ts");if(n&&(w=lr(n)?n:z(n),_e(n)&&(await fr(n)).isDirectory()))throw new Error(`output file is a directory: ${n}`);const m=$t(w);u.info(`${y.dim("filename")} ${m}`);const g=at(m).toLocaleLowerCase();
|
|
478
|
+
if(![".ts",".mts",".cts"].includes(g))throw u.error(`output file ${n} has extension "${g}"`),new Error(`output file ${n} must be a .ts, .mts or .cts file`);const T=Re(w);u.info(`${y.dim("outdir")} ${T}`),await Se(T,{recursive:!0}),await Oe(w,al(v,{useCorePackage:r}),{encoding:"utf-8"}),l.stopAndLog(),Te(ar(`
|
|
463
479
|
${y.dim("Source generated:")}
|
|
464
480
|
${Ce(vt(),w)}
|
|
465
481
|
|
|
466
482
|
${y.dim("How to use:")}
|
|
467
483
|
${y.underline("https://likec4.dev/tooling/code-generation/model/")}
|
|
468
|
-
`).trim(),{padding:1,borderColor:"green",borderStyle:"round"})}catch(u){var s=u,o=!0}finally{var c
|
|
469
|
-
|
|
470
|
-
l","react","react-dom","react/jsx-runtime","react/jsx-dev-runtime","react-dom/client",/likec4\/icons\/.*/,/@likec4\/core.*/],onwarn(a,s){a.code!=="SOURCEMAP_ERROR"&&s(a)}}},plugins:[
|
|
471
|
-
"function"&&
|
|
472
|
-
i(c)}if(r)throw e};return a()};async function
|
|
473
|
-
drifts&&A.drifts.length>0){u.info(y.yellow("layout drift detected, view:")+" "+y.red(A.id));return}if(A.hasLayoutDrift){u.warn(y.yellow("drift detected, manual layout can not be applied, view:")+" "+y.red(A.id));return}});let w=z(f.projectsManager.hasMultipleProjects()?
|
|
474
|
-
${g}`);const T=
|
|
484
|
+
`).trim(),{padding:1,borderColor:"green",borderStyle:"round"})}catch(u){var s=u,o=!0}finally{var c=$d(a,s,o);c&&await c}}async function Ed({languageServices:t,outDir:e,filename:r="likec4-react.mjs"}){const n=ve(["vite","react"]),i=br();return n.info(`${y.cyan("likec4 app root")} ${y.dim(i)}`),n.info(y.cyan("outDir")+" "+y.dim(e)),{customLogger:n,root:i,configFile:!1,clearScreen:!1,publicDir:!1,mode:"production",resolve:{conditions:["production"],alias:Sr()},esbuild:{banner:`'use client'
|
|
485
|
+
`+$r.banner,footer:$r.footer,jsx:"transform",jsxDev:!1,jsxSideEffects:!1,minifyIdentifiers:!1,minifySyntax:!1,minifyWhitespace:!1,tsconfigRaw:{compilerOptions:{target:"ES2022",useDefineForClassFields:!0,verbatimModuleSyntax:!0,jsx:"react-jsx"}}},build:{outDir:e,emptyOutDir:!1,sourcemap:!1,minify:!1,copyPublicDir:!1,chunkSizeWarningLimit:Rr,lib:{entry:"react/likec4.tsx",fileName(a,s){return r},formats:["es"]},rollupOptions:{output:{compact:!1,exports:"named"},external:["likec4/react","likec4/mode\
|
|
486
|
+
l","react","react-dom","react/jsx-runtime","react/jsx-dev-runtime","react-dom/client",/likec4\/icons\/.*/,/@likec4\/core.*/],onwarn(a,s){a.code!=="SOURCEMAP_ERROR"&&s(a)}}},plugins:[pr({}),hr({languageServices:t.languageServices,useOverviewGraph:!1})]}}var bc=(t,e)=>(e=Symbol[t])?e:Symbol.for("Symbol."+t),Ec=t=>{throw TypeError(t)},Rd=(t,e,r)=>{if(e!=null){typeof e!="object"&&typeof e!="function"&&Ec("Object expected");var n,i;n=e[bc("asyncDispose")],n===void 0&&(n=e[bc("dispose")],i=n),typeof n!=
|
|
487
|
+
"function"&&Ec("Object not disposable"),i&&(n=function(){try{i.call(this)}catch(a){return Promise.reject(a)}}),t.push([r,n,e])}else t.push([r]);return e},Sd=(t,e,r)=>{var n=typeof SuppressedError=="function"?SuppressedError:function(s,o,c,u){return u=Error(c),u.name="SuppressedError",u.error=s,u.suppressed=o,u},i=s=>e=r?new n(s,e,"An error was suppressed during disposal"):(r=!0,s),a=s=>{for(;s=t.pop();)try{var o=s[1]&&s[1].call(s[2]);if(s[0])return Promise.resolve(o).then(a,c=>(i(c),a()))}catch(c){
|
|
488
|
+
i(c)}if(r)throw e};return a()};async function Ad({path:t,useDotBin:e,useCorePackage:r,outfile:n,project:i}){var a=[];try{await lt();const u=ve("c4:codegen"),l=Ve(u),f=Rd(a,await ye.fromWorkspace(t,{logger:"vite",graphviz:e?"binary":"wasm",watch:!1}),!0),{projectId:p,projectFolder:d}=tr(f,i);i&&u.info(`${y.dim("project")} ${y.green(p)}`),u.info(`${y.dim("format")} ${y.green("react")}`);const v=await f.diagrams(p);if(v.length===0)throw process.exitCode=1,new Error("no views found");v.forEach(A=>{if(A.
|
|
489
|
+
drifts&&A.drifts.length>0){u.info(y.yellow("layout drift detected, view:")+" "+y.red(A.id));return}if(A.hasLayoutDrift){u.warn(y.yellow("drift detected, manual layout can not be applied, view:")+" "+y.red(A.id));return}});let w=z(f.projectsManager.hasMultipleProjects()?d:f.workspace,"likec4-views.js");if(n&&(w=lr(n)?n:z(n),_e(n)&&(await fr(n)).isDirectory()))throw new Error(`output file is a directory: ${n}`);const m=Re(w);u.info(`${y.dim("outdir")} ${m}`);const g=$t(w);u.info(`${y.dim("filename")}\
|
|
490
|
+
${g}`);const T=at(g).toLocaleLowerCase();if(![".js",".mjs",".jsx"].includes(T))throw u.error(`output file ${n} has extension "${T}"`),new Error(`output file ${n} must be a .js, .jsx or .mjs`);const h=await Ed({languageServices:f,outDir:m,filename:g});await ut({...h,logLevel:"warn"});const S=await f.layoutedModel(p),E=z(m,$t(w,T)+(T===".mjs"?".d.mts":".d.ts"));await Oe(E,ll(S,{useCorePackage:r})),l.stopAndLog(),Te(ar(`
|
|
475
491
|
${y.dim("Sources generated:")}
|
|
476
492
|
${Ce(vt(),w)}
|
|
477
493
|
${Ce(vt(),E)}
|
|
478
494
|
|
|
479
495
|
${y.dim("How to use:")}
|
|
480
496
|
${y.underline("https://likec4.dev/tooling/code-generation/react/")}
|
|
481
|
-
`),{padding:1,borderColor:"green",borderStyle:"round"})}catch(u){var s=u,o=!0}finally{var c
|
|
482
|
-
[r]);return e},
|
|
483
|
-
const u=ve("c4:codegen"),l=
|
|
484
|
-
id))});let w=z(f.projectsManager.hasMultipleProjects()?
|
|
485
|
-
ed temp public")} ${T}`);const
|
|
497
|
+
`),{padding:1,borderColor:"green",borderStyle:"round"})}catch(u){var s=u,o=!0}finally{var c=Sd(a,s,o);c&&await c}}var Rc=(t,e)=>(e=Symbol[t])?e:Symbol.for("Symbol."+t),Sc=t=>{throw TypeError(t)},_d=(t,e,r)=>{if(e!=null){typeof e!="object"&&typeof e!="function"&&Sc("Object expected");var n,i;n=e[Rc("asyncDispose")],n===void 0&&(n=e[Rc("dispose")],i=n),typeof n!="function"&&Sc("Object not disposable"),i&&(n=function(){try{i.call(this)}catch(a){return Promise.reject(a)}}),t.push([r,n,e])}else t.push(
|
|
498
|
+
[r]);return e},Cd=(t,e,r)=>{var n=typeof SuppressedError=="function"?SuppressedError:function(s,o,c,u){return u=Error(c),u.name="SuppressedError",u.error=s,u.suppressed=o,u},i=s=>e=r?new n(s,e,"An error was suppressed during disposal"):(r=!0,s),a=s=>{for(;s=t.pop();)try{var o=s[1]&&s[1].call(s[2]);if(s[0])return Promise.resolve(o).then(a,c=>(i(c),a()))}catch(c){i(c)}if(r)throw e};return a()};async function xd({project:t,path:e,useDotBin:r,webcomponentPrefix:n="likec4",outfile:i}){var a=[];try{await lt();
|
|
499
|
+
const u=ve("c4:codegen"),l=Ve(u),f=_d(a,await ye.fromWorkspace(e,{logger:"vite",graphviz:r?"binary":"wasm",watch:!1}),!0),{projectId:p,projectFolder:d}=tr(f,t);t&&u.info(`${y.dim("project")} ${y.green(p)}`),u.info(`${y.dim("format")} ${y.green("webcomponent")}`);const v=await f.diagrams(p);if(!Me(v,1))throw u.warn("no views found"),process.exitCode=1,new Error("no views found");v.forEach(E=>{E.hasLayoutDrift&&u.warn(y.yellow("drift detected, manual layout can not be applied, view:")+" "+y.red(E.
|
|
500
|
+
id))});let w=z(f.projectsManager.hasMultipleProjects()?d:f.workspace,"likec4-views.js");if(i&&(w=lr(i)?i:z(i),_e(i)&&(await fr(i)).isDirectory()))throw new Error(`output file is a directory: ${i}`);He.debug(`${y.dim("outfilepath")} ${w}`);const m=$t(w);He.debug(`${y.dim("filename")} ${m}`);const g=at(m).toLocaleLowerCase();if(g!==".js"&&g!==".mjs")throw He.warn(`output file ${i} has extension "${g}"`),new Error(`output file ${i} must be a .js or .mjs`);const T=await Er();He.debug(`${y.dim("creat\
|
|
501
|
+
ed temp public")} ${T}`);const h=await Vr({languageServices:f,outDir:T,filename:m,webcomponentPrefix:n,base:"/"});He.debug(`${y.dim("vite build webcomponent")}`),await ut({...h,logLevel:"warn"});const S=z(T,m);if(!_e(S))throw new Error(`output file not found: ${S}`);await Se(Re(w),{recursive:!0}),await cu(S,w),u.info(`${y.dim("generated")} ${w}`),He.debug(`${y.dim("remove temp public")}`),await uu(T,{recursive:!0,force:!0}),l.stopAndLog(),Te(ar(`
|
|
486
502
|
${y.dim("Webcomponents generated to:")}
|
|
487
503
|
${Ce(vt(),w)}
|
|
488
504
|
|
|
489
505
|
${y.dim("Setup and usage instructions:")}
|
|
490
506
|
${y.blue("https://likec4.dev/tooling/code-generation/webcomponent/")}
|
|
491
|
-
`))}catch(u){var s=u,o=!0}finally{var c=
|
|
492
|
-
|
|
493
|
-
await
|
|
494
|
-
useCorePackage,outfile:r.outfile,project:r.project})}}).command({command:"views-data [path]",aliases:["views"],describe:"{deprecated} use codegen model",deprecated:!0,builder:r=>r.positional("path",
|
|
495
|
-
positional("path",
|
|
496
|
-
"path",
|
|
497
|
-
4 config",builder:r=>r.positional("path",
|
|
507
|
+
`))}catch(u){var s=u,o=!0}finally{var c=Cd(a,s,o);c&&await c}}const Td=t=>t.command({command:"gen <command> [path]",aliases:["generate","codegen"],describe:"Generate various artifacts from LikeC4 sources",builder:e=>e.positional("path",ce).command("react [path]","generate react component to render likec4 view",r=>r.positional("path",ce).option("project",Ke).option("outfile",{alias:"o",type:"string",desc:"<file> path to output file (.jsx, .mjs or .js)",normalize:!0,coerce:ze}).option("use-dot",
|
|
508
|
+
de).option("use-core-package",Ls),async r=>{await Ad({project:r.project,useDotBin:r.useDotBin,path:r.path,outfile:r.outfile,useCorePackage:r.useCorePackage})}).command({command:"webcomponent [path]",aliases:["wc","webcomp"],describe:"generate js with webcomponents",builder:r=>r.positional("path",ce).option("project",Ke).option("outfile",{alias:"o",type:"string",desc:"<file> path to output file (.mjs or .js)",normalize:!0,coerce:ze}).option("webcomponent-prefix",vr).option("use-dot",de),handler:async r=>{
|
|
509
|
+
await xd({project:r.project,useDotBin:r.useDotBin,path:r.path,outfile:r.outfile,webcomponentPrefix:r.webcomponentPrefix})}}).command({command:"model [path]",aliases:["ts"],describe:"generate LikeC4Model (.ts)",builder:r=>r.positional("path",ce).option("project",Ke).option("outfile",{alias:"o",type:"string",desc:"<file> path to output file (.ts)",normalize:!0,coerce:ze}).option("use-dot",de).option("use-core-package",Ls),handler:async r=>{await bd({path:r.path,useDotBin:r.useDotBin,useCorePackage:r.
|
|
510
|
+
useCorePackage,outfile:r.outfile,project:r.project})}}).command({command:"views-data [path]",aliases:["views"],describe:"{deprecated} use codegen model",deprecated:!0,builder:r=>r.positional("path",ce).option("outfile",{alias:"o",type:"string",desc:"<file> output .ts file",normalize:!0,coerce:ze}).option("use-dot",de),handler:async r=>{await ht({format:"views",path:r.path,useDotBin:r.useDotBin,outfile:r.outfile})}}).command({command:"dot [path]",describe:"generate graphviz files (.dot)",builder:r=>r.
|
|
511
|
+
positional("path",ce).option("outdir",Rt).option("use-dot",de),handler:async r=>{await ht({format:"dot",path:r.path,useDotBin:r.useDotBin,outdir:r.outdir})}}).command({command:"d2 [path]",describe:"generate D2 files (.d2)",builder:r=>r.positional("path",ce).option("outdir",Rt).option("use-dot",de),handler:async r=>{await ht({format:"d2",path:r.path,useDotBin:r.useDotBin,outdir:r.outdir})}}).command({command:"mermaid [path]",aliases:["mmd"],describe:"generate Mermaid files (.mmd)",builder:r=>r.positional(
|
|
512
|
+
"path",ce).option("outdir",Rt).option("use-dot",de),handler:async r=>{await ht({format:"mermaid",useDotBin:r.useDotBin,path:r.path,outdir:r.outdir})}}).command({command:"plantuml [path]",aliases:["puml"],describe:"generate PlantUML files (.puml)",builder:r=>r.positional("path",ce).option("outdir",Rt).option("use-dot",de),handler:async r=>{await ht({format:"plantuml",useDotBin:r.useDotBin,path:r.path,outdir:r.outdir})}}).command({command:"<custom> [path]",describe:"run custom generator from likec\
|
|
513
|
+
4 config",builder:r=>r.positional("path",ce).option("project",Ke).option("use-dot",de),handler:async r=>{await wc({name:"custom",path:r.path,project:r.project,useDotBin:r.useDotBin})}}).epilog(`${y.bold("Examples:")}
|
|
498
514
|
likec4 gen react -o dist/likec4-views.mjs ./src/likec4
|
|
499
515
|
likec4 gen model -o likec4-model.ts
|
|
500
516
|
likec4 gen ts --outfile likec4-model.ts
|
|
@@ -502,39 +518,24 @@ positional("path",pe).option("outdir",Rt).option("use-dot",he),handler:async r=>
|
|
|
502
518
|
likec4 gen mmd --outdir assets/
|
|
503
519
|
likec4 gen plantuml --outdir assets/
|
|
504
520
|
likec4 gen dot -o out .
|
|
505
|
-
`),handler:async e=>{await
|
|
506
|
-
"
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
multiple patterns are combined with OR`},ignore:{boolean:!0,alias:"i",desc:"continue if export fails for some views"},timeout:{type:"number",alias:"t",desc:"timeout for playwright (in seconds)",default:15,nargs:1},"max-attempts":{type:"number",desc:"max attempts to export failing view, 1 means no retry",default:3,nargs:1},"server-url":{type:"string",desc:"use this url instead of starting new likec4 server",nargs:1},"chromium-sandbox":{boolean:!0,desc:"enable chromium sandbox (see Playwright docs\
|
|
510
|
-
)",default:!1}}).epilog(`${y.bold("Examples:")}
|
|
511
|
-
${y.green("$0 export png")}
|
|
512
|
-
${y.gray("Search for likec4 files in current directory and output PNG next to sources")}
|
|
513
|
-
|
|
514
|
-
${y.green("$0 export png --theme dark -o ./png src/likec4")}
|
|
515
|
-
${y.gray("Search for likec4 files in src/likec4 and output PNG with dark theme to png folder")}
|
|
516
|
-
|
|
517
|
-
${y.green('$0 export png -f "team1*" -f "team2*" --flat -o ./png src/likec4')}
|
|
518
|
-
${y.gray("Export views matching team1* or team2* only")}
|
|
519
|
-
|
|
520
|
-
${y.green('$0 export png -f "use-case*" --sequence src/likec4')}
|
|
521
|
-
${y.gray("Export views matching use-case* using sequence layout")}
|
|
522
|
-
`),handler:async r=>{hr(r.timeout>=1,"timeout must be >= 1"),hr(r["max-attempts"]>=1,"max-attempts must be >= 1"),await lt();const n=r.theme??(r.dark?"dark":"light");await bi({path:r.path,useDotBin:r["use-dot"],output:r.output,project:r.project,timeoutMs:r.timeout*1e3,maxAttempts:r.maxAttempts,ignore:r.ignore===!0,outputType:r.flat?"flat":"relative",serverUrl:r.serverUrl,theme:n,filter:r.filter,sequence:r.seq,chromiumSandbox:r["chromium-sandbox"]})}}).command({command:"json [path]",describe:"exp\
|
|
523
|
-
ort model to JSON",builder:r=>r.option("outfile",{alias:"o",type:"string",desc:"<file> output .json file",default:"likec4.json",normalize:!0,coerce:z}).option("use-dot",he).epilog(`${y.bold("Examples:")}
|
|
524
|
-
${y.green("$0 export json")}
|
|
525
|
-
${y.gray("Search for likec4 files in current directory and output JSON to likec4.json")}
|
|
521
|
+
`),handler:async e=>{await wc({name:e.command,path:e.path,project:e.project,useDotBin:e.useDotBin})}});function Id(t){return t.command({command:"json [path]",describe:"export model(s) to JSON",builder:e=>e.positional("path",ce).option("outfile",{alias:"o",type:"string",desc:"<file> output .json file",default:"likec4.json",normalize:!0,coerce:z}).options({project:Ke,"use-dot":de,"skip-layout":{type:"boolean",desc:"skip layouting (only compute model)"},pretty:{type:"boolean",desc:"indented JSON ou\
|
|
522
|
+
tput"}}).epilog(`${y.bold("Examples:")}
|
|
523
|
+
${y.green("$0 export json --skip-layout")}
|
|
524
|
+
${y.gray("Search for likec4 files in current directory and output JSON to likec4.json (no layout)")}
|
|
526
525
|
|
|
527
|
-
${y.green("$0 export json -o ./generated/likec4.json src/likec4 ")}
|
|
526
|
+
${y.green("$0 export json --pretty -o ./generated/likec4.json src/likec4 ")}
|
|
528
527
|
${y.gray("Search for likec4 files in src/likec4 and output JSON to generated/likec4.json")}
|
|
529
|
-
`),handler:async
|
|
530
|
-
|
|
528
|
+
`),handler:async e=>{let r=e.outfile,n=e.project;const i=ve("c4:export"),a=Ve(i),s=await ye.fromWorkspace(e.path,{logger:i,graphviz:de?"binary":"wasm",watch:!1});let o=[...s.projectsManager.all];if(n){if(o=o.filter(p=>p===n),!Me(o,1))throw i.error(`project not found: ${n}`),new Error(`project not found: ${n}`)}else{if(!Me(o,1))throw i.error("No projects found"),new Error("No projects found");i.info(`${y.dim("workspace:")} Found ${o.length} projects`)}const c=[];for(const p of o){let d;if(e.skipLayout?
|
|
529
|
+
(i.info(`Generate model for project ${y.green(p)} ${y.dim("(skip layout)")}`),d=await s.computedModel(p)):(i.info(`Generating layouted model for project ${y.green(p)}`),d=await s.layoutedModel(p)),d===Su.EMPTY){i.warn(y.yellow(`Project ${p} is empty, skipping`));continue}c.push(d.$data)}at(r)!==".json"&&(r=r+".json"),await Se(Re(r),{recursive:!0});const u=c.length===1?c[0]:c,l=e.pretty?JSON.stringify(u,void 0,2):JSON.stringify(u);await Oe(r,l);const f=r.startsWith(e.path)?Ce(e.path,r):r;i.info(`${y.
|
|
530
|
+
dim("generated")} ${f}`),a.stopAndLog("\u2713 export in ")}})}const Od=t=>t.command({command:"export <format> [path]",describe:"Export to images or JSON",builder:e=>ur(e.usage(`${y.bold("Usage:")} $0 export <format> [path]`),Nl,Id).updateStrings({"Commands:":y.bold("Formats:")}),handler:()=>{}}),Ld=t=>t.command({command:"mcp [path]",aliases:[],describe:"Start MCP server",builder:e=>e.usage(`${y.bold("Usage:")} $0 mcp [path]`).positional("path",ce).option("stdio",{boolean:!0,description:"use stdi\
|
|
531
|
+
o transport",conflicts:["http","port"]}).option("http",{boolean:!0,description:"use streamable http transport (use 33335 port by default)",conflicts:"stdio"}).option("port",{alias:"p",number:!0,description:"enables http transport and sets the port",conflicts:"stdio"}).option("use-dot",de).epilog(`${y.bold("Examples:")}
|
|
531
532
|
${y.green("$0 mcp")}
|
|
532
533
|
${y.gray("Start MCP with default stdio transport")}
|
|
533
534
|
${y.green("$0 mcp --http ./src")}
|
|
534
535
|
${y.gray("Start MCP with streamable http transport on port 33335 at ./src folder")}
|
|
535
536
|
${y.green("$0 mcp -p 1234")}
|
|
536
537
|
${y.gray("Start MCP with streamable http transport on port 1234")}
|
|
537
|
-
`),handler:async e=>{e.http||e.port?await
|
|
538
|
+
`),handler:async e=>{e.http||e.port?await kd(e.path,e.useDot,e.port):await Nd(e.path,e.useDot)}});async function kd(t,e,r=33335){await ye.fromWorkspace(t,{mcp:{port:r},watch:!0,graphviz:e?"binary":"wasm"}),Te([y.green("LikeC4 MCP served at:"),`
|
|
538
539
|
{
|
|
539
540
|
"mcpServers": {
|
|
540
541
|
"likec4": {
|
|
@@ -546,14 +547,13 @@ ${y.green("$0 mcp -p 1234")}
|
|
|
546
547
|
${y.dim("Documentation:")}
|
|
547
548
|
${y.underline("https://likec4.dev/tooling/mcp/#using-extension")}
|
|
548
549
|
`].join(`
|
|
549
|
-
`))}async function
|
|
550
|
-
outputDir:e,open:!Le(),listen:n});
|
|
551
|
-
if not specified search in current directory`,normalize:!0}).options({output:{alias:"o",type:"string",desc:"output directory from production build",normalize:!0},base:{type:"string",desc:"base url the app is being served from"},listen:{alias:"l",type:"string",desc:"ip address of the network interface to listen on"}}).coerce(["path","output"],
|
|
552
|
-
title:n,useHashHistory:i,useOverview:a=!1,enableWebcomponent:s=!0,enableHMR:o=!0,base:c,listen:u,port:l}){o&&(process.env.NODE_ENV="development");const f=await ye.fromWorkspace(t,{graphviz:e?"binary":"wasm",watch:o}),p=await bt(
|
|
553
|
-
if(
|
|
554
|
-
command({command:"start [path]",aliases:["serve","dev"],describe:"Start local dev server to preview LikeC4 views",builder:e=>e.positional("path",
|
|
555
|
-
await lt(),await
|
|
556
|
-
const u=await o.diagrams();let l=!1;for(const f of u)f.hasLayoutDrift===!0&&(l=!0,c.error(y.red(`Layout drift detected on view '${f.id}' at ${z(t,f.sourcePath??".")}`)));return!l}}const
|
|
557
|
-
nore-layout"]})}});
|
|
558
|
-
global:!0}).demandCommand(1,"Please run with valid command").recommendCommands().showHelpOnFail(!0).updateStrings({"Options:":y.bold("Options:"),"Positionals:":y.bold("Arguments:"),"Commands:":y.bold("Commands:"),"Examples:":y.bold("Examples:")}).wrap(
|
|
559
|
-
nhandled rejection",t)});
|
|
550
|
+
`))}async function Nd(t,e){await ye.fromWorkspace(t,{mcp:"stdio",watch:!0,graphviz:e?"binary":"wasm"})}async function Pd(t){const e=await Br({...t,likec4AssetsDir:"",webcomponentPrefix:void 0}),r=await Xr({port:Tt(62001,62010)}),n=t?.open??!1;return await mu({...e,mode:"production",preview:{host:t.listen??"127.0.0.1",allowedHosts:!0,port:r,open:n}})}async function jd({path:t,output:e,base:r,listen:n}){const i=await ye.fromWorkspace(t,{logger:"vite",watch:!1}),a=await Pd({base:r,languageServices:i,
|
|
551
|
+
outputDir:e,open:!Le(),listen:n});pi(a)}const Dd=t=>t.command({command:"preview [path]",describe:"Start local server to preview production build",builder:e=>e.positional("path",{type:"string",desc:`Directory with LikeC4 source files
|
|
552
|
+
if not specified search in current directory`,normalize:!0}).options({output:{alias:"o",type:"string",desc:"output directory from production build",normalize:!0},base:{type:"string",desc:"base url the app is being served from"},listen:{alias:"l",type:"string",desc:"ip address of the network interface to listen on"}}).coerce(["path","output"],ze).default("path",ze("."),".").default("listen","127.0.0.1","localhost"),handler:async e=>{await jd(e)}});async function qd({path:t,useDotBin:e,webcomponentPrefix:r,
|
|
553
|
+
title:n,useHashHistory:i,useOverview:a=!1,enableWebcomponent:s=!0,enableHMR:o=!0,base:c,listen:u,port:l}){o&&(process.env.NODE_ENV="development");const f=await ye.fromWorkspace(t,{graphviz:e?"binary":"wasm",watch:o}),p=await bt(ot(Et(),".likec4-assets-")),d=await gi({buildWebcomponent:s,hmr:o,base:c,webcomponentPrefix:r,title:n,languageServices:f,useHashHistory:i,useOverviewGraph:a,likec4AssetsDir:p,listen:u,port:l});if(d.config.logger.clearScreen("info"),pi(d),!a)return;const v=await f.diagrams();
|
|
554
|
+
if(Me(v,1)){const w=ve("c4:export"),m=fi(d);if(!m){w.error("no preview server url");return}w.info(y.cyan("wait 5sec before generating previews")),await Os(5e3);try{await vi({serverUrl:m,logger:w,views:v,theme:"light",output:p,outputType:"flat"}),await Os(1e3),w.info(y.yellow("Note: changes in sources do not trigger preview updates, restart is required"))}catch(g){w.error(y.red("Failed to generate previews")),w.error(g)}}else d.config.logger.warn("no views found, no previews generated")}const Hd=t=>t.
|
|
555
|
+
command({command:"start [path]",aliases:["serve","dev"],describe:"Start local dev server to preview LikeC4 views",builder:e=>e.positional("path",ce).option("base",Ps).option("webcomponent-prefix",vr).option("title",Ns).option("use-hash-history",ks).option("use-dot",de).option("listen",ku).option("port",Nu).options({"react-hmr":{type:"boolean",default:!0,describe:"Enable/Disable React HMR"},"build-webcomponent":{type:"boolean",default:!0,describe:"Enable/Disable Webcomponent build"}}),handler:async e=>{
|
|
556
|
+
await lt(),await qd({path:e.path,useDotBin:e["use-dot"],base:e.base,webcomponentPrefix:e["webcomponent-prefix"],title:e.title,useHashHistory:e["use-hash-history"],listen:e.listen,port:e.port,enableHMR:e["react-hmr"],enableWebcomponent:e["build-webcomponent"]})}});async function Md({path:t,ignoreLayout:e}){const r=await ye.fromWorkspace(t,{logger:"vite",watch:!1}),n=ve("c4:views");let i=a(r);return i=i&&(e||await s(r,n)),i?0:ws(1);function a(o){return o.getErrors().length===0}async function s(o,c){
|
|
557
|
+
const u=await o.diagrams();let l=!1;for(const f of u)f.hasLayoutDrift===!0&&(l=!0,c.error(y.red(`Layout drift detected on view '${f.id}' at ${z(t,f.sourcePath??".")}`)));return!l}}const Ud=t=>t.command({command:"validate [path]",aliases:[],describe:"Validate model syntax and manual layout",builder:e=>e.positional("path",ce).option("ignore-layout",{alias:["skip-layout"],boolean:!0,default:!1,description:"do not validate layout of views"}),handler:async e=>{await Md({path:e.path,ignoreLayout:e["ig\
|
|
558
|
+
nore-layout"]})}});function Fd(t=bs){Xc({sinks:{console:Kc({formatter:y.isColorSupported?Yc():Jc()})},loggers:[{category:"likec4",sinks:["console"],lowestLevel:t?"debug":"info"}]})}async function Gd(){!Le()&&cd(),await ur(ou(au(tu)),Hd,ql,Td,Od,Dd,Ud,Ld,fd,t=>t.command({command:"completion",describe:"Generate completion script",handler:()=>{t.showCompletionScript()}})).scriptName("likec4").usage("Usage: $0 <command>").version(Be).alias("v","version").alias("h","help").help("help").option("verbos\
|
|
559
|
+
e",{type:"boolean",describe:"verbose logging",global:!0}).demandCommand(1,"Please run with valid command").recommendCommands().showHelpOnFail(!0).updateStrings({"Options:":y.bold("Options:"),"Positionals:":y.bold("Arguments:"),"Commands:":y.bold("Commands:"),"Examples:":y.bold("Examples:")}).wrap(ds(ru.columns-10,{min:80,max:150})).middleware(t=>{Fd(t.verbose||bs)}).parseAsync()}Gd().catch(()=>{ws(1)}),process.on("unhandledRejection",t=>{console.error("Unhandled rejection",t)});
|