@stacksjs/stx 0.2.355 → 0.2.357

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.
Files changed (197) hide show
  1. package/dist/chunk-0c49cy69.js +2 -0
  2. package/dist/chunk-0chkqvs1.js +2 -0
  3. package/dist/chunk-0d6qgbks.js +2 -0
  4. package/dist/{chunk-84bhnp6p.js → chunk-0dj2gne3.js} +2 -2
  5. package/dist/{chunk-57atgbyq.js → chunk-0knxnyq6.js} +1 -1
  6. package/dist/{chunk-m6dstr44.js → chunk-0smr2xjs.js} +2 -2
  7. package/dist/{chunk-e4g8wz6t.js → chunk-0t1yyn1d.js} +1 -1
  8. package/dist/{chunk-xvh1k1a4.js → chunk-19m7hed6.js} +1 -1
  9. package/dist/{chunk-vhta1be7.js → chunk-1nnza3m6.js} +1 -1
  10. package/dist/chunk-284kattb.js +2 -0
  11. package/dist/{chunk-n5657hm3.js → chunk-2gtwha4k.js} +1 -1
  12. package/dist/{chunk-f5veee11.js → chunk-2s3wvns6.js} +1 -1
  13. package/dist/chunk-2x3zy811.js +2 -0
  14. package/dist/chunk-38mpg3kn.js +2 -0
  15. package/dist/chunk-3f782ywp.js +2 -0
  16. package/dist/{chunk-mmnf2pac.js → chunk-3kd0zn9c.js} +2 -2
  17. package/dist/{chunk-avye7h5s.js → chunk-3kyydhzt.js} +1 -1
  18. package/dist/{chunk-msq8xvhp.js → chunk-3ssjb8cx.js} +309 -312
  19. package/dist/{chunk-6r3aavbv.js → chunk-3y8vvkar.js} +2 -2
  20. package/dist/{chunk-8cc4vdkh.js → chunk-4gtsf1xw.js} +1 -1
  21. package/dist/chunk-4mkqzhfh.js +2 -0
  22. package/dist/{chunk-xj6bcwqa.js → chunk-5270fyk7.js} +1 -1
  23. package/dist/chunk-54w1tgzq.js +2 -0
  24. package/dist/chunk-5x0zjm34.js +2 -0
  25. package/dist/{chunk-8bxtvsgm.js → chunk-634gaa9d.js} +1 -1
  26. package/dist/{chunk-pwh8pbks.js → chunk-6gsgayq3.js} +1 -1
  27. package/dist/{chunk-a8ghkfh6.js → chunk-6qhatdte.js} +2 -2
  28. package/dist/{chunk-6zrg2mmc.js → chunk-6yfccnr7.js} +2 -2
  29. package/dist/{chunk-z23sc9p4.js → chunk-79fj9zem.js} +2 -2
  30. package/dist/{chunk-2ver2s2y.js → chunk-7hb89n3z.js} +1 -1
  31. package/dist/{chunk-05zfez2g.js → chunk-7jcntsp4.js} +1 -1
  32. package/dist/{chunk-nf7k53ap.js → chunk-7kw3grq5.js} +1 -1
  33. package/dist/chunk-7nf8azjh.js +2 -0
  34. package/dist/{chunk-62nz9v8t.js → chunk-7v1g7prf.js} +2 -2
  35. package/dist/chunk-8wgsjh65.js +2 -0
  36. package/dist/{chunk-34f8c48f.js → chunk-8xjasa91.js} +1 -1
  37. package/dist/{chunk-w5j9tbsk.js → chunk-94dz7hrj.js} +1 -1
  38. package/dist/{chunk-6h3r8v55.js → chunk-9qdn9y72.js} +1 -1
  39. package/dist/{chunk-g7msqva8.js → chunk-a4jhcbsh.js} +3 -3
  40. package/dist/chunk-a6x0czvr.js +2 -0
  41. package/dist/{chunk-72x62kch.js → chunk-aa8015mk.js} +1 -1
  42. package/dist/{chunk-64n10kpa.js → chunk-aacfyyya.js} +1 -1
  43. package/dist/chunk-abtxpqna.js +2 -0
  44. package/dist/{chunk-c30qnb6z.js → chunk-apbr1kb1.js} +2 -2
  45. package/dist/{chunk-nm60wh6r.js → chunk-awyyskad.js} +1 -1
  46. package/dist/{chunk-ppzz953j.js → chunk-b8ywrx2w.js} +1 -1
  47. package/dist/{chunk-18018jkn.js → chunk-bcpjhcpn.js} +1 -1
  48. package/dist/{chunk-kw9cgyfc.js → chunk-c17ybabd.js} +1 -1
  49. package/dist/chunk-c4rpdtvw.js +2 -0
  50. package/dist/{chunk-zk6ghjnj.js → chunk-c79nfdyj.js} +1 -1
  51. package/dist/{chunk-a1knndrh.js → chunk-cf9gt3h9.js} +10 -10
  52. package/dist/chunk-cgs5xpsn.js +2 -0
  53. package/dist/{chunk-avwywzsj.js → chunk-czj6nq0b.js} +2 -2
  54. package/dist/{chunk-9kmhwbwy.js → chunk-czypgdc1.js} +1 -1
  55. package/dist/{chunk-epqd3eah.js → chunk-degz74nv.js} +2 -2
  56. package/dist/chunk-dpyc7pht.js +2 -0
  57. package/dist/{chunk-hay8nwv3.js → chunk-dtdwjpvf.js} +2 -2
  58. package/dist/chunk-e0f3qs59.js +2 -0
  59. package/dist/{chunk-dsztk2kp.js → chunk-e48050x3.js} +1 -1
  60. package/dist/{chunk-3nx7z086.js → chunk-ec8jsqgm.js} +3 -3
  61. package/dist/{chunk-86c461ca.js → chunk-eg8k598q.js} +1 -1
  62. package/dist/{chunk-bgrkxzr7.js → chunk-ej8mv2k6.js} +1 -1
  63. package/dist/{chunk-y2f41kaq.js → chunk-ejwfnttb.js} +1 -1
  64. package/dist/{chunk-ejqpq0wc.js → chunk-emjmshj8.js} +1 -1
  65. package/dist/{chunk-59906baj.js → chunk-ep034wt0.js} +1 -1
  66. package/dist/{chunk-njx93b4z.js → chunk-ez003q74.js} +1 -1
  67. package/dist/{chunk-ws0282jr.js → chunk-f11z7q5g.js} +1 -1
  68. package/dist/{chunk-g5mhck0r.js → chunk-f2jypsax.js} +2 -2
  69. package/dist/chunk-f3eb1f6z.js +2 -0
  70. package/dist/{chunk-6k5a03pw.js → chunk-f72c62s7.js} +2 -2
  71. package/dist/{chunk-1z1efvtw.js → chunk-fqq5k9ve.js} +1 -1
  72. package/dist/{chunk-c0n802j1.js → chunk-frp9fc7j.js} +1 -1
  73. package/dist/chunk-fzq2n865.js +2 -0
  74. package/dist/{chunk-g6czgcg4.js → chunk-g1vxsvqv.js} +1 -1
  75. package/dist/chunk-g3cmkyk2.js +2 -0
  76. package/dist/{chunk-7r9vgzg4.js → chunk-g7bpkpd4.js} +1 -1
  77. package/dist/{chunk-at622hg0.js → chunk-gn2qc03b.js} +1 -1
  78. package/dist/chunk-gxgrzeeh.js +2 -0
  79. package/dist/{chunk-a9w1ds4w.js → chunk-h99qxgbr.js} +1 -1
  80. package/dist/{chunk-dgv43ccd.js → chunk-hcf8399w.js} +1 -1
  81. package/dist/{chunk-hbkjzx1h.js → chunk-hh0aaxxy.js} +1 -1
  82. package/dist/{chunk-tc4pj651.js → chunk-hkrzv980.js} +2 -2
  83. package/dist/{chunk-7qp3zphs.js → chunk-hy79zwyy.js} +2 -2
  84. package/dist/chunk-j6kec9kp.js +2 -0
  85. package/dist/{chunk-e631svvs.js → chunk-j8wycqve.js} +1 -1
  86. package/dist/chunk-jmdxn2mq.js +2 -0
  87. package/dist/{chunk-a959m68j.js → chunk-k33778kc.js} +1 -1
  88. package/dist/{chunk-wvc7t11n.js → chunk-kaet6r9w.js} +1 -1
  89. package/dist/{chunk-9e20mgwc.js → chunk-kjd9hbg4.js} +3 -3
  90. package/dist/{chunk-8m0g0h4x.js → chunk-krt45cqy.js} +2 -2
  91. package/dist/{chunk-2wb3pgp4.js → chunk-kyyt9xhs.js} +1 -1
  92. package/dist/chunk-m0eg86q3.js +20 -0
  93. package/dist/{chunk-0k1mtwby.js → chunk-mdbj7sq8.js} +1 -1
  94. package/dist/{chunk-d86q27j8.js → chunk-mere396d.js} +1 -1
  95. package/dist/{chunk-1c9453w0.js → chunk-ms25gb16.js} +1 -1
  96. package/dist/{chunk-ym3r8ktq.js → chunk-n0d7nwhd.js} +1 -1
  97. package/dist/{chunk-7h9fajgs.js → chunk-n1y0hjk1.js} +2 -2
  98. package/dist/{chunk-bk1zb1xp.js → chunk-n5tpqzcb.js} +1 -1
  99. package/dist/{chunk-b5hank5e.js → chunk-nybn003d.js} +2 -2
  100. package/dist/chunk-p78b80dp.js +2 -0
  101. package/dist/chunk-pr3hz3ec.js +2 -0
  102. package/dist/{chunk-gtqbvt3a.js → chunk-q4kgqqed.js} +2 -2
  103. package/dist/{chunk-san1eq0r.js → chunk-qbz6yn8c.js} +2 -2
  104. package/dist/{chunk-fvsefztj.js → chunk-qjvny3wf.js} +1 -1
  105. package/dist/{chunk-v0e259x2.js → chunk-qnptmtqh.js} +1 -1
  106. package/dist/{chunk-msywnv5n.js → chunk-qrvey4wk.js} +2 -2
  107. package/dist/{chunk-7we3xfde.js → chunk-ra1s4s6b.js} +1 -1
  108. package/dist/{chunk-99b5tfxc.js → chunk-rcbt11p8.js} +1 -1
  109. package/dist/{chunk-9nrgjtah.js → chunk-rtfwn4cm.js} +1 -1
  110. package/dist/chunk-rydb5n5b.js +2 -0
  111. package/dist/chunk-sa6cgj9h.js +2 -0
  112. package/dist/chunk-skdfq4hq.js +2 -0
  113. package/dist/{chunk-ngjkzaj7.js → chunk-t23kccpz.js} +3 -3
  114. package/dist/{chunk-89mqnh67.js → chunk-tf16jtj4.js} +1 -1
  115. package/dist/{chunk-swvm1wgn.js → chunk-trva71am.js} +2 -2
  116. package/dist/{chunk-rwwfzkz4.js → chunk-tv04k7gq.js} +1 -1
  117. package/dist/{chunk-5wbdbcvf.js → chunk-v1qm7p7t.js} +2 -2
  118. package/dist/chunk-w1a8dwgx.js +2 -0
  119. package/dist/chunk-w9gserf7.js +2 -0
  120. package/dist/{chunk-y6xzr30x.js → chunk-wkyt4j9e.js} +1 -1
  121. package/dist/{chunk-p3p4d6g1.js → chunk-wz4fnsat.js} +2 -2
  122. package/dist/chunk-x131a0jq.js +2 -0
  123. package/dist/{chunk-f5cw54q3.js → chunk-x21hdhjw.js} +1 -1
  124. package/dist/chunk-x5b8az2h.js +2 -0
  125. package/dist/chunk-xk782v5z.js +2 -0
  126. package/dist/chunk-xxrv2p42.js +2 -0
  127. package/dist/{chunk-qsbjtp60.js → chunk-y4nzmkea.js} +1 -1
  128. package/dist/{chunk-sqvqwd0p.js → chunk-y4zddt5r.js} +1 -1
  129. package/dist/{chunk-vgfd9582.js → chunk-ya5m5vbn.js} +1 -1
  130. package/dist/{chunk-1vb2rj09.js → chunk-yg0qm73a.js} +2 -2
  131. package/dist/{chunk-8y1ve8tc.js → chunk-ykevda74.js} +2 -2
  132. package/dist/chunk-ynj1y0qm.js +2 -0
  133. package/dist/{chunk-v6e35j4g.js → chunk-z50ex86m.js} +1 -1
  134. package/dist/chunk-z8gccz1q.js +2 -0
  135. package/dist/{chunk-wj21f1e0.js → chunk-zxfejz72.js} +1 -1
  136. package/dist/chunk-zxnf0c9x.js +2 -0
  137. package/dist/cli.js +14 -14
  138. package/dist/craft-entry.js +1 -1
  139. package/dist/craft.js +1 -1
  140. package/dist/database.js +1 -1
  141. package/dist/engine-bindings.d.ts +35 -0
  142. package/dist/engine-bindings.js +55 -0
  143. package/dist/pwa.js +2 -2
  144. package/dist/ssg.js +2 -2
  145. package/dist/stx-module-imports.d.ts +24 -0
  146. package/dist/stx-module-imports.js +57 -0
  147. package/dist/stx-module.d.ts +154 -0
  148. package/dist/stx-plugin-config.d.ts +17 -0
  149. package/dist/stx-plugin-config.js +42 -0
  150. package/dist/stx-virtual-ts.d.ts +74 -1
  151. package/dist/stx-virtual-ts.js +81 -21
  152. package/dist/typecheck.d.ts +13 -0
  153. package/dist/typecheck.js +82 -64
  154. package/dist/variable-extractor.d.ts +2 -22
  155. package/dist/variable-extractor.js +3 -55
  156. package/dist/visual-testing.js +1 -1
  157. package/package.json +7 -6
  158. package/stx-module.d.ts +154 -0
  159. package/dist/chunk-04x3vny9.js +0 -19
  160. package/dist/chunk-1apnswz7.js +0 -2
  161. package/dist/chunk-1qvf8ase.js +0 -2
  162. package/dist/chunk-1vt1h19d.js +0 -2
  163. package/dist/chunk-32x78na8.js +0 -2
  164. package/dist/chunk-3z4d7kmp.js +0 -2
  165. package/dist/chunk-4b2vsawv.js +0 -2
  166. package/dist/chunk-616fn77w.js +0 -2
  167. package/dist/chunk-70zk8tj2.js +0 -2
  168. package/dist/chunk-86q2h34b.js +0 -2
  169. package/dist/chunk-88e14er7.js +0 -2
  170. package/dist/chunk-8yydz0hk.js +0 -2
  171. package/dist/chunk-a7yxvxke.js +0 -2
  172. package/dist/chunk-aanwshk6.js +0 -2
  173. package/dist/chunk-ahfj7dc7.js +0 -2
  174. package/dist/chunk-bed5f4bp.js +0 -2
  175. package/dist/chunk-dxkjvajv.js +0 -2
  176. package/dist/chunk-e7np0h2q.js +0 -2
  177. package/dist/chunk-erb294sv.js +0 -2
  178. package/dist/chunk-evfr2zgg.js +0 -2
  179. package/dist/chunk-f85f75jh.js +0 -2
  180. package/dist/chunk-gsc2vds7.js +0 -2
  181. package/dist/chunk-h5jt4mxx.js +0 -2
  182. package/dist/chunk-hke0k33t.js +0 -2
  183. package/dist/chunk-hysq9e9t.js +0 -2
  184. package/dist/chunk-kq30wqp6.js +0 -2
  185. package/dist/chunk-m2j5skez.js +0 -2
  186. package/dist/chunk-ntzzhw3w.js +0 -2
  187. package/dist/chunk-px0bs815.js +0 -2
  188. package/dist/chunk-qw92p9za.js +0 -2
  189. package/dist/chunk-rjwnw5hj.js +0 -2
  190. package/dist/chunk-tmr3xq5d.js +0 -2
  191. package/dist/chunk-tpk6wm38.js +0 -2
  192. package/dist/chunk-vw4b7g24.js +0 -2
  193. package/dist/chunk-x054qzma.js +0 -2
  194. package/dist/chunk-x2n1x19t.js +0 -2
  195. package/dist/chunk-zks9ft7n.js +0 -2
  196. package/dist/chunk-zkxnarrh.js +0 -2
  197. package/dist/chunk-zp14ksx1.js +0 -2
package/dist/typecheck.js CHANGED
@@ -14,35 +14,25 @@ import {
14
14
  scrapedBridgeNames,
15
15
  serverContextDeclarations,
16
16
  blankScriptDirectives,
17
+ declaredGlobalNames,
18
+ firstLinePadding,
19
+ isTemplateArtefact,
17
20
  substituteInterpolationsInPlace
18
21
  } from "./stx-virtual-ts.js";
22
+ import { stxImportDiagnostics } from "./stx-module-imports.js";
23
+ import { findStxPluginEntry } from "./stx-plugin-config.js";
19
24
  export {
20
25
  extractScriptBlocks,
21
26
  extractTemplateExpressions
22
27
  } from "./stx-virtual-ts.js";
23
28
  export function buildVirtualSource(block, serverCode = "", originDir = "") {
24
29
  const leadingNewlines = block.startLine > 1 ? `
25
- `.repeat(block.startLine - 1) : "", code = blankScriptDirectives(substituteInterpolationsInPlace(block.code)), payload = block.kind === "client" || block.kind === "plain" ? clientPayloadDeclarations(serverCode, block.code) : "";
30
+ `.repeat(block.startLine - 1) : "", code = firstLinePadding(block) + blankScriptDirectives(substituteInterpolationsInPlace(block.code)), payload = block.kind === "client" || block.kind === "plain" ? clientPayloadDeclarations(serverCode, block.code) : "";
26
31
  return absolutizeRelativeSpecifiers(`${leadingNewlines + code}
27
32
  ${payload}
28
33
  export {}
29
34
  `, originDir);
30
35
  }
31
- function virtualStxModuleDeclaration(files) {
32
- const anchor = files.length > 0 ? path.dirname(path.resolve(files[0])) : process.cwd();
33
- try {
34
- Bun.resolveSync("@stacksjs/stx", anchor);
35
- } catch {
36
- return "";
37
- }
38
- return [
39
- "// Generated \u2014 `stx` is the virtual specifier client-script.ts strips.",
40
- "declare module 'stx' {",
41
- " export * from '@stacksjs/stx'",
42
- "}"
43
- ].join(`
44
- `);
45
- }
46
36
  const WINDOW_OWNED_NAMES = new Set([
47
37
  "name",
48
38
  "status",
@@ -94,9 +84,15 @@ export function sourcePathFor(virtualPath) {
94
84
  return virtualPath.replace(/\.__stx_(?:server|client|plain|template)\d+\.ts$/, "");
95
85
  }
96
86
  export function findRuntimeTypeDeclarations() {
87
+ return findPackageDeclarations("stx.d.ts");
88
+ }
89
+ export function findStxModuleDeclarations() {
90
+ return findPackageDeclarations("stx-module.d.ts");
91
+ }
92
+ function findPackageDeclarations(name) {
97
93
  for (const candidate of [
98
- path.resolve(import.meta.dir, "..", "stx.d.ts"),
99
- path.resolve(import.meta.dir, "..", "..", "stx.d.ts")
94
+ path.resolve(import.meta.dir, "..", name),
95
+ path.resolve(import.meta.dir, "..", "..", name)
100
96
  ])
101
97
  if (existsSync(candidate))
102
98
  return candidate;
@@ -106,6 +102,51 @@ const TSC_LINE_RE = /^(.*?)\((\d+),(\d+)\):\s+(error|warning)\s+TS(\d+):\s+(.*)$
106
102
  function isSyntactic(code) {
107
103
  return code >= 1000 && code < 2000;
108
104
  }
105
+ function stripJsonc(text) {
106
+ let out = "", inString = !1, escaped = !1;
107
+ for (let i = 0;i < text.length; i++) {
108
+ const c = text[i];
109
+ if (inString) {
110
+ out += c;
111
+ if (escaped)
112
+ escaped = !1;
113
+ else if (c === "\\")
114
+ escaped = !0;
115
+ else if (c === '"')
116
+ inString = !1;
117
+ continue;
118
+ }
119
+ if (c === '"') {
120
+ inString = !0;
121
+ out += c;
122
+ continue;
123
+ }
124
+ if (c === "/" && text[i + 1] === "/") {
125
+ while (i < text.length && text[i] !== `
126
+ `)
127
+ i++;
128
+ out += `
129
+ `;
130
+ continue;
131
+ }
132
+ if (c === "/" && text[i + 1] === "*") {
133
+ i += 2;
134
+ while (i < text.length && !(text[i] === "*" && text[i + 1] === "/"))
135
+ i++;
136
+ i++;
137
+ continue;
138
+ }
139
+ out += c;
140
+ }
141
+ return out.replace(/,(\s*[}\]])/g, "$1");
142
+ }
143
+ function readJsoncConfig(file) {
144
+ try {
145
+ return JSON.parse(stripJsonc(readFileSync(file, "utf8")));
146
+ } catch {
147
+ return;
148
+ }
149
+ }
109
150
  function readProjectPathAliases(startDir) {
110
151
  let dir = path.resolve(startDir), configPath;
111
152
  for (;; ) {
@@ -121,44 +162,7 @@ function readProjectPathAliases(startDir) {
121
162
  }
122
163
  if (!configPath)
123
164
  return {};
124
- const stripJsonc = (text) => {
125
- let out = "", inString = !1, escaped = !1;
126
- for (let i = 0;i < text.length; i++) {
127
- const c = text[i];
128
- if (inString) {
129
- out += c;
130
- if (escaped)
131
- escaped = !1;
132
- else if (c === "\\")
133
- escaped = !0;
134
- else if (c === '"')
135
- inString = !1;
136
- continue;
137
- }
138
- if (c === '"') {
139
- inString = !0;
140
- out += c;
141
- continue;
142
- }
143
- if (c === "/" && text[i + 1] === "/") {
144
- while (i < text.length && text[i] !== `
145
- `)
146
- i++;
147
- out += `
148
- `;
149
- continue;
150
- }
151
- if (c === "/" && text[i + 1] === "*") {
152
- i += 2;
153
- while (i < text.length && !(text[i] === "*" && text[i + 1] === "/"))
154
- i++;
155
- i++;
156
- continue;
157
- }
158
- out += c;
159
- }
160
- return out.replace(/,(\s*[}\]])/g, "$1");
161
- }, seen = new Set;
165
+ const seen = new Set;
162
166
  let current = configPath, paths, baseUrl, owner = configPath;
163
167
  while (current && !seen.has(current)) {
164
168
  seen.add(current);
@@ -190,7 +194,7 @@ function readProjectPathAliases(startDir) {
190
194
  return { paths: absolute };
191
195
  }
192
196
  export async function typecheckStxFiles(files, options = {}) {
193
- const checkClient = options.client !== !1, checkServer = options.server !== !1, checkTemplates = options.templates !== !1, componentsDir = options.componentsDir ?? (checkTemplates ? (await loadStxConfig()).componentsDir : void 0), virtualFiles = new Map, scrapedByFile = new Map, checkedFiles = [];
197
+ const checkClient = options.client !== !1, checkServer = options.server !== !1, checkTemplates = options.templates !== !1, componentsDir = options.componentsDir ?? (checkTemplates ? (await loadStxConfig()).componentsDir : void 0), virtualFiles = new Map, scrapedByFile = new Map, importDiagnostics = [], checkedFiles = [];
194
198
  let blockCount = 0, expressionCount = 0;
195
199
  const runtimeTypes = findRuntimeTypeDeclarations();
196
200
  for (const file of files) {
@@ -200,6 +204,16 @@ export async function typecheckStxFiles(files, options = {}) {
200
204
  return checkClient;
201
205
  }), serverCode = extractScriptBlocks(source).filter((block) => block.kind === "server").map((block) => block.code).join(`
202
206
  `);
207
+ for (const d of stxImportDiagnostics(source, blocks))
208
+ importDiagnostics.push({
209
+ file,
210
+ line: d.line,
211
+ column: d.column,
212
+ code: 0,
213
+ message: d.message,
214
+ category: "error",
215
+ blockKind: d.kind
216
+ });
203
217
  if (checkClient && serverCode) {
204
218
  const clientBlocks = blocks.filter((block) => block.kind !== "server"), names = [...new Set(clientBlocks.flatMap((block) => scrapedBridgeNames(serverCode, block.code)))];
205
219
  if (names.length > 0)
@@ -227,20 +241,25 @@ export async function typecheckStxFiles(files, options = {}) {
227
241
  });
228
242
  }
229
243
  if (virtualFiles.size === 0)
230
- return { diagnostics: [], checkedFiles, blockCount: 0, expressionCount: 0 };
231
- const ambient = (options.extraLibs ?? []).map((lib) => path.resolve(lib));
244
+ return { diagnostics: importDiagnostics, checkedFiles, blockCount: 0, expressionCount: 0 };
245
+ const ambient = (options.extraLibs ?? []).map((lib) => path.resolve(lib)), pluginEntry = findStxPluginEntry(files.length > 0 ? path.dirname(path.resolve(files[0])) : process.cwd(), readJsoncConfig, existsSync);
246
+ for (const lib of pluginEntry?.libs ?? [])
247
+ if (!ambient.includes(lib) && existsSync(lib))
248
+ ambient.push(lib);
232
249
  if (runtimeTypes)
233
250
  ambient.push(runtimeTypes);
251
+ const stxModule = runtimeTypes ? findStxModuleDeclarations() : null;
252
+ if (stxModule)
253
+ ambient.push(stxModule);
234
254
  const globalsDts = `${stateDir()}/typecheck/__stx_globals.d.ts`, globalDecls = [
235
255
  "// Generated \u2014 the context serve.ts injects into <script server> blocks.",
236
- serverContextDeclarations(),
256
+ serverContextDeclarations(runtimeTypes ? declaredGlobalNames(readFileSync(runtimeTypes, "utf8")) : void 0),
237
257
  ...runtimeTypes ? [] : ["declare const window: any", ...STX_RUNTIME_GLOBALS.map((name) => `declare const ${name}: any`)],
238
258
  [
239
259
  "// Generated \u2014 the names stx auto-imports from @stacksjs/browser.",
240
260
  ...BROWSER_CORE_IMPORTS.map((name) => `declare const ${name}: any`)
241
261
  ].join(`
242
262
  `),
243
- virtualStxModuleDeclaration(files),
244
263
  composableGlobalDeclarations(await listComposableModules())
245
264
  ].filter(Boolean).join(`
246
265
  `), workDir = `${stateDir()}/typecheck`;
@@ -305,9 +324,7 @@ export async function typecheckStxFiles(files, options = {}) {
305
324
  const at = resolvePosition(entry.virtual, line, column);
306
325
  if (!at?.expression)
307
326
  continue;
308
- if (at.inGuard)
309
- continue;
310
- if (Number(code) === 2774)
327
+ if (isTemplateArtefact(at, Number(code)))
311
328
  continue;
312
329
  line = at.line;
313
330
  column = at.column;
@@ -345,6 +362,7 @@ export async function typecheckStxFiles(files, options = {}) {
345
362
  blockKind: scraped.kind
346
363
  });
347
364
  }
365
+ diagnostics.push(...importDiagnostics);
348
366
  const seen = new Set, unique = diagnostics.filter((d) => {
349
367
  const key = `${d.file}:${d.line}:${d.column}:${d.code}:${d.message}`;
350
368
  if (seen.has(key))
@@ -1,25 +1,5 @@
1
- /**
2
- * The runtime bindings the engine hands a `<script server>` block as function
3
- * parameters, in the order the parameters are declared.
4
- *
5
- * This drives the `new Function` parameter list rather than sitting beside it,
6
- * because the two must not drift: the value list below it is positional, so a
7
- * name added in one place and not the other silently rebinds every argument
8
- * after it.
9
- *
10
- * It is also the set a `from 'stx'` import must not redeclare. A server script
11
- * writing the documented `import { defineProps } from 'stx'` was rewritten to
12
- * `const { defineProps } = await import('stx')`, and that `const` shadows the
13
- * parameter of the same name. The package's own `defineProps` reads
14
- * `globalThis.__STX_CURRENT_PROPS__`, which nothing on the server path ever
15
- * sets — so props came back `{}` and every component rendered empty.
16
- *
17
- * It went unnoticed because `stx` does not resolve inside this repo (the
18
- * published package is `@stacksjs/stx`; the root `stx` is private), so the
19
- * generated `await import('stx')` rejected and the shadowing binding was never
20
- * created. The failure needed a real install to appear.
21
- */
22
- export declare const STX_ENGINE_BINDING_NAMES: readonly ['module', 'exports', 'require', 'props', '$props', '$bool', 'defineProps', 'withDefaults', 'defineClientPayload', 'useServerData', 'useRuntimeConfig', 'useServerRuntimeConfig', 'state', 'derived', 'effect', 'batch', 'onMount', 'onDestroy', 'definePageMeta', 'useRoute', 'useRouter', 'useHead', 'useSeoMeta', 'setResponseStatus', 'setResponseHeader', 'notFound', 'ref', 'reactive', 'computed', 'watch', 'onMounted', 'onUnmounted', 'nextTick', 'defineEmits', 'defineExpose', 'defineSlots', 'provide', 'inject', 'useColorMode', 'useDark', 'useMediaQuery', 'useScrollLock', 'usePreferredDark', 'usePreferredLight', 'usePreferredReducedMotion', 'usePreferredContrast', 'window', 'document', 'console', 'confirm', 'alert', 'fetch', 'params'];
1
+ import { STX_ENGINE_BINDING_NAMES } from './engine-bindings';
2
+ export { STX_ENGINE_BINDING_NAMES };
23
3
  /**
24
4
  * Strip TypeScript-specific syntax to make it executable as JavaScript
25
5
  *
@@ -4,61 +4,9 @@ import { useServerData, withServerData } from "./server-data.js";
4
4
  import { prepareRuntimeConfig } from "./runtime-config-loader.js";
5
5
  import { currentRuntimeConfig, resolveRuntimeConfig, useRuntimeConfig, useServerRuntimeConfig, withRuntimeConfig } from "./runtime-config-server.js";
6
6
  import { getSharedTranspiler } from "./utils.js";
7
- export const STX_ENGINE_BINDING_NAMES = [
8
- "module",
9
- "exports",
10
- "require",
11
- "props",
12
- "$props",
13
- "$bool",
14
- "defineProps",
15
- "withDefaults",
16
- "defineClientPayload",
17
- "useServerData",
18
- "useRuntimeConfig",
19
- "useServerRuntimeConfig",
20
- "state",
21
- "derived",
22
- "effect",
23
- "batch",
24
- "onMount",
25
- "onDestroy",
26
- "definePageMeta",
27
- "useRoute",
28
- "useRouter",
29
- "useHead",
30
- "useSeoMeta",
31
- "setResponseStatus",
32
- "setResponseHeader",
33
- "notFound",
34
- "ref",
35
- "reactive",
36
- "computed",
37
- "watch",
38
- "onMounted",
39
- "onUnmounted",
40
- "nextTick",
41
- "defineEmits",
42
- "defineExpose",
43
- "defineSlots",
44
- "provide",
45
- "inject",
46
- "useColorMode",
47
- "useDark",
48
- "useMediaQuery",
49
- "useScrollLock",
50
- "usePreferredDark",
51
- "usePreferredLight",
52
- "usePreferredReducedMotion",
53
- "usePreferredContrast",
54
- "window",
55
- "document",
56
- "console",
57
- "confirm",
58
- "alert",
59
- "fetch",
60
- "params"
61
- ];
7
+ import { STX_ENGINE_BINDING_NAMES } from "./engine-bindings.js";
8
+
9
+ export { STX_ENGINE_BINDING_NAMES };
62
10
  const ENGINE_BINDINGS = new Set(STX_ENGINE_BINDING_NAMES), CONTEXT_RESERVED_BINDINGS = new Set(["props", "$props", "defineProps"]), STX_RUNTIME_SPECIFIERS = new Set(["stx", "@stacksjs/stx"]);
63
11
  import { findMatchingDelimiter } from "./parser/tokenizer.js";
64
12
  import { mergeHeadConfigs, seoMetaToHeadConfig } from "./head.js";
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import"./chunk-ejqpq0wc.js";import B from"fs";import $ from"path";import k from"crypto";var V=[{name:"mobile",width:375,height:667,isMobile:!0,hasTouch:!0},{name:"tablet",width:768,height:1024,isMobile:!0,hasTouch:!0},{name:"desktop",width:1280,height:800,isMobile:!1,hasTouch:!1},{name:"wide",width:1920,height:1080,isMobile:!1,hasTouch:!1}];function J(N={}){let Y={snapshotDir:N.snapshotDir||"__snapshots__",screenshotDir:N.screenshotDir||"__screenshots__",updateSnapshots:N.updateSnapshots||process.env.UPDATE_SNAPSHOTS==="true",threshold:N.threshold??0.01,viewports:N.viewports||V,generateDiff:N.generateDiff??!0,diffDir:N.diffDir||"__diffs__",compare:N.compare||b,ci:N.ci??process.env.CI==="true",retries:N.retries??(N.ci?3:1)};return{async snapshot(M,X){let q=$.join(Y.snapshotDir,`${X}.html`),G=C(M),Q=K(G);if(await Bun.file(q).exists()){let W=await Bun.file(q).text(),Z=K(C(W));if(Q===Z)return{passed:!0,snapshotPath:q,message:"Snapshot matches"};if(Y.updateSnapshots)return await B.promises.mkdir($.dirname(q),{recursive:!0}),await Bun.write(q,G),{passed:!0,snapshotPath:q,message:"Snapshot updated"};let F=$.join(Y.diffDir,`${X}.actual.html`),U=$.join(Y.diffDir,`${X}.diff.html`);return await B.promises.mkdir(Y.diffDir,{recursive:!0}),await Bun.write(F,G),await Bun.write(U,I(W,G)),{passed:!1,snapshotPath:q,actualPath:F,diffPath:U,message:"Snapshot does not match"}}return await B.promises.mkdir($.dirname(q),{recursive:!0}),await Bun.write(q,G),{passed:!0,snapshotPath:q,message:"New snapshot created"}},async snapshotJson(M,X){let q=$.join(Y.snapshotDir,`${X}.json`),G=JSON.stringify(M,null,2);if(await Bun.file(q).exists()){let Q=await Bun.file(q).text();if(G===Q)return{passed:!0,snapshotPath:q};if(Y.updateSnapshots)return await Bun.write(q,G),{passed:!0,snapshotPath:q,message:"Snapshot updated"};return{passed:!1,snapshotPath:q,message:`JSON snapshot mismatch:
2
+ import"./chunk-emjmshj8.js";import B from"fs";import $ from"path";import k from"crypto";var V=[{name:"mobile",width:375,height:667,isMobile:!0,hasTouch:!0},{name:"tablet",width:768,height:1024,isMobile:!0,hasTouch:!0},{name:"desktop",width:1280,height:800,isMobile:!1,hasTouch:!1},{name:"wide",width:1920,height:1080,isMobile:!1,hasTouch:!1}];function J(N={}){let Y={snapshotDir:N.snapshotDir||"__snapshots__",screenshotDir:N.screenshotDir||"__screenshots__",updateSnapshots:N.updateSnapshots||process.env.UPDATE_SNAPSHOTS==="true",threshold:N.threshold??0.01,viewports:N.viewports||V,generateDiff:N.generateDiff??!0,diffDir:N.diffDir||"__diffs__",compare:N.compare||b,ci:N.ci??process.env.CI==="true",retries:N.retries??(N.ci?3:1)};return{async snapshot(M,X){let q=$.join(Y.snapshotDir,`${X}.html`),G=C(M),Q=K(G);if(await Bun.file(q).exists()){let W=await Bun.file(q).text(),Z=K(C(W));if(Q===Z)return{passed:!0,snapshotPath:q,message:"Snapshot matches"};if(Y.updateSnapshots)return await B.promises.mkdir($.dirname(q),{recursive:!0}),await Bun.write(q,G),{passed:!0,snapshotPath:q,message:"Snapshot updated"};let F=$.join(Y.diffDir,`${X}.actual.html`),U=$.join(Y.diffDir,`${X}.diff.html`);return await B.promises.mkdir(Y.diffDir,{recursive:!0}),await Bun.write(F,G),await Bun.write(U,I(W,G)),{passed:!1,snapshotPath:q,actualPath:F,diffPath:U,message:"Snapshot does not match"}}return await B.promises.mkdir($.dirname(q),{recursive:!0}),await Bun.write(q,G),{passed:!0,snapshotPath:q,message:"New snapshot created"}},async snapshotJson(M,X){let q=$.join(Y.snapshotDir,`${X}.json`),G=JSON.stringify(M,null,2);if(await Bun.file(q).exists()){let Q=await Bun.file(q).text();if(G===Q)return{passed:!0,snapshotPath:q};if(Y.updateSnapshots)return await Bun.write(q,G),{passed:!0,snapshotPath:q,message:"Snapshot updated"};return{passed:!1,snapshotPath:q,message:`JSON snapshot mismatch:
3
3
  ${z(Q,G)}`}}return await B.promises.mkdir($.dirname(q),{recursive:!0}),await Bun.write(q,G),{passed:!0,snapshotPath:q,message:"New snapshot created"}},matchInlineSnapshot(M,X){let q=C(M);if(X===void 0)return{passed:!0,expected:q};let G=C(X);return{passed:q===G,expected:q}},getConfig(){return Y}}}function D(N={}){let Y=J(N),M=Y.getConfig();return{async compareScreenshots(X,q,G="desktop"){let Q=$.join(M.screenshotDir,G,`${X}.png`),W=$.join(M.diffDir,G,`${X}.actual.png`),Z=$.join(M.diffDir,G,`${X}.diff.png`);if(await Bun.file(Q).exists()){let F=await Bun.file(Q).arrayBuffer(),U=Buffer.from(F),_=await M.compare(q,U);if(_.match||_.diffPercentage<=M.threshold)return{viewport:G,passed:!0,baselinePath:Q};if(M.updateSnapshots)return await B.promises.mkdir($.dirname(Q),{recursive:!0}),await Bun.write(Q,q),{viewport:G,passed:!0,baselinePath:Q};if(await B.promises.mkdir($.dirname(W),{recursive:!0}),await Bun.write(W,q),_.diffImage&&M.generateDiff)await Bun.write(Z,_.diffImage);return{viewport:G,passed:!1,baselinePath:Q,actualPath:W,diffPath:M.generateDiff?Z:void 0,diffPercentage:_.diffPercentage}}return await B.promises.mkdir($.dirname(Q),{recursive:!0}),await Bun.write(Q,q),{viewport:G,passed:!0,baselinePath:Q}},async testViewports(X,q,G=M.viewports){let Q=[];for(let W of G){let Z=null;for(let F=0;F<M.retries;F++)try{let U=await q(W),_=await this.compareScreenshots(X,U,W.name);Q.push(_),Z=null;break}catch(U){if(Z=U,F<M.retries-1)await new Promise((_)=>setTimeout(_,100*(F+1)))}if(Z)Q.push({viewport:W.name,passed:!1,baselinePath:"",diffPercentage:100})}return Q},getSnapshotTester(){return Y}}}function L(N={}){let M=D(N).getSnapshotTester(),X=new Map;return{addStory(q){X.set(`${q.component}/${q.name}`,q)},addStories(q){for(let G of q)this.addStory(G)},getStories(){return Array.from(X.values())},getStoriesForComponent(q){return Array.from(X.values()).filter((G)=>G.component===q)},async testStory(q){let G=X.get(q);if(!G)return{name:q,passed:!1,duration:0,snapshots:[],screenshots:[],errors:[Error(`Story not found: ${q}`)]};let Q=Date.now(),W={name:q,passed:!0,duration:0,snapshots:[],screenshots:[],errors:[]};try{let Z=await G.render(),F=await M.snapshot(Z,q.replace(/\//g,"-"));if(W.snapshots.push(F),!F.passed)W.passed=!1}catch(Z){W.passed=!1,W.errors.push(Z)}return W.duration=Date.now()-Q,W},async testAllStories(){let q=[];for(let G of X.keys()){let Q=await this.testStory(G);q.push(Q)}return q},async generateStoryIndex(){let q={};for(let G of X.values()){if(!q[G.component])q[G.component]=[];q[G.component].push({name:G.name,args:G.args})}return JSON.stringify(q,null,2)}}}async function S(N,Y={}){let M={outputDir:Y.outputDir||"visual-test-report",format:Y.format||"html",title:Y.title||"Visual Test Report",includeScreenshots:Y.includeScreenshots??!0};await B.promises.mkdir(M.outputDir,{recursive:!0});let X=N.length,q=N.filter((F)=>F.passed).length,G=X-q,Q=N.reduce((F,U)=>F+U.duration,0);if(M.format==="json"){let F={title:M.title,summary:{total:X,passed:q,failed:G,duration:Q},results:N,generatedAt:new Date().toISOString()},U=$.join(M.outputDir,"report.json");return await Bun.write(U,JSON.stringify(F,null,2)),U}if(M.format==="markdown"){let F=`# ${M.title}
4
4
 
5
5
  `;F+=`## Summary
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/stx",
3
3
  "type": "module",
4
- "version": "0.2.355",
4
+ "version": "0.2.357",
5
5
  "description": "A performant UI Framework. Powered by Bun.",
6
6
  "author": "Chris Breuer <chris@stacksjs.org>",
7
7
  "license": "MIT",
@@ -84,7 +84,8 @@
84
84
  "LICENSE.md",
85
85
  "README.md",
86
86
  "dist",
87
- "stx.d.ts"
87
+ "stx.d.ts",
88
+ "stx-module.d.ts"
88
89
  ],
89
90
  "scripts": {
90
91
  "build": "bun run build:css && bun --bun build.ts",
@@ -117,12 +118,12 @@
117
118
  "dependencies": {
118
119
  "@stacksjs/ts-css": "^0.3.2",
119
120
  "@stacksjs/clapp": "^0.2.16",
120
- "@stacksjs/desktop": "0.2.355",
121
- "@stacksjs/sanitizer": "0.2.355",
121
+ "@stacksjs/desktop": "0.2.357",
122
+ "@stacksjs/sanitizer": "0.2.357",
122
123
  "@stacksjs/ts-i18n": "^0.1.11",
123
- "bun-plugin-stx": "0.2.355",
124
+ "bun-plugin-stx": "0.2.357",
124
125
  "bunfig": "^0.15.19",
125
- "stx-router": "0.2.355",
126
+ "stx-router": "0.2.357",
126
127
  "ts-broadcasting": "^0.0.10",
127
128
  "ts-images": "^0.2.22",
128
129
  "ts-syntax-highlighter": "^0.2.1"
@@ -0,0 +1,154 @@
1
+ /// <reference path="./stx.d.ts" />
2
+
3
+ /**
4
+ * The `stx` module, as a `.stx` script block sees it.
5
+ *
6
+ * `stx` is a VIRTUAL specifier. No package by that name is installed in an app,
7
+ * and `import { … } from 'stx'` works only because both script paths intercept
8
+ * it: a client block's import is stripped and its names destructured off
9
+ * `window.stx`, and a server block's names are handed in by the engine as
10
+ * parameters. So what this module exports is exactly what those two paths bind,
11
+ * and nothing else from `@stacksjs/stx` (see src/stx-module-imports.ts):
12
+ *
13
+ * - every name destructured off `window.stx` (STX_RUNTIME_GLOBALS), which a
14
+ * server block also receives where the engine binds it, and
15
+ * - the stx API names only the server engine binds, marked below.
16
+ *
17
+ * Each value is typed by the ambient global of the same name in `stx.d.ts`, so
18
+ * an imported `state` is exactly the auto-imported one; the module adds no
19
+ * second copy of any signature to drift.
20
+ *
21
+ * This file is NOT referenced from the package's types entry, on purpose. The
22
+ * specifier is virtual only inside a `.stx` block; a `.ts` file importing from
23
+ * `stx` has a real import that does not resolve. `stx typecheck` and the editor
24
+ * plugin add it to the programs they build for `.stx` files.
25
+ *
26
+ * Which block kind gets which name is checked separately, because one
27
+ * declaration cannot say it: `stxImportDiagnostics` reports a server-only name
28
+ * imported into a client block and the reverse.
29
+ *
30
+ * test/stx-module-declaration.test.ts keeps this list equal to the runtime's.
31
+ */
32
+ declare module 'stx' {
33
+ export const $props: Record<string, any> // <script server> only
34
+ export const batch: typeof globalThis.batch
35
+ export const clearServerData: typeof globalThis.clearServerData
36
+ export const computed: typeof globalThis.computed
37
+ export const configureFetch: typeof globalThis.configureFetch
38
+ export const defineClientPayload: (payload: Record<string, unknown>) => void // <script server> only
39
+ export const defineEmits: typeof globalThis.defineEmits
40
+ export const defineExpose: typeof globalThis.defineExpose
41
+ export const definePageMeta: typeof globalThis.definePageMeta
42
+ export const defineProps: typeof globalThis.defineProps
43
+ export const defineSlots: typeof globalThis.defineSlots
44
+ export const defineStore: typeof globalThis.defineStore
45
+ export const derived: typeof globalThis.derived
46
+ export const effect: typeof globalThis.effect
47
+ export const goBack: typeof globalThis.goBack
48
+ export const goForward: typeof globalThis.goForward
49
+ export const inject: typeof globalThis.inject
50
+ export const invalidateRoute: typeof globalThis.invalidateRoute
51
+ export const isDerived: typeof globalThis.isDerived
52
+ export const isSignal: typeof globalThis.isSignal
53
+ export const navigate: typeof globalThis.navigate
54
+ export const nextTick: typeof globalThis.nextTick
55
+ export const notFound: (status?: number) => void // <script server> only
56
+ export const onBeforeMount: typeof globalThis.onBeforeMount
57
+ export const onBeforeUnmount: typeof globalThis.onBeforeUnmount
58
+ export const onDestroy: typeof globalThis.onDestroy
59
+ export const onMount: typeof globalThis.onMount
60
+ export const onMounted: typeof globalThis.onMounted
61
+ export const onUnmounted: typeof globalThis.onUnmounted
62
+ export const params: Record<string, string> // <script server> only
63
+ export const peek: typeof globalThis.peek
64
+ export const props: Record<string, any> // <script server> only
65
+ export const provide: typeof globalThis.provide
66
+ export const reactive: typeof globalThis.reactive
67
+ export const ref: typeof globalThis.ref
68
+ export const refresh: typeof globalThis.refresh
69
+ export const registerStoresClient: typeof globalThis.registerStoresClient
70
+ export const setResponseHeader: (name: string, value: string) => void // <script server> only
71
+ export const setResponseStatus: (status: number) => void // <script server> only
72
+ export const setRouteParams: typeof globalThis.setRouteParams
73
+ export const state: typeof globalThis.state
74
+ export const untrack: typeof globalThis.untrack
75
+ export const useAsync: typeof globalThis.useAsync
76
+ export const useClickOutside: typeof globalThis.useClickOutside
77
+ export const useColorMode: typeof globalThis.useColorMode
78
+ export const useCookie: typeof globalThis.useCookie
79
+ export const useCounter: typeof globalThis.useCounter
80
+ export const useDark: typeof globalThis.useDark
81
+ export const useDebounce: typeof globalThis.useDebounce
82
+ export const useDebouncedValue: typeof globalThis.useDebouncedValue
83
+ export const useDocumentVisibility: typeof globalThis.useDocumentVisibility
84
+ export const useEventListener: typeof globalThis.useEventListener
85
+ export const useFetch: typeof globalThis.useFetch
86
+ export const useFocus: typeof globalThis.useFocus
87
+ export const useHead: typeof globalThis.useHead
88
+ export const useId: typeof globalThis.useId
89
+ export const useInterval: typeof globalThis.useInterval
90
+ export const useLocalStorage: typeof globalThis.useLocalStorage
91
+ export const useMediaQuery: typeof globalThis.useMediaQuery
92
+ export const useModel: typeof globalThis.useModel
93
+ export const useMutation: typeof globalThis.useMutation
94
+ export const useOptimistic: typeof globalThis.useOptimistic
95
+ export const usePreferredContrast: typeof globalThis.usePreferredContrast
96
+ export const usePreferredDark: typeof globalThis.usePreferredDark
97
+ export const usePreferredLight: typeof globalThis.usePreferredLight
98
+ export const usePreferredReducedMotion: typeof globalThis.usePreferredReducedMotion
99
+ export const useQuery: typeof globalThis.useQuery
100
+ export const useReactiveProp: typeof globalThis.useReactiveProp
101
+ export const useRef: typeof globalThis.useRef
102
+ export const useRoute: typeof globalThis.useRoute
103
+ export const useRouteParam: typeof globalThis.useRouteParam
104
+ export const useRouteParams: typeof globalThis.useRouteParams
105
+ export const useRouter: () => { push: (to: unknown) => void, replace: (to: unknown) => void, back: () => void, forward: () => void, go: (n: number) => void } // <script server> only
106
+ export const useRuntimeConfig: () => Readonly<Record<string, any>> // <script server> only
107
+ export const useScrollLock: typeof globalThis.useScrollLock
108
+ export const useSearchParams: typeof globalThis.useSearchParams
109
+ export const useSeoMeta: typeof globalThis.useSeoMeta
110
+ export const useServerData: typeof globalThis.useServerData // <script server> only
111
+ export const useServerRuntimeConfig: () => Readonly<{ public: Record<string, any>, private: Record<string, any> }> // <script server> only
112
+ export const useSessionStorage: typeof globalThis.useSessionStorage
113
+ export const useSlots: typeof globalThis.useSlots
114
+ export const useStore: typeof globalThis.useStore
115
+ export const useThrottle: typeof globalThis.useThrottle
116
+ export const useTimeout: typeof globalThis.useTimeout
117
+ export const useToggle: typeof globalThis.useToggle
118
+ export const useWebSocket: typeof globalThis.useWebSocket
119
+ export const watch: typeof globalThis.watch
120
+ export const watchEffect: typeof globalThis.watchEffect
121
+ export const watchMultiple: typeof globalThis.watchMultiple
122
+ export const withDefaults: typeof globalThis.withDefaults
123
+
124
+ export type StxSignal<T> = globalThis.StxSignal<T>
125
+ export type StxDerivedSignal<T> = globalThis.StxDerivedSignal<T>
126
+ export type StxRef<T> = globalThis.StxRef<T>
127
+ export type StxCleanup = globalThis.StxCleanup
128
+ export type StxModelOptions<T> = globalThis.StxModelOptions<T>
129
+ export type StxModelSignal<T> = globalThis.StxModelSignal<T>
130
+ export type StxTemplateRef<T> = globalThis.StxTemplateRef<T>
131
+ export type StxNavigateOptions = globalThis.StxNavigateOptions
132
+ export type StxSearchParamsCommitOptions = globalThis.StxSearchParamsCommitOptions
133
+ export type StxRefetchOptions = globalThis.StxRefetchOptions
134
+ export type StxFetchResult<T> = globalThis.StxFetchResult<T>
135
+ export type StxQueryResult<T> = globalThis.StxQueryResult<T>
136
+ export type StxMutationResult<T> = globalThis.StxMutationResult<T>
137
+ export type StxFetchRequestContext = globalThis.StxFetchRequestContext
138
+ export type StxFetchResponseContext = globalThis.StxFetchResponseContext
139
+ export type StxFetchErrorContext = globalThis.StxFetchErrorContext
140
+ export type StxEventListenerOptions = globalThis.StxEventListenerOptions
141
+ export type StxIntervalOptions = globalThis.StxIntervalOptions
142
+ export type StxIntervalControls = globalThis.StxIntervalControls
143
+ export type StxCookieOptions = globalThis.StxCookieOptions
144
+ export type StxColorModeOptions = globalThis.StxColorModeOptions
145
+ export type StxHeadConfig = globalThis.StxHeadConfig
146
+ export type StxSeoMetaConfig = globalThis.StxSeoMetaConfig
147
+ export type StxToastOptions = globalThis.StxToastOptions
148
+ export type StxToast = globalThis.StxToast
149
+ export type StxModal = globalThis.StxModal
150
+ export type StxDrawer = globalThis.StxDrawer
151
+ export type StxDialogOptions = globalThis.StxDialogOptions
152
+ export type StxStorePersistOptions = globalThis.StxStorePersistOptions
153
+ export type StxStoreOptions = globalThis.StxStoreOptions
154
+ }
@@ -1,19 +0,0 @@
1
- // @bun
2
- import{ei as s}from"./chunk-6r3aavbv.js";import{$l as a,Kp as v,Lp as i,Mp as t,Pp as e,Qp as HH,Rp as KH,Sp as QH,Tp as YH,Up as ZH,sr as $H}from"./chunk-msq8xvhp.js";import{nt as h}from"./chunk-y2f41kaq.js";import{vv as f}from"./chunk-72x62kch.js";import{existsSync as jH,readFileSync as WH}from"fs";import z from"path";function AH(Q,K="",V=""){let L=Q.startLine>1?`
3
- `.repeat(Q.startLine-1):"",U=t(i(Q.code)),X=Q.kind==="client"||Q.kind==="plain"?HH(K,Q.code):"";return QH(`${L+U}
4
- ${X}
5
- export {}
6
- `,V)}function MH(Q){let K=Q.length>0?z.dirname(z.resolve(Q[0])):process.cwd();try{Bun.resolveSync("@stacksjs/stx",K)}catch{return""}return["// Generated \u2014 `stx` is the virtual specifier client-script.ts strips.","declare module 'stx' {"," export * from '@stacksjs/stx'","}"].join(`
7
- `)}var UH=new Set(["name","status","length","location","history","origin","closed","close","open","focus","blur","print","scroll","scrollTo","scrollBy","stop","top","parent","self","frames","event","external","menubar","toolbar"]);function IH(Q){if(Q.length===0)return"";let K=["// Generated \u2014 the composables the runtime publishes as bare globals."],V=new Set(f),L=[];for(let{file:U,names:X}of Q){let W=JSON.stringify(U.replace(/\\/g,"/").replace(/\.ts$/,""));L.push(` export * from ${W}`);for(let A of X){if(V.has(A)||UH.has(A))continue;V.add(A),K.push(`declare const ${A}: typeof import(${W})[${JSON.stringify(A)}]`)}}return K.push("declare module '@composables' {",...L,"}"),K.join(`
8
- `)}function r(Q,K,V){return`${Q}.__stx_${K}${V}.ts`}function SH(Q){return Q.replace(/\.__stx_(?:server|client|plain|template)\d+\.ts$/,"")}function LH(){for(let Q of[z.resolve(import.meta.dir,"..","stx.d.ts"),z.resolve(import.meta.dir,"..","..","stx.d.ts")])if(jH(Q))return Q;return null}var NH=/^(.*?)\((\d+),(\d+)\):\s+(error|warning)\s+TS(\d+):\s+(.*)$/;function RH(Q){return Q>=1000&&Q<2000}function EH(Q){let K=z.resolve(Q),V;for(;;){let Z=z.join(K,"tsconfig.json");if(jH(Z)){V=Z;break}let $=z.dirname(K);if($===K)break;K=$}if(!V)return{};let L=(Z)=>{let $="",M=!1,B=!1;for(let j=0;j<Z.length;j++){let q=Z[j];if(M){if($+=q,B)B=!1;else if(q==="\\")B=!0;else if(q==='"')M=!1;continue}if(q==='"'){M=!0,$+=q;continue}if(q==="/"&&Z[j+1]==="/"){while(j<Z.length&&Z[j]!==`
9
- `)j++;$+=`
10
- `;continue}if(q==="/"&&Z[j+1]==="*"){j+=2;while(j<Z.length&&!(Z[j]==="*"&&Z[j+1]==="/"))j++;j++;continue}$+=q}return $.replace(/,(\s*[}\]])/g,"$1")},U=new Set,X=V,W,A,R=V;while(X&&!U.has(X)){U.add(X);let Z;try{Z=JSON.parse(L(WH(X,"utf8")))}catch{break}let $=Z?.compilerOptions??{};if(!W&&$.paths&&typeof $.paths==="object")W=$.paths,R=X;if(!A&&typeof $.baseUrl==="string")A=z.resolve(z.dirname(X),$.baseUrl);if(W&&A)break;X=typeof Z?.extends==="string"?z.resolve(z.dirname(X),Z.extends.endsWith(".json")?Z.extends:`${Z.extends}.json`):void 0}if(!W)return{};let P=A??z.dirname(R),O={};for(let[Z,$]of Object.entries(W)){if(!Array.isArray($))continue;O[Z]=$.map((M)=>typeof M==="string"&&!z.isAbsolute(M)?z.resolve(P,M):M)}return{paths:O}}async function DH(Q,K={}){let V=K.client!==!1,L=K.server!==!1,U=K.templates!==!1,X=K.componentsDir??(U?(await $H()).componentsDir:void 0),W=new Map,A=new Map,R=[],P=0,O=0,Z=LH();for(let H of Q){let Y=await Bun.file(H).text(),G=v(Y).filter((J)=>{if(J.kind==="server")return L;return V}),I=v(Y).filter((J)=>J.kind==="server").map((J)=>J.code).join(`
11
- `);if(V&&I){let J=G.filter((F)=>F.kind!=="server"),_=[...new Set(J.flatMap((F)=>KH(I,F.code)))];if(_.length>0)A.set(H,{names:_,line:J[0].startLine,kind:J[0].kind})}let E=z.dirname(z.resolve(H)),N=U?YH(Y,{runtimeGlobals:!Z,originDir:E,filePath:z.resolve(H),componentsDir:X}):null,C=N?[...N.lineMap.values()].filter((J)=>J.expression).length:0;if(G.length===0&&C===0)continue;if(R.push(H),P+=G.length,O+=C,G.forEach((J,_)=>{W.set(r(H,J.kind,_),{source:AH(J,I,E),origin:H,kind:J.kind})}),N&&C>0)W.set(r(H,"template",0),{source:N.text,origin:H,kind:"template",virtual:N})}if(W.size===0)return{diagnostics:[],checkedFiles:R,blockCount:0,expressionCount:0};let $=(K.extraLibs??[]).map((H)=>z.resolve(H));if(Z)$.push(Z);let M=`${h()}/typecheck/__stx_globals.d.ts`,B=["// Generated \u2014 the context serve.ts injects into <script server> blocks.",e(),...Z?[]:["declare const window: any",...f.map((H)=>`declare const ${H}: any`)],["// Generated \u2014 the names stx auto-imports from @stacksjs/browser.",...a.map((H)=>`declare const ${H}: any`)].join(`
12
- `),MH(Q),IH(await s())].filter(Boolean).join(`
13
- `),j=`${h()}/typecheck`;await Bun.$`rm -rf ${j}`.quiet().nothrow(),await Bun.$`mkdir -p ${j}`.quiet().nothrow(),await Bun.write(M,B);let q=new Map,zH=0;for(let[H,Y]of W){let G=`${zH++}_${H.replace(/[^\w.-]+/g,"_")}`;await Bun.write(`${j}/${G}`,Y.source),q.set(G,Y)}let JH={target:"ESNext",module:"ESNext",moduleResolution:"bundler",strict:!0,noEmit:!0,skipLibCheck:!0,allowJs:!0,esModuleInterop:!0,resolveJsonModule:!0,lib:["ESNext","DOM","DOM.Iterable"],types:[],...EH(Q.length>0?z.dirname(z.resolve(Q[0])):process.cwd()),...K.compilerOptions??{}},k=async(H,Y)=>{let G=`${j}/tsconfig${Y===1?"":`.${Y}`}.json`;await Bun.write(G,JSON.stringify({compilerOptions:JH,files:H.map((E)=>`${j}/${E}`).concat(M,...$)},null,2));let I=Bun.spawnSync(["bun","x","tsc","-p",G,"--pretty","false"],{stdout:"pipe",stderr:"pipe"});return{output:new TextDecoder().decode(I.stdout)+new TextDecoder().decode(I.stderr),exitCode:I.exitCode??0}},m=await k([...q.keys()],1),b=m.output,S=[],u=m.exitCode,d=0,VH=new Set($.map((H)=>H.split("/").pop())),p=0,T=new Set,l=(H)=>{for(let Y of H.replace(/\n[\t ]+([^\n]*)/g," $1").split(`
14
- `)){let G=Y.match(NH);if(!G)continue;if(d++,VH.has(G[1].split("/").pop()))p++;let[,I,E,N,C,J,_]=G,F=I.split("/").pop(),w=q.get(F);if(!w)continue;if(RH(Number(J)))T.add(F);let g=Number(E),x=Number(N),o;if(w.virtual){let y=ZH(w.virtual,g,x);if(!y?.expression)continue;if(y.inGuard)continue;if(Number(J)===2774)continue;g=y.line,x=y.column,o=y.expression.code.trim()}S.push({file:w.origin,line:g,column:x,code:Number(J),message:_,category:C==="error"?"error":"warning",blockKind:w.kind,expression:o})}};l(b);let XH=d,qH=p;if(T.size>0&&T.size<q.size){let H=[...q.keys()].filter((Y)=>!T.has(Y));l((await k(H,2)).output)}if(V)for(let[H,Y]of A){if(Y.names.length===0)continue;S.push({file:H,line:Y.line,column:1,code:0,message:`${Y.names.length===1?"1 value reaches":`${Y.names.length} values reach`} this block on the implicit bridge and ${Y.names.length===1?"is":"are"} untyped: ${Y.names.join(", ")}. Declare them with defineClientPayload({ ${Y.names.join(", ")} }) in the server block to have them checked.`,category:"warning",blockKind:Y.kind})}let c=new Set,D=S.filter((H)=>{let Y=`${H.file}:${H.line}:${H.column}:${H.code}:${H.message}`;if(c.has(Y))return!1;return c.add(Y),!0});D.sort((H,Y)=>H.file.localeCompare(Y.file)||H.line-Y.line||H.column-Y.column);let n=qH>0&&D.length===0,GH=n||u!==0&&XH===0?`${n?"a file passed with --lib has errors of its own, so nothing in your code was checked":`tsc exited ${u} without reporting any diagnostic, so nothing was checked`}. `+"A syntax error in an ambient declaration file does this \u2014 skipLibCheck suppresses "+`SEMANTIC diagnostics only. tsc said:
15
- ${b.trim().split(`
16
- `).slice(0,12).join(`
17
- `)||"(no output)"}`:void 0;return{diagnostics:D,checkedFiles:R,blockCount:P,expressionCount:O,failure:GH}}function gH(Q){return Q.map((K)=>{let V=K.blockKind==="template"?`[template: ${K.expression??""}]`:`[${K.blockKind==="plain"?"<script>":`<script ${K.blockKind}>`}]`;return`${K.file}:${K.line}:${K.column} ${K.category} TS${K.code} ${K.message} ${V}`}).join(`
18
- `)}
19
- export{AH as Le,r as Me,SH as Ne,LH as Oe,DH as Pe,gH as Qe};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{$p as k,Ho as a,Jo as b,Lo as c,Mo as d,Vp as e,Wp as f,Xp as g,Yp as h,Zp as i,_p as j,aq as l,bq as m,cq as n,dq as o,eq as p,fq as q,gq as r,hq as s,iq as t,jq as u,kq as v,lq as w,mq as x,nq as y}from"./chunk-msq8xvhp.js";import"./chunk-8y1ve8tc.js";import"./chunk-njx93b4z.js";import"./chunk-2wb3pgp4.js";import"./chunk-89mqnh67.js";import"./chunk-xvh1k1a4.js";import"./chunk-9e20mgwc.js";import"./chunk-y2f41kaq.js";import"./chunk-xj6bcwqa.js";import"./chunk-gtqbvt3a.js";import"./chunk-vhta1be7.js";import"./chunk-tc4pj651.js";import"./chunk-san1eq0r.js";import"./chunk-avwywzsj.js";import"./chunk-wj21f1e0.js";import"./chunk-d86q27j8.js";import"./chunk-72x62kch.js";import"./chunk-swvm1wgn.js";import"./chunk-9nrgjtah.js";import"./chunk-ejqpq0wc.js";export{e as validateTemplate,g as validateDirective,o as userComponentFileExists,m as transpileTypeScript,q as slotContentHasExpressions,k as shouldTranspileTypeScript,n as scopeOnRootElement,u as resolveTemplatePath,s as renderComponentWithSlot,j as isJavaScriptScript,p as isHydrateTrigger,d as hasVariables,h as hasDirectives,v as getSourceLineInfo,l as getSharedTranspiler,f as getPositionInfo,y as getComponentCacheStats,t as fileExists,a as extractVariables,c as extractScriptFromTemplate,i as extractDirectiveNames,w as createDetailedErrorMessage,b as convertToCommonJS,r as componentClientSignalNames,x as clearComponentCache};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{fo as b,go as c,ho as d}from"./chunk-msq8xvhp.js";import"./chunk-8y1ve8tc.js";import"./chunk-njx93b4z.js";import"./chunk-2wb3pgp4.js";import"./chunk-89mqnh67.js";import"./chunk-xvh1k1a4.js";import"./chunk-9e20mgwc.js";import"./chunk-y2f41kaq.js";import"./chunk-xj6bcwqa.js";import"./chunk-gtqbvt3a.js";import"./chunk-vhta1be7.js";import"./chunk-tc4pj651.js";import"./chunk-san1eq0r.js";import{mv as a}from"./chunk-avwywzsj.js";import"./chunk-wj21f1e0.js";import"./chunk-d86q27j8.js";import"./chunk-72x62kch.js";import"./chunk-swvm1wgn.js";import"./chunk-9nrgjtah.js";import"./chunk-ejqpq0wc.js";export{b as rendersAsElement,c as processESImports,d as processComponents,a as freeIdentifiers};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{ii as a,ji as b}from"./chunk-vgfd9582.js";import"./chunk-ejqpq0wc.js";export{a as processTeleportDirectives,b as ensureTeleportTargets};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{qr as a,rr as b,sr as c,tr as d,ur as e,vr as f}from"./chunk-msq8xvhp.js";import"./chunk-8y1ve8tc.js";import"./chunk-njx93b4z.js";import"./chunk-2wb3pgp4.js";import"./chunk-89mqnh67.js";import"./chunk-xvh1k1a4.js";import"./chunk-9e20mgwc.js";import"./chunk-y2f41kaq.js";import"./chunk-xj6bcwqa.js";import"./chunk-gtqbvt3a.js";import"./chunk-vhta1be7.js";import"./chunk-tc4pj651.js";import"./chunk-san1eq0r.js";import"./chunk-avwywzsj.js";import"./chunk-wj21f1e0.js";import"./chunk-d86q27j8.js";import"./chunk-72x62kch.js";import"./chunk-swvm1wgn.js";import"./chunk-9nrgjtah.js";import"./chunk-ejqpq0wc.js";export{f as validateConfig,b as resolveStxDirectories,c as loadStxConfig,e as defineStxConfig,a as defaultConfig,d as config};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{Jj as b,Kj as c,Lj as d,Mj as e,Nj as f,Oj as g,Pj as h,Qj as i,Rj as j,Sj as k,Tj as l,Uj as m,Vj as n,Wj as o}from"./chunk-mmnf2pac.js";import{tl as a}from"./chunk-fvsefztj.js";import"./chunk-msq8xvhp.js";import"./chunk-8y1ve8tc.js";import"./chunk-njx93b4z.js";import"./chunk-2wb3pgp4.js";import"./chunk-89mqnh67.js";import"./chunk-xvh1k1a4.js";import"./chunk-9e20mgwc.js";import"./chunk-y2f41kaq.js";import"./chunk-xj6bcwqa.js";import"./chunk-gtqbvt3a.js";import"./chunk-vhta1be7.js";import"./chunk-tc4pj651.js";import"./chunk-san1eq0r.js";import"./chunk-avwywzsj.js";import"./chunk-wj21f1e0.js";import"./chunk-d86q27j8.js";import"./chunk-72x62kch.js";import"./chunk-swvm1wgn.js";import"./chunk-9nrgjtah.js";import"./chunk-ejqpq0wc.js";export{b as templateCache,j as registerServeModuleBundle,c as readFileCached,e as invalidateFileCacheByDir,d as invalidateFileCache,o as hashFilePath,k as getServeModuleBundle,i as getServeClientAsset,g as getCachedSignalsRuntime,h as getCachedRouterScript,l as clearDevCaches,m as checkCache,n as cacheTemplate,a as cacheEngineFingerprint,f as __setSignalsGeneratorsForTest};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{Gp as b,Hp as c,Ip as d,Jp as e,lo as a}from"./chunk-msq8xvhp.js";import"./chunk-8y1ve8tc.js";import"./chunk-njx93b4z.js";import"./chunk-2wb3pgp4.js";import"./chunk-89mqnh67.js";import"./chunk-xvh1k1a4.js";import"./chunk-9e20mgwc.js";import"./chunk-y2f41kaq.js";import"./chunk-xj6bcwqa.js";import"./chunk-gtqbvt3a.js";import"./chunk-vhta1be7.js";import"./chunk-tc4pj651.js";import"./chunk-san1eq0r.js";import"./chunk-avwywzsj.js";import"./chunk-wj21f1e0.js";import"./chunk-d86q27j8.js";import"./chunk-72x62kch.js";import"./chunk-swvm1wgn.js";import"./chunk-9nrgjtah.js";import"./chunk-ejqpq0wc.js";export{d as validateClientScript,c as processOnceDirective,b as processJsonDirective,e as processDirectives,a as injectRouterScript};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{kk as a,lk as b,mk as c,nk as d}from"./chunk-84bhnp6p.js";import"./chunk-3nx7z086.js";import"./chunk-msq8xvhp.js";import"./chunk-8y1ve8tc.js";import"./chunk-njx93b4z.js";import"./chunk-2wb3pgp4.js";import"./chunk-89mqnh67.js";import"./chunk-xvh1k1a4.js";import"./chunk-9e20mgwc.js";import"./chunk-y2f41kaq.js";import"./chunk-xj6bcwqa.js";import"./chunk-gtqbvt3a.js";import"./chunk-vhta1be7.js";import"./chunk-tc4pj651.js";import"./chunk-san1eq0r.js";import"./chunk-avwywzsj.js";import"./chunk-wj21f1e0.js";import"./chunk-d86q27j8.js";import"./chunk-72x62kch.js";import"./chunk-swvm1wgn.js";import"./chunk-9nrgjtah.js";import"./chunk-ejqpq0wc.js";export{b as getAvailableTargets,c as getAvailableFormats,d as default,a as buildNative};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{Co as a,Do as b,Eo as c,Fo as d,Go as e,Ho as f,Io as g,Jo as h,Ko as i,Lo as j,Mo as k}from"./chunk-msq8xvhp.js";import"./chunk-8y1ve8tc.js";import"./chunk-njx93b4z.js";import"./chunk-2wb3pgp4.js";import"./chunk-89mqnh67.js";import"./chunk-xvh1k1a4.js";import"./chunk-9e20mgwc.js";import"./chunk-y2f41kaq.js";import"./chunk-xj6bcwqa.js";import"./chunk-gtqbvt3a.js";import"./chunk-vhta1be7.js";import"./chunk-tc4pj651.js";import"./chunk-san1eq0r.js";import"./chunk-avwywzsj.js";import"./chunk-wj21f1e0.js";import"./chunk-d86q27j8.js";import"./chunk-72x62kch.js";import"./chunk-swvm1wgn.js";import"./chunk-9nrgjtah.js";import"./chunk-ejqpq0wc.js";export{b as stripTypeScript,i as splitDeclaration,d as isSyntaxFailure,c as isModuleResolutionFailure,e as isMissingBindingFailure,g as isCompleteImport,k as hasVariables,f as extractVariables,j as extractScriptFromTemplate,h as convertToCommonJS,a as STX_ENGINE_BINDING_NAMES};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{hi as a}from"./chunk-1z1efvtw.js";import"./chunk-ejqpq0wc.js";export{a as processDeferDirectives};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{Wf as a}from"./chunk-62nz9v8t.js";import"./chunk-g7msqva8.js";import"./chunk-57atgbyq.js";import"./chunk-8m0g0h4x.js";import"./chunk-e4g8wz6t.js";import"./chunk-c0n802j1.js";import"./chunk-ngjkzaj7.js";import"./chunk-msq8xvhp.js";import"./chunk-8y1ve8tc.js";import"./chunk-njx93b4z.js";import"./chunk-2wb3pgp4.js";import"./chunk-89mqnh67.js";import"./chunk-xvh1k1a4.js";import"./chunk-9e20mgwc.js";import"./chunk-y2f41kaq.js";import"./chunk-xj6bcwqa.js";import"./chunk-gtqbvt3a.js";import"./chunk-vhta1be7.js";import"./chunk-tc4pj651.js";import"./chunk-san1eq0r.js";import"./chunk-avwywzsj.js";import"./chunk-wj21f1e0.js";import"./chunk-d86q27j8.js";import"./chunk-72x62kch.js";import"./chunk-swvm1wgn.js";import"./chunk-9nrgjtah.js";import"./chunk-ejqpq0wc.js";export{a as buildForProduction};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{Ue as a}from"./chunk-g5mhck0r.js";import"./chunk-57atgbyq.js";import"./chunk-msq8xvhp.js";import"./chunk-8y1ve8tc.js";import"./chunk-njx93b4z.js";import"./chunk-2wb3pgp4.js";import"./chunk-89mqnh67.js";import"./chunk-xvh1k1a4.js";import"./chunk-9e20mgwc.js";import"./chunk-y2f41kaq.js";import"./chunk-xj6bcwqa.js";import"./chunk-gtqbvt3a.js";import"./chunk-vhta1be7.js";import"./chunk-tc4pj651.js";import"./chunk-san1eq0r.js";import"./chunk-avwywzsj.js";import"./chunk-wj21f1e0.js";import"./chunk-d86q27j8.js";import"./chunk-72x62kch.js";import"./chunk-swvm1wgn.js";import"./chunk-9nrgjtah.js";import"./chunk-ejqpq0wc.js";export{a as buildApp};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{Le as c,Me as d,Ne as e,Oe as f,Pe as g,Qe as h}from"./chunk-04x3vny9.js";import"./chunk-6r3aavbv.js";import"./chunk-7we3xfde.js";import"./chunk-epqd3eah.js";import"./chunk-ngjkzaj7.js";import"./chunk-fvsefztj.js";import{Kp as a,Np as b}from"./chunk-msq8xvhp.js";import"./chunk-8y1ve8tc.js";import"./chunk-njx93b4z.js";import"./chunk-2wb3pgp4.js";import"./chunk-89mqnh67.js";import"./chunk-xvh1k1a4.js";import"./chunk-9e20mgwc.js";import"./chunk-y2f41kaq.js";import"./chunk-xj6bcwqa.js";import"./chunk-gtqbvt3a.js";import"./chunk-vhta1be7.js";import"./chunk-tc4pj651.js";import"./chunk-san1eq0r.js";import"./chunk-avwywzsj.js";import"./chunk-wj21f1e0.js";import"./chunk-d86q27j8.js";import"./chunk-72x62kch.js";import"./chunk-swvm1wgn.js";import"./chunk-9nrgjtah.js";import"./chunk-ejqpq0wc.js";export{d as virtualPathFor,g as typecheckStxFiles,e as sourcePathFor,h as formatTypecheckDiagnostics,f as findRuntimeTypeDeclarations,b as extractTemplateExpressions,a as extractScriptBlocks,c as buildVirtualSource};