@stacksjs/stx-vscode 0.2.573 → 0.2.575

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,6 +1,6 @@
1
1
  {
2
2
  "name": "@stacksjs/stx-typescript-plugin",
3
- "version": "0.2.573",
3
+ "version": "0.2.575",
4
4
  "private": true,
5
5
  "main": "index.js"
6
6
  }
@@ -71,6 +71,7 @@ declare module 'stx' {
71
71
  export const setResponseHeader: (name: string, value: string) => void // <script server> only
72
72
  export const setResponseStatus: (status: number) => void // <script server> only
73
73
  export const setRouteParams: typeof globalThis.setRouteParams
74
+ export const sharedRequest: typeof globalThis.sharedRequest
74
75
  export const state: typeof globalThis.state
75
76
  export const untrack: typeof globalThis.untrack
76
77
  export const useAsync: typeof globalThis.useAsync
@@ -113,6 +114,7 @@ declare module 'stx' {
113
114
  export const useServerRuntimeConfig: () => Readonly<{ public: Record<string, any>, private: Record<string, any> }> // <script server> only
114
115
  export const useSessionStorage: typeof globalThis.useSessionStorage
115
116
  export const keptState: typeof globalThis.keptState
117
+ export const memo: typeof globalThis.memo
116
118
  export const forgetKeptState: typeof globalThis.forgetKeptState
117
119
  export const setKeptScope: typeof globalThis.setKeptScope
118
120
  export const flushKeptState: typeof globalThis.flushKeptState
@@ -68,9 +68,18 @@ type StxCleanup = () => void
68
68
  // ============================================================================
69
69
 
70
70
  declare function state<T>(_initial: T): StxSignal<T>
71
- declare function derived<T>(_compute: () => T): StxDerivedSignal<T>
71
+ /**
72
+ * A computed value. With `equals`, a change upstream recomputes it at once
73
+ * (while anything reads it) and reaches its readers only when
74
+ * `equals(previous, next)` is false; without it, it is lazy and every upstream
75
+ * change reaches them.
76
+ */
77
+ declare function derived<T>(_compute: () => T, _options?: { equals?: (_previous: T, _next: T) => boolean }): StxDerivedSignal<T>
78
+ /** A derived value that reaches its readers only when it changes (`Object.is`, or `equals`). */
79
+ declare function memo<T>(_compute: () => T, _equals?: (_previous: T, _next: T) => boolean): StxDerivedSignal<T>
72
80
  declare function effect(_fn: () => void | StxCleanup): StxCleanup
73
81
  declare function batch(_fn: () => void): void
82
+ /** Read a signal without subscribing the running effect to it; anything else is returned as it is. */
74
83
  declare function untrack<T>(_value: T | StxSignal<T> | StxDerivedSignal<T>): T
75
84
  declare function peek<T>(_fn: () => T): T
76
85
  declare function isSignal(value: unknown): value is StxSignal<unknown>
@@ -536,6 +545,19 @@ interface StxCachedQuery<T> {
536
545
  /** Data kept per account, shown at once from last time and refreshed behind. Same key, same query. */
537
546
  declare function cachedQuery<T = any>(_key: string, _options?: StxCachedQueryOptions<T>): StxCachedQuery<T>
538
547
 
548
+ /** One request for every caller that wants the same answer: see shared-request.ts. */
549
+ interface StxSharedRequest<K, T> {
550
+ /** Join a request in flight whose key covers `key` (or a waiting fresh rerun), or start one. */
551
+ run: (_key: K, _start: () => Promise<T>) => Promise<T>
552
+ /** Never joins: waits out a request in flight for `key`, then starts once more (one rerun for every caller meanwhile). */
553
+ fresh: (_key: K, _start: () => Promise<T>) => Promise<T>
554
+ /** A checker that stays true until latest() is called again. */
555
+ latest: () => () => boolean
556
+ /** True while a request is out or a fresh rerun is waiting. */
557
+ readonly busy: boolean
558
+ }
559
+ declare function sharedRequest<K = string, T = any>(_options?: { covers?: (_running: K, _wanted: K) => boolean }): StxSharedRequest<K, T>
560
+
539
561
  /**
540
562
  * Options accepted by the auto-imported `useCookie` global.
541
563
  *
@@ -698,10 +720,36 @@ declare function definePageMeta(_meta: Record<string, unknown>): void
698
720
  declare function ref<T>(_value: T): StxRef<T>
699
721
  declare function reactive<T extends object>(_target: T): T
700
722
  declare function computed<T>(_getter: () => T): StxRef<T>
723
+ type StxWatchSource<T> = (() => T) | StxRef<T> | StxSignal<T> | StxDerivedSignal<T>
724
+ interface StxWatchOptions {
725
+ /** Call back at once with the current value (and no previous one). */
726
+ immediate?: boolean
727
+ /** Compare structurally rather than with Object.is (a reactive object source is deep by default). */
728
+ deep?: boolean
729
+ /** When to call back: after the next render ('post', the default), on a microtask ('pre') or inside the change ('sync'). */
730
+ flush?: 'post' | 'pre' | 'sync'
731
+ /** Stop after the first call. */
732
+ once?: boolean
733
+ }
734
+ /**
735
+ * Call back with (next, previous) when the source's value changes - not at
736
+ * creation unless `immediate`. The source is a signal, derived, getter,
737
+ * reactive object, or an array of those. Returns a stop function.
738
+ */
739
+ declare function watch<const S extends readonly StxWatchSource<unknown>[]>(
740
+ _source: S,
741
+ _callback: (_value: { [K in keyof S]: S[K] extends StxWatchSource<infer V> ? V : never }, _oldValue: { [K in keyof S]: S[K] extends StxWatchSource<infer V> ? V : never } | undefined, _onCleanup: (_fn: () => void) => void) => void,
742
+ _options?: StxWatchOptions,
743
+ ): StxCleanup
701
744
  declare function watch<T>(
702
- _source: (() => T) | StxRef<T> | StxSignal<T>,
703
- _callback: (value: T, oldValue: T) => void,
704
- _options?: { immediate?: boolean, deep?: boolean },
745
+ _source: StxWatchSource<T>,
746
+ _callback: (_value: T, _oldValue: T | undefined, _onCleanup: (_fn: () => void) => void) => void,
747
+ _options?: StxWatchOptions,
748
+ ): StxCleanup
749
+ declare function watch<T extends object>(
750
+ _source: T,
751
+ _callback: (_value: T, _oldValue: T | undefined, _onCleanup: (_fn: () => void) => void) => void,
752
+ _options?: StxWatchOptions,
705
753
  ): StxCleanup
706
754
  declare function watchEffect(_fn: () => void): StxCleanup
707
755
  declare function watchMultiple(
@@ -909,6 +957,7 @@ interface StxRuntimeRegistry {
909
957
  // Signals
910
958
  state: typeof state
911
959
  derived: typeof derived
960
+ memo: typeof memo
912
961
  effect: typeof effect
913
962
  batch: typeof batch
914
963
  untrack: typeof untrack
@@ -980,6 +1029,7 @@ interface StxRuntimeRegistry {
980
1029
  setKeptScope: typeof setKeptScope
981
1030
  flushKeptState: typeof flushKeptState
982
1031
  cachedQuery: typeof cachedQuery
1032
+ sharedRequest: typeof sharedRequest
983
1033
  useEventListener: typeof useEventListener
984
1034
  useScrollLock: typeof useScrollLock
985
1035
  useWebSocket: typeof useWebSocket
@@ -1,13 +1,13 @@
1
- var yt=Object.create;var{getPrototypeOf:wt,defineProperty:Ee,getOwnPropertyNames:Et}=Object;var ve=Object.prototype.hasOwnProperty;function vt(e){return this[e]}var _t,$t,W=(e,s,t)=>{var n=e!=null&&typeof e==="object";if(n){var r=s?_t??=new WeakMap:$t??=new WeakMap,o=r.get(e);if(o)return o}t=e!=null?yt(wt(e)):{};let i=s||!e||!e.__esModule||!ve.call(e,"default")?Ee(t,"default",{value:e,enumerable:!0}):t;if(e&&typeof e==="object"||typeof e==="function"){for(let a of Et(e))if(!ve.call(i,a))Ee(i,a,{get:vt.bind(e,a),enumerable:!0})}if(n)r.set(e,i);return i};var lt=require("node:crypto"),N=require("node:fs"),ut=require("node:os"),P=W(require("node:path"));var ae=["browserQuery","BrowserQueryBuilder","BrowserQueryError","browserAuth","configureBrowser","getBrowserConfig","createBrowserDb","createBrowserModel","isBrowser","debounce","throttle","retry","sleep","wait","delay","waitUntil","waitWhile","lazy","clamp","rand","readableSize","useActiveElement","useIntervalFn","useObjectUrl"];var ue=W(require("node:path"),1);function Tt(e,s){let t=e[s],n=s+1;while(n<e.length){if(e[n]==="\\"){n+=2;continue}if(e[n]===t)return n+1;n++}return e.length}function Ct(e,s){let t=s+1;while(t<e.length){if(e[t]==="\\"){t+=2;continue}if(e[t]==="`")return t+1;if(e[t]==="$"&&e[t+1]==="{"){if(t=_e(e,t+2),t<e.length)t++;continue}t++}return e.length}function _e(e,s){let t=1,n=s,r="{",o="";while(n<e.length){let i=e[n];if(i==="\\"){n+=2;continue}if(i==='"'||i==="'"){n=Tt(e,n),r=G,o="";continue}if(i==="`"){n=Ct(e,n),r=G,o="";continue}if(i==="/"&&e[n+1]==="/"){while(n<e.length&&e[n]!==`
2
- `)n++;continue}if(i==="/"&&e[n+1]==="*"){n+=2;while(n<e.length&&e.slice(n,n+2)!=="*/")n++;n+=2;continue}if(i==="/"&&$e(r,o)){let a=Te(e,n);if(a!==-1){n=a,r=G,o="";continue}}if(i==="{")t++;else if(i==="}"){if(t--,t===0)return n}if(/[\w$]/.test(i))o=/[\w$]/.test(r)?o+i:i,r=i;else if(!/\s/.test(i))r=i,o="";n++}return e.length}var At=new Set(["return","typeof","instanceof","in","of","new","delete","void","throw","case","do","else","yield","await"]);function $e(e,s){if(s)return At.has(s);return!(e===")"||e==="]"||e===G)}var G="\x00";function Te(e,s){let t=s+1,n=!1;while(t<e.length){let r=e[t];if(r===`
3
- `)return-1;if(r==="\\"){t+=2;continue}if(r==="[")n=!0;else if(r==="]")n=!1;else if(r==="/"&&!n){t++;while(t<e.length&&/[a-z]/i.test(e[t]))t++;return t}t++}return-1}function L(e){let s="",t=0,n="",r="";while(t<e.length){let o=e.slice(t,t+2);if(o==="//"){while(t<e.length&&e[t]!==`
1
+ var yt=Object.create;var{getPrototypeOf:wt,defineProperty:Ee,getOwnPropertyNames:Et}=Object;var ve=Object.prototype.hasOwnProperty;function vt(e){return this[e]}var _t,$t,V=(e,s,t)=>{var n=e!=null&&typeof e==="object";if(n){var i=s?_t??=new WeakMap:$t??=new WeakMap,o=i.get(e);if(o)return o}t=e!=null?yt(wt(e)):{};let r=s||!e||!e.__esModule||!ve.call(e,"default")?Ee(t,"default",{value:e,enumerable:!0}):t;if(e&&typeof e==="object"||typeof e==="function"){for(let a of Et(e))if(!ve.call(r,a))Ee(r,a,{get:vt.bind(e,a),enumerable:!0})}if(n)i.set(e,r);return r};var lt=require("node:crypto"),j=require("node:fs"),ut=require("node:os"),P=V(require("node:path"));var ae=["browserQuery","BrowserQueryBuilder","BrowserQueryError","browserAuth","configureBrowser","getBrowserConfig","createBrowserDb","createBrowserModel","isBrowser","debounce","throttle","retry","sleep","wait","delay","waitUntil","waitWhile","lazy","clamp","rand","readableSize","useActiveElement","useIntervalFn","useObjectUrl"];var ue=V(require("node:path"),1);function Tt(e,s){let t=e[s],n=s+1;while(n<e.length){if(e[n]==="\\"){n+=2;continue}if(e[n]===t)return n+1;n++}return e.length}function Ct(e,s){let t=s+1;while(t<e.length){if(e[t]==="\\"){t+=2;continue}if(e[t]==="`")return t+1;if(e[t]==="$"&&e[t+1]==="{"){if(t=_e(e,t+2),t<e.length)t++;continue}t++}return e.length}function _e(e,s){let t=1,n=s,i="{",o="";while(n<e.length){let r=e[n];if(r==="\\"){n+=2;continue}if(r==='"'||r==="'"){n=Tt(e,n),i=W,o="";continue}if(r==="`"){n=Ct(e,n),i=W,o="";continue}if(r==="/"&&e[n+1]==="/"){while(n<e.length&&e[n]!==`
2
+ `)n++;continue}if(r==="/"&&e[n+1]==="*"){n+=2;while(n<e.length&&e.slice(n,n+2)!=="*/")n++;n+=2;continue}if(r==="/"&&$e(i,o)){let a=Te(e,n);if(a!==-1){n=a,i=W,o="";continue}}if(r==="{")t++;else if(r==="}"){if(t--,t===0)return n}if(/[\w$]/.test(r))o=/[\w$]/.test(i)?o+r:r,i=r;else if(!/\s/.test(r))i=r,o="";n++}return e.length}var kt=new Set(["return","typeof","instanceof","in","of","new","delete","void","throw","case","do","else","yield","await"]);function $e(e,s){if(s)return kt.has(s);return!(e===")"||e==="]"||e===W)}var W="\x00";function Te(e,s){let t=s+1,n=!1;while(t<e.length){let i=e[t];if(i===`
3
+ `)return-1;if(i==="\\"){t+=2;continue}if(i==="[")n=!0;else if(i==="]")n=!1;else if(i==="/"&&!n){t++;while(t<e.length&&/[a-z]/i.test(e[t]))t++;return t}t++}return-1}function L(e){let s="",t=0,n="",i="";while(t<e.length){let o=e.slice(t,t+2);if(o==="//"){while(t<e.length&&e[t]!==`
4
4
  `)s+=" ",t++;continue}if(o==="/*"){while(t<e.length&&e.slice(t,t+2)!=="*/")s+=e[t]===`
5
5
  `?`
6
- `:" ",t++;s+=" ",t+=2;continue}let i=e[t];if(i==='"'||i==="'"){let a=i;s+=" ",t++;while(t<e.length&&e[t]!==a){if(e[t]==="\\"){s+=" ",t+=2;continue}s+=e[t]===`
6
+ `:" ",t++;s+=" ",t+=2;continue}let r=e[t];if(r==='"'||r==="'"){let a=r;s+=" ",t++;while(t<e.length&&e[t]!==a){if(e[t]==="\\"){s+=" ",t+=2;continue}s+=e[t]===`
7
7
  `?`
8
- `:" ",t++}s+=" ",t++,n=G,r="";continue}if(i==="/"&&$e(n,r)){let a=Te(e,t);if(a!==-1){s+=`/${" ".repeat(a-t-2)}/`,t=a,n=G,r="";continue}}if(i==="`"){s+=" ",t++;while(t<e.length&&e[t]!=="`"){if(e[t]==="\\"){s+=" ",t+=2;continue}if(e[t]==="$"&&e[t+1]==="{"){let a=t+2,c=_e(e,a);if(s+=" ",s+=L(e.slice(a,c)),c<e.length)s+=" ";t=c+1;continue}s+=e[t]===`
8
+ `:" ",t++}s+=" ",t++,n=W,i="";continue}if(r==="/"&&$e(n,i)){let a=Te(e,t);if(a!==-1){s+=`/${" ".repeat(a-t-2)}/`,t=a,n=W,i="";continue}}if(r==="`"){s+=" ",t++;while(t<e.length&&e[t]!=="`"){if(e[t]==="\\"){s+=" ",t+=2;continue}if(e[t]==="$"&&e[t+1]==="{"){let a=t+2,c=_e(e,a);if(s+=" ",s+=L(e.slice(a,c)),c<e.length)s+=" ";t=c+1;continue}s+=e[t]===`
9
9
  `?`
10
- `:" ",t++}s+=" ",t++,n=G,r="";continue}if(s+=i,t++,/[\w$]/.test(i))r=/[\w$]/.test(n)?r+i:i,n=i;else if(!/\s/.test(i))n=i,r=""}return s}function Y(e){let s=new Uint16Array(e.length),t=0,n=!0;for(let r=0;r<e.length;r++){let o=e[r];if(o===")"||o==="]"||o==="}")if(t===0)n=!1;else t--;if(s[r]=t,o==="("||o==="["||o==="{")t++}return{depths:s,balanced:n&&t===0}}function Ce(e){let s=e.indexOf(" as ");if(s!==-1){let o=e.slice(0,s).trim(),i=e.slice(s+4).trim();return o&&i?{arrayExpr:o,itemVar:i}:null}let t=/^\s*(.+?)\s+in\s+([\s\S]+)$/.exec(e);if(!t)return null;let n=t[1].trim().replace(/^\(([\s\S]*)\)$/,"$1").trim(),r=t[2].trim();return n&&r?{arrayExpr:r,itemVar:n}:null}var V=["batch","cachedQuery","clearServerData","computed","configureFetch","defineEmits","defineExpose","definePageMeta","defineProps","defineSlots","defineStore","derived","effect","flushKeptState","forgetKeptState","goBack","goForward","inject","invalidateRoute","isDerived","isSignal","keptState","navigate","nextTick","onBeforeMount","onBeforeUnmount","onDestroy","onMount","onMounted","onUnmounted","peek","provide","reactive","ref","refDebounced","refresh","registerStoresClient","setKeptScope","setRouteParams","state","untrack","useAsync","useClickOutside","useColorMode","useCookie","useCounter","useDark","useDebounce","useDebounceFn","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","useThrottleFn","useTimeout","useTimeoutFn","useToggle","useWebSocket","watch","watchEffect","watchMultiple","withDefaults"];var kt=["defineEmits","defineExpose","definePageMeta","defineProps","defineSlots","withDefaults"];var $n=V.filter((e)=>!kt.includes(e));var Rt=["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"],Dt=["x-init","x-transition","x-effect","x-on"],Tn=[...Rt,...Dt];var J=W(require("node:fs"),1),K=W(require("node:path"),1);function Ae(e,s,t,n){let r=0;for(let o=s;o<e.length;o++)if(e[o]===t)r++;else if(e[o]===n&&!(n===">"&&e[o-1]==="=")){if(--r===0)return o}return-1}function Pt(e){let s=L(e),t=0,n=0,r=[];for(let o=0;o<s.length;o++)if("([{".includes(s[o]))t++;else if(")]}".includes(s[o]))t--;else if(s[o]===","&&t===0)r.push(e.slice(n,o).trim()),n=o+1;return r.push(e.slice(n).trim()),r}function ce(e,s){let t=L(e),n=new RegExp(`\\b(?:${s.map((r)=>r.replace(/[$]/g,"\\$&")).join("|")})\\s*(?=[<(])`,"g");for(let r of t.matchAll(n)){let o=r.index+r[0].length,i="";if(t[o]==="<"){let c=Ae(t,o,"<",">");if(c<0)continue;i=e.slice(o+1,c),o=c+1;while(/\s/.test(t[o]||"")&&o<t.length)o++}if(t[o]!=="(")continue;let a=Ae(t,o,"(",")");if(a>=0)return{type:i,args:Pt(e.slice(o+1,a))}}return null}var ke=`
10
+ `:" ",t++}s+=" ",t++,n=W,i="";continue}if(s+=r,t++,/[\w$]/.test(r))i=/[\w$]/.test(n)?i+r:r,n=r;else if(!/\s/.test(r))n=r,i=""}return s}function Q(e){let s=new Uint16Array(e.length),t=0,n=!0;for(let i=0;i<e.length;i++){let o=e[i];if(o===")"||o==="]"||o==="}")if(t===0)n=!1;else t--;if(s[i]=t,o==="("||o==="["||o==="{")t++}return{depths:s,balanced:n&&t===0}}function Ce(e){let s=e.indexOf(" as ");if(s!==-1){let o=e.slice(0,s).trim(),r=e.slice(s+4).trim();return o&&r?{arrayExpr:o,itemVar:r}:null}let t=/^\s*(.+?)\s+in\s+([\s\S]+)$/.exec(e);if(!t)return null;let n=t[1].trim().replace(/^\(([\s\S]*)\)$/,"$1").trim(),i=t[2].trim();return n&&i?{arrayExpr:i,itemVar:n}:null}var G=["batch","cachedQuery","clearServerData","computed","configureFetch","defineEmits","defineExpose","definePageMeta","defineProps","defineSlots","defineStore","derived","effect","flushKeptState","forgetKeptState","goBack","goForward","inject","invalidateRoute","isDerived","isSignal","keptState","memo","navigate","nextTick","onBeforeMount","onBeforeUnmount","onDestroy","onMount","onMounted","onUnmounted","peek","provide","reactive","ref","refDebounced","refresh","registerStoresClient","setKeptScope","setRouteParams","sharedRequest","state","untrack","useAsync","useClickOutside","useColorMode","useCookie","useCounter","useDark","useDebounce","useDebounceFn","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","useThrottleFn","useTimeout","useTimeoutFn","useToggle","useWebSocket","watch","watchEffect","watchMultiple","withDefaults"];var At=["defineEmits","defineExpose","definePageMeta","defineProps","defineSlots","withDefaults"];var Cn=G.filter((e)=>!At.includes(e));var Rt=["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"],Dt=["x-init","x-transition","x-effect","x-on"],kn=[...Rt,...Dt];var J=V(require("node:fs"),1),K=V(require("node:path"),1);function ke(e,s,t,n){let i=0;for(let o=s;o<e.length;o++)if(e[o]===t)i++;else if(e[o]===n&&!(n===">"&&e[o-1]==="=")){if(--i===0)return o}return-1}function Pt(e){let s=L(e),t=0,n=0,i=[];for(let o=0;o<s.length;o++)if("([{".includes(s[o]))t++;else if(")]}".includes(s[o]))t--;else if(s[o]===","&&t===0)i.push(e.slice(n,o).trim()),n=o+1;return i.push(e.slice(n).trim()),i}function ce(e,s){let t=L(e),n=new RegExp(`\\b(?:${s.map((i)=>i.replace(/[$]/g,"\\$&")).join("|")})\\s*(?=[<(])`,"g");for(let i of t.matchAll(n)){let o=i.index+i[0].length,r="";if(t[o]==="<"){let c=ke(t,o,"<",">");if(c<0)continue;r=e.slice(o+1,c),o=c+1;while(/\s/.test(t[o]||"")&&o<t.length)o++}if(t[o]!=="(")continue;let a=ke(t,o,"(",")");if(a>=0)return{type:r,args:Pt(e.slice(o+1,a))}}return null}var Ae=`
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 Re(e,s){let t=[],n={defineProps:["defineProps"],defineEmits:["defineEmits"],withDefaults:["withDefaults"]},r=L(e),o=e.replace(/\bimport\s+(?:type\s+)?(\{[^}]*\}|\*\s+as\s+[\w$]+|[\w$]+)\s+from\s*(['"])([^'"]+)\2\s*;?/g,(g,S,y,b,w)=>{if(r.slice(w,w+6)!=="import")return g;if(b.endsWith(".stx"))return"";let v=`${s}Import${t.length}`;if(t.push(`import * as ${v} from ${JSON.stringify(b)};`),S.startsWith("*"))return`import ${S.replace(/^\*\s+as\s+/,"")} = ${v};`;if(!S.startsWith("{"))return`import ${S} = ${v}.default;`;return S.slice(1,-1).split(",").map((T)=>{let[_,C=_]=T.trim().replace(/^type\s+/,"").split(/\s+as\s+/);if(!_)return"";if(/^(?:stx|@stacksjs\/stx)(?:\/|$)/.test(b)&&_ in n)n[_].push(C);return`import ${C} = ${v}.${_};`}).join(`
19
- `)}),i=ce(e,n.defineProps),a=ce(e,n.defineEmits),c=ce(e,n.withDefaults);if(!i&&!a)return{declarations:"",props:null,events:null};let u=[],p=null,m=null;if(i){u.push(`const __options = (${i.args[0]||"{}"}) as const;`),u.push(`const __defaults = (${c?.args[1]||"{}"});`);let g=i.type||"__StxOptions<typeof __options>";u.push(`export type __StxProps = __StxDefaults<${g}, keyof typeof __defaults | __StxDefaulted<typeof __options>>;`),p=`${s}.__StxProps`}if(a)u.push(`const __events = (${a.args[0]||"[]"}) as const;`),u.push(`export type __StxEvents = ${a.type||"Record<(typeof __events)[number], any[]>"};`),m=`${s}.__StxEvents`;return{declarations:`${t.join(`
18
+ `;function Re(e,s){let t=[],n={defineProps:["defineProps"],defineEmits:["defineEmits"],withDefaults:["withDefaults"]},i=L(e),o=e.replace(/\bimport\s+(?:type\s+)?(\{[^}]*\}|\*\s+as\s+[\w$]+|[\w$]+)\s+from\s*(['"])([^'"]+)\2\s*;?/g,(g,S,y,b,w)=>{if(i.slice(w,w+6)!=="import")return g;if(b.endsWith(".stx"))return"";let v=`${s}Import${t.length}`;if(t.push(`import * as ${v} from ${JSON.stringify(b)};`),S.startsWith("*"))return`import ${S.replace(/^\*\s+as\s+/,"")} = ${v};`;if(!S.startsWith("{"))return`import ${S} = ${v}.default;`;return S.slice(1,-1).split(",").map((T)=>{let[_,C=_]=T.trim().replace(/^type\s+/,"").split(/\s+as\s+/);if(!_)return"";if(/^(?:stx|@stacksjs\/stx)(?:\/|$)/.test(b)&&_ in n)n[_].push(C);return`import ${C} = ${v}.${_};`}).join(`
19
+ `)}),r=ce(e,n.defineProps),a=ce(e,n.defineEmits),c=ce(e,n.withDefaults);if(!r&&!a)return{declarations:"",props:null,events:null};let u=[],p=null,m=null;if(r){u.push(`const __options = (${r.args[0]||"{}"}) as const;`),u.push(`const __defaults = (${c?.args[1]||"{}"});`);let g=r.type||"__StxOptions<typeof __options>";u.push(`export type __StxProps = __StxDefaults<${g}, keyof typeof __defaults | __StxDefaulted<typeof __options>>;`),p=`${s}.__StxProps`}if(a)u.push(`const __events = (${a.args[0]||"[]"}) as const;`),u.push(`export type __StxEvents = ${a.type||"Record<(typeof __events)[number], any[]>"};`),m=`${s}.__StxEvents`;return{declarations:`${t.join(`
20
20
  `)}
21
21
  namespace ${s} {
22
22
  ${o}
23
23
  ${u.join(`
24
24
  `)}
25
- }`,props:p,events:m}}var X=W(require("node:fs"),1),k=W(require("node:path"),1);function Pe(e){return e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").toLowerCase()}var De=new Map;function Ie(e,s=!0){let t=De.get(e);if(s&&t)return t;let n=new Map,r=[k.default.join(e,"src"),k.default.join(e,"dist"),e];function o(i,a){if(a>6)return;let c;try{c=X.default.readdirSync(i,{withFileTypes:!0})}catch{return}for(let u of c){let p=k.default.join(i,u.name);if(u.isDirectory()){if(u.name==="node_modules"||u.name.startsWith("."))continue;o(p,a+1)}else if(u.isFile()&&u.name.endsWith(".stx")){let m=u.name.slice(0,-4);if(!n.has(m))n.set(m,p);let g=m.toLowerCase();if(!n.has(g))n.set(g,p);let S=Pe(m);if(!n.has(S))n.set(S,p)}}}for(let i of r)if(o(i,0),n.size>0)break;if(s)De.set(e,n);return n}function Le(e,s){if(e.startsWith(".")||e.startsWith("/"))return null;let t=s;while(!0){let n=k.default.join(t,"node_modules",e);try{if(X.default.statSync(n).isDirectory())return n}catch{}let r=k.default.dirname(t);if(r===t)return null;t=r}}function Oe(e,s,t={}){return[k.default.resolve(k.default.dirname(s),`${e}.stx`),k.default.resolve(k.default.dirname(s),e),k.default.resolve(t.componentsDir||"components",`${e}.stx`),k.default.resolve(t.componentsDir||"components",e),e.endsWith(".stx")?e:`${e}.stx`]}function Me(e){let s=e.endsWith(".stx")?e.slice(0,-4):e,t=s.split("-").map((r)=>r.charAt(0).toUpperCase()+r.slice(1)).join(""),n=Pe(s);return[s,t,n]}function It(e,s){let[t,n,r]=Me(e);for(let o of[t,t.toLowerCase(),n,r]){let i=s?.__importedComponents?.get(o);if(i!==void 0)return i}}function*Lt(e,s,t={},n){let r=Me(e);if(r[0].startsWith("./")||r[0].startsWith("../")){yield k.default.resolve(k.default.dirname(s),`${r[0]}.stx`);return}let o=[...new Set(r.map((c)=>`${c}.stx`))],i=t.projectRoot||process.cwd(),a=[...n?.__originalFilePath?[k.default.join(k.default.dirname(n.__originalFilePath),"components")]:[],...t.componentsDir?[t.componentsDir]:[],k.default.join(k.default.dirname(s),"components"),k.default.resolve(i,"src/components"),k.default.resolve(i,"components"),k.default.resolve("/home/runner/work/stx/stx/packages/stx/src","components")];for(let c of new Set(a)){for(let u of o)yield k.default.join(c,u);try{for(let u of X.default.readdirSync(c,{withFileTypes:!0}))if(u.isDirectory())for(let p of o)yield k.default.join(c,u.name,p)}catch{}}}function je(e,s,t={},n){let r=It(e,n);if(r!==void 0)return r;for(let o of Lt(e,s,t,n))try{if(X.default.statSync(o,{throwIfNoEntry:!1})?.isFile())return o}catch{}return null}var Ne=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 Be(e){if(e.includes("-")||e==="component")return!1;if(/^[A-Z]/.test(e))return!/[a-z]/.test(e)&&[...Ne].some((s)=>s.toLowerCase()===e.toLowerCase());return Ne.has(e)||/[A-Z]/.test(e)}function*Ot(e){let s=/<([A-Za-z][\w.-]*)(?=[\s/>])/g,t;while(t=s.exec(e)){let n=s.lastIndex,r=[];while(n<e.length){while(/\s/.test(e[n]||""))n++;if(e[n]===">"||e.slice(n,n+2)==="/>"){n+=e[n]===">"?1:2;break}let o=/^[^\s=/>]+/.exec(e.slice(n))?.[0];if(!o){n++;continue}let i=n;n+=o.length;while(/\s/.test(e[n]||""))n++;if(e[n]!=="="){r.push({name:o,value:!0,offset:i,braced:!1});continue}n++;while(/\s/.test(e[n]||""))n++;let a=e[n],c=a==="{",u=a==='"'||a==="'";if(u||c)n++;let p=n;if(c){let m=L(e.slice(n)),g=1,S=0;for(;S<m.length;S++){if(m[S]==="{")g++;if(m[S]==="}"&&--g===0)break}n+=S}else if(u)while(n<e.length&&e[n]!==a)n++;else while(n<e.length&&!/[\s/>]/.test(e[n]))n++;if(r.push({name:o,value:e.slice(p,n),offset:p,braced:c}),u||c)n++}s.lastIndex=n,yield{name:t[1],offset:t.index,attributes:r}}}function Fe(e,s,t){let n=[],r=[ke,"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;'],o=new Map,i=new Map,a=new Map,c=t.scriptCode(e,t.filePath),u=L(c);for(let y of c.matchAll(/\bimport\s+(\{[^}]+\}|[\w$]+)\s+from\s*['"]([^'"]+)['"]/g)){if(u.slice(y.index,y.index+6)!=="import")continue;let b=y[2],w=K.default.isAbsolute(b)||b.startsWith(".")?K.default.resolve(K.default.dirname(t.filePath),b):Le(b,K.default.dirname(t.filePath));if(!w)continue;let v=w.endsWith(".stx")?w:J.default.existsSync(`${w}.stx`)?`${w}.stx`:void 0,T=v?null:Ie(w,!1),_=y[1].startsWith("{")?y[1].slice(1,-1).split(","):[y[1]];for(let C of _){let[I,A=I]=C.trim().split(/\s+as\s+/),O=v||T?.get(I)||T?.get(I.toLowerCase());if(O)a.set(A,O),a.set(A.toLowerCase(),O),a.set(A.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),O)}}for(let y of s.matchAll(/@import\s*\(([^)]+)\)/g))for(let b of y[1].matchAll(/['"]([^'"]+)['"]/g)){let w=Oe(b[1],t.filePath,t).find((v)=>J.default.statSync(v,{throwIfNoEntry:!1})?.isFile());if(w)a.set(K.default.basename(b[1]).replace(/\.stx$/,""),w)}let p={__importedComponents:a},m=new Map,g=(y,b,w)=>{let v=e.slice(0,y);return{code:b,offset:y,attribute:w,anchor:!0,kind:"directive",line:v.split(`
25
+ }`,props:p,events:m}}var X=V(require("node:fs"),1),A=V(require("node:path"),1);function Pe(e){return e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").toLowerCase()}var De=new Map;function Ie(e,s=!0){let t=De.get(e);if(s&&t)return t;let n=new Map,i=[A.default.join(e,"src"),A.default.join(e,"dist"),e];function o(r,a){if(a>6)return;let c;try{c=X.default.readdirSync(r,{withFileTypes:!0})}catch{return}for(let u of c){let p=A.default.join(r,u.name);if(u.isDirectory()){if(u.name==="node_modules"||u.name.startsWith("."))continue;o(p,a+1)}else if(u.isFile()&&u.name.endsWith(".stx")){let m=u.name.slice(0,-4);if(!n.has(m))n.set(m,p);let g=m.toLowerCase();if(!n.has(g))n.set(g,p);let S=Pe(m);if(!n.has(S))n.set(S,p)}}}for(let r of i)if(o(r,0),n.size>0)break;if(s)De.set(e,n);return n}function Le(e,s){if(e.startsWith(".")||e.startsWith("/"))return null;let t=s;while(!0){let n=A.default.join(t,"node_modules",e);try{if(X.default.statSync(n).isDirectory())return n}catch{}let i=A.default.dirname(t);if(i===t)return null;t=i}}function Oe(e,s,t={}){return[A.default.resolve(A.default.dirname(s),`${e}.stx`),A.default.resolve(A.default.dirname(s),e),A.default.resolve(t.componentsDir||"components",`${e}.stx`),A.default.resolve(t.componentsDir||"components",e),e.endsWith(".stx")?e:`${e}.stx`]}function Me(e){let s=e.endsWith(".stx")?e.slice(0,-4):e,t=s.split("-").map((i)=>i.charAt(0).toUpperCase()+i.slice(1)).join(""),n=Pe(s);return[s,t,n]}function It(e,s){let[t,n,i]=Me(e);for(let o of[t,t.toLowerCase(),n,i]){let r=s?.__importedComponents?.get(o);if(r!==void 0)return r}}function*Lt(e,s,t={},n){let i=Me(e);if(i[0].startsWith("./")||i[0].startsWith("../")){yield A.default.resolve(A.default.dirname(s),`${i[0]}.stx`);return}let o=[...new Set(i.map((c)=>`${c}.stx`))],r=t.projectRoot||process.cwd(),a=[...n?.__originalFilePath?[A.default.join(A.default.dirname(n.__originalFilePath),"components")]:[],...t.componentsDir?[t.componentsDir]:[],A.default.join(A.default.dirname(s),"components"),A.default.resolve(r,"src/components"),A.default.resolve(r,"components"),A.default.resolve("/home/runner/work/stx/stx/packages/stx/src","components")];for(let c of new Set(a)){for(let u of o)yield A.default.join(c,u);try{for(let u of X.default.readdirSync(c,{withFileTypes:!0}))if(u.isDirectory())for(let p of o)yield A.default.join(c,u.name,p)}catch{}}}function Ne(e,s,t={},n){let i=It(e,n);if(i!==void 0)return i;for(let o of Lt(e,s,t,n))try{if(X.default.statSync(o,{throwIfNoEntry:!1})?.isFile())return o}catch{}return null}var je=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 Be(e){if(e.includes("-")||e==="component")return!1;if(/^[A-Z]/.test(e))return!/[a-z]/.test(e)&&[...je].some((s)=>s.toLowerCase()===e.toLowerCase());return je.has(e)||/[A-Z]/.test(e)}function*Ot(e){let s=/<([A-Za-z][\w.-]*)(?=[\s/>])/g,t;while(t=s.exec(e)){let n=s.lastIndex,i=[];while(n<e.length){while(/\s/.test(e[n]||""))n++;if(e[n]===">"||e.slice(n,n+2)==="/>"){n+=e[n]===">"?1:2;break}let o=/^[^\s=/>]+/.exec(e.slice(n))?.[0];if(!o){n++;continue}let r=n;n+=o.length;while(/\s/.test(e[n]||""))n++;if(e[n]!=="="){i.push({name:o,value:!0,offset:r,braced:!1});continue}n++;while(/\s/.test(e[n]||""))n++;let a=e[n],c=a==="{",u=a==='"'||a==="'";if(u||c)n++;let p=n;if(c){let m=L(e.slice(n)),g=1,S=0;for(;S<m.length;S++){if(m[S]==="{")g++;if(m[S]==="}"&&--g===0)break}n+=S}else if(u)while(n<e.length&&e[n]!==a)n++;else while(n<e.length&&!/[\s/>]/.test(e[n]))n++;if(i.push({name:o,value:e.slice(p,n),offset:p,braced:c}),u||c)n++}s.lastIndex=n,yield{name:t[1],offset:t.index,attributes:i}}}function Fe(e,s,t){let n=[],i=[Ae,"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;'],o=new Map,r=new Map,a=new Map,c=t.scriptCode(e,t.filePath),u=L(c);for(let y of c.matchAll(/\bimport\s+(\{[^}]+\}|[\w$]+)\s+from\s*['"]([^'"]+)['"]/g)){if(u.slice(y.index,y.index+6)!=="import")continue;let b=y[2],w=K.default.isAbsolute(b)||b.startsWith(".")?K.default.resolve(K.default.dirname(t.filePath),b):Le(b,K.default.dirname(t.filePath));if(!w)continue;let v=w.endsWith(".stx")?w:J.default.existsSync(`${w}.stx`)?`${w}.stx`:void 0,T=v?null:Ie(w,!1),_=y[1].startsWith("{")?y[1].slice(1,-1).split(","):[y[1]];for(let C of _){let[I,k=I]=C.trim().split(/\s+as\s+/),O=v||T?.get(I)||T?.get(I.toLowerCase());if(O)a.set(k,O),a.set(k.toLowerCase(),O),a.set(k.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),O)}}for(let y of s.matchAll(/@import\s*\(([^)]+)\)/g))for(let b of y[1].matchAll(/['"]([^'"]+)['"]/g)){let w=Oe(b[1],t.filePath,t).find((v)=>J.default.statSync(v,{throwIfNoEntry:!1})?.isFile());if(w)a.set(K.default.basename(b[1]).replace(/\.stx$/,""),w)}let p={__importedComponents:a},m=new Map,g=(y,b,w)=>{let v=e.slice(0,y);return{code:b,offset:y,attribute:w,anchor:!0,kind:"directive",line:v.split(`
26
26
  `).length,column:y-v.lastIndexOf(`
27
- `)}},S=(y,b,w)=>n.push({expression:y,statement:{text:b+y.code+w,prefixLength:b.length}});for(let y of Ot(s)){if(Be(y.name)||y.name==="component")continue;let b=je(y.name,t.filePath,t,p);if(!b)continue;let w=m.get(b);if(!w){let T;try{T=t.readComponent?t.readComponent(b):J.default.readFileSync(b,"utf8")}catch{continue}if(T===void 0)continue;i.set(b,T),w=Re(t.scriptCode(T,b),`__StxComponent${m.size}`),m.set(b,w),r.push(w.declarations)}let v=[];for(let T of y.attributes){let{name:_,offset:C}=T,I=T.value===!0?"true":T.value;if(_.startsWith("@")||_.startsWith("v-on:")){if(w.events&&T.value!==!0)o.set(C,`__StxEvent<${w.events}, ${JSON.stringify(_.replace(/^@|^v-on:/,"").split(".")[0])}>`);continue}let A=/^v-model(?::([\w-]+))?(?:\.[\w-]+)*$/.exec(_);if(_.startsWith("v-")&&!_.startsWith("v-bind:")&&!A)continue;if(/^(?:x-|:)(?:if|for|show|key|else)(?:$|[.:-])/.test(_))continue;let O=(A?A[1]||"modelValue":_.replace(/^:|^v-bind:/,"")).replace(/-([a-z])/g,(j,H)=>H.toUpperCase());if(v.push(O),!w.props)continue;let M=_.startsWith(":")||_.startsWith("v-bind:")||!!A||T.braced?I:T.value!==!0?JSON.stringify(I):"true";S(g(C,M,_),";void ((",`) satisfies __StxProp<${w.props}, ${JSON.stringify(O)}>);`)}if(w.props){let T=[...new Set(v)].map((C)=>`${JSON.stringify(C)}: undefined as any`).join(", "),_=g(y.offset,`<${y.name}>`);n.push({expression:_,statement:{text:`;void ({ ${T} } satisfies ${w.props} & Record<string, unknown>);`,prefixLength:0}})}}return{declarations:m.size?r.join(`
28
- `):"",checks:n,events:o,dependencies:i}}var We=/<script(\s[^>]*)?>([\s\S]*?)<\/script>/gi;function Mt(e){let s=(t)=>t.replace(/[^\n]/g," ");return e.replace(/<!--[\s\S]*?-->/g,s).replace(/\{\{--[\s\S]*?--\}\}/g,s)}function te(e){let s=[],t=Mt(e);We.lastIndex=0;let n;while((n=We.exec(t))!==null){let r=(n[1]||"").trim(),o=(n[0].match(/^<script(?:\s[^>]*)?>/i)?.[0]??"<script>").length,i=(n[0].match(/<\/script\s*>$/i)?.[0]??"</script>").length,a=n.index+o,c=n.index+n[0].length-i,u=e.slice(a,c);if(/\bsrc\s*=/.test(r))continue;let p=r.match(/\btype\s*=\s*["']([^"']+)["']/i);if(p&&!/^(?:module|text\/(?:javascript|typescript))$/i.test(p[1]))continue;let m=/\bserver\b/.test(r)?"server":/\bclient\b/.test(r)?"client":"plain",g=Z(e,a);s.push({kind:m,code:u,startLine:g,startColumn:U(e,a),offset:a,attrs:r})}return s}function Z(e,s){let t=1;for(let n=0;n<s&&n<e.length;n++)if(e.charCodeAt(n)===10)t++;return t}function U(e,s){let t=e.lastIndexOf(`
29
- `,s-1)+1;return s-t+1}function ne(e){let s=e.split(""),t=(r,o)=>{for(let i=r;i<o&&i<s.length;i++)if(s[i]!==`
30
- `)s[i]=" "},n=[/<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 r of n){r.lastIndex=0;let o;while((o=r.exec(e))!==null)t(o.index,o.index+o[0].length)}return s.join("")}function jt(e){let s=0,t="";for(let n=0;n<e.length;n++){let r=e[n];if(t){if(r==="\\"){n++;continue}if(r===t)t="";continue}if(r==='"'||r==="'"||r==="`"){t=r;continue}if(r==="("||r==="["||r==="{"){s++;continue}if(r===")"||r==="]"||r==="}"){s--;continue}if(r==="|"&&s===0){if(e[n+1]==="|"){n++;continue}if(e[n-1]==="|")continue;return e.slice(0,n)}}return e}var Ze=new Set([":for","x-for","v-for"]),se=/(?:^|\s)((?::|x-|v-|@)[\w.:-]+)\s*=\s*(["'])([\s\S]*?)\2/g,le="__stx_interpolated",Ge="__StxElement",Ue="__StxTemplateValue",Nt=`type ${Ue}<T> = T extends { readonly _isSignal: true } | { readonly _isDerived: true } ? (T extends () => infer V ? T & V : T) : T`;function Ve(e){return e.replace(/\{\{[\s\S]*?\}\}/g,le).replace(/\{!![\s\S]*?!!\}/g,le)}function Bt(e){return e.replace(/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/g,(s)=>{let t=s.split(`
27
+ `)}},S=(y,b,w)=>n.push({expression:y,statement:{text:b+y.code+w,prefixLength:b.length}});for(let y of Ot(s)){if(Be(y.name)||y.name==="component")continue;let b=Ne(y.name,t.filePath,t,p);if(!b)continue;let w=m.get(b);if(!w){let T;try{T=t.readComponent?t.readComponent(b):J.default.readFileSync(b,"utf8")}catch{continue}if(T===void 0)continue;r.set(b,T),w=Re(t.scriptCode(T,b),`__StxComponent${m.size}`),m.set(b,w),i.push(w.declarations)}let v=[];for(let T of y.attributes){let{name:_,offset:C}=T,I=T.value===!0?"true":T.value;if(_.startsWith("@")||_.startsWith("v-on:")){if(w.events&&T.value!==!0)o.set(C,`__StxEvent<${w.events}, ${JSON.stringify(_.replace(/^@|^v-on:/,"").split(".")[0])}>`);continue}let k=/^v-model(?::([\w-]+))?(?:\.[\w-]+)*$/.exec(_);if(_.startsWith("v-")&&!_.startsWith("v-bind:")&&!k)continue;if(/^(?:x-|:)(?:if|for|show|key|else)(?:$|[.:-])/.test(_))continue;let O=(k?k[1]||"modelValue":_.replace(/^:|^v-bind:/,"")).replace(/-([a-z])/g,(N,H)=>H.toUpperCase());if(v.push(O),!w.props)continue;let M=_.startsWith(":")||_.startsWith("v-bind:")||!!k||T.braced?I:T.value!==!0?JSON.stringify(I):"true";S(g(C,M,_),";void ((",`) satisfies __StxProp<${w.props}, ${JSON.stringify(O)}>);`)}if(w.props){let T=[...new Set(v)].map((C)=>`${JSON.stringify(C)}: undefined as any`).join(", "),_=g(y.offset,`<${y.name}>`);n.push({expression:_,statement:{text:`;void ({ ${T} } satisfies ${w.props} & Record<string, unknown>);`,prefixLength:0}})}}return{declarations:m.size?i.join(`
28
+ `):"",checks:n,events:o,dependencies:r}}var Ve=/<script(\s[^>]*)?>([\s\S]*?)<\/script>/gi;function Mt(e){let s=(t)=>t.replace(/[^\n]/g," ");return e.replace(/<!--[\s\S]*?-->/g,s).replace(/\{\{--[\s\S]*?--\}\}/g,s)}function te(e){let s=[],t=Mt(e);Ve.lastIndex=0;let n;while((n=Ve.exec(t))!==null){let i=(n[1]||"").trim(),o=(n[0].match(/^<script(?:\s[^>]*)?>/i)?.[0]??"<script>").length,r=(n[0].match(/<\/script\s*>$/i)?.[0]??"</script>").length,a=n.index+o,c=n.index+n[0].length-r,u=e.slice(a,c);if(/\bsrc\s*=/.test(i))continue;let p=i.match(/\btype\s*=\s*["']([^"']+)["']/i);if(p&&!/^(?:module|text\/(?:javascript|typescript))$/i.test(p[1]))continue;let m=/\bserver\b/.test(i)?"server":/\bclient\b/.test(i)?"client":"plain",g=Z(e,a);s.push({kind:m,code:u,startLine:g,startColumn:U(e,a),offset:a,attrs:i})}return s}function Z(e,s){let t=1;for(let n=0;n<s&&n<e.length;n++)if(e.charCodeAt(n)===10)t++;return t}function U(e,s){let t=e.lastIndexOf(`
29
+ `,s-1)+1;return s-t+1}function ne(e){let s=e.split(""),t=(i,o)=>{for(let r=i;r<o&&r<s.length;r++)if(s[r]!==`
30
+ `)s[r]=" "},n=[/<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 i of n){i.lastIndex=0;let o;while((o=i.exec(e))!==null)t(o.index,o.index+o[0].length)}return s.join("")}function Nt(e){let s=0,t="";for(let n=0;n<e.length;n++){let i=e[n];if(t){if(i==="\\"){n++;continue}if(i===t)t="";continue}if(i==='"'||i==="'"||i==="`"){t=i;continue}if(i==="("||i==="["||i==="{"){s++;continue}if(i===")"||i==="]"||i==="}"){s--;continue}if(i==="|"&&s===0){if(e[n+1]==="|"){n++;continue}if(e[n-1]==="|")continue;return e.slice(0,n)}}return e}var Ze=new Set([":for","x-for","v-for"]),se=/(?:^|\s)((?::|x-|v-|@)[\w.:-]+)\s*=\s*(["'])([\s\S]*?)\2/g,le="__stx_interpolated",We="__StxElement",Ue="__StxTemplateValue",jt=`type ${Ue}<T> = T extends { readonly _isSignal: true } | { readonly _isDerived: true } ? (T extends () => infer V ? T & V : T) : T`;function Ge(e){return e.replace(/\{\{[\s\S]*?\}\}/g,le).replace(/\{!![\s\S]*?!!\}/g,le)}function Bt(e){return e.replace(/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/g,(s)=>{let t=s.split(`
31
31
  `).length-1,n=s.length-t;return`0${" ".repeat(Math.max(0,n-1))}${`
32
- `.repeat(t)}`})}var Ft=["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"],Wt=new RegExp(String.raw`^[ \t]*@(?:${Ft.join("|")})\b[ \t]*(\([^\n)]*\))?[ \t]*$`,"gm");function Gt(e){return e.replace(Wt,(s)=>s.replace(/[^\n]/g," "))}var Ke=new Set(["x-cloak","x-ref","x-transition","x-teleport","v-slot","x-hydrate",":key","x-tooltip","x-tooltip-position"]);function Vt(e){let s=ne(e),t=[],n=/(@?)\{\{([\s\S]*?)\}\}|(@?)\{!!([\s\S]*?)!!\}/g,r;while((r=n.exec(s))!==null){if(r[1]||r[3])continue;let a=r[2]??r[4]??"",c=r[2]!==void 0?2:3,u=jt(a);if(!u.trim())continue;let p=r.index+c+(u.length-u.trimStart().length);t.push({code:u.trim(),line:Z(s,p),column:U(s,p),offset:p,kind:"interpolation"})}let o=/@(if|elseif|else\s+if|unless)\b\s*\(/g;while((r=o.exec(s))!==null){let i=r.index+r[0].length-1,a=0,c=i;for(;c<s.length;c++){let g=s[c];if(g==="(")a++;else if(g===")"){if(a--,a===0)break}}if(a!==0)continue;let u=s.slice(i+1,c),p=u.trim();if(o.lastIndex=c+1,!p)continue;let m=i+1+(u.length-u.trimStart().length);t.push({code:p,line:Z(s,m),column:U(s,m),offset:r.index,kind:"condition"})}se.lastIndex=0;while((r=se.exec(s))!==null){let i=r[1],a=r[3]??"",c=i.replace(/\..*$/,"").replace(/^([^:].*?):.*$/,"$1");if(Ke.has(c)||Ke.has(i))continue;if(!a.trim())continue;let u=r.index+r[0].indexOf(r[2],r[0].indexOf(i)+i.length)+1;if(Ze.has(c)){let m=a.match(/\s+(?:in|of)\s+/);if(!m||m.index===void 0)continue;let g=a.slice(m.index+m[0].length),S=m.index+m[0].length+(g.length-g.trimStart().length);t.push({code:Ve(g.trim()),line:Z(s,u+S),column:U(s,u+S),offset:u+S,kind:"directive",attribute:c});continue}let p=a.length-a.trimStart().length;t.push({code:Ve(a.trim()),line:Z(s,u+p),column:U(s,u+p),offset:u+p,kind:"directive",attribute:c})}return t.sort((i,a)=>i.line-a.line||i.column-a.column),t}var Kt=2000;function Ht(e,s){let t=0,n=Math.min(e.length,s+Kt);for(let r=s;r<n;r++){let o=e[r];if(o==="(")t++;else if(o===")"){if(t--,t===0)return e.slice(s+1,r)}}return null}function zt(e){let s=new Map,t=(a,c)=>{let u=a.split(/[,[\]{}()\s]+/).filter(Boolean);for(let p of u){let m=p.replace(/^\.\.\./,"").trim();if(!/^\$?[A-Z_$][\w$]*$/i.test(m))continue;let g=u.length===1?c:void 0,S=s.get(m);if(!S)s.set(m,{name:m,iterable:g});else if(S.iterable!==g)S.iterable=void 0}},n=/^\$?[A-Z_$][\w$]*$/i,r=(a)=>{let c=a.trim();return n.test(c)?c:void 0};for(let a of e.matchAll(/@for(?:each|else)\s*\(/g)){let c=Ht(e,a.index+a[0].length-1);if(c===null)continue;let u=Ce(c);if(!u)continue;t(u.itemVar.replace(/=>/g," "),r(u.arrayExpr))}for(let a of e.matchAll(/@for\s*\(\s*(?:(?:let|const|var)\s+)?([\w$]+|\[[^\]]*\]|\{[^}]*\})\s+(of|in)\s+([^)]*)/g))t(a[1],a[2]==="of"?r(a[3]):void 0);for(let a of e.matchAll(/@for\s*\(\s*(?:let|const|var)\s+([\w$]+)\s*[=;]/g))t(a[1]);let o=ne(e);se.lastIndex=0;let i;while((i=se.exec(o))!==null){let a=i[1].replace(/\..*$/,"");if(!Ze.has(a))continue;let c=i[3].match(/\s+(?:in|of)\s+/);if(!c||c.index===void 0)continue;t(i[3].slice(0,c.index),r(i[3].slice(c.index+c[0].length)))}for(let a of e.matchAll(/@(?:php|js|ts)\b([\s\S]*?)@end(?:php|js|ts)\b/g))for(let c of a[1].matchAll(/\b(?:const|let|var|function|class)\s+([\w$]+)/g))t(c[1]);return[...s.values()].sort((a,c)=>a.name.localeCompare(c.name))}function ee(e){let s=new Set;for(let t of e.matchAll(/^\s*(?:export\s+)?(?:const|let|var)\s+([\w$]+)/gm))s.add(t[1]);for(let t of e.matchAll(/^\s*(?:export\s+)?(?:async\s+)?function\s*\*?\s*([\w$]+)/gm))s.add(t[1]);for(let t of e.matchAll(/^\s*(?:export\s+)?class\s+([\w$]+)/gm))s.add(t[1]);for(let t of e.matchAll(/^\s*(?:export\s+)?(?:const|let|var)\s*[[{]([^\]}]*)[\]}]/gm))for(let n of t[1].split(",")){let r=n.split(":").pop().split("=")[0].replace(/^\.\.\./,"").trim();if(/^[A-Z_$][\w$]*$/i.test(r))s.add(r)}return[...s].sort()}var He=["params","query","cookies","host","ip","setResponseStatus","setResponseHeader","notFound","request","url","definePageMeta","defineClientPayload","defineStore","props","$props"];var ze=["$env","$user","$slot","$slots","$attrs","$props","$page","$route","$loop","loop","$errors","$csrf","props","slot"];function qe(e){let s=new Set,t=new Set;for(let n of e){let r=n.kind==="server"?s:t;for(let o of ee(n.code))r.add(o)}return[...s].filter((n)=>t.has(n)).sort()}var Xt=/^\s*[A-Z_$][\w$]*\s*=[^=]/i;function Zt(e){let s=new Map,t=/!|===|!==|==|!=|&&|\|\||<|>|\btypeof\b|\binstanceof\b|\bin\b/;for(let n of e){let r=L(n),{depths:o,balanced:i}=Y(r);if(!i)continue;let a=/^([ \t]*(?:export[ \t]+)?const[ \t]+)([A-Za-z_$][\w$]*)[ \t]*(?::[^=\n]+)?=[ \t]*([^\n]+)$/gm;for(let c of r.matchAll(a)){let u=c.index??0;if(o[u+c[1].length]!==0)continue;let p=c[2],m=u+c[0].length-c[3].length,g=n.slice(m,u+c[0].length).trim().replace(/;$/,"").trim(),S=c[3],y=t.test(S)&&!/\bawait\b|=>|\bfunction\b|[{}]/.test(S)&&!/[,+\-*/%&|?:=]$/.test(g)&&Y(S).balanced;s.set(p,s.has(p)||!y?null:g)}}return new Map([...s].filter((n)=>n[1]!==null))}function Qe(e,s,t=0,n=new Set){if(s.size===0||t>=5)return e;let r=L(e),o="",i=0;for(let a of r.matchAll(/[A-Za-z_$][\w$]*/g)){let c=a.index??0,u=a[0],p=s.get(u);if(!p||n.has(u))continue;let m=r.slice(0,c).trimEnd(),g=r.slice(c+u.length).trimStart();if(m.endsWith(".")||/^:(?!:)/.test(g)&&/[{,]$/.test(m))continue;if(c>0&&/[\w$]/.test(r[c-1]))continue;o+=`${e.slice(i,c)}(${Qe(p,s,t+1,new Set([...n,u]))})`,i=c+u.length}return o+e.slice(i)}function Ut(e,s){let t=/@(if|unless|elseif|else|endif|endunless)\b\s*(\()?/g,n=[],r;while((r=t.exec(e))!==null){if(r.index>s)break;let o=r[1];if(r.index===s){if(o==="elseif"){let a=n[n.length-1];if(a?.current)a.seen.push(a.current);if(a)a.current=null}break}if(o==="endif"||o==="endunless"){n.pop();continue}let i="";if(r[2]==="("){let a=0,c=r.index+r[0].length-1,u=c+1;for(;c<e.length;c++){let p=e[c];if(p==="(")a++;else if(p===")"){if(a--,a===0)break}}i=e.slice(u,c).trim(),t.lastIndex=c+1}if(o==="if")n.push({seen:[],current:i});else if(o==="unless")n.push({seen:[],current:`!(${i})`});else if(o==="elseif"||o==="else"){let a=n[n.length-1];if(!a)continue;if(a.current)a.seen.push(a.current);a.current=o==="elseif"?i:null}}return n.flatMap((o)=>[...o.seen.map((i)=>`!(${i})`),...o.current?[o.current]:[]]).filter(Boolean)}function qt(e){let s=e.code.trim();if(!s)return null;if(e.attribute?.startsWith("@")){if(Xt.test(s))return null;let n=";(($event: any): void => { ";return{text:`${n}${s} });`,prefixLength:n.length}}let t=";void ((";return{text:`${t}${s}));`,prefixLength:t.length}}var Qt=/(\bfrom\s*|\bimport\s*\(\s*|\bimport\s+)(['"])(\.{1,2}\/[^'"\n]*)\2/g;function Xe(e,s){if(!s)return e;return e.replace(Qt,(t,n,r,o)=>{let i=ue.default.resolve(s,o).replace(/\\/g,"/");return`${n}${r}${i}${r}`})}function Yt(e){return" ".repeat(Math.max(0,(e.startColumn??1)-1))}function Jt(e){let s=new Set,t=L(e);for(let n of t.matchAll(/\bimport\s+(?:type\s+)?([\w$*{}\s,]+?)\s+from\b/g)){let r=n[1],o=/\{([^}]*)\}/.exec(r);for(let u of o?.[1].split(",")??[]){let p=u.trim().replace(/^type\s+/,"").split(/\s+as\s+/).pop()?.trim();if(p&&/^[A-Z_$][\w$]*$/i.test(p))s.add(p)}let i=r.replace(/\{[^}]*\}/,""),a=/\*\s*as\s+([A-Z_$][\w$]*)/i.exec(i);if(a)s.add(a[1]);let c=/^\s*([A-Z_$][\w$]*)/i.exec(i);if(c&&c[1]!=="type")s.add(c[1])}return[...s].sort()}function Ye(e,s={}){let t=te(e),n=e.split(`
33
- `),r=Array.from({length:n.length},()=>""),o=new Map,i=s.filePath&&s.templateExpressions!==!1?Fe(e,ne(e),{filePath:s.filePath,componentsDir:s.componentsDir,projectRoot:s.projectRoot,readComponent:s.readComponent,scriptCode:(m,g)=>te(m).map((S)=>Xe(S.code,ue.default.dirname(g))).join(`
34
- `)}):void 0,a=new Set,c=[];for(let m of t){let g=Gt(Bt(m.code)),S=Xe(g,s.originDir??"").split(`
35
- `);S.forEach((y,b)=>{let w=m.startLine-1+b;if(w<r.length)r[w]=b===0?Yt(m)+y:y,a.add(w)}),c.push(m.startLine-1+S.length-1)}for(let m of c){let g=r[m]?.trim()===""?m:m+1;if(g<r.length&&r[g].trim()===""&&(g===m||!a.has(g)))r[g]=";"}let u=(m,g)=>{for(let[S,y]of m.split(`
36
- `).entries())if(r.push(y),g)o.set(r.length,S===0?g:{...g,line:g.line+S,column:1,prefixLength:0})};if(s.globals!==!1){u("");let m=new Set([...t.flatMap((b)=>ee(b.code)),...t.flatMap((b)=>Jt(b.code))]),g=(b)=>{if(!m.has(b))u(`declare var ${b}: any`)};if(s.runtimeGlobals!==!1){if(!m.has("window"))u("declare var window: any");for(let b of V)g(b)}let S=[...new Set([...He,...ae,...ze])].filter((b)=>s.runtimeGlobals!==!1||!V.includes(b));if(s.contextScope==="global"){u("declare global {");for(let b of S)u(` var ${b}: any`);u("}")}else{for(let b of He)g(b);for(let b of ae)g(b);for(let b of ze)g(b)}u(`declare var ${le}: any`);let y=new Set(t.flatMap((b)=>ee(b.code)));u(`type ${Ge}<T> = T extends readonly (infer E)[] ? E : T extends Iterable<infer E2> ? E2 : any`);for(let b of zt(e)){if(y.has(b.name))continue;let w=b.iterable&&y.has(b.iterable)?`${Ge}<typeof ${b.iterable}>`:"any";u(`declare var ${b.name}: ${w}`)}}if(s.templateExpressions!==!1){if(i?.declarations)for(let g of i.declarations.split(`
37
- `))u(g);let m=Vt(e).map((g)=>{let S=i?.events.get(g.offset??-1);if(S){g.anchor=!0;let y=g.code.trim(),b=/^([\w$]+)\s*=\s*([^=][\s\S]*)$/.exec(y),w=b?`void ((${b[2]}) satisfies __StxAssignedValue<typeof ${b[1]}>)`:/^[\w$]+(?:\.[\w$]+)*$/.test(y)?`${y} satisfies (($event: ${S}) => unknown)`:y,v=`;(($event: ${S}): void => { `;return{expression:g,statement:{text:`${v}${w} });`,prefixLength:v.length}}}return{expression:g,statement:qt(g)}}).filter((g)=>g.statement!==null);if(m.push(...i?.checks||[]),m.length>0){let g=ne(e),S=Zt(t.map((v)=>v.code)),b=[...new Set(t.flatMap((v)=>ee(v.code)))].filter((v)=>/^[A-Z_$][\w$]*$/i.test(v)),w=0;if(b.length>0){u(Nt);for(let v of b)u(`type __StxT_${v} = ${Ue}<typeof ${v}>`);u(`;((${b.map((v)=>`${v}: __StxT_${v}`).join(", ")}) => {`),w=1}for(let{expression:v,statement:T}of m){let _=" ".repeat(w),C=v.offset===void 0?[]:Ut(g,v.offset),I=C.length>0?`${C.map((O)=>`if (${Qe(O,S)}) `).join("")}{ `:"",A=C.length>0?" }":"";u(_+I+T.text+A,{line:v.line,column:v.column,expression:v,prefixLength:T.prefixLength+_.length+I.length,guardPrefixLength:_.length+I.length})}if(w>0)u("});")}}let p=!1;if(s.reference&&r[0]!==void 0&&r[0].trim()==="")r[0]=`/// <reference path=${JSON.stringify(s.reference.replace(/\\/g,"/"))} />`,p=!0;return u("export {}"),{text:r.join(`
38
- `),lineMap:o,sourceLineCount:n.length,componentDependencies:i?.dependencies,referenced:p}}function fe(e){let s=[0];for(let t=0;t<e.length;t++)if(e.charCodeAt(t)===10)s.push(t+1);return s}function re(e,s){let t=0,n=e.length-1;while(t<n){let r=Math.ceil((t+n)/2);if(e[r]<=s)t=r;else n=r-1}return{line:t+1,column:s-e[t]+1}}function ie(e,s,t){let n=Math.min(Math.max(s,1),e.length)-1,r=n+1<e.length?e[n+1]-1:Number.MAX_SAFE_INTEGER;return Math.min(e[n]+Math.max(t,1)-1,r)}function Je(e,s){if(!e.expression)return!1;return e.inGuard===!0||s===2774}function et(e,s,t){let n=e.lineMap.get(s);if(!n)return s<=e.sourceLineCount?{line:s,column:t}:null;let r=n.expression?.anchor?0:Math.max(0,t-1-(n.prefixLength??0));return{line:n.line,column:n.column+r,expression:n.expression,inGuard:t<=(n.guardPrefixLength??0)}}var tt=["module","exports","require","props","$props","$bool","$num","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 en=new Set(["module","exports","require","$bool","$num","window","document","console","confirm","alert","fetch"]),st=tt.filter((e)=>!en.has(e)).sort(),rt=[...V].sort(),tn=[...new Set([...st,...rt])].sort(),nn=new Set(st),sn=new Set(rt),rn=new Set(tn),nt=/\bimport\s+(?!type[\s{])\{([^}]*)\}\s*from\s*(['"])stx\2/g;function on(e,s){if(s==="server")return`'${e}' 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`'${e}' is not provided by 'stx' in a client <script> block. The import is replaced by the window.stx runtime, which has no '${e}', so it is undefined in the browser.`}function it(e,s){let t=[];for(let n of s){if(n.offset===void 0)continue;let r=n.kind==="server"?nn:sn;nt.lastIndex=0;for(let o of n.code.matchAll(nt)){let i=o.index+o[0].indexOf("{")+1;for(let a of o[1].matchAll(/[^,]+/g)){let c=a[0];if(/^\s*type\s/.test(c))continue;let u=/^\s*([A-Za-z_$][\w$]*)/.exec(c);if(!u)continue;let p=u[1];if(!rn.has(p)||r.has(p))continue;let m=n.offset+i+a.index+u[0].length-p.length,g=e.slice(0,m),S=g.split(`
32
+ `.repeat(t)}`})}var Ft=["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"],Vt=new RegExp(String.raw`^[ \t]*@(?:${Ft.join("|")})\b[ \t]*(\([^\n)]*\))?[ \t]*$`,"gm");function Wt(e){return e.replace(Vt,(s)=>s.replace(/[^\n]/g," "))}var Ke=new Set(["x-cloak","x-ref","x-transition","x-teleport","v-slot","x-hydrate",":key","x-tooltip","x-tooltip-position"]);function Gt(e){let s=ne(e),t=[],n=/(@?)\{\{([\s\S]*?)\}\}|(@?)\{!!([\s\S]*?)!!\}/g,i;while((i=n.exec(s))!==null){if(i[1]||i[3])continue;let a=i[2]??i[4]??"",c=i[2]!==void 0?2:3,u=Nt(a);if(!u.trim())continue;let p=i.index+c+(u.length-u.trimStart().length);t.push({code:u.trim(),line:Z(s,p),column:U(s,p),offset:p,kind:"interpolation"})}let o=/@(if|elseif|else\s+if|unless)\b\s*\(/g;while((i=o.exec(s))!==null){let r=i.index+i[0].length-1,a=0,c=r;for(;c<s.length;c++){let g=s[c];if(g==="(")a++;else if(g===")"){if(a--,a===0)break}}if(a!==0)continue;let u=s.slice(r+1,c),p=u.trim();if(o.lastIndex=c+1,!p)continue;let m=r+1+(u.length-u.trimStart().length);t.push({code:p,line:Z(s,m),column:U(s,m),offset:i.index,kind:"condition"})}se.lastIndex=0;while((i=se.exec(s))!==null){let r=i[1],a=i[3]??"",c=r.replace(/\..*$/,"").replace(/^([^:].*?):.*$/,"$1");if(Ke.has(c)||Ke.has(r))continue;if(!a.trim())continue;let u=i.index+i[0].indexOf(i[2],i[0].indexOf(r)+r.length)+1;if(Ze.has(c)){let m=a.match(/\s+(?:in|of)\s+/);if(!m||m.index===void 0)continue;let g=a.slice(m.index+m[0].length),S=m.index+m[0].length+(g.length-g.trimStart().length);t.push({code:Ge(g.trim()),line:Z(s,u+S),column:U(s,u+S),offset:u+S,kind:"directive",attribute:c});continue}let p=a.length-a.trimStart().length;t.push({code:Ge(a.trim()),line:Z(s,u+p),column:U(s,u+p),offset:u+p,kind:"directive",attribute:c})}return t.sort((r,a)=>r.line-a.line||r.column-a.column),t}var Kt=2000;function Ht(e,s){let t=0,n=Math.min(e.length,s+Kt);for(let i=s;i<n;i++){let o=e[i];if(o==="(")t++;else if(o===")"){if(t--,t===0)return e.slice(s+1,i)}}return null}function zt(e){let s=new Map,t=(a,c)=>{let u=a.split(/[,[\]{}()\s]+/).filter(Boolean);for(let p of u){let m=p.replace(/^\.\.\./,"").trim();if(!/^\$?[A-Z_$][\w$]*$/i.test(m))continue;let g=u.length===1?c:void 0,S=s.get(m);if(!S)s.set(m,{name:m,iterable:g});else if(S.iterable!==g)S.iterable=void 0}},n=/^\$?[A-Z_$][\w$]*$/i,i=(a)=>{let c=a.trim();return n.test(c)?c:void 0};for(let a of e.matchAll(/@for(?:each|else)\s*\(/g)){let c=Ht(e,a.index+a[0].length-1);if(c===null)continue;let u=Ce(c);if(!u)continue;t(u.itemVar.replace(/=>/g," "),i(u.arrayExpr))}for(let a of e.matchAll(/@for\s*\(\s*(?:(?:let|const|var)\s+)?([\w$]+|\[[^\]]*\]|\{[^}]*\})\s+(of|in)\s+([^)]*)/g))t(a[1],a[2]==="of"?i(a[3]):void 0);for(let a of e.matchAll(/@for\s*\(\s*(?:let|const|var)\s+([\w$]+)\s*[=;]/g))t(a[1]);let o=ne(e);se.lastIndex=0;let r;while((r=se.exec(o))!==null){let a=r[1].replace(/\..*$/,"");if(!Ze.has(a))continue;let c=r[3].match(/\s+(?:in|of)\s+/);if(!c||c.index===void 0)continue;t(r[3].slice(0,c.index),i(r[3].slice(c.index+c[0].length)))}for(let a of e.matchAll(/@(?:php|js|ts)\b([\s\S]*?)@end(?:php|js|ts)\b/g))for(let c of a[1].matchAll(/\b(?:const|let|var|function|class)\s+([\w$]+)/g))t(c[1]);return[...s.values()].sort((a,c)=>a.name.localeCompare(c.name))}function ee(e){let s=new Set;for(let t of e.matchAll(/^\s*(?:export\s+)?(?:const|let|var)\s+([\w$]+)/gm))s.add(t[1]);for(let t of e.matchAll(/^\s*(?:export\s+)?(?:async\s+)?function\s*\*?\s*([\w$]+)/gm))s.add(t[1]);for(let t of e.matchAll(/^\s*(?:export\s+)?class\s+([\w$]+)/gm))s.add(t[1]);for(let t of e.matchAll(/^\s*(?:export\s+)?(?:const|let|var)\s*[[{]([^\]}]*)[\]}]/gm))for(let n of t[1].split(",")){let i=n.split(":").pop().split("=")[0].replace(/^\.\.\./,"").trim();if(/^[A-Z_$][\w$]*$/i.test(i))s.add(i)}return[...s].sort()}var He=["params","query","cookies","host","ip","setResponseStatus","setResponseHeader","notFound","request","url","definePageMeta","defineClientPayload","defineStore","props","$props"];var ze=["$env","$user","$slot","$slots","$attrs","$props","$page","$route","$loop","loop","$errors","$csrf","props","slot"];function qe(e){let s=new Set,t=new Set;for(let n of e){let i=n.kind==="server"?s:t;for(let o of ee(n.code))i.add(o)}return[...s].filter((n)=>t.has(n)).sort()}var Xt=/^\s*[A-Z_$][\w$]*\s*=[^=]/i;function Zt(e){let s=new Map,t=/!|===|!==|==|!=|&&|\|\||<|>|\btypeof\b|\binstanceof\b|\bin\b/;for(let n of e){let i=L(n),{depths:o,balanced:r}=Q(i);if(!r)continue;let a=/^([ \t]*(?:export[ \t]+)?const[ \t]+)([A-Za-z_$][\w$]*)[ \t]*(?::[^=\n]+)?=[ \t]*([^\n]+)$/gm;for(let c of i.matchAll(a)){let u=c.index??0;if(o[u+c[1].length]!==0)continue;let p=c[2],m=u+c[0].length-c[3].length,g=n.slice(m,u+c[0].length).trim().replace(/;$/,"").trim(),S=c[3],y=t.test(S)&&!/\bawait\b|=>|\bfunction\b|[{}]/.test(S)&&!/[,+\-*/%&|?:=]$/.test(g)&&Q(S).balanced;s.set(p,s.has(p)||!y?null:g)}}return new Map([...s].filter((n)=>n[1]!==null))}function Ye(e,s,t=0,n=new Set){if(s.size===0||t>=5)return e;let i=L(e),o="",r=0;for(let a of i.matchAll(/[A-Za-z_$][\w$]*/g)){let c=a.index??0,u=a[0],p=s.get(u);if(!p||n.has(u))continue;let m=i.slice(0,c).trimEnd(),g=i.slice(c+u.length).trimStart();if(m.endsWith(".")||/^:(?!:)/.test(g)&&/[{,]$/.test(m))continue;if(c>0&&/[\w$]/.test(i[c-1]))continue;o+=`${e.slice(r,c)}(${Ye(p,s,t+1,new Set([...n,u]))})`,r=c+u.length}return o+e.slice(r)}function Ut(e,s){let t=/@(if|unless|elseif|else|endif|endunless)\b\s*(\()?/g,n=[],i;while((i=t.exec(e))!==null){if(i.index>s)break;let o=i[1];if(i.index===s){if(o==="elseif"){let a=n[n.length-1];if(a?.current)a.seen.push(a.current);if(a)a.current=null}break}if(o==="endif"||o==="endunless"){n.pop();continue}let r="";if(i[2]==="("){let a=0,c=i.index+i[0].length-1,u=c+1;for(;c<e.length;c++){let p=e[c];if(p==="(")a++;else if(p===")"){if(a--,a===0)break}}r=e.slice(u,c).trim(),t.lastIndex=c+1}if(o==="if")n.push({seen:[],current:r});else if(o==="unless")n.push({seen:[],current:`!(${r})`});else if(o==="elseif"||o==="else"){let a=n[n.length-1];if(!a)continue;if(a.current)a.seen.push(a.current);a.current=o==="elseif"?r:null}}return n.flatMap((o)=>[...o.seen.map((r)=>`!(${r})`),...o.current?[o.current]:[]]).filter(Boolean)}function qt(e){let s=e.code.trim();if(!s)return null;if(e.attribute?.startsWith("@")){if(Xt.test(s))return null;let n=";(($event: any): void => { ";return{text:`${n}${s} });`,prefixLength:n.length}}let t=";void ((";return{text:`${t}${s}));`,prefixLength:t.length}}var Yt=/(\bfrom\s*|\bimport\s*\(\s*|\bimport\s+)(['"])(\.{1,2}\/[^'"\n]*)\2/g;function Xe(e,s){if(!s)return e;return e.replace(Yt,(t,n,i,o)=>{let r=ue.default.resolve(s,o).replace(/\\/g,"/");return`${n}${i}${r}${i}`})}function Qt(e){return" ".repeat(Math.max(0,(e.startColumn??1)-1))}function Jt(e){let s=new Set,t=L(e);for(let n of t.matchAll(/\bimport\s+(?:type\s+)?([\w$*{}\s,]+?)\s+from\b/g)){let i=n[1],o=/\{([^}]*)\}/.exec(i);for(let u of o?.[1].split(",")??[]){let p=u.trim().replace(/^type\s+/,"").split(/\s+as\s+/).pop()?.trim();if(p&&/^[A-Z_$][\w$]*$/i.test(p))s.add(p)}let r=i.replace(/\{[^}]*\}/,""),a=/\*\s*as\s+([A-Z_$][\w$]*)/i.exec(r);if(a)s.add(a[1]);let c=/^\s*([A-Z_$][\w$]*)/i.exec(r);if(c&&c[1]!=="type")s.add(c[1])}return[...s].sort()}function Qe(e,s={}){let t=te(e),n=e.split(`
33
+ `),i=Array.from({length:n.length},()=>""),o=new Map,r=s.filePath&&s.templateExpressions!==!1?Fe(e,ne(e),{filePath:s.filePath,componentsDir:s.componentsDir,projectRoot:s.projectRoot,readComponent:s.readComponent,scriptCode:(m,g)=>te(m).map((S)=>Xe(S.code,ue.default.dirname(g))).join(`
34
+ `)}):void 0,a=new Set,c=[];for(let m of t){let g=Wt(Bt(m.code)),S=Xe(g,s.originDir??"").split(`
35
+ `);S.forEach((y,b)=>{let w=m.startLine-1+b;if(w<i.length)i[w]=b===0?Qt(m)+y:y,a.add(w)}),c.push(m.startLine-1+S.length-1)}for(let m of c){let g=i[m]?.trim()===""?m:m+1;if(g<i.length&&i[g].trim()===""&&(g===m||!a.has(g)))i[g]=";"}let u=(m,g)=>{for(let[S,y]of m.split(`
36
+ `).entries())if(i.push(y),g)o.set(i.length,S===0?g:{...g,line:g.line+S,column:1,prefixLength:0})};if(s.globals!==!1){u("");let m=new Set([...t.flatMap((b)=>ee(b.code)),...t.flatMap((b)=>Jt(b.code))]),g=(b)=>{if(!m.has(b))u(`declare var ${b}: any`)};if(s.runtimeGlobals!==!1){if(!m.has("window"))u("declare var window: any");for(let b of G)g(b)}let S=[...new Set([...He,...ae,...ze])].filter((b)=>s.runtimeGlobals!==!1||!G.includes(b));if(s.contextScope==="global"){u("declare global {");for(let b of S)u(` var ${b}: any`);u("}")}else{for(let b of He)g(b);for(let b of ae)g(b);for(let b of ze)g(b)}u(`declare var ${le}: any`);let y=new Set(t.flatMap((b)=>ee(b.code)));u(`type ${We}<T> = T extends readonly (infer E)[] ? E : T extends Iterable<infer E2> ? E2 : any`);for(let b of zt(e)){if(y.has(b.name))continue;let w=b.iterable&&y.has(b.iterable)?`${We}<typeof ${b.iterable}>`:"any";u(`declare var ${b.name}: ${w}`)}}if(s.templateExpressions!==!1){if(r?.declarations)for(let g of r.declarations.split(`
37
+ `))u(g);let m=Gt(e).map((g)=>{let S=r?.events.get(g.offset??-1);if(S){g.anchor=!0;let y=g.code.trim(),b=/^([\w$]+)\s*=\s*([^=][\s\S]*)$/.exec(y),w=b?`void ((${b[2]}) satisfies __StxAssignedValue<typeof ${b[1]}>)`:/^[\w$]+(?:\.[\w$]+)*$/.test(y)?`${y} satisfies (($event: ${S}) => unknown)`:y,v=`;(($event: ${S}): void => { `;return{expression:g,statement:{text:`${v}${w} });`,prefixLength:v.length}}}return{expression:g,statement:qt(g)}}).filter((g)=>g.statement!==null);if(m.push(...r?.checks||[]),m.length>0){let g=ne(e),S=Zt(t.map((v)=>v.code)),b=[...new Set(t.flatMap((v)=>ee(v.code)))].filter((v)=>/^[A-Z_$][\w$]*$/i.test(v)),w=0;if(b.length>0){u(jt);for(let v of b)u(`type __StxT_${v} = ${Ue}<typeof ${v}>`);u(`;((${b.map((v)=>`${v}: __StxT_${v}`).join(", ")}) => {`),w=1}for(let{expression:v,statement:T}of m){let _=" ".repeat(w),C=v.offset===void 0?[]:Ut(g,v.offset),I=C.length>0?`${C.map((O)=>`if (${Ye(O,S)}) `).join("")}{ `:"",k=C.length>0?" }":"";u(_+I+T.text+k,{line:v.line,column:v.column,expression:v,prefixLength:T.prefixLength+_.length+I.length,guardPrefixLength:_.length+I.length})}if(w>0)u("});")}}let p=!1;if(s.reference&&i[0]!==void 0&&i[0].trim()==="")i[0]=`/// <reference path=${JSON.stringify(s.reference.replace(/\\/g,"/"))} />`,p=!0;return u("export {}"),{text:i.join(`
38
+ `),lineMap:o,sourceLineCount:n.length,componentDependencies:r?.dependencies,referenced:p}}function fe(e){let s=[0];for(let t=0;t<e.length;t++)if(e.charCodeAt(t)===10)s.push(t+1);return s}function ie(e,s){let t=0,n=e.length-1;while(t<n){let i=Math.ceil((t+n)/2);if(e[i]<=s)t=i;else n=i-1}return{line:t+1,column:s-e[t]+1}}function re(e,s,t){let n=Math.min(Math.max(s,1),e.length)-1,i=n+1<e.length?e[n+1]-1:Number.MAX_SAFE_INTEGER;return Math.min(e[n]+Math.max(t,1)-1,i)}function Je(e,s){if(!e.expression)return!1;return e.inGuard===!0||s===2774}function et(e,s,t){let n=e.lineMap.get(s);if(!n)return s<=e.sourceLineCount?{line:s,column:t}:null;let i=n.expression?.anchor?0:Math.max(0,t-1-(n.prefixLength??0));return{line:n.line,column:n.column+i,expression:n.expression,inGuard:t<=(n.guardPrefixLength??0)}}var tt=["module","exports","require","props","$props","$bool","$num","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 en=new Set(["module","exports","require","$bool","$num","window","document","console","confirm","alert","fetch"]),st=tt.filter((e)=>!en.has(e)).sort(),it=[...G].sort(),tn=[...new Set([...st,...it])].sort(),nn=new Set(st),sn=new Set(it),rn=new Set(tn),nt=/\bimport\s+(?!type[\s{])\{([^}]*)\}\s*from\s*(['"])stx\2/g;function on(e,s){if(s==="server")return`'${e}' 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`'${e}' is not provided by 'stx' in a client <script> block. The import is replaced by the window.stx runtime, which has no '${e}', so it is undefined in the browser.`}function rt(e,s){let t=[];for(let n of s){if(n.offset===void 0)continue;let i=n.kind==="server"?nn:sn;nt.lastIndex=0;for(let o of n.code.matchAll(nt)){let r=o.index+o[0].indexOf("{")+1;for(let a of o[1].matchAll(/[^,]+/g)){let c=a[0];if(/^\s*type\s/.test(c))continue;let u=/^\s*([A-Za-z_$][\w$]*)/.exec(c);if(!u)continue;let p=u[1];if(!rn.has(p)||i.has(p))continue;let m=n.offset+r+a.index+u[0].length-p.length,g=e.slice(0,m),S=g.split(`
39
39
  `).length;t.push({line:S,column:m-(g.lastIndexOf(`
40
- `)+1)+1,offset:m,length:p.length,name:p,kind:n.kind,message:on(p,n.kind)})}}}return t}var F=W(require("node:path"),1),an="@stacksjs/stx-typescript-plugin";function cn(e,s){let t=F.default.resolve(e);for(;;){let n=F.default.join(t,"tsconfig.json");if(s(n))return n;let r=F.default.dirname(t);if(r===t)return;t=r}}function ot(e,s,t){let n=cn(e,t);if(!n)return;let r=new Set,o=(i)=>{if(r.has(i))return;r.add(i);let a=s(i);if(!a)return;let c=a.compilerOptions?.plugins;if(Array.isArray(c)){let p=c.find((g)=>g?.name===an),m=Array.isArray(p?.libs)?p.libs.filter((g)=>typeof g==="string"):[];return p?{configPath:i,libs:m.map((g)=>F.default.resolve(F.default.dirname(i),g))}:null}let u=typeof a.extends==="string"?[a.extends]:Array.isArray(a.extends)?a.extends:[];for(let p of[...u].reverse()){if(typeof p!=="string"||!p.startsWith("."))continue;let m=F.default.resolve(F.default.dirname(i),p.endsWith(".json")?p:`${p}.json`),g=o(m);if(g!==void 0)return g}return};return o(n)??void 0}var at=Symbol.for("@stacksjs/stx-typescript-plugin"),ln=new Set([2300,2451,2403]);function q(e){return e.endsWith(".stx")}function ct(e){return q(e)||e.endsWith(".md")}function un(e){if(!e)return;return N.existsSync(P.default.join(e,"stx-module.d.ts"))&&N.existsSync(P.default.join(e,"stx.d.ts"))?P.default.join(e,"stx-module.d.ts"):void 0}function fn(e,s=N.existsSync){let t=e;for(;;){let n=P.default.join(t,"node_modules","@stacksjs","stx","stx-module.d.ts");if(s(n))return n;let r=P.default.dirname(t);if(r===t)return;t=r}}function dn(e,s=P.default.join(ut.tmpdir(),"stx-typescript-plugin")){let t=e.map((r)=>`/// <reference path=${JSON.stringify(r.replace(/\\/g,"/"))} />`).join(`
40
+ `)+1)+1,offset:m,length:p.length,name:p,kind:n.kind,message:on(p,n.kind)})}}}return t}var F=V(require("node:path"),1),an="@stacksjs/stx-typescript-plugin";function cn(e,s){let t=F.default.resolve(e);for(;;){let n=F.default.join(t,"tsconfig.json");if(s(n))return n;let i=F.default.dirname(t);if(i===t)return;t=i}}function ot(e,s,t){let n=cn(e,t);if(!n)return;let i=new Set,o=(r)=>{if(i.has(r))return;i.add(r);let a=s(r);if(!a)return;let c=a.compilerOptions?.plugins;if(Array.isArray(c)){let p=c.find((g)=>g?.name===an),m=Array.isArray(p?.libs)?p.libs.filter((g)=>typeof g==="string"):[];return p?{configPath:r,libs:m.map((g)=>F.default.resolve(F.default.dirname(r),g))}:null}let u=typeof a.extends==="string"?[a.extends]:Array.isArray(a.extends)?a.extends:[];for(let p of[...u].reverse()){if(typeof p!=="string"||!p.startsWith("."))continue;let m=F.default.resolve(F.default.dirname(r),p.endsWith(".json")?p:`${p}.json`),g=o(m);if(g!==void 0)return g}return};return o(n)??void 0}var at=Symbol.for("@stacksjs/stx-typescript-plugin"),ln=new Set([2300,2451,2403]);function q(e){return e.endsWith(".stx")}function ct(e){return q(e)||e.endsWith(".md")}function un(e){if(!e)return;return j.existsSync(P.default.join(e,"stx-module.d.ts"))&&j.existsSync(P.default.join(e,"stx.d.ts"))?P.default.join(e,"stx-module.d.ts"):void 0}function fn(e,s=j.existsSync){let t=e;for(;;){let n=P.default.join(t,"node_modules","@stacksjs","stx","stx-module.d.ts");if(s(n))return n;let i=P.default.dirname(t);if(i===t)return;t=i}}function dn(e,s=P.default.join(ut.tmpdir(),"stx-typescript-plugin")){let t=e.map((i)=>`/// <reference path=${JSON.stringify(i.replace(/\\/g,"/"))} />`).join(`
41
41
  `)+`
42
- `,n=P.default.join(s,`${lt.createHash("sha1").update(t).digest("hex").slice(0,16)}.d.ts`);if(!N.existsSync(n))N.mkdirSync(s,{recursive:!0}),N.writeFileSync(n,t);return n}function pn(e,s,t,n){let r=(a)=>Ye(s,{templateExpressions:q(e),originDir:P.default.dirname(e),filePath:e,readComponent:n.readComponent,componentsDir:n.componentsDir,projectRoot:n.projectRoot,reference:a,runtimeGlobals:!a,contextScope:"global"}),o=r(n.declarations);if(n.declarations&&!o.referenced)o=r(void 0);let i=te(s);return{version:t,source:s,virtual:o,blocks:i,sourceStarts:fe(s),virtualStarts:fe(o.text),collisions:new Set(qe(i))}}function gn(e,s){let t=e.findConfigFile(s,e.sys.fileExists);if(!t)return;let n=e.readConfigFile(t,e.sys.readFile);if(n.error)return;let r=e.parseJsonConfigFileContent(n.config,e.sys,P.default.dirname(t),void 0,t),o={};if(r.options.types)o.types=r.options.types;let i=r.options.paths;if(i){let a=r.options.baseUrl??r.options.pathsBasePath??P.default.dirname(t);o.paths={};for(let[c,u]of Object.entries(i))o.paths[c]=u.map((p)=>P.default.isAbsolute(p)?p:P.default.resolve(a,p))}return o}function mn(e,s={}){let t=e.typescript,n={},r=new Set,o=new WeakSet;return{create(i){let a=(l)=>{i.project.projectService.logger.info(`[stx-plugin] ${l}`)};if(i.languageService[at])return o.add(i.project),a("already applied to this project by another registration of the plugin; leaving it as it is"),i.languageService;a("TypeScript stx plugin initialized");let{languageService:c,languageServiceHost:u}=i,p=(l)=>{let d=c[l];return typeof d==="function"?d.bind(c):()=>{return}},m=u.getScriptSnapshot?.bind(u),g=u.getScriptVersion?.bind(u),S=un(s.declarationsDir);if(!S)a("the bundled stx declarations were not found; apps without their own fall back to `any`");let y=(l)=>t.sys?.fileExists(l)??N.existsSync(l),b=(l)=>{let d=t.readConfigFile?.(l,(f)=>t.sys.readFile(f));return d&&!d.error?d.config:void 0},w=new Map,v=(l)=>{let d=P.default.dirname(l);if(!w.has(d)){let f=fn(d,y)??S,x=[];try{x=(ot(d,b,y)?.libs??[]).filter(y)}catch(h){a(`could not read the stx entry of the project's tsconfig: ${String(h)}`)}w.set(d,f&&x.length>0?dn([f,...x]):f)}return w.get(d)},T=new Map,_=(l)=>{let d=m?.(l);return d?d.getText(0,d.getLength()):t.sys?.readFile(l)},C=()=>n.enabled!==!1;r.add(()=>{T.clear(),i.project.refreshDiagnostics?.()});let I=(l)=>{if(!ct(l)||!m)return;let d=`${g?.(l)||"0"}:${u.getProjectVersion?.()||""}`,f=T.get(l);if(f&&f.version===d&&[...f.virtual.componentDependencies||[]].every(([h,E])=>_(h)===E))return f;let x=m(l);if(!x)return;try{let h=i.project.getCurrentDirectory?.(),E=h?P.default.resolve(h,typeof i.config?.componentsDir==="string"?i.config.componentsDir:"components"):void 0,R=pn(l,x.getText(0,x.getLength()),d,{declarations:v(l),readComponent:_,componentsDir:E,projectRoot:h});return T.set(l,R),R}catch(h){a(`failed to build virtual document for ${l}: ${String(h)}`);return}},A=(l)=>q(l)?I(l):void 0,O=(l,d)=>{let f=re(l.virtualStarts,d);return et(l.virtual,f.line,f.column)},Q=(l,d)=>{let f=O(l,d);if(!f)return;return ie(l.sourceStarts,f.line,f.column)},M=(l,d)=>{let f=re(l.sourceStarts,d);return ie(l.virtualStarts,f.line,f.column)},j=(l,d)=>{let f=Q(l,d.start);if(f===void 0)return;let x=Q(l,d.start+d.length);return{start:f,length:x!==void 0&&x>=f?x-f:d.length}},H=(l,d)=>l.blocks.some((f)=>f.offset!==void 0&&d>=f.offset&&d<=f.offset+f.code.length),de=(l)=>{let d=A(l.fileName);if(!d)return l;let f=j(d,l.textSpan);if(!f)return;let x=l.contextSpan?j(d,l.contextSpan):void 0;return{...l,textSpan:f,contextSpan:x}},pe=(l)=>l?.map(de).filter((d)=>d!==void 0),ge=(l)=>l?.filter((d)=>{let f=A(d.fileName);if(!f)return!0;let{line:x}=re(f.virtualStarts,d.textSpan.start);return x<=f.virtual.sourceLineCount&&!f.virtual.lineMap.has(x)});if(m)u.getScriptSnapshot=(l)=>{let d=I(l);if(d)return t.ScriptSnapshot.fromString(d.virtual.text);return m(l)};let me=u.getCompilationSettings?.bind(u),dt=t.server?.ProjectKind!==void 0&&i.project.projectKind===t.server.ProjectKind.Inferred;if(me&&dt){let l=null,d;u.getCompilationSettings=()=>{let f=me();if(l===null)try{l=gn(t,i.project.getCurrentDirectory())}catch(x){a(`could not read the project's tsconfig: ${String(x)}`),l=void 0}if(!l)return f;if(d?.from!==f)d={from:f,options:{...f,...l.paths&&!f.paths?{paths:l.paths}:{},...l.types&&!f.types?{types:l.types}:{}}};return d.options}}let oe=(l,d)=>{let f=I(l);if(!f)return d;if(q(l)&&!C())return[];let x=[];for(let h of d){let E=typeof h.messageText==="string"?h.messageText:h.messageText.messageText;if(ln.has(h.code)){let B=E.match(/'([^']+)'/)?.[1];if(B&&f.collisions.has(B))continue}if(h.start===void 0){x.push(h);continue}let R=O(f,h.start);if(!R||Je(R,h.code))continue;let D=ie(f.sourceStarts,R.line,R.column),z=Q(f,h.start+(h.length??0));x.push({...h,start:D,length:z!==void 0&&z>D?z-D:h.length??0})}return x},pt=p("getSemanticDiagnostics");c.getSemanticDiagnostics=(l)=>{let d=oe(l,pt(l)),f=A(l);if(!f||!C())return d;let x=c.getProgram?.()?.getSourceFile(l);for(let h of it(f.source,f.blocks))d.push({file:x,start:h.offset,length:h.length,messageText:h.message,category:t.DiagnosticCategory?.Error??1,code:0,source:"stx"});return d};let gt=p("getSyntacticDiagnostics");c.getSyntacticDiagnostics=(l)=>oe(l,gt(l));let mt=p("getSuggestionDiagnostics");c.getSuggestionDiagnostics=(l)=>oe(l,mt(l));let he=p("getQuickInfoAtPosition");c.getQuickInfoAtPosition=(l,d,...f)=>{let x=A(l);if(!x)return he(l,d,...f);if(!C())return;let h=he(l,M(x,d),...f);if(!h)return h;let E=j(x,h.textSpan);return E?{...h,textSpan:E}:void 0};let xe=p("getCompletionsAtPosition");c.getCompletionsAtPosition=(l,d,f,...x)=>{let h=A(l);if(!h)return xe(l,d,f,...x);if(!C()||!H(h,d))return;let E=xe(l,M(h,d),{...f,includeCompletionsForModuleExports:!1},...x);if(!E)return E;let R=(D)=>D&&j(h,D);return{...E,optionalReplacementSpan:R(E.optionalReplacementSpan),entries:E.entries.filter((D)=>!D.name.startsWith("__stx")&&!D.name.startsWith("__Stx")).map((D)=>D.replacementSpan?{...D,replacementSpan:R(D.replacementSpan)}:D)}};let be=p("getCompletionEntryDetails");c.getCompletionEntryDetails=(l,d,...f)=>{let x=A(l);if(!x)return be(l,d,...f);let h=be(l,M(x,d),...f);return h?{...h,codeActions:void 0}:h};let Se=p("getSignatureHelpItems");c.getSignatureHelpItems=(l,d,...f)=>{let x=A(l);if(!x)return Se(l,d,...f);if(!C()||!H(x,d))return;let h=Se(l,M(x,d),...f),E=h&&j(x,h.applicableSpan);return h&&E?{...h,applicableSpan:E}:void 0};let ye=p("getDefinitionAndBoundSpan");c.getDefinitionAndBoundSpan=(l,d)=>{let f=A(l);if(!f)return we(ye(l,d));if(!C())return;let x=ye(l,M(f,d)),h=x&&j(f,x.textSpan);return x&&h?{...we(x),textSpan:h}:void 0};let we=(l)=>l&&{...l,definitions:ge(l.definitions)};for(let l of["getDefinitionAtPosition","getTypeDefinitionAtPosition","getImplementationAtPosition"]){let d=p(l);c[l]=(f,x,...h)=>{let E=A(f);if(E&&!C())return;return ge(d(f,E?M(E,x):x,...h))}}for(let l of["getReferencesAtPosition"]){let d=p(l);c[l]=(f,x,...h)=>{let E=A(f);if(E&&!C())return;return pe(d(f,E?M(E,x):x,...h))}}let ht=p("findReferences");c.findReferences=(l,d)=>{let f=A(l);if(f&&!C())return;return ht(l,f?M(f,d):d)?.map((x)=>{let h=de(x.definition);return h?{definition:h,references:pe(x.references)}:void 0}).filter((x)=>x!==void 0)};let xt=p("getDocumentHighlights");c.getDocumentHighlights=(l,d,f)=>{let x=A(l);if(x&&(!C()||!H(x,d)))return;return xt(l,x?M(x,d):d,f)?.map((h)=>{let E=A(h.fileName);if(!E)return h;return{...h,highlightSpans:h.highlightSpans.map((R)=>{let D=j(E,R.textSpan);return D?{...R,textSpan:D,contextSpan:R.contextSpan&&j(E,R.contextSpan)}:void 0}).filter((R)=>R!==void 0)}})};let bt=p("getNavigationTree");c.getNavigationTree=(l)=>{let d=bt(l),f=A(l);if(!f)return d;let x=(E)=>{let R=E.spans.map((B)=>j(f,B)).filter((B)=>B!==void 0);if(R.length===0)return;let D=E.nameSpan&&j(f,E.nameSpan),z=E.childItems?.map(x).filter((B)=>B!==void 0);return{...E,spans:R,nameSpan:D,childItems:z}},h={...d,spans:[{start:0,length:f.source.length}]};return C()?{...h,childItems:d.childItems?.map(x).filter((E)=>E!==void 0)}:{...h,childItems:[]}};let St={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[l,d]of Object.entries(St)){let f=c[l];if(typeof f!=="function")continue;let x=f.bind(c);c[l]=(h,...E)=>typeof h==="string"&&q(h)?d():x(h,...E)}return c[at]=!0,a("Language service proxy created"),c},getExternalFiles(i){if(o.has(i))return[];return i.getFileNames().filter(ct)},onConfigurationChanged(i){n={...n,...i};for(let a of r)a()}}}var ft=mn;module.exports=ft;
42
+ `,n=P.default.join(s,`${lt.createHash("sha1").update(t).digest("hex").slice(0,16)}.d.ts`);if(!j.existsSync(n))j.mkdirSync(s,{recursive:!0}),j.writeFileSync(n,t);return n}function pn(e,s,t,n){let i=(a)=>Qe(s,{templateExpressions:q(e),originDir:P.default.dirname(e),filePath:e,readComponent:n.readComponent,componentsDir:n.componentsDir,projectRoot:n.projectRoot,reference:a,runtimeGlobals:!a,contextScope:"global"}),o=i(n.declarations);if(n.declarations&&!o.referenced)o=i(void 0);let r=te(s);return{version:t,source:s,virtual:o,blocks:r,sourceStarts:fe(s),virtualStarts:fe(o.text),collisions:new Set(qe(r))}}function gn(e,s){let t=e.findConfigFile(s,e.sys.fileExists);if(!t)return;let n=e.readConfigFile(t,e.sys.readFile);if(n.error)return;let i=e.parseJsonConfigFileContent(n.config,e.sys,P.default.dirname(t),void 0,t),o={};if(i.options.types)o.types=i.options.types;let r=i.options.paths;if(r){let a=i.options.baseUrl??i.options.pathsBasePath??P.default.dirname(t);o.paths={};for(let[c,u]of Object.entries(r))o.paths[c]=u.map((p)=>P.default.isAbsolute(p)?p:P.default.resolve(a,p))}return o}function mn(e,s={}){let t=e.typescript,n={},i=new Set,o=new WeakSet;return{create(r){let a=(l)=>{r.project.projectService.logger.info(`[stx-plugin] ${l}`)};if(r.languageService[at])return o.add(r.project),a("already applied to this project by another registration of the plugin; leaving it as it is"),r.languageService;a("TypeScript stx plugin initialized");let{languageService:c,languageServiceHost:u}=r,p=(l)=>{let d=c[l];return typeof d==="function"?d.bind(c):()=>{return}},m=u.getScriptSnapshot?.bind(u),g=u.getScriptVersion?.bind(u),S=un(s.declarationsDir);if(!S)a("the bundled stx declarations were not found; apps without their own fall back to `any`");let y=(l)=>t.sys?.fileExists(l)??j.existsSync(l),b=(l)=>{let d=t.readConfigFile?.(l,(f)=>t.sys.readFile(f));return d&&!d.error?d.config:void 0},w=new Map,v=(l)=>{let d=P.default.dirname(l);if(!w.has(d)){let f=fn(d,y)??S,x=[];try{x=(ot(d,b,y)?.libs??[]).filter(y)}catch(h){a(`could not read the stx entry of the project's tsconfig: ${String(h)}`)}w.set(d,f&&x.length>0?dn([f,...x]):f)}return w.get(d)},T=new Map,_=(l)=>{let d=m?.(l);return d?d.getText(0,d.getLength()):t.sys?.readFile(l)},C=()=>n.enabled!==!1;i.add(()=>{T.clear(),r.project.refreshDiagnostics?.()});let I=(l)=>{if(!ct(l)||!m)return;let d=`${g?.(l)||"0"}:${u.getProjectVersion?.()||""}`,f=T.get(l);if(f&&f.version===d&&[...f.virtual.componentDependencies||[]].every(([h,E])=>_(h)===E))return f;let x=m(l);if(!x)return;try{let h=r.project.getCurrentDirectory?.(),E=h?P.default.resolve(h,typeof r.config?.componentsDir==="string"?r.config.componentsDir:"components"):void 0,R=pn(l,x.getText(0,x.getLength()),d,{declarations:v(l),readComponent:_,componentsDir:E,projectRoot:h});return T.set(l,R),R}catch(h){a(`failed to build virtual document for ${l}: ${String(h)}`);return}},k=(l)=>q(l)?I(l):void 0,O=(l,d)=>{let f=ie(l.virtualStarts,d);return et(l.virtual,f.line,f.column)},Y=(l,d)=>{let f=O(l,d);if(!f)return;return re(l.sourceStarts,f.line,f.column)},M=(l,d)=>{let f=ie(l.sourceStarts,d);return re(l.virtualStarts,f.line,f.column)},N=(l,d)=>{let f=Y(l,d.start);if(f===void 0)return;let x=Y(l,d.start+d.length);return{start:f,length:x!==void 0&&x>=f?x-f:d.length}},H=(l,d)=>l.blocks.some((f)=>f.offset!==void 0&&d>=f.offset&&d<=f.offset+f.code.length),de=(l)=>{let d=k(l.fileName);if(!d)return l;let f=N(d,l.textSpan);if(!f)return;let x=l.contextSpan?N(d,l.contextSpan):void 0;return{...l,textSpan:f,contextSpan:x}},pe=(l)=>l?.map(de).filter((d)=>d!==void 0),ge=(l)=>l?.filter((d)=>{let f=k(d.fileName);if(!f)return!0;let{line:x}=ie(f.virtualStarts,d.textSpan.start);return x<=f.virtual.sourceLineCount&&!f.virtual.lineMap.has(x)});if(m)u.getScriptSnapshot=(l)=>{let d=I(l);if(d)return t.ScriptSnapshot.fromString(d.virtual.text);return m(l)};let me=u.getCompilationSettings?.bind(u),dt=t.server?.ProjectKind!==void 0&&r.project.projectKind===t.server.ProjectKind.Inferred;if(me&&dt){let l=null,d;u.getCompilationSettings=()=>{let f=me();if(l===null)try{l=gn(t,r.project.getCurrentDirectory())}catch(x){a(`could not read the project's tsconfig: ${String(x)}`),l=void 0}if(!l)return f;if(d?.from!==f)d={from:f,options:{...f,...l.paths&&!f.paths?{paths:l.paths}:{},...l.types&&!f.types?{types:l.types}:{}}};return d.options}}let oe=(l,d)=>{let f=I(l);if(!f)return d;if(q(l)&&!C())return[];let x=[];for(let h of d){let E=typeof h.messageText==="string"?h.messageText:h.messageText.messageText;if(ln.has(h.code)){let B=E.match(/'([^']+)'/)?.[1];if(B&&f.collisions.has(B))continue}if(h.start===void 0){x.push(h);continue}let R=O(f,h.start);if(!R||Je(R,h.code))continue;let D=re(f.sourceStarts,R.line,R.column),z=Y(f,h.start+(h.length??0));x.push({...h,start:D,length:z!==void 0&&z>D?z-D:h.length??0})}return x},pt=p("getSemanticDiagnostics");c.getSemanticDiagnostics=(l)=>{let d=oe(l,pt(l)),f=k(l);if(!f||!C())return d;let x=c.getProgram?.()?.getSourceFile(l);for(let h of rt(f.source,f.blocks))d.push({file:x,start:h.offset,length:h.length,messageText:h.message,category:t.DiagnosticCategory?.Error??1,code:0,source:"stx"});return d};let gt=p("getSyntacticDiagnostics");c.getSyntacticDiagnostics=(l)=>oe(l,gt(l));let mt=p("getSuggestionDiagnostics");c.getSuggestionDiagnostics=(l)=>oe(l,mt(l));let he=p("getQuickInfoAtPosition");c.getQuickInfoAtPosition=(l,d,...f)=>{let x=k(l);if(!x)return he(l,d,...f);if(!C())return;let h=he(l,M(x,d),...f);if(!h)return h;let E=N(x,h.textSpan);return E?{...h,textSpan:E}:void 0};let xe=p("getCompletionsAtPosition");c.getCompletionsAtPosition=(l,d,f,...x)=>{let h=k(l);if(!h)return xe(l,d,f,...x);if(!C()||!H(h,d))return;let E=xe(l,M(h,d),{...f,includeCompletionsForModuleExports:!1},...x);if(!E)return E;let R=(D)=>D&&N(h,D);return{...E,optionalReplacementSpan:R(E.optionalReplacementSpan),entries:E.entries.filter((D)=>!D.name.startsWith("__stx")&&!D.name.startsWith("__Stx")).map((D)=>D.replacementSpan?{...D,replacementSpan:R(D.replacementSpan)}:D)}};let be=p("getCompletionEntryDetails");c.getCompletionEntryDetails=(l,d,...f)=>{let x=k(l);if(!x)return be(l,d,...f);let h=be(l,M(x,d),...f);return h?{...h,codeActions:void 0}:h};let Se=p("getSignatureHelpItems");c.getSignatureHelpItems=(l,d,...f)=>{let x=k(l);if(!x)return Se(l,d,...f);if(!C()||!H(x,d))return;let h=Se(l,M(x,d),...f),E=h&&N(x,h.applicableSpan);return h&&E?{...h,applicableSpan:E}:void 0};let ye=p("getDefinitionAndBoundSpan");c.getDefinitionAndBoundSpan=(l,d)=>{let f=k(l);if(!f)return we(ye(l,d));if(!C())return;let x=ye(l,M(f,d)),h=x&&N(f,x.textSpan);return x&&h?{...we(x),textSpan:h}:void 0};let we=(l)=>l&&{...l,definitions:ge(l.definitions)};for(let l of["getDefinitionAtPosition","getTypeDefinitionAtPosition","getImplementationAtPosition"]){let d=p(l);c[l]=(f,x,...h)=>{let E=k(f);if(E&&!C())return;return ge(d(f,E?M(E,x):x,...h))}}for(let l of["getReferencesAtPosition"]){let d=p(l);c[l]=(f,x,...h)=>{let E=k(f);if(E&&!C())return;return pe(d(f,E?M(E,x):x,...h))}}let ht=p("findReferences");c.findReferences=(l,d)=>{let f=k(l);if(f&&!C())return;return ht(l,f?M(f,d):d)?.map((x)=>{let h=de(x.definition);return h?{definition:h,references:pe(x.references)}:void 0}).filter((x)=>x!==void 0)};let xt=p("getDocumentHighlights");c.getDocumentHighlights=(l,d,f)=>{let x=k(l);if(x&&(!C()||!H(x,d)))return;return xt(l,x?M(x,d):d,f)?.map((h)=>{let E=k(h.fileName);if(!E)return h;return{...h,highlightSpans:h.highlightSpans.map((R)=>{let D=N(E,R.textSpan);return D?{...R,textSpan:D,contextSpan:R.contextSpan&&N(E,R.contextSpan)}:void 0}).filter((R)=>R!==void 0)}})};let bt=p("getNavigationTree");c.getNavigationTree=(l)=>{let d=bt(l),f=k(l);if(!f)return d;let x=(E)=>{let R=E.spans.map((B)=>N(f,B)).filter((B)=>B!==void 0);if(R.length===0)return;let D=E.nameSpan&&N(f,E.nameSpan),z=E.childItems?.map(x).filter((B)=>B!==void 0);return{...E,spans:R,nameSpan:D,childItems:z}},h={...d,spans:[{start:0,length:f.source.length}]};return C()?{...h,childItems:d.childItems?.map(x).filter((E)=>E!==void 0)}:{...h,childItems:[]}};let St={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[l,d]of Object.entries(St)){let f=c[l];if(typeof f!=="function")continue;let x=f.bind(c);c[l]=(h,...E)=>typeof h==="string"&&q(h)?d():x(h,...E)}return c[at]=!0,a("Language service proxy created"),c},getExternalFiles(r){if(o.has(r))return[];return r.getFileNames().filter(ct)},onConfigurationChanged(r){n={...n,...r};for(let a of i)a()}}}var ft=mn;module.exports=ft;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/stx-vscode",
3
3
  "type": "module",
4
- "version": "0.2.573",
4
+ "version": "0.2.575",
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",