@stacksjs/stx-vscode 0.2.358 → 0.2.360
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.
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
var
|
|
2
|
-
`)
|
|
3
|
-
`)return-1;if(
|
|
4
|
-
`)Q+=" ",
|
|
1
|
+
var w2=Object.create;var{getPrototypeOf:B2,defineProperty:D$,getOwnPropertyNames:X2}=Object;var M2=Object.prototype.hasOwnProperty;function v2($){return this[$]}var O2,D2,h=($,Q,J)=>{var Z=$!=null&&typeof $==="object";if(Z){var K=Q?O2??=new WeakMap:D2??=new WeakMap,Y=K.get($);if(Y)return Y}J=$!=null?w2(B2($)):{};let j=Q||!$||!$.__esModule?D$(J,"default",{value:$,enumerable:!0}):J;for(let z of X2($))if(!M2.call(j,z))D$(j,z,{get:v2.bind($,z),enumerable:!0});if(Z)K.set($,j);return j};var K2=require("node:crypto"),b=require("node:fs"),z2=require("node:os"),k=h(require("node:path"));var j$=["browserQuery","BrowserQueryBuilder","BrowserQueryError","browserAuth","configureBrowser","getBrowserConfig","createBrowserDb","createBrowserModel","isBrowser","debounce","throttle","retry","sleep","wait","delay","waitUntil","waitWhile","lazy","clamp","rand","readableSize","useActiveElement","useIntervalFn","useObjectUrl","useTimeoutFn"];var W$=h(require("node:path"));function I2($,Q){let J=$[Q],Z=Q+1;while(Z<$.length){if($[Z]==="\\"){Z+=2;continue}if($[Z]===J)return Z+1;Z++}return $.length}function P2($,Q){let J=Q+1;while(J<$.length){if($[J]==="\\"){J+=2;continue}if($[J]==="`")return J+1;if($[J]==="$"&&$[J+1]==="{"){if(J=I$($,J+2),J<$.length)J++;continue}J++}return $.length}function I$($,Q){let J=1,Z=Q;while(Z<$.length){let K=$[Z];if(K==="\\"){Z+=2;continue}if(K==='"'||K==="'"){Z=I2($,Z);continue}if(K==="`"){Z=P2($,Z);continue}if(K==="/"&&$[Z+1]==="/"){while(Z<$.length&&$[Z]!==`
|
|
2
|
+
`)Z++;continue}if(K==="/"&&$[Z+1]==="*"){Z+=2;while(Z<$.length&&$.slice(Z,Z+2)!=="*/")Z++;Z+=2;continue}if(K==="{"){J++,Z++;continue}if(K==="}"){if(J--,J===0)return Z;Z++;continue}Z++}return $.length}var L2=new Set(["return","typeof","instanceof","in","of","new","delete","void","throw","case","do","else","yield","await"]);function C2($,Q){if(Q)return L2.has(Q);return!($===")"||$==="]"||$===a)}var a="\x00";function y2($,Q){let J=Q+1,Z=!1;while(J<$.length){let K=$[J];if(K===`
|
|
3
|
+
`)return-1;if(K==="\\"){J+=2;continue}if(K==="[")Z=!0;else if(K==="]")Z=!1;else if(K==="/"&&!Z){J++;while(J<$.length&&/[a-z]/i.test($[J]))J++;return J}J++}return-1}function E($){let Q="",J=0,Z="",K="";while(J<$.length){let Y=$.slice(J,J+2);if(Y==="//"){while(J<$.length&&$[J]!==`
|
|
4
|
+
`)Q+=" ",J++;continue}if(Y==="/*"){while(J<$.length&&$.slice(J,J+2)!=="*/")Q+=$[J]===`
|
|
5
5
|
`?`
|
|
6
|
-
`:" ",
|
|
6
|
+
`:" ",J++;Q+=" ",J+=2;continue}let j=$[J];if(j==='"'||j==="'"){let z=j;Q+=" ",J++;while(J<$.length&&$[J]!==z){if($[J]==="\\"){Q+=" ",J+=2;continue}Q+=$[J]===`
|
|
7
7
|
`?`
|
|
8
|
-
`:" ",
|
|
8
|
+
`:" ",J++}Q+=" ",J++,Z=a,K="";continue}if(j==="/"&&C2(Z,K)){let z=y2($,J);if(z!==-1){Q+=`/${" ".repeat(z-J-2)}/`,J=z,Z=a,K="";continue}}if(j==="`"){Q+=" ",J++;while(J<$.length&&$[J]!=="`"){if($[J]==="\\"){Q+=" ",J+=2;continue}if($[J]==="$"&&$[J+1]==="{"){let z=J+2,V=I$($,z);if(Q+=" ",Q+=E($.slice(z,V)),V<$.length)Q+=" ";J=V+1;continue}Q+=$[J]===`
|
|
9
9
|
`?`
|
|
10
|
-
`:" ",
|
|
10
|
+
`:" ",J++}Q+=" ",J++,Z=a,K="";continue}if(Q+=j,J++,/[\w$]/.test(j))K=/[\w$]/.test(Z)?K+j:j,Z=j;else if(!/\s/.test(j))Z=j,K=""}return Q}function o($){let Q=new Uint16Array($.length),J=0,Z=!0;for(let K=0;K<$.length;K++){let Y=$[K];if(Y===")"||Y==="]"||Y==="}")if(J===0)Z=!1;else J--;if(Q[K]=J,Y==="("||Y==="["||Y==="{")J++}return{depths:Q,balanced:Z&&J===0}}function P$($){let Q=$.indexOf(" as ");if(Q!==-1){let Y=$.slice(0,Q).trim(),j=$.slice(Q+4).trim();return Y&&j?{arrayExpr:Y,itemVar:j}:null}let J=/^\s*(.+?)\s+in\s+([\s\S]+)$/.exec($);if(!J)return null;let Z=J[1].trim().replace(/^\(([\s\S]*)\)$/,"$1").trim(),K=J[2].trim();return Z&&K?{arrayExpr:K,itemVar:Z}:null}var p=["batch","clearServerData","computed","configureFetch","defineEmits","defineExpose","definePageMeta","defineProps","defineSlots","defineStore","derived","effect","goBack","goForward","inject","invalidateRoute","isDerived","isSignal","navigate","nextTick","onBeforeMount","onBeforeUnmount","onDestroy","onMount","onMounted","onUnmounted","peek","provide","reactive","ref","refresh","registerStoresClient","setRouteParams","state","untrack","useAsync","useClickOutside","useColorMode","useCookie","useCounter","useDark","useDebounce","useDebouncedValue","useDocumentVisibility","useEventListener","useFetch","useFocus","useHead","useId","useInterval","useLocalStorage","useMediaQuery","useModel","useMutation","useOptimistic","usePreferredContrast","usePreferredDark","usePreferredLight","usePreferredReducedMotion","useQuery","useReactiveProp","useRef","useRoute","useRouteParam","useRouteParams","useScrollLock","useSearchParams","useSeoMeta","useSessionStorage","useSlots","useStore","useThrottle","useTimeout","useToggle","useWebSocket","watch","watchEffect","watchMultiple","withDefaults"];var A2=["defineEmits","defineExpose","definePageMeta","defineProps","defineSlots","withDefaults"];var I4=p.filter(($)=>!A2.includes($));var R2=["x-text","x-html","x-model","x-show","x-if","x-for","x-cloak","x-ref","x-data","x-bind","x-class","x-style","x-tooltip","x-tooltip-position"],_2=["x-init","x-transition","x-effect","x-on"],P4=[...R2,..._2];var t=h(require("node:fs")),m=h(require("node:path"));function L$($,Q,J,Z){let K=0;for(let Y=Q;Y<$.length;Y++)if($[Y]===J)K++;else if($[Y]===Z&&!(Z===">"&&$[Y-1]==="=")){if(--K===0)return Y}return-1}function S2($){let Q=E($),J=0,Z=0,K=[];for(let Y=0;Y<Q.length;Y++)if("([{".includes(Q[Y]))J++;else if(")]}".includes(Q[Y]))J--;else if(Q[Y]===","&&J===0)K.push($.slice(Z,Y).trim()),Z=Y+1;return K.push($.slice(Z).trim()),K}function Y$($,Q){let J=E($),Z=new RegExp(`\\b(?:${Q.map((K)=>K.replace(/[$]/g,"\\$&")).join("|")})\\s*(?=[<(])`,"g");for(let K of J.matchAll(Z)){let Y=K.index+K[0].length,j="";if(J[Y]==="<"){let V=L$(J,Y,"<",">");if(V<0)continue;j=$.slice(Y+1,V),Y=V+1;while(/\s/.test(J[Y]||"")&&Y<J.length)Y++}if(J[Y]!=="(")continue;let z=L$(J,Y,"(",")");if(z>=0)return{type:j,args:S2($.slice(Y+1,z))}}return null}var C$=`
|
|
11
11
|
type __StxCtor<T> = T extends StringConstructor ? string : T extends NumberConstructor ? number : T extends BooleanConstructor ? boolean : T extends ArrayConstructor ? unknown[] : T extends ObjectConstructor ? object : T extends readonly unknown[] ? __StxCtor<T[number]> : T extends abstract new (...args: any[]) => infer V ? V : unknown;
|
|
12
12
|
type __StxWiden<T> = T extends string ? string : T extends number ? number : T extends boolean ? boolean : T;
|
|
13
13
|
type __StxOption<T> = T extends { type: infer C } ? __StxCtor<C> : T extends { default: infer D } ? D extends (...args: any[]) => infer V ? V : __StxWiden<D> : __StxCtor<T>;
|
|
@@ -15,28 +15,28 @@ type __StxRequired<O> = { [K in keyof O]-?: O[K] extends { required: true } ? K
|
|
|
15
15
|
type __StxDefaulted<O> = { [K in keyof O]-?: O[K] extends { default: unknown } ? K : never }[keyof O];
|
|
16
16
|
type __StxOptions<O> = { [K in Exclude<__StxRequired<O>, __StxDefaulted<O>>]: __StxOption<O[K]> } & { [K in Exclude<keyof O, Exclude<__StxRequired<O>, __StxDefaulted<O>>>]?: __StxOption<O[K]> };
|
|
17
17
|
type __StxDefaults<P, K> = Omit<P, Extract<keyof P, K>> & Partial<Pick<P, Extract<keyof P, K>>>;
|
|
18
|
-
`;function
|
|
19
|
-
`)}),j=
|
|
18
|
+
`;function y$($,Q){let J=[],Z={defineProps:["defineProps"],defineEmits:["defineEmits"],withDefaults:["withDefaults"]},K=E($),Y=$.replace(/\bimport\s+(?:type\s+)?(\{[^}]*\}|\*\s+as\s+[\w$]+|[\w$]+)\s+from\s*(['"])([^'"]+)\2\s*;?/g,(F,v,O,M,D)=>{if(K.slice(D,D+6)!=="import")return F;if(M.endsWith(".stx"))return"";let P=`${Q}Import${J.length}`;if(J.push(`import * as ${P} from ${JSON.stringify(M)};`),v.startsWith("*"))return`import ${v.replace(/^\*\s+as\s+/,"")} = ${P};`;if(!v.startsWith("{"))return`import ${v} = ${P}.default;`;return v.slice(1,-1).split(",").map((C)=>{let[L,y=L]=C.trim().replace(/^type\s+/,"").split(/\s+as\s+/);if(!L)return"";if(/^(?:stx|@stacksjs\/stx)(?:\/|$)/.test(M)&&L in Z)Z[L].push(y);return`import ${y} = ${P}.${L};`}).join(`
|
|
19
|
+
`)}),j=Y$($,Z.defineProps),z=Y$($,Z.defineEmits),V=Y$($,Z.withDefaults);if(!j&&!z)return{declarations:"",props:null,events:null};let q=[],G=null,w=null;if(j){q.push(`const __options = (${j.args[0]||"{}"}) as const;`),q.push(`const __defaults = (${V?.args[1]||"{}"});`);let F=j.type||"__StxOptions<typeof __options>";q.push(`export type __StxProps = __StxDefaults<${F}, keyof typeof __defaults | __StxDefaulted<typeof __options>>;`),G=`${Q}.__StxProps`}if(z)q.push(`const __events = (${z.args[0]||"[]"}) as const;`),q.push(`export type __StxEvents = ${z.type||"Record<(typeof __events)[number], any[]>"};`),w=`${Q}.__StxEvents`;return{declarations:`${J.join(`
|
|
20
20
|
`)}
|
|
21
21
|
namespace ${Q} {
|
|
22
|
-
${
|
|
23
|
-
${
|
|
22
|
+
${Y}
|
|
23
|
+
${q.join(`
|
|
24
24
|
`)}
|
|
25
|
-
}`,props:G,events:
|
|
26
|
-
`).length,column:
|
|
27
|
-
`)}},
|
|
28
|
-
`):"",checks
|
|
29
|
-
`,Q-1)+1;return Q-
|
|
30
|
-
`)Q[j]=" "}
|
|
31
|
-
`).length-1
|
|
32
|
-
`.repeat(
|
|
33
|
-
`),
|
|
34
|
-
`)}):void 0,
|
|
35
|
-
`);
|
|
36
|
-
`).entries())if(
|
|
37
|
-
`))
|
|
38
|
-
`),lineMap:
|
|
39
|
-
`).length;
|
|
40
|
-
`)+1)+1,offset:
|
|
25
|
+
}`,props:G,events:w}}var r=h(require("node:fs")),R=h(require("node:path")),A$=new Map;function R$($,Q=!0){let J=A$.get($);if(Q&&J)return J;let Z=new Map,K=[R.default.join($,"src"),R.default.join($,"dist"),$];function Y(j,z){if(z>6)return;let V;try{V=r.default.readdirSync(j,{withFileTypes:!0})}catch{return}for(let q of V){let G=R.default.join(j,q.name);if(q.isDirectory()){if(q.name==="node_modules"||q.name.startsWith("."))continue;Y(G,z+1)}else if(q.isFile()&&q.name.endsWith(".stx")){let w=q.name.slice(0,-4);if(!Z.has(w))Z.set(w,G);let F=w.toLowerCase();if(!Z.has(F))Z.set(F,G);let v=w.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(!Z.has(v))Z.set(v,G)}}}for(let j of K)if(Y(j,0),Z.size>0)break;if(Q)A$.set($,Z);return Z}function _$($,Q){if($.startsWith(".")||$.startsWith("/"))return null;let J=Q;while(!0){let Z=R.default.join(J,"node_modules",$);try{if(r.default.statSync(Z).isDirectory())return Z}catch{}let K=R.default.dirname(J);if(K===J)return null;J=K}}function S$($,Q,J={}){return[R.default.resolve(R.default.dirname(Q),`${$}.stx`),R.default.resolve(R.default.dirname(Q),$),R.default.resolve(J.componentsDir||"components",`${$}.stx`),R.default.resolve(J.componentsDir||"components",$),$.endsWith(".stx")?$:`${$}.stx`]}function k$($){let Q=$.endsWith(".stx")?$.slice(0,-4):$,J=Q.split("-").map((K)=>K.charAt(0).toUpperCase()+K.slice(1)).join(""),Z=Q.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();return[Q,J,Z]}function k2($,Q){let[J,Z,K]=k$($);for(let Y of[J,J.toLowerCase(),Z,K]){let j=Q?.__importedComponents?.get(Y);if(j!==void 0)return j}}function*T2($,Q,J={},Z){let K=k$($);if(K[0].startsWith("./")||K[0].startsWith("../")){yield R.default.resolve(R.default.dirname(Q),`${K[0]}.stx`);return}let Y=[...new Set(K.map((V)=>`${V}.stx`))],j=J.projectRoot||process.cwd(),z=[...Z?.__originalFilePath?[R.default.join(R.default.dirname(Z.__originalFilePath),"components")]:[],...J.componentsDir?[J.componentsDir]:[],R.default.join(R.default.dirname(Q),"components"),R.default.resolve(j,"src/components"),R.default.resolve(j,"components"),R.default.resolve("/home/runner/work/stx/stx/packages/stx/src","components")];for(let V of new Set(z)){for(let q of Y)yield R.default.join(V,q);try{for(let q of r.default.readdirSync(V,{withFileTypes:!0}))if(q.isDirectory())for(let G of Y)yield R.default.join(V,q.name,G)}catch{}}}function T$($,Q,J={},Z){let K=k2($,Z);if(K!==void 0)return K;for(let Y of T2($,Q,J,Z))try{if(r.default.statSync(Y,{throwIfNoEntry:!1})?.isFile())return Y}catch{}return null}var E$=new Set(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","component","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","link","main","map","mark","menu","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","slot","small","source","span","strong","style","sub","summary","sup","svg","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr","path","circle","rect","line","polygon","polyline","ellipse","text","tspan","textPath","g","defs","use","symbol","image","clipPath","mask","pattern","marker","linearGradient","radialGradient","stop","filter","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDropShadow","feFlood","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","foreignObject","animate","animateMotion","animateTransform","set","mpath","desc","metadata","switch","view"]);function x$($){if($.includes("-")||$==="component")return!1;if(/^[A-Z]/.test($))return!/[a-z]/.test($)&&[...E$].some((Q)=>Q.toLowerCase()===$.toLowerCase());return E$.has($)||/[A-Z]/.test($)}function*E2($){let Q=/<([A-Za-z][\w.-]*)(?=[\s/>])/g,J;while(J=Q.exec($)){let Z=Q.lastIndex,K=[];while(Z<$.length){while(/\s/.test($[Z]||""))Z++;if($[Z]===">"||$.slice(Z,Z+2)==="/>"){Z+=$[Z]===">"?1:2;break}let Y=/^[^\s=/>]+/.exec($.slice(Z))?.[0];if(!Y){Z++;continue}let j=Z;Z+=Y.length;while(/\s/.test($[Z]||""))Z++;if($[Z]!=="="){K.push({name:Y,value:!0,offset:j,braced:!1});continue}Z++;while(/\s/.test($[Z]||""))Z++;let z=$[Z],V=z==="{",q=z==='"'||z==="'";if(q||V)Z++;let G=Z;if(V){let w=E($.slice(Z)),F=1,v=0;for(;v<w.length;v++){if(w[v]==="{")F++;if(w[v]==="}"&&--F===0)break}Z+=v}else if(q)while(Z<$.length&&$[Z]!==z)Z++;else while(Z<$.length&&!/[\s/>]/.test($[Z]))Z++;if(K.push({name:Y,value:$.slice(G,Z),offset:G,braced:V}),q||V)Z++}Q.lastIndex=Z,yield{name:J[1],offset:J.index,attributes:K}}}function N$($,Q,J){let Z=[],K=[C$,"type __StxAssignedValue<T> = T extends { readonly _isSignal: true } | { readonly _isDerived: true } ? T extends () => infer V ? V : T : T;","type __StxProp<P, K> = K extends keyof P ? P[K] : unknown;",'type __StxEvent<E, K> = K extends keyof E ? E[K] extends readonly unknown[] ? Exclude<E[K]["length"], 0 | 1> extends never ? E[K][0] : E[K] : E[K] : any;'],Y=new Map,j=new Map,z=new Map,V=J.scriptCode($,J.filePath),q=E(V);for(let O of V.matchAll(/\bimport\s+(\{[^}]+\}|[\w$]+)\s+from\s*['"]([^'"]+)['"]/g)){if(q.slice(O.index,O.index+6)!=="import")continue;let M=O[2],D=m.default.isAbsolute(M)||M.startsWith(".")?m.default.resolve(m.default.dirname(J.filePath),M):_$(M,m.default.dirname(J.filePath));if(!D)continue;let P=D.endsWith(".stx")?D:t.default.existsSync(`${D}.stx`)?`${D}.stx`:void 0,C=P?null:R$(D,!1),L=O[1].startsWith("{")?O[1].slice(1,-1).split(","):[O[1]];for(let y of L){let[T,A=T]=y.trim().split(/\s+as\s+/),x=P||C?.get(T)||C?.get(T.toLowerCase());if(x)z.set(A,x),z.set(A.toLowerCase(),x),z.set(A.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),x)}}for(let O of Q.matchAll(/@import\s*\(([^)]+)\)/g))for(let M of O[1].matchAll(/['"]([^'"]+)['"]/g)){let D=S$(M[1],J.filePath,J).find((P)=>t.default.statSync(P,{throwIfNoEntry:!1})?.isFile());if(D)z.set(m.default.basename(M[1]).replace(/\.stx$/,""),D)}let G={__importedComponents:z},w=new Map,F=(O,M,D)=>{let P=$.slice(0,O);return{code:M,offset:O,attribute:D,anchor:!0,kind:"directive",line:P.split(`
|
|
26
|
+
`).length,column:O-P.lastIndexOf(`
|
|
27
|
+
`)}},v=(O,M,D)=>Z.push({expression:O,statement:{text:M+O.code+D,prefixLength:M.length}});for(let O of E2(Q)){if(x$(O.name)||O.name==="component")continue;let M=T$(O.name,J.filePath,J,G);if(!M)continue;let D=w.get(M);if(!D){let C;try{C=J.readComponent?J.readComponent(M):t.default.readFileSync(M,"utf8")}catch{continue}if(C===void 0)continue;j.set(M,C),D=y$(J.scriptCode(C,M),`__StxComponent${w.size}`),w.set(M,D),K.push(D.declarations)}let P=[];for(let C of O.attributes){let{name:L,offset:y}=C,T=C.value===!0?"true":C.value;if(L.startsWith("@")||L.startsWith("v-on:")){if(D.events&&C.value!==!0)Y.set(y,`__StxEvent<${D.events}, ${JSON.stringify(L.replace(/^@|^v-on:/,"").split(".")[0])}>`);continue}let A=/^v-model(?::([\w-]+))?(?:\.[\w-]+)*$/.exec(L);if(L.startsWith("v-")&&!L.startsWith("v-bind:")&&!A)continue;if(/^(?:x-|:)(?:if|for|show|key|else)(?:$|[.:-])/.test(L))continue;let x=(A?A[1]||"modelValue":L.replace(/^:|^v-bind:/,"")).replace(/-([a-z])/g,(g,l)=>l.toUpperCase());if(P.push(x),!D.props)continue;let N=L.startsWith(":")||L.startsWith("v-bind:")||!!A||C.braced?T:C.value!==!0?JSON.stringify(T):"true";v(F(y,N,L),";void ((",`) satisfies __StxProp<${D.props}, ${JSON.stringify(x)}>);`)}if(D.props){let C=[...new Set(P)].map((y)=>`${JSON.stringify(y)}: undefined as any`).join(", "),L=F(O.offset,`<${O.name}>`);Z.push({expression:L,statement:{text:`;void ({ ${C} } satisfies ${D.props} & Record<string, unknown>);`,prefixLength:0}})}}return{declarations:w.size?K.join(`
|
|
28
|
+
`):"",checks:Z,events:Y,dependencies:j}}var g$=/<script(\s[^>]*)?>([\s\S]*?)<\/script>/gi;function x2($){let Q=(J)=>J.replace(/[^\n]/g," ");return $.replace(/<!--[\s\S]*?-->/g,Q).replace(/\{\{--[\s\S]*?--\}\}/g,Q)}function $$($){let Q=[],J=x2($);g$.lastIndex=0;let Z;while((Z=g$.exec(J))!==null){let K=(Z[1]||"").trim(),Y=(Z[0].match(/^<script(?:\s[^>]*)?>/i)?.[0]??"<script>").length,j=(Z[0].match(/<\/script\s*>$/i)?.[0]??"</script>").length,z=Z.index+Y,V=Z.index+Z[0].length-j,q=$.slice(z,V);if(/\bsrc\s*=/.test(K))continue;let G=K.match(/\btype\s*=\s*["']([^"']+)["']/i);if(G&&!/^(?:module|text\/(?:javascript|typescript))$/i.test(G[1]))continue;let w=/\bserver\b/.test(K)?"server":/\bclient\b/.test(K)?"client":"plain",F=c($,z);Q.push({kind:w,code:q,startLine:F,startColumn:s($,z),offset:z,attrs:K})}return Q}function c($,Q){let J=1;for(let Z=0;Z<Q&&Z<$.length;Z++)if($.charCodeAt(Z)===10)J++;return J}function s($,Q){let J=$.lastIndexOf(`
|
|
29
|
+
`,Q-1)+1;return Q-J+1}function J$($){let Q=$.split(""),J=(K,Y)=>{for(let j=K;j<Y&&j<Q.length;j++)if(Q[j]!==`
|
|
30
|
+
`)Q[j]=" "},Z=[/<script(?:\s[^>]*)?>[\s\S]*?<\/script>/gi,/<style(?:\s[^>]*)?>[\s\S]*?<\/style>/gi,/<!--[\s\S]*?-->/g,/\{\{--[\s\S]*?--\}\}/g,/@verbatim\b[\s\S]*?@endverbatim\b/g];for(let K of Z){K.lastIndex=0;let Y;while((Y=K.exec($))!==null)J(Y.index,Y.index+Y[0].length)}return Q.join("")}function N2($){let Q=0,J="";for(let Z=0;Z<$.length;Z++){let K=$[Z];if(J){if(K==="\\"){Z++;continue}if(K===J)J="";continue}if(K==='"'||K==="'"||K==="`"){J=K;continue}if(K==="("||K==="["||K==="{"){Q++;continue}if(K===")"||K==="]"||K==="}"){Q--;continue}if(K==="|"&&Q===0){if($[Z+1]==="|"){Z++;continue}if($[Z-1]==="|")continue;return $.slice(0,Z)}}return $}var l$=new Set([":for","x-for","v-for"]),Z$=/(?:^|\s)((?::|x-|v-|@)[\w.:-]+)\s*=\s*(["'])([\s\S]*?)\2/g,V$="__stx_interpolated",b$="__StxElement",d$="__StxTemplateValue",g2=`type ${d$}<T> = T extends { readonly _isSignal: true } | { readonly _isDerived: true } ? (T extends () => infer V ? T & V : T) : T`;function f$($){return $.replace(/\{\{[\s\S]*?\}\}/g,V$).replace(/\{!![\s\S]*?!!\}/g,V$)}function b2($){return $.replace(/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/g,(Q)=>{let J=Q.split(`
|
|
31
|
+
`).length-1,Z=Q.length-J;return`0${" ".repeat(Math.max(0,Z-1))}${`
|
|
32
|
+
`.repeat(J)}`})}var f2=["foreach","endforeach","forelse","endforelse","for","endfor","while","endwhile","empty","if","elseif","else","endif","unless","endunless","isset","endisset","switch","case","default","endswitch","auth","endauth","guest","endguest","env","endenv","once","endonce","break","continue"],u2=new RegExp(String.raw`^[ \t]*@(?:${f2.join("|")})\b[ \t]*(\([^\n)]*\))?[ \t]*$`,"gm");function h2($){return $.replace(u2,(Q)=>Q.replace(/[^\n]/g," "))}var u$=new Set(["x-cloak","x-ref","x-transition","x-teleport","v-slot","x-hydrate",":key","x-tooltip","x-tooltip-position"]);function p2($){let Q=J$($),J=[],Z=/(@?)\{\{([\s\S]*?)\}\}|(@?)\{!!([\s\S]*?)!!\}/g,K;while((K=Z.exec(Q))!==null){if(K[1]||K[3])continue;let z=K[2]??K[4]??"",V=K[2]!==void 0?2:3,q=N2(z);if(!q.trim())continue;let G=K.index+V+(q.length-q.trimStart().length);J.push({code:q.trim(),line:c(Q,G),column:s(Q,G),offset:G,kind:"interpolation"})}let Y=/@(if|elseif|else\s+if|unless)\b\s*\(/g;while((K=Y.exec(Q))!==null){let j=K.index+K[0].length-1,z=0,V=j;for(;V<Q.length;V++){let F=Q[V];if(F==="(")z++;else if(F===")"){if(z--,z===0)break}}if(z!==0)continue;let q=Q.slice(j+1,V),G=q.trim();if(Y.lastIndex=V+1,!G)continue;let w=j+1+(q.length-q.trimStart().length);J.push({code:G,line:c(Q,w),column:s(Q,w),offset:K.index,kind:"condition"})}Z$.lastIndex=0;while((K=Z$.exec(Q))!==null){let j=K[1],z=K[3]??"",V=j.replace(/\..*$/,"").replace(/^([^:].*?):.*$/,"$1");if(u$.has(V)||u$.has(j))continue;if(!z.trim())continue;let q=K.index+K[0].indexOf(K[2],K[0].indexOf(j)+j.length)+1;if(l$.has(V)){let w=z.match(/\s+(?:in|of)\s+/);if(!w||w.index===void 0)continue;let F=z.slice(w.index+w[0].length),v=w.index+w[0].length+(F.length-F.trimStart().length);J.push({code:f$(F.trim()),line:c(Q,q+v),column:s(Q,q+v),offset:q+v,kind:"directive",attribute:V});continue}let G=z.length-z.trimStart().length;J.push({code:f$(z.trim()),line:c(Q,q+G),column:s(Q,q+G),offset:q+G,kind:"directive",attribute:V})}return J.sort((j,z)=>j.line-z.line||j.column-z.column),J}var m2=2000;function l2($,Q){let J=0,Z=Math.min($.length,Q+m2);for(let K=Q;K<Z;K++){let Y=$[K];if(Y==="(")J++;else if(Y===")"){if(J--,J===0)return $.slice(Q+1,K)}}return null}function d2($){let Q=new Map,J=(z,V)=>{let q=z.split(/[,[\]{}()\s]+/).filter(Boolean);for(let G of q){let w=G.replace(/^\.\.\./,"").trim();if(!/^\$?[A-Z_$][\w$]*$/i.test(w))continue;let F=q.length===1?V:void 0,v=Q.get(w);if(!v)Q.set(w,{name:w,iterable:F});else if(v.iterable!==F)v.iterable=void 0}},Z=/^\$?[A-Z_$][\w$]*$/i,K=(z)=>{let V=z.trim();return Z.test(V)?V:void 0};for(let z of $.matchAll(/@for(?:each|else)\s*\(/g)){let V=l2($,z.index+z[0].length-1);if(V===null)continue;let q=P$(V);if(!q)continue;J(q.itemVar.replace(/=>/g," "),K(q.arrayExpr))}for(let z of $.matchAll(/@for\s*\(\s*(?:(?:let|const|var)\s+)?([\w$]+|\[[^\]]*\]|\{[^}]*\})\s+(of|in)\s+([^)]*)/g))J(z[1],z[2]==="of"?K(z[3]):void 0);for(let z of $.matchAll(/@for\s*\(\s*(?:let|const|var)\s+([\w$]+)\s*[=;]/g))J(z[1]);let Y=J$($);Z$.lastIndex=0;let j;while((j=Z$.exec(Y))!==null){let z=j[1].replace(/\..*$/,"");if(!l$.has(z))continue;let V=j[3].match(/\s+(?:in|of)\s+/);if(!V||V.index===void 0)continue;J(j[3].slice(0,V.index),K(j[3].slice(V.index+V[0].length)))}for(let z of $.matchAll(/@(?:php|js|ts)\b([\s\S]*?)@end(?:php|js|ts)\b/g))for(let V of z[1].matchAll(/\b(?:const|let|var|function|class)\s+([\w$]+)/g))J(V[1]);return[...Q.values()].sort((z,V)=>z.name.localeCompare(V.name))}function e($){let Q=new Set;for(let J of $.matchAll(/^\s*(?:export\s+)?(?:const|let|var)\s+([\w$]+)/gm))Q.add(J[1]);for(let J of $.matchAll(/^\s*(?:export\s+)?(?:async\s+)?function\s*\*?\s*([\w$]+)/gm))Q.add(J[1]);for(let J of $.matchAll(/^\s*(?:export\s+)?class\s+([\w$]+)/gm))Q.add(J[1]);for(let J of $.matchAll(/^\s*(?:export\s+)?(?:const|let|var)\s*[[{]([^\]}]*)[\]}]/gm))for(let Z of J[1].split(",")){let K=Z.split(":").pop().split("=")[0].replace(/^\.\.\./,"").trim();if(/^[A-Z_$][\w$]*$/i.test(K))Q.add(K)}return[...Q].sort()}var h$=["params","query","cookies","host","ip","setResponseStatus","setResponseHeader","notFound","request","url","definePageMeta","defineClientPayload","defineStore","props","$props"];var p$=["$env","$user","$slot","$slots","$attrs","$props","$page","$route","$loop","loop","$errors","$csrf","props","slot"];function r$($){let Q=new Set,J=new Set;for(let Z of $){let K=Z.kind==="server"?Q:J;for(let Y of e(Z.code))K.add(Y)}return[...Q].filter((Z)=>J.has(Z)).sort()}var r2=/^\s*[A-Z_$][\w$]*\s*=[^=]/i;function c2($){let Q=new Map,J=/!|===|!==|==|!=|&&|\|\||<|>|\btypeof\b|\binstanceof\b|\bin\b/;for(let Z of $){let K=E(Z),{depths:Y,balanced:j}=o(K);if(!j)continue;let z=/^([ \t]*(?:export[ \t]+)?const[ \t]+)([A-Za-z_$][\w$]*)[ \t]*(?::[^=\n]+)?=[ \t]*([^\n]+)$/gm;for(let V of K.matchAll(z)){let q=V.index??0;if(Y[q+V[1].length]!==0)continue;let G=V[2],w=q+V[0].length-V[3].length,F=Z.slice(w,q+V[0].length).trim().replace(/;$/,"").trim(),v=V[3],O=J.test(v)&&!/\bawait\b|=>|\bfunction\b|[{}]/.test(v)&&!/[,+\-*/%&|?:=]$/.test(F)&&o(v).balanced;Q.set(G,Q.has(G)||!O?null:F)}}return new Map([...Q].filter((Z)=>Z[1]!==null))}function c$($,Q,J=0,Z=new Set){if(Q.size===0||J>=5)return $;let K=E($),Y="",j=0;for(let z of K.matchAll(/[A-Za-z_$][\w$]*/g)){let V=z.index??0,q=z[0],G=Q.get(q);if(!G||Z.has(q))continue;let w=K.slice(0,V).trimEnd(),F=K.slice(V+q.length).trimStart();if(w.endsWith(".")||/^:(?!:)/.test(F)&&/[{,]$/.test(w))continue;if(V>0&&/[\w$]/.test(K[V-1]))continue;Y+=`${$.slice(j,V)}(${c$(G,Q,J+1,new Set([...Z,q]))})`,j=V+q.length}return Y+$.slice(j)}function s2($,Q){let J=/@(if|unless|elseif|else|endif|endunless)\b\s*(\()?/g,Z=[],K;while((K=J.exec($))!==null){if(K.index>Q)break;let Y=K[1];if(K.index===Q){if(Y==="elseif"){let z=Z[Z.length-1];if(z?.current)z.seen.push(z.current);if(z)z.current=null}break}if(Y==="endif"||Y==="endunless"){Z.pop();continue}let j="";if(K[2]==="("){let z=0,V=K.index+K[0].length-1,q=V+1;for(;V<$.length;V++){let G=$[V];if(G==="(")z++;else if(G===")"){if(z--,z===0)break}}j=$.slice(q,V).trim(),J.lastIndex=V+1}if(Y==="if")Z.push({seen:[],current:j});else if(Y==="unless")Z.push({seen:[],current:`!(${j})`});else if(Y==="elseif"||Y==="else"){let z=Z[Z.length-1];if(!z)continue;if(z.current)z.seen.push(z.current);z.current=Y==="elseif"?j:null}}return Z.flatMap((Y)=>[...Y.seen.map((j)=>`!(${j})`),...Y.current?[Y.current]:[]]).filter(Boolean)}function n2($){let Q=$.code.trim();if(!Q)return null;if($.attribute?.startsWith("@")){if(r2.test(Q))return null;let Z=";(($event: any): void => { ";return{text:`${Z}${Q} });`,prefixLength:Z.length}}let J=";void ((";return{text:`${J}${Q}));`,prefixLength:J.length}}var i2=/(\bfrom\s*|\bimport\s*\(\s*|\bimport\s+)(['"])(\.{1,2}\/[^'"\n]*)\2/g;function m$($,Q){if(!Q)return $;return $.replace(i2,(J,Z,K,Y)=>{let j=W$.default.resolve(Q,Y).replace(/\\/g,"/");return`${Z}${K}${j}${K}`})}function a2($){return" ".repeat(Math.max(0,($.startColumn??1)-1))}function o2($){let Q=new Set,J=E($);for(let Z of J.matchAll(/\bimport\s+(?:type\s+)?([\w$*{}\s,]+?)\s+from\b/g)){let K=Z[1],Y=/\{([^}]*)\}/.exec(K);for(let q of Y?.[1].split(",")??[]){let G=q.trim().replace(/^type\s+/,"").split(/\s+as\s+/).pop()?.trim();if(G&&/^[A-Z_$][\w$]*$/i.test(G))Q.add(G)}let j=K.replace(/\{[^}]*\}/,""),z=/\*\s*as\s+([A-Z_$][\w$]*)/i.exec(j);if(z)Q.add(z[1]);let V=/^\s*([A-Z_$][\w$]*)/i.exec(j);if(V&&V[1]!=="type")Q.add(V[1])}return[...Q].sort()}function s$($,Q={}){let J=$$($),Z=$.split(`
|
|
33
|
+
`),K=Array.from({length:Z.length},()=>""),Y=new Map,j=Q.filePath&&Q.templateExpressions!==!1?N$($,J$($),{filePath:Q.filePath,componentsDir:Q.componentsDir,projectRoot:Q.projectRoot,readComponent:Q.readComponent,scriptCode:(w,F)=>$$(w).map((v)=>m$(v.code,W$.default.dirname(F))).join(`
|
|
34
|
+
`)}):void 0,z=new Set,V=[];for(let w of J){let F=h2(b2(w.code)),v=m$(F,Q.originDir??"").split(`
|
|
35
|
+
`);v.forEach((O,M)=>{let D=w.startLine-1+M;if(D<K.length)K[D]=M===0?a2(w)+O:O,z.add(D)}),V.push(w.startLine-1+v.length-1)}for(let w of V){let F=K[w]?.trim()===""?w:w+1;if(F<K.length&&K[F].trim()===""&&(F===w||!z.has(F)))K[F]=";"}let q=(w,F)=>{for(let[v,O]of w.split(`
|
|
36
|
+
`).entries())if(K.push(O),F)Y.set(K.length,v===0?F:{...F,line:F.line+v,column:1,prefixLength:0})};if(Q.globals!==!1){q("");let w=new Set([...J.flatMap((M)=>e(M.code)),...J.flatMap((M)=>o2(M.code))]),F=(M)=>{if(!w.has(M))q(`declare var ${M}: any`)};if(Q.runtimeGlobals!==!1){if(!w.has("window"))q("declare var window: any");for(let M of p)F(M)}let v=[...new Set([...h$,...j$,...p$])].filter((M)=>Q.runtimeGlobals!==!1||!p.includes(M));if(Q.contextScope==="global"){q("declare global {");for(let M of v)q(` var ${M}: any`);q("}")}else{for(let M of h$)F(M);for(let M of j$)F(M);for(let M of p$)F(M)}q(`declare var ${V$}: any`);let O=new Set(J.flatMap((M)=>e(M.code)));q(`type ${b$}<T> = T extends readonly (infer E)[] ? E : T extends Iterable<infer E2> ? E2 : any`);for(let M of d2($)){if(O.has(M.name))continue;let D=M.iterable&&O.has(M.iterable)?`${b$}<typeof ${M.iterable}>`:"any";q(`declare var ${M.name}: ${D}`)}}if(Q.templateExpressions!==!1){if(j?.declarations)for(let F of j.declarations.split(`
|
|
37
|
+
`))q(F);let w=p2($).map((F)=>{let v=j?.events.get(F.offset??-1);if(v){F.anchor=!0;let O=F.code.trim(),M=/^([\w$]+)\s*=\s*([^=][\s\S]*)$/.exec(O),D=M?`void ((${M[2]}) satisfies __StxAssignedValue<typeof ${M[1]}>)`:/^[\w$]+(?:\.[\w$]+)*$/.test(O)?`${O} satisfies (($event: ${v}) => unknown)`:O,P=`;(($event: ${v}): void => { `;return{expression:F,statement:{text:`${P}${D} });`,prefixLength:P.length}}}return{expression:F,statement:n2(F)}}).filter((F)=>F.statement!==null);if(w.push(...j?.checks||[]),w.length>0){let F=J$($),v=c2(J.map((P)=>P.code)),M=[...new Set(J.flatMap((P)=>e(P.code)))].filter((P)=>/^[A-Z_$][\w$]*$/i.test(P)),D=0;if(M.length>0){q(g2);for(let P of M)q(`type __StxT_${P} = ${d$}<typeof ${P}>`);q(`;((${M.map((P)=>`${P}: __StxT_${P}`).join(", ")}) => {`),D=1}for(let{expression:P,statement:C}of w){let L=" ".repeat(D),y=P.offset===void 0?[]:s2(F,P.offset),T=y.length>0?`${y.map((x)=>`if (${c$(x,v)}) `).join("")}{ `:"",A=y.length>0?" }":"";q(L+T+C.text+A,{line:P.line,column:P.column,expression:P,prefixLength:C.prefixLength+L.length+T.length,guardPrefixLength:L.length+T.length})}if(D>0)q("});")}}let G=!1;if(Q.reference&&K[0]!==void 0&&K[0].trim()==="")K[0]=`/// <reference path=${JSON.stringify(Q.reference.replace(/\\/g,"/"))} />`,G=!0;return q("export {}"),{text:K.join(`
|
|
38
|
+
`),lineMap:Y,sourceLineCount:Z.length,componentDependencies:j?.dependencies,referenced:G}}function q$($){let Q=[0];for(let J=0;J<$.length;J++)if($.charCodeAt(J)===10)Q.push(J+1);return Q}function Q$($,Q){let J=0,Z=$.length-1;while(J<Z){let K=Math.ceil((J+Z)/2);if($[K]<=Q)J=K;else Z=K-1}return{line:J+1,column:Q-$[J]+1}}function K$($,Q,J){let Z=Math.min(Math.max(Q,1),$.length)-1,K=Z+1<$.length?$[Z+1]-1:Number.MAX_SAFE_INTEGER;return Math.min($[Z]+Math.max(J,1)-1,K)}function n$($,Q){if(!$.expression)return!1;return $.inGuard===!0||Q===2774}function i$($,Q,J){let Z=$.lineMap.get(Q);if(!Z)return Q<=$.sourceLineCount?{line:Q,column:J}:null;let K=Z.expression?.anchor?0:Math.max(0,J-1-(Z.prefixLength??0));return{line:Z.line,column:Z.column+K,expression:Z.expression,inGuard:J<=(Z.guardPrefixLength??0)}}var a$=["module","exports","require","props","$props","$bool","defineProps","withDefaults","defineClientPayload","useServerData","useRuntimeConfig","useServerRuntimeConfig","state","derived","effect","batch","onMount","onDestroy","definePageMeta","useRoute","useRouter","useHead","useSeoMeta","setResponseStatus","setResponseHeader","notFound","ref","reactive","computed","watch","onMounted","onUnmounted","nextTick","defineEmits","defineExpose","defineSlots","provide","inject","useColorMode","useDark","useMediaQuery","useScrollLock","usePreferredDark","usePreferredLight","usePreferredReducedMotion","usePreferredContrast","window","document","console","confirm","alert","fetch","params"];var t2=new Set(["module","exports","require","$bool","window","document","console","confirm","alert","fetch"]),t$=a$.filter(($)=>!t2.has($)).sort(),e$=[...p].sort(),e2=[...new Set([...t$,...e$])].sort(),$4=new Set(t$),J4=new Set(e$),Z4=new Set(e2),o$=/\bimport\s+(?!type[\s{])\{([^}]*)\}\s*from\s*(['"])stx\2/g;function Q4($,Q){if(Q==="server")return`'${$}' is not provided by 'stx' in a <script server> block. The engine binds only its own names there (defineProps, state, useHead, ...); any other name becomes \`await import('stx')\`, which does not resolve, so the whole script fails when the page renders. Import it from '@stacksjs/stx' instead.`;return`'${$}' is not provided by 'stx' in a client <script> block. The import is replaced by the window.stx runtime, which has no '${$}', so it is undefined in the browser.`}function $2($,Q){let J=[];for(let Z of Q){if(Z.offset===void 0)continue;let K=Z.kind==="server"?$4:J4;o$.lastIndex=0;for(let Y of Z.code.matchAll(o$)){let j=Y.index+Y[0].indexOf("{")+1;for(let z of Y[1].matchAll(/[^,]+/g)){let V=z[0];if(/^\s*type\s/.test(V))continue;let q=/^\s*([A-Za-z_$][\w$]*)/.exec(V);if(!q)continue;let G=q[1];if(!Z4.has(G)||K.has(G))continue;let w=Z.offset+j+z.index+q[0].length-G.length,F=$.slice(0,w),v=F.split(`
|
|
39
|
+
`).length;J.push({line:v,column:w-(F.lastIndexOf(`
|
|
40
|
+
`)+1)+1,offset:w,length:G.length,name:G,kind:Z.kind,message:Q4(G,Z.kind)})}}}return J}var u=h(require("node:path")),K4="@stacksjs/stx-typescript-plugin";function z4($,Q){let J=u.default.resolve($);for(;;){let Z=u.default.join(J,"tsconfig.json");if(Q(Z))return Z;let K=u.default.dirname(J);if(K===J)return;J=K}}function J2($,Q,J){let Z=z4($,J);if(!Z)return;let K=new Set,Y=(j)=>{if(K.has(j))return;K.add(j);let z=Q(j);if(!z)return;let V=z.compilerOptions?.plugins;if(Array.isArray(V)){let G=V.find((F)=>F?.name===K4),w=Array.isArray(G?.libs)?G.libs.filter((F)=>typeof F==="string"):[];return G?{configPath:j,libs:w.map((F)=>u.default.resolve(u.default.dirname(j),F))}:null}let q=typeof z.extends==="string"?[z.extends]:Array.isArray(z.extends)?z.extends:[];for(let G of[...q].reverse()){if(typeof G!=="string"||!G.startsWith("."))continue;let w=u.default.resolve(u.default.dirname(j),G.endsWith(".json")?G:`${G}.json`),F=Y(w);if(F!==void 0)return F}return};return Y(Z)??void 0}var Z2=Symbol.for("@stacksjs/stx-typescript-plugin"),j4=new Set([2300,2451,2403]);function n($){return $.endsWith(".stx")}function Q2($){return n($)||$.endsWith(".md")}function Y4($){if(!$)return;return b.existsSync(k.default.join($,"stx-module.d.ts"))&&b.existsSync(k.default.join($,"stx.d.ts"))?k.default.join($,"stx-module.d.ts"):void 0}function V4($,Q=b.existsSync){let J=$;for(;;){let Z=k.default.join(J,"node_modules","@stacksjs","stx","stx-module.d.ts");if(Q(Z))return Z;let K=k.default.dirname(J);if(K===J)return;J=K}}function W4($,Q=k.default.join(z2.tmpdir(),"stx-typescript-plugin")){let J=$.map((K)=>`/// <reference path=${JSON.stringify(K.replace(/\\/g,"/"))} />`).join(`
|
|
41
41
|
`)+`
|
|
42
|
-
|
|
42
|
+
`,Z=k.default.join(Q,`${K2.createHash("sha1").update(J).digest("hex").slice(0,16)}.d.ts`);if(!b.existsSync(Z))b.mkdirSync(Q,{recursive:!0}),b.writeFileSync(Z,J);return Z}function q4($,Q,J,Z){let K=(z)=>s$(Q,{templateExpressions:n($),originDir:k.default.dirname($),filePath:$,readComponent:Z.readComponent,componentsDir:Z.componentsDir,projectRoot:Z.projectRoot,reference:z,runtimeGlobals:!z,contextScope:"global"}),Y=K(Z.declarations);if(Z.declarations&&!Y.referenced)Y=K(void 0);let j=$$(Q);return{version:J,source:Q,virtual:Y,blocks:j,sourceStarts:q$(Q),virtualStarts:q$(Y.text),collisions:new Set(r$(j))}}function H4($,Q){let J=$.findConfigFile(Q,$.sys.fileExists);if(!J)return;let Z=$.readConfigFile(J,$.sys.readFile);if(Z.error)return;let K=$.parseJsonConfigFileContent(Z.config,$.sys,k.default.dirname(J),void 0,J),Y={};if(K.options.types)Y.types=K.options.types;let j=K.options.paths;if(j){let z=K.options.baseUrl??K.options.pathsBasePath??k.default.dirname(J);Y.paths={};for(let[V,q]of Object.entries(j))Y.paths[V]=q.map((G)=>k.default.isAbsolute(G)?G:k.default.resolve(z,G))}return Y}function U4($,Q={}){let J=$.typescript,Z={},K=new Set,Y=new WeakSet;return{create(j){let z=(W)=>{j.project.projectService.logger.info(`[stx-plugin] ${W}`)};if(j.languageService[Z2])return Y.add(j.project),z("already applied to this project by another registration of the plugin; leaving it as it is"),j.languageService;z("TypeScript stx plugin initialized");let{languageService:V,languageServiceHost:q}=j,G=(W)=>{let U=V[W];return typeof U==="function"?U.bind(V):()=>{return}},w=q.getScriptSnapshot?.bind(q),F=q.getScriptVersion?.bind(q),v=Y4(Q.declarationsDir);if(!v)z("the bundled stx declarations were not found; apps without their own fall back to `any`");let O=(W)=>J.sys?.fileExists(W)??b.existsSync(W),M=(W)=>{let U=J.readConfigFile?.(W,(H)=>J.sys.readFile(H));return U&&!U.error?U.config:void 0},D=new Map,P=(W)=>{let U=k.default.dirname(W);if(!D.has(U)){let H=V4(U,O)??v,X=[];try{X=(J2(U,M,O)?.libs??[]).filter(O)}catch(B){z(`could not read the stx entry of the project's tsconfig: ${String(B)}`)}D.set(U,H&&X.length>0?W4([H,...X]):H)}return D.get(U)},C=new Map,L=(W)=>{let U=w?.(W);return U?U.getText(0,U.getLength()):J.sys?.readFile(W)},y=()=>Z.enabled!==!1;K.add(()=>{C.clear(),j.project.refreshDiagnostics?.()});let T=(W)=>{if(!Q2(W)||!w)return;let U=`${F?.(W)||"0"}:${q.getProjectVersion?.()||""}`,H=C.get(W);if(H&&H.version===U&&[...H.virtual.componentDependencies||[]].every(([B,I])=>L(B)===I))return H;let X=w(W);if(!X)return;try{let B=j.project.getCurrentDirectory?.(),I=B?k.default.resolve(B,typeof j.config?.componentsDir==="string"?j.config.componentsDir:"components"):void 0,_=q4(W,X.getText(0,X.getLength()),U,{declarations:P(W),readComponent:L,componentsDir:I,projectRoot:B});return C.set(W,_),_}catch(B){z(`failed to build virtual document for ${W}: ${String(B)}`);return}},A=(W)=>n(W)?T(W):void 0,x=(W,U)=>{let H=Q$(W.virtualStarts,U);return i$(W.virtual,H.line,H.column)},i=(W,U)=>{let H=x(W,U);if(!H)return;return K$(W.sourceStarts,H.line,H.column)},N=(W,U)=>{let H=Q$(W.sourceStarts,U);return K$(W.virtualStarts,H.line,H.column)},g=(W,U)=>{let H=i(W,U.start);if(H===void 0)return;let X=i(W,U.start+U.length);return{start:H,length:X!==void 0&&X>=H?X-H:U.length}},l=(W,U)=>W.blocks.some((H)=>H.offset!==void 0&&U>=H.offset&&U<=H.offset+H.code.length),H$=(W)=>{let U=A(W.fileName);if(!U)return W;let H=g(U,W.textSpan);if(!H)return;let X=W.contextSpan?g(U,W.contextSpan):void 0;return{...W,textSpan:H,contextSpan:X}},U$=(W)=>W?.map(H$).filter((U)=>U!==void 0),G$=(W)=>W?.filter((U)=>{let H=A(U.fileName);if(!H)return!0;let{line:X}=Q$(H.virtualStarts,U.textSpan.start);return X<=H.virtual.sourceLineCount&&!H.virtual.lineMap.has(X)});if(w)q.getScriptSnapshot=(W)=>{let U=T(W);if(U)return J.ScriptSnapshot.fromString(U.virtual.text);return w(W)};let F$=q.getCompilationSettings?.bind(q),Y2=J.server?.ProjectKind!==void 0&&j.project.projectKind===J.server.ProjectKind.Inferred;if(F$&&Y2){let W=null,U;q.getCompilationSettings=()=>{let H=F$();if(W===null)try{W=H4(J,j.project.getCurrentDirectory())}catch(X){z(`could not read the project's tsconfig: ${String(X)}`),W=void 0}if(!W)return H;if(U?.from!==H)U={from:H,options:{...H,...W.paths&&!H.paths?{paths:W.paths}:{},...W.types&&!H.types?{types:W.types}:{}}};return U.options}}let z$=(W,U)=>{let H=T(W);if(!H)return U;if(n(W)&&!y())return[];let X=[];for(let B of U){let I=typeof B.messageText==="string"?B.messageText:B.messageText.messageText;if(j4.has(B.code)){let f=I.match(/'([^']+)'/)?.[1];if(f&&H.collisions.has(f))continue}if(B.start===void 0){X.push(B);continue}let _=x(H,B.start);if(!_||n$(_,B.code))continue;let S=K$(H.sourceStarts,_.line,_.column),d=i(H,B.start+(B.length??0));X.push({...B,start:S,length:d!==void 0&&d>S?d-S:B.length??0})}return X},V2=G("getSemanticDiagnostics");V.getSemanticDiagnostics=(W)=>{let U=z$(W,V2(W)),H=A(W);if(!H||!y())return U;let X=V.getProgram?.()?.getSourceFile(W);for(let B of $2(H.source,H.blocks))U.push({file:X,start:B.offset,length:B.length,messageText:B.message,category:J.DiagnosticCategory?.Error??1,code:0,source:"stx"});return U};let W2=G("getSyntacticDiagnostics");V.getSyntacticDiagnostics=(W)=>z$(W,W2(W));let q2=G("getSuggestionDiagnostics");V.getSuggestionDiagnostics=(W)=>z$(W,q2(W));let w$=G("getQuickInfoAtPosition");V.getQuickInfoAtPosition=(W,U,...H)=>{let X=A(W);if(!X)return w$(W,U,...H);if(!y())return;let B=w$(W,N(X,U),...H);if(!B)return B;let I=g(X,B.textSpan);return I?{...B,textSpan:I}:void 0};let B$=G("getCompletionsAtPosition");V.getCompletionsAtPosition=(W,U,H,...X)=>{let B=A(W);if(!B)return B$(W,U,H,...X);if(!y()||!l(B,U))return;let I=B$(W,N(B,U),{...H,includeCompletionsForModuleExports:!1},...X);if(!I)return I;let _=(S)=>S&&g(B,S);return{...I,optionalReplacementSpan:_(I.optionalReplacementSpan),entries:I.entries.filter((S)=>!S.name.startsWith("__stx")&&!S.name.startsWith("__Stx")).map((S)=>S.replacementSpan?{...S,replacementSpan:_(S.replacementSpan)}:S)}};let X$=G("getCompletionEntryDetails");V.getCompletionEntryDetails=(W,U,...H)=>{let X=A(W);if(!X)return X$(W,U,...H);let B=X$(W,N(X,U),...H);return B?{...B,codeActions:void 0}:B};let M$=G("getSignatureHelpItems");V.getSignatureHelpItems=(W,U,...H)=>{let X=A(W);if(!X)return M$(W,U,...H);if(!y()||!l(X,U))return;let B=M$(W,N(X,U),...H),I=B&&g(X,B.applicableSpan);return B&&I?{...B,applicableSpan:I}:void 0};let v$=G("getDefinitionAndBoundSpan");V.getDefinitionAndBoundSpan=(W,U)=>{let H=A(W);if(!H)return O$(v$(W,U));if(!y())return;let X=v$(W,N(H,U)),B=X&&g(H,X.textSpan);return X&&B?{...O$(X),textSpan:B}:void 0};let O$=(W)=>W&&{...W,definitions:G$(W.definitions)};for(let W of["getDefinitionAtPosition","getTypeDefinitionAtPosition","getImplementationAtPosition"]){let U=G(W);V[W]=(H,X,...B)=>{let I=A(H);if(I&&!y())return;return G$(U(H,I?N(I,X):X,...B))}}for(let W of["getReferencesAtPosition"]){let U=G(W);V[W]=(H,X,...B)=>{let I=A(H);if(I&&!y())return;return U$(U(H,I?N(I,X):X,...B))}}let H2=G("findReferences");V.findReferences=(W,U)=>{let H=A(W);if(H&&!y())return;return H2(W,H?N(H,U):U)?.map((X)=>{let B=H$(X.definition);return B?{definition:B,references:U$(X.references)}:void 0}).filter((X)=>X!==void 0)};let U2=G("getDocumentHighlights");V.getDocumentHighlights=(W,U,H)=>{let X=A(W);if(X&&(!y()||!l(X,U)))return;return U2(W,X?N(X,U):U,H)?.map((B)=>{let I=A(B.fileName);if(!I)return B;return{...B,highlightSpans:B.highlightSpans.map((_)=>{let S=g(I,_.textSpan);return S?{..._,textSpan:S,contextSpan:_.contextSpan&&g(I,_.contextSpan)}:void 0}).filter((_)=>_!==void 0)}})};let G2=G("getNavigationTree");V.getNavigationTree=(W)=>{let U=G2(W),H=A(W);if(!H)return U;let X=(I)=>{let _=I.spans.map((f)=>g(H,f)).filter((f)=>f!==void 0);if(_.length===0)return;let S=I.nameSpan&&g(H,I.nameSpan),d=I.childItems?.map(X).filter((f)=>f!==void 0);return{...I,spans:_,nameSpan:S,childItems:d}},B={...U,spans:[{start:0,length:H.source.length}]};return y()?{...B,childItems:U.childItems?.map(X).filter((I)=>I!==void 0)}:{...B,childItems:[]}};let F2={getEncodedSemanticClassifications:()=>{return},getEncodedSyntacticClassifications:()=>{return},getSemanticClassifications:()=>[],getSyntacticClassifications:()=>[],getFormattingEditsForDocument:()=>[],getFormattingEditsForRange:()=>[],getFormattingEditsAfterKeystroke:()=>[],getNavigationBarItems:()=>[],getOutliningSpans:()=>[],getBraceMatchingAtPosition:()=>[],getTodoComments:()=>[],getDocCommentTemplateAtPosition:()=>{return},getJsxClosingTagAtPosition:()=>{return},getLinkedEditingRangeAtPosition:()=>{return},getSpanOfEnclosingComment:()=>{return},getCodeFixesAtPosition:()=>[],getApplicableRefactors:()=>[],getEditsForRefactor:()=>{return},getRenameInfo:()=>({canRename:!1,localizedErrorMessage:"Rename is not supported in .stx files."}),findRenameLocations:()=>{return},provideInlayHints:()=>[],prepareCallHierarchy:()=>{return},provideCallHierarchyIncomingCalls:()=>[],provideCallHierarchyOutgoingCalls:()=>[],getFileReferences:()=>[]};for(let[W,U]of Object.entries(F2)){let H=V[W];if(typeof H!=="function")continue;let X=H.bind(V);V[W]=(B,...I)=>typeof B==="string"&&n(B)?U():X(B,...I)}return V[Z2]=!0,z("Language service proxy created"),V},getExternalFiles(j){if(Y.has(j))return[];return j.getFileNames().filter(Q2)},onConfigurationChanged(j){Z={...Z,...j};for(let z of K)z()}}}var j2=U4;module.exports=j2;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stacksjs/stx-vscode",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.2.
|
|
4
|
+
"version": "0.2.360",
|
|
5
5
|
"description": "stx language support for VS Code extensions to embed: the hovers, completions, diagnostics, grammar, snippets, language configuration and TypeScript server plugin behind the stx extension.",
|
|
6
6
|
"author": "Chris Breuer <chris@stacksjs.org>",
|
|
7
7
|
"license": "MIT",
|