@absolutejs/absolute 0.19.0-beta.808 → 0.19.0-beta.809

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 (260) hide show
  1. package/dist/angular/browser.js +9801 -57
  2. package/dist/angular/browser.js.map +246 -4
  3. package/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
  4. package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
  5. package/dist/angular/index.js +14877 -60
  6. package/dist/angular/index.js.map +281 -4
  7. package/dist/angular/server.js +5610 -45
  8. package/dist/angular/server.js.map +51 -3
  9. package/dist/build.js +18092 -45
  10. package/dist/build.js.map +99 -3
  11. package/dist/cli/index.js +317 -86
  12. package/dist/client/index.js +1100 -40
  13. package/dist/client/index.js.map +24 -4
  14. package/dist/core/streamingSlotRegistrar.js +108 -11
  15. package/dist/core/streamingSlotRegistrar.js.map +4 -3
  16. package/dist/core/streamingSlotRegistry.js +169 -7
  17. package/dist/core/streamingSlotRegistry.js.map +5 -3
  18. package/dist/index.js +19957 -547
  19. package/dist/index.js.map +116 -3
  20. package/dist/islands/browser.js +228 -9
  21. package/dist/islands/browser.js.map +9 -4
  22. package/dist/islands/index.js +1908 -17
  23. package/dist/islands/index.js.map +27 -3
  24. package/dist/react/browser.js +328 -12
  25. package/dist/react/browser.js.map +12 -4
  26. package/dist/react/components/index.js +167 -16
  27. package/dist/react/components/index.js.map +6 -3
  28. package/dist/react/hooks/index.js +183 -8
  29. package/dist/react/hooks/index.js.map +7 -3
  30. package/dist/react/index.js +3627 -36
  31. package/dist/react/index.js.map +45 -4
  32. package/dist/react/jsxDevRuntimeCompat.js +61 -2
  33. package/dist/react/jsxDevRuntimeCompat.js.map +2 -2
  34. package/dist/react/server.js +1789 -18
  35. package/dist/react/server.js.map +21 -3
  36. package/dist/src/angular/injectorPatch.d.ts +1 -0
  37. package/dist/src/index.d.ts +1 -0
  38. package/dist/svelte/browser.js +247 -12
  39. package/dist/svelte/browser.js.map +10 -3
  40. package/dist/svelte/index.js +3732 -37
  41. package/dist/svelte/index.js.map +47 -4
  42. package/dist/svelte/server.js +2794 -21
  43. package/dist/svelte/server.js.map +27 -3
  44. package/dist/vue/browser.js +348 -12
  45. package/dist/vue/browser.js.map +12 -4
  46. package/dist/vue/components/Image.js +240 -7
  47. package/dist/vue/components/Image.js.map +6 -3
  48. package/dist/vue/components/index.js +544 -11
  49. package/dist/vue/components/index.js.map +9 -3
  50. package/dist/vue/index.js +4212 -52
  51. package/dist/vue/index.js.map +50 -4
  52. package/dist/vue/server.js +1849 -18
  53. package/dist/vue/server.js.map +21 -3
  54. package/package.json +1 -1
  55. package/dist/chunk-0867j0r0.js +0 -136
  56. package/dist/chunk-0867j0r0.js.map +0 -10
  57. package/dist/chunk-0kdc6r16.js +0 -20
  58. package/dist/chunk-0kdc6r16.js.map +0 -10
  59. package/dist/chunk-102fp7xe.js +0 -63
  60. package/dist/chunk-102fp7xe.js.map +0 -10
  61. package/dist/chunk-11zpfqz6.js +0 -19
  62. package/dist/chunk-11zpfqz6.js.map +0 -10
  63. package/dist/chunk-1rfh7hw9.js +0 -319
  64. package/dist/chunk-1rfh7hw9.js.map +0 -11
  65. package/dist/chunk-25v9t56f.js +0 -29
  66. package/dist/chunk-25v9t56f.js.map +0 -11
  67. package/dist/chunk-2f21eenc.js +0 -21
  68. package/dist/chunk-2f21eenc.js.map +0 -10
  69. package/dist/chunk-2ga2znex.js +0 -13
  70. package/dist/chunk-2ga2znex.js.map +0 -9
  71. package/dist/chunk-30yrw0f6.js +0 -33
  72. package/dist/chunk-30yrw0f6.js.map +0 -10
  73. package/dist/chunk-38jwhqcw.js +0 -4410
  74. package/dist/chunk-38jwhqcw.js.map +0 -28
  75. package/dist/chunk-3g91wb4f.js +0 -358
  76. package/dist/chunk-3g91wb4f.js.map +0 -10
  77. package/dist/chunk-3yjzpcne.js +0 -34
  78. package/dist/chunk-3yjzpcne.js.map +0 -10
  79. package/dist/chunk-41bf6aqt.js +0 -17
  80. package/dist/chunk-41bf6aqt.js.map +0 -9
  81. package/dist/chunk-4d39r92n.js +0 -81
  82. package/dist/chunk-4d39r92n.js.map +0 -10
  83. package/dist/chunk-5003emhv.js +0 -17
  84. package/dist/chunk-5003emhv.js.map +0 -10
  85. package/dist/chunk-5f67rsed.js +0 -466
  86. package/dist/chunk-5f67rsed.js.map +0 -10
  87. package/dist/chunk-5fhp1jap.js +0 -9169
  88. package/dist/chunk-5fhp1jap.js.map +0 -236
  89. package/dist/chunk-6pdj08z3.js +0 -73
  90. package/dist/chunk-6pdj08z3.js.map +0 -12
  91. package/dist/chunk-6qjbrt0k.js +0 -13
  92. package/dist/chunk-6qjbrt0k.js.map +0 -9
  93. package/dist/chunk-6sccb4jr.js +0 -14
  94. package/dist/chunk-6sccb4jr.js.map +0 -9
  95. package/dist/chunk-798spvzv.js +0 -50
  96. package/dist/chunk-798spvzv.js.map +0 -10
  97. package/dist/chunk-7fw6x3js.js +0 -131
  98. package/dist/chunk-7fw6x3js.js.map +0 -11
  99. package/dist/chunk-7kjj42xm.js +0 -11
  100. package/dist/chunk-7kjj42xm.js.map +0 -10
  101. package/dist/chunk-7mtstdqn.js +0 -90
  102. package/dist/chunk-7mtstdqn.js.map +0 -10
  103. package/dist/chunk-851whwc7.js +0 -17
  104. package/dist/chunk-851whwc7.js.map +0 -10
  105. package/dist/chunk-85n68sy6.js +0 -103
  106. package/dist/chunk-85n68sy6.js.map +0 -10
  107. package/dist/chunk-8kcfffry.js +0 -35
  108. package/dist/chunk-8kcfffry.js.map +0 -10
  109. package/dist/chunk-8qqxc1h2.js +0 -426
  110. package/dist/chunk-8qqxc1h2.js.map +0 -14
  111. package/dist/chunk-92fsjfpp.js +0 -1731
  112. package/dist/chunk-92fsjfpp.js.map +0 -11
  113. package/dist/chunk-93sqk7be.js +0 -139
  114. package/dist/chunk-93sqk7be.js.map +0 -12
  115. package/dist/chunk-94gvx0hg.js +0 -28
  116. package/dist/chunk-94gvx0hg.js.map +0 -10
  117. package/dist/chunk-9c5tj4k3.js +0 -130
  118. package/dist/chunk-9c5tj4k3.js.map +0 -10
  119. package/dist/chunk-9ve9jq72.js +0 -203
  120. package/dist/chunk-9ve9jq72.js.map +0 -10
  121. package/dist/chunk-9xrsjeem.js +0 -12
  122. package/dist/chunk-9xrsjeem.js.map +0 -9
  123. package/dist/chunk-a9mvyp04.js +0 -87
  124. package/dist/chunk-a9mvyp04.js.map +0 -10
  125. package/dist/chunk-b3gbnrwe.js +0 -21
  126. package/dist/chunk-b3gbnrwe.js.map +0 -10
  127. package/dist/chunk-bmgqm774.js +0 -65
  128. package/dist/chunk-bmgqm774.js.map +0 -9
  129. package/dist/chunk-bxfghpma.js +0 -69
  130. package/dist/chunk-bxfghpma.js.map +0 -10
  131. package/dist/chunk-c1jfjnka.js +0 -74
  132. package/dist/chunk-c1jfjnka.js.map +0 -10
  133. package/dist/chunk-cbkrwmvh.js +0 -80
  134. package/dist/chunk-cbkrwmvh.js.map +0 -10
  135. package/dist/chunk-cdxd7sy2.js +0 -71
  136. package/dist/chunk-cdxd7sy2.js.map +0 -10
  137. package/dist/chunk-cg95827x.js +0 -21
  138. package/dist/chunk-cg95827x.js.map +0 -10
  139. package/dist/chunk-cm0g4q6w.js +0 -149
  140. package/dist/chunk-cm0g4q6w.js.map +0 -10
  141. package/dist/chunk-cwfy538a.js +0 -51
  142. package/dist/chunk-cwfy538a.js.map +0 -9
  143. package/dist/chunk-d7mwkzry.js +0 -261
  144. package/dist/chunk-d7mwkzry.js.map +0 -10
  145. package/dist/chunk-d8w0qm28.js +0 -184
  146. package/dist/chunk-d8w0qm28.js.map +0 -11
  147. package/dist/chunk-d9c0am65.js +0 -12
  148. package/dist/chunk-d9c0am65.js.map +0 -10
  149. package/dist/chunk-daqghmg8.js +0 -12
  150. package/dist/chunk-daqghmg8.js.map +0 -9
  151. package/dist/chunk-e3r9fxaa.js +0 -149
  152. package/dist/chunk-e3r9fxaa.js.map +0 -10
  153. package/dist/chunk-e8eecyrq.js +0 -244
  154. package/dist/chunk-e8eecyrq.js.map +0 -10
  155. package/dist/chunk-ex2hxe0v.js +0 -160
  156. package/dist/chunk-ex2hxe0v.js.map +0 -11
  157. package/dist/chunk-fak944et.js +0 -91
  158. package/dist/chunk-fak944et.js.map +0 -10
  159. package/dist/chunk-ff70rnhd.js +0 -672
  160. package/dist/chunk-ff70rnhd.js.map +0 -15
  161. package/dist/chunk-fygx2ymm.js +0 -118
  162. package/dist/chunk-fygx2ymm.js.map +0 -12
  163. package/dist/chunk-g15qj669.js +0 -271
  164. package/dist/chunk-g15qj669.js.map +0 -11
  165. package/dist/chunk-gd6wmknh.js +0 -121
  166. package/dist/chunk-gd6wmknh.js.map +0 -11
  167. package/dist/chunk-gf0ygptk.js +0 -85
  168. package/dist/chunk-gf0ygptk.js.map +0 -11
  169. package/dist/chunk-gytkmthr.js +0 -220
  170. package/dist/chunk-gytkmthr.js.map +0 -10
  171. package/dist/chunk-h5bbfn3n.js +0 -28
  172. package/dist/chunk-h5bbfn3n.js.map +0 -11
  173. package/dist/chunk-h6mye9r3.js +0 -93
  174. package/dist/chunk-h6mye9r3.js.map +0 -10
  175. package/dist/chunk-hcsmxw1v.js +0 -85
  176. package/dist/chunk-hcsmxw1v.js.map +0 -10
  177. package/dist/chunk-hyjs4bqs.js +0 -8
  178. package/dist/chunk-hyjs4bqs.js.map +0 -10
  179. package/dist/chunk-j88z31ep.js +0 -25
  180. package/dist/chunk-j88z31ep.js.map +0 -10
  181. package/dist/chunk-jn91vzkh.js +0 -66
  182. package/dist/chunk-jn91vzkh.js.map +0 -10
  183. package/dist/chunk-jpkjdgsk.js +0 -167
  184. package/dist/chunk-jpkjdgsk.js.map +0 -11
  185. package/dist/chunk-jwxt8gnp.js +0 -13
  186. package/dist/chunk-jwxt8gnp.js.map +0 -9
  187. package/dist/chunk-kk8w9rh5.js +0 -195
  188. package/dist/chunk-kk8w9rh5.js.map +0 -10
  189. package/dist/chunk-m97ze5hz.js +0 -46
  190. package/dist/chunk-m97ze5hz.js.map +0 -10
  191. package/dist/chunk-mbazhahf.js +0 -60
  192. package/dist/chunk-mbazhahf.js.map +0 -10
  193. package/dist/chunk-mgfwq18r.js +0 -15
  194. package/dist/chunk-mgfwq18r.js.map +0 -9
  195. package/dist/chunk-mtgf69xn.js +0 -88
  196. package/dist/chunk-mtgf69xn.js.map +0 -10
  197. package/dist/chunk-mtxzyxpg.js +0 -102
  198. package/dist/chunk-mtxzyxpg.js.map +0 -10
  199. package/dist/chunk-nehhtthw.js +0 -225
  200. package/dist/chunk-nehhtthw.js.map +0 -10
  201. package/dist/chunk-p5504p14.js +0 -16
  202. package/dist/chunk-p5504p14.js.map +0 -10
  203. package/dist/chunk-pnscgw95.js +0 -90
  204. package/dist/chunk-pnscgw95.js.map +0 -10
  205. package/dist/chunk-pvpp4pvs.js +0 -17
  206. package/dist/chunk-pvpp4pvs.js.map +0 -10
  207. package/dist/chunk-qh75agse.js +0 -95
  208. package/dist/chunk-qh75agse.js.map +0 -10
  209. package/dist/chunk-qxq2zcty.js +0 -52
  210. package/dist/chunk-qxq2zcty.js.map +0 -10
  211. package/dist/chunk-r6e8pytx.js +0 -22
  212. package/dist/chunk-r6e8pytx.js.map +0 -9
  213. package/dist/chunk-r7jmgqnw.js +0 -114
  214. package/dist/chunk-r7jmgqnw.js.map +0 -10
  215. package/dist/chunk-s6defjk2.js +0 -116
  216. package/dist/chunk-s6defjk2.js.map +0 -10
  217. package/dist/chunk-sd39p726.js +0 -619
  218. package/dist/chunk-sd39p726.js.map +0 -10
  219. package/dist/chunk-swrnzs4c.js +0 -63
  220. package/dist/chunk-swrnzs4c.js.map +0 -10
  221. package/dist/chunk-tfe3sb44.js +0 -33
  222. package/dist/chunk-tfe3sb44.js.map +0 -10
  223. package/dist/chunk-tjr0kcev.js +0 -41
  224. package/dist/chunk-tjr0kcev.js.map +0 -9
  225. package/dist/chunk-tx9edm1x.js +0 -34
  226. package/dist/chunk-tx9edm1x.js.map +0 -10
  227. package/dist/chunk-txhm2vb5.js +0 -18
  228. package/dist/chunk-txhm2vb5.js.map +0 -9
  229. package/dist/chunk-v5vmsxmy.js +0 -526
  230. package/dist/chunk-v5vmsxmy.js.map +0 -12
  231. package/dist/chunk-vjhxm8n2.js +0 -29
  232. package/dist/chunk-vjhxm8n2.js.map +0 -9
  233. package/dist/chunk-vkrpm7kc.js +0 -247
  234. package/dist/chunk-vkrpm7kc.js.map +0 -12
  235. package/dist/chunk-w3m4m5we.js +0 -4925
  236. package/dist/chunk-w3m4m5we.js.map +0 -12
  237. package/dist/chunk-wrxtn9ve.js +0 -18
  238. package/dist/chunk-wrxtn9ve.js.map +0 -10
  239. package/dist/chunk-wwzvp0zn.js +0 -192
  240. package/dist/chunk-wwzvp0zn.js.map +0 -10
  241. package/dist/chunk-x09cskqd.js +0 -377
  242. package/dist/chunk-x09cskqd.js.map +0 -10
  243. package/dist/chunk-xnt8c6h2.js +0 -576
  244. package/dist/chunk-xnt8c6h2.js.map +0 -10
  245. package/dist/chunk-xw0tx842.js +0 -13
  246. package/dist/chunk-xw0tx842.js.map +0 -9
  247. package/dist/chunk-xx5b6b9m.js +0 -69
  248. package/dist/chunk-xx5b6b9m.js.map +0 -10
  249. package/dist/chunk-xz1kdswj.js +0 -21
  250. package/dist/chunk-xz1kdswj.js.map +0 -9
  251. package/dist/chunk-y84qnsd3.js +0 -32
  252. package/dist/chunk-y84qnsd3.js.map +0 -10
  253. package/dist/chunk-ywjn0rad.js +0 -14
  254. package/dist/chunk-ywjn0rad.js.map +0 -9
  255. package/dist/chunk-z9nvhm6r.js +0 -13
  256. package/dist/chunk-z9nvhm6r.js.map +0 -9
  257. package/dist/chunk-zhmvdpk6.js +0 -15
  258. package/dist/chunk-zhmvdpk6.js.map +0 -9
  259. package/dist/chunk-zrg9d4zw.js +0 -784
  260. package/dist/chunk-zrg9d4zw.js.map +0 -10
@@ -1,10 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/dev/moduleServer.ts"],
4
- "sourcesContent": [
5
- "import { BASE_36_RADIX, UNFOUND_INDEX } from '../constants';\nimport { existsSync, readFileSync, statSync } from 'node:fs';\nimport { basename, dirname, extname, resolve, relative } from 'node:path';\nimport { resolvePackageImport } from '../build/resolvePackageImport';\nimport { buildIslandMetadataExports } from '../islands/sourceMetadata';\nimport {\n\tcompileStyleSource,\n\tcreateSvelteStylePreprocessor\n} from '../build/stylePreprocessor';\nimport { lowerSvelteAwaitSlotSyntax } from '../svelte/lowerAwaitSlotSyntax';\nimport { lowerSvelteIslandSyntax } from '../svelte/lowerIslandSyntax';\nimport type { StylePreprocessorConfig } from '../../types/build';\nimport type { BindingMetadata, SFCDescriptor } from '@vue/compiler-sfc';\nimport {\n\tgetInvalidationVersion,\n\tgetTransformed,\n\tinvalidate,\n\tsetTransformed\n} from './transformCache';\n\nconst SRC_PREFIX = '/@src/';\n\nconst jsTranspiler = new Bun.Transpiler({\n\tloader: 'js',\n\ttrimUnusedImports: true\n});\n\n// Shared transpiler for TypeScript files — trimUnusedImports strips\n// type-only imports so the browser doesn't request unnecessary modules\n// Separate transpilers for .ts and .tsx — using 'tsx' for .ts files\n// causes parse errors on TypeScript generics like <T> (interpreted as JSX).\nconst tsTranspiler = new Bun.Transpiler({\n\tloader: 'ts',\n\ttrimUnusedImports: true\n});\n\nconst tsxTranspiler = new Bun.Transpiler({\n\tloader: 'tsx',\n\ttrimUnusedImports: true\n});\n\nconst TRANSPILABLE = new Set(['.ts', '.tsx', '.js', '.jsx', '.mjs']);\n\n// Regex to find all export names in original TypeScript source\nconst ALL_EXPORTS_RE =\n\t/export\\s+(?:type|interface|const|let|var|function|class|enum|abstract\\s+class)\\s+(\\w+)/g;\n\n// Strip string/template literal contents so regex doesn't match\n// export declarations inside code examples embedded as strings.\nconst STRING_CONTENTS_RE =\n\t/`(?:[^`\\\\]|\\\\.)*`|'(?:[^'\\\\]|\\\\.)*'|\"(?:[^\"\\\\]|\\\\.)*\"/gs;\n\n// After transpilation, type exports are stripped. Inject stubs so\n// importing modules can resolve the names (as undefined).\nconst preserveTypeExports = (\n\toriginalSource: string,\n\ttranspiled: string,\n\tvalueExports: string[]\n) => {\n\tconst codeOnly = originalSource.replace(STRING_CONTENTS_RE, '\"\"');\n\tconst allExports: string[] = [];\n\tlet match;\n\tALL_EXPORTS_RE.lastIndex = 0;\n\twhile ((match = ALL_EXPORTS_RE.exec(codeOnly)) !== null) {\n\t\tif (match[1]) allExports.push(match[1]);\n\t}\n\n\tconst valueSet = new Set(valueExports);\n\tconst typeExports = allExports.filter((exp) => !valueSet.has(exp));\n\n\tif (typeExports.length === 0) return transpiled;\n\n\tconst stubs = typeExports\n\t\t.map((name) => `export const ${name} = undefined;`)\n\t\t.join('\\n');\n\n\treturn `${transpiled}\\n${stubs}\\n`;\n};\n// Try known extensions to resolve an extensionless path. Returns\n// the original path if none match (existsSync-based probing).\nconst resolveRelativeExtension = (\n\tsrcPath: string,\n\tprojectRoot: string,\n\textensions: string[]\n) => {\n\tconst found = extensions.find((ext) =>\n\t\texistsSync(resolve(projectRoot, srcPath + ext))\n\t);\n\n\treturn found ? srcPath + found : srcPath;\n};\n\nconst IMPORT_EXTENSIONS = ['.tsx', '.ts', '.jsx', '.js', '.svelte', '.vue'];\nconst SIDE_EFFECT_EXTENSIONS = [\n\t'.tsx',\n\t'.ts',\n\t'.jsx',\n\t'.js',\n\t'.css',\n\t'.svelte',\n\t'.vue'\n];\nconst MODULE_EXTENSIONS = ['.tsx', '.ts', '.jsx', '.js', '.svelte', '.vue'];\nconst RESOLVED_MODULE_EXTENSIONS = new Set([\n\t...IMPORT_EXTENSIONS,\n\t...SIDE_EFFECT_EXTENSIONS,\n\t'.mjs',\n\t'.css'\n]);\n\nconst REACT_EXTENSIONS = new Set(['.tsx', '.jsx']);\n\ntype ModuleServerConfig = {\n\tprojectRoot: string;\n\tvendorPaths: Record<string, string>;\n\tframeworkDirs?: {\n\t\tangular?: string;\n\t\treact?: string;\n\t\tsvelte?: string;\n\t\tvue?: string;\n\t};\n\tstylePreprocessors?: StylePreprocessorConfig;\n};\n\nconst escapeRegex = (str: string) => str.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n\nconst buildImportRewriter = (vendorPaths: Record<string, string>) => {\n\tconst entries = Object.entries(vendorPaths).sort(\n\t\t([a], [b]) => b.length - a.length\n\t);\n\tif (entries.length === 0) return null;\n\n\tconst alt = entries.map(([spec]) => escapeRegex(spec)).join('|');\n\tconst lookup = new Map(entries);\n\n\t// Single combined regex for all vendor import patterns:\n\t// from 'pkg', import 'pkg', import('pkg')\n\tconst vendorRegex = new RegExp(\n\t\t`((?:from|import)\\\\s*[\"']|import\\\\s*\\\\(\\\\s*[\"'])(${alt})([\"'](?:\\\\s*[;)]?)?)`,\n\t\t'g'\n\t);\n\n\treturn { lookup, vendorRegex };\n};\n\n// Mtime cache — avoids statSync on every import rewrite.\n// Invalidated by the file watcher via invalidateModule().\nconst mtimeCache = new Map<string, number>();\n\n// Append invalidation version if the file's transform cache was\n// cleared (e.g., a downstream import changed). This forces the\n// browser to re-fetch even though the file's own mtime is the same.\nconst buildVersion = (mtime: number, absPath: string) => {\n\tconst invalidationVersion = getInvalidationVersion(absPath);\n\n\treturn invalidationVersion > 0\n\t\t? `${mtime}.${invalidationVersion}`\n\t\t: `${mtime}`;\n};\n\n// Build a /@src/ URL with the file's mtime as a cache buster.\nconst srcUrl = (relPath: string, projectRoot: string) => {\n\tconst base = `${SRC_PREFIX}${relPath.replace(/\\\\/g, '/')}`;\n\tconst absPath = resolve(projectRoot, relPath);\n\n\tconst cached = mtimeCache.get(absPath);\n\tif (cached !== undefined)\n\t\treturn `${base}?v=${buildVersion(cached, absPath)}`;\n\n\ttry {\n\t\tconst mtime = Math.round(statSync(absPath).mtimeMs);\n\t\tmtimeCache.set(absPath, mtime);\n\n\t\treturn `${base}?v=${buildVersion(mtime, absPath)}`;\n\t} catch {\n\t\treturn base;\n\t}\n};\n\n// Resolve a relative import specifier to a /@src/ URL path.\n// Probes known extensions, resolves .svelte module files.\nconst resolveRelativeImport = (\n\trelPath: string,\n\tfileDir: string,\n\tprojectRoot: string,\n\textensions: string[]\n) => {\n\tconst absPath = resolve(fileDir, relPath);\n\tconst rel = relative(projectRoot, absPath);\n\tconst extension = extname(rel);\n\tlet srcPath = RESOLVED_MODULE_EXTENSIONS.has(extension)\n\t\t? rel\n\t\t: resolveRelativeExtension(rel, projectRoot, extensions);\n\n\t// Resolve Svelte module files: .svelte → .svelte.ts / .svelte.js\n\tif (extname(srcPath) === '.svelte') {\n\t\tsrcPath = relative(\n\t\t\tprojectRoot,\n\t\t\tresolveSvelteModulePath(resolve(projectRoot, srcPath))\n\t\t);\n\t}\n\n\treturn srcUrl(srcPath, projectRoot);\n};\n\n// Resolve @absolutejs/* specifiers to project-relative paths.\n// Returns the relative path string on success, or undefined if resolution fails.\nconst resolveAbsoluteSpecifier = (specifier: string, projectRoot: string) => {\n\ttry {\n\t\tconst target =\n\t\t\tresolvePackageImport(specifier, ['browser', 'import']) ??\n\t\t\tBun.resolveSync(specifier, projectRoot);\n\n\t\treturn relative(projectRoot, target);\n\t} catch {\n\t\t// Resolution failed — caller falls through to stub\n\t\treturn undefined;\n\t}\n};\n\nconst rewriteImports = (\n\tcode: string,\n\tfilePath: string,\n\tprojectRoot: string,\n\trewriter: ReturnType<typeof buildImportRewriter>\n) => {\n\tlet result = code;\n\n\t// Step 1: Rewrite KNOWN vendor specifiers in a single pass.\n\tconst vendorReplace = (\n\t\t_match: string,\n\t\tprefix: string,\n\t\tspecifier: string,\n\t\tsuffix: string\n\t) => {\n\t\tconst webPath = rewriter?.lookup.get(specifier);\n\n\t\treturn webPath ? `${prefix}${webPath}${suffix}` : _match;\n\t};\n\n\tif (rewriter) {\n\t\trewriter.vendorRegex.lastIndex = 0;\n\t\tresult = result.replace(rewriter.vendorRegex, vendorReplace);\n\t}\n\n\t// Step 2: Rewrite remaining bare specifiers (unknown packages) to stubs.\n\t// Line-anchored to avoid matching inside string literals.\n\tconst stubReplace = (\n\t\t_match: string,\n\t\tprefix: string,\n\t\tspecifier: string,\n\t\tsuffix: string\n\t) => {\n\t\t// Skip if already rewritten to a path\n\t\tif (specifier.startsWith('/') || specifier.startsWith('.'))\n\t\t\treturn _match;\n\n\t\t// Serve client-safe split AbsoluteJS package exports as real modules\n\t\t// instead of stubbing them so package entrypoints hydrate correctly.\n\t\tif (!specifier.startsWith('@absolutejs/'))\n\t\t\treturn `${prefix}/@stub/${encodeURIComponent(specifier)}${suffix}`;\n\n\t\tconst resolved = resolveAbsoluteSpecifier(specifier, projectRoot);\n\t\tif (resolved) {\n\t\t\treturn `${prefix}${srcUrl(resolved, projectRoot)}${suffix}`;\n\t\t}\n\n\t\treturn `${prefix}/@stub/${encodeURIComponent(specifier)}${suffix}`;\n\t};\n\n\t// Combined: import/export from 'bare', import 'bare' (line-anchored)\n\t// Uses [\\s\\S]+? to match multi-line imports (e.g., import {\\n foo\\n} from 'pkg')\n\tresult = result.replace(\n\t\t/^((?:import\\s+[\\s\\S]+?\\s+from|export\\s+[\\s\\S]+?\\s+from|import)\\s*[\"'])([^\"'./][^\"']*)([\"'])/gm,\n\t\tstubReplace\n\t);\n\t// Dynamic: import('bare')\n\tresult = result.replace(\n\t\t/(import\\s*\\(\\s*[\"'])([^\"'./][^\"']*)([\"']\\s*\\))/g,\n\t\tstubReplace\n\t);\n\n\t// Rewrite relative imports to /@src/ absolute paths\n\tconst fileDir = dirname(filePath);\n\tresult = result.replace(\n\t\t/(from\\s*[\"'])(\\.\\.?\\/[^\"']+)([\"'])/g,\n\t\t(_match, prefix, relPath, suffix) =>\n\t\t\t`${prefix}${resolveRelativeImport(relPath, fileDir, projectRoot, IMPORT_EXTENSIONS)}${suffix}`\n\t);\n\n\t// Rewrite dynamic relative imports\n\tresult = result.replace(\n\t\t/(import\\s*\\(\\s*[\"'])(\\.\\.?\\/[^\"']+)([\"']\\s*\\))/g,\n\t\t(_match, prefix, relPath, suffix) =>\n\t\t\t`${prefix}${resolveRelativeImport(relPath, fileDir, projectRoot, IMPORT_EXTENSIONS)}${suffix}`\n\t);\n\n\t// Rewrite side-effect relative imports: import './foo'\n\tresult = result.replace(\n\t\t/(import\\s*[\"'])(\\.\\.?\\/[^\"']+)([\"']\\s*;?)/g,\n\t\t(_match, prefix, relPath, suffix) =>\n\t\t\t`${prefix}${resolveRelativeImport(relPath, fileDir, projectRoot, SIDE_EFFECT_EXTENSIONS)}${suffix}`\n\t);\n\n\t// Rewrite absolute filesystem paths (from generated index files that\n\t// import hmrClient, refreshSetup, etc. via absolute paths)\n\tresult = result.replace(\n\t\t/((?:from|import)\\s*[\"'])(\\/[^\"']+\\.(tsx?|jsx?|ts))([\"'])/g,\n\t\t(_match, prefix, absPath, _ext, suffix) => {\n\t\t\tif (absPath.startsWith(projectRoot)) {\n\t\t\t\tconst rel = relative(projectRoot, absPath).replace(/\\\\/g, '/');\n\n\t\t\t\treturn `${prefix}${srcUrl(rel, projectRoot)}${suffix}`;\n\t\t\t}\n\t\t\t// Path outside project root (for example, Bun-linked package files\n\t\t\t// whose realpath points at a sibling workspace). We still rewrite it\n\t\t\t// through /@src/ so the module server can serve it consistently.\n\t\t\tconst rel = relative(projectRoot, absPath).replace(/\\\\/g, '/');\n\n\t\t\treturn `${prefix}${srcUrl(rel, projectRoot)}${suffix}`;\n\t\t}\n\t);\n\n\t// Rewrite new URL('./relative', import.meta.url) for web workers / assets\n\tresult = result.replace(\n\t\t/new\\s+URL\\(\\s*[\"'](\\.\\.?\\/[^\"']+)[\"']\\s*,\\s*import\\.meta\\.url\\s*\\)/g,\n\t\t(_match, relPath) => {\n\t\t\tconst absPath = resolve(fileDir, relPath);\n\t\t\tconst rel = relative(projectRoot, absPath);\n\n\t\t\treturn `new URL('${srcUrl(rel, projectRoot)}', import.meta.url)`;\n\t\t}\n\t);\n\n\t// Rewrite import.meta.resolve('./relative') for asset/worker references\n\tresult = result.replace(\n\t\t/import\\.meta\\.resolve\\(\\s*[\"'](\\.\\.?\\/[^\"']+)[\"']\\s*\\)/g,\n\t\t(_match, relPath) => {\n\t\t\tconst absPath = resolve(fileDir, relPath);\n\t\t\tconst rel = relative(projectRoot, absPath);\n\n\t\t\treturn `'${srcUrl(rel, projectRoot)}'`;\n\t\t}\n\t);\n\n\treturn result;\n};\n\n// Use Bun.Transpiler (~0.1ms) instead of Bun.build (~2-150ms) for\n// React files. Manually inject $RefreshReg$/$RefreshSig$ calls\n// after transpilation.\n// Bun.Transpiler uses an auto-generated name for JSX (jsxDEV_XXXXXXXX)\n// but doesn't emit the import statement. We need to detect the generated\n// name and add the import ourselves.\nconst JSX_AUTO_RE = /\\b(jsxDEV_[a-z0-9]+)\\b/;\nconst JSXS_AUTO_RE = /\\b(jsxs_[a-z0-9]+)\\b/;\nconst JSX_PROD_RE = /\\b(jsx_[a-z0-9]+)\\b/;\nconst FRAGMENT_RE = /\\b(Fragment_[a-z0-9]+)\\b/;\n\nconst addJsxImport = (code: string) => {\n\tconst imports: string[] = [];\n\n\tconst jsxDevMatch = JSX_AUTO_RE.exec(code);\n\tif (jsxDevMatch) {\n\t\timports.push(\n\t\t\t`import { jsxDEV as ${jsxDevMatch[1]} } from \"react/jsx-dev-runtime\";`\n\t\t);\n\t}\n\n\tconst jsxsMatch = JSXS_AUTO_RE.exec(code);\n\tif (jsxsMatch && (!jsxDevMatch || jsxsMatch[1] !== jsxDevMatch[1])) {\n\t\timports.push(\n\t\t\t`import { jsxs as ${jsxsMatch[1]} } from \"react/jsx-runtime\";`\n\t\t);\n\t}\n\n\tconst jsxProdMatch = JSX_PROD_RE.exec(code);\n\tif (jsxProdMatch) {\n\t\timports.push(\n\t\t\t`import { jsx as ${jsxProdMatch[1]} } from \"react/jsx-runtime\";`\n\t\t);\n\t}\n\n\tconst fragmentMatch = FRAGMENT_RE.exec(code);\n\tif (fragmentMatch) {\n\t\timports.push(\n\t\t\t`import { Fragment as ${fragmentMatch[1]} } from \"react\";`\n\t\t);\n\t}\n\n\tif (imports.length === 0) return code;\n\n\treturn `${imports.join('\\n')}\\n${code}`;\n};\n\n// With the patched Bun.Transpiler (PR #28312), reactFastRefresh: true\n// injects $RefreshReg$/$RefreshSig$ natively — no manual injection needed.\n// Falls back to plain transpilation if reactFastRefresh isn't available.\n// reactFastRefresh is available via patched Bun (PR #28312) but not\n// yet in the upstream type definitions, so we extend the options type.\nconst reactTranspilerOptions: ConstructorParameters<\n\ttypeof Bun.Transpiler\n>[0] & {\n\treactFastRefresh?: boolean;\n} = {\n\tloader: 'tsx',\n\treactFastRefresh: true,\n\ttrimUnusedImports: true\n};\nconst reactTranspiler = new Bun.Transpiler(reactTranspilerOptions);\n\nconst transformReactFile = (\n\tfilePath: string,\n\tprojectRoot: string,\n\trewriter: ReturnType<typeof buildImportRewriter>\n) => {\n\tconst raw = readFileSync(filePath, 'utf-8');\n\tconst valueExports = tsxTranspiler.scan(raw).exports;\n\tlet transpiled = reactTranspiler.transformSync(raw);\n\ttranspiled = preserveTypeExports(raw, transpiled, valueExports);\n\n\t// Bun.Transpiler auto-generates JSX function names (jsxDEV_XXXXXXXX)\n\t// but doesn't emit the import — it expects the bundler to resolve it.\n\ttranspiled = addJsxImport(transpiled);\n\n\t// The patched transpiler imports register/createSignatureFunctionForTransform\n\t// from react-refresh/runtime, creating a separate module instance. But the\n\t// initial bundled index uses window.$RefreshReg$/$RefreshSig$ globals.\n\t// Replace the import with globals so registrations go to the same runtime.\n\ttranspiled = transpiled.replace(\n\t\t/import\\s*\\{[^}]*\\}\\s*from\\s*[\"']react-refresh\\/runtime[\"'];?\\n?/,\n\t\t''\n\t);\n\t// Map the aliased names to the window globals\n\ttranspiled = transpiled.replace(\n\t\t/\\$RefreshReg\\$_[a-z0-9]+/g,\n\t\t'$RefreshReg$'\n\t);\n\ttranspiled = transpiled.replace(\n\t\t/\\$RefreshSig\\$_[a-z0-9]+/g,\n\t\t'$RefreshSig$'\n\t);\n\t// Prepend window global stubs for ESM scope\n\ttranspiled =\n\t\t`var $RefreshReg$ = window.$RefreshReg$ || function(){};\\n` +\n\t\t`var $RefreshSig$ = window.$RefreshSig$ || function(){ return function(t){ return t; }; };\\n${\n\t\t\ttranspiled\n\t\t}`;\n\n\t// Bun.Transpiler uses \"input.tsx\" as the default filename in\n\t// $RefreshReg$ IDs. Replace with the real relative path so IDs\n\t// match the initial bundled registration.\n\tconst relPath = relative(projectRoot, filePath).replace(/\\\\/g, '/');\n\ttranspiled = transpiled.replace(/\\binput\\.tsx:/g, `${relPath}:`);\n\ttranspiled += buildIslandMetadataExports(raw);\n\n\treturn rewriteImports(transpiled, filePath, projectRoot, rewriter);\n};\n\n// Use Bun.Transpiler for non-React files (no refresh injection needed)\nconst transformPlainFile = (\n\tfilePath: string,\n\tprojectRoot: string,\n\trewriter: ReturnType<typeof buildImportRewriter>,\n\tvueDir?: string\n) => {\n\tconst raw = readFileSync(filePath, 'utf-8');\n\tconst ext = extname(filePath);\n\tconst isTS = ext === '.ts' || ext === '.tsx';\n\tconst isTSX = ext === '.tsx' || ext === '.jsx';\n\n\tlet transpiler = jsTranspiler;\n\tif (isTSX) transpiler = tsxTranspiler;\n\telse if (isTS) transpiler = tsTranspiler;\n\tconst valueExports = isTS ? transpiler.scan(raw).exports : [];\n\tlet transpiled = transpiler.transformSync(raw);\n\n\tif (isTS) {\n\t\ttranspiled = preserveTypeExports(raw, transpiled, valueExports);\n\t}\n\n\ttranspiled = rewriteImports(transpiled, filePath, projectRoot, rewriter);\n\n\t// Vue composable HMR state tracking: wrap exported use* functions\n\t// so ref values are captured and restored across HMR reloads.\n\tif (!vueDir || !filePath.startsWith(vueDir) || !isTS) return transpiled;\n\n\tconst useExports = valueExports.filter((e) => e.startsWith('use'));\n\tif (useExports.length === 0) return transpiled;\n\n\treturn injectComposableTracking(transpiled, filePath, useExports);\n};\n\n// Classify a character for brace-counting: returns the new string\n// context and whether to skip further processing.\nconst classifyChar = (\n\tchar: string,\n\tprevChar: string,\n\tinString: string | false\n): { nextString: string | false; skip: boolean } => {\n\tif (inString) {\n\t\tconst closed = char === inString && prevChar !== '\\\\';\n\n\t\treturn { nextString: closed ? false : inString, skip: true };\n\t}\n\tif (char === '\"' || char === \"'\" || char === '`')\n\t\treturn { nextString: char, skip: true };\n\n\treturn { nextString: false, skip: false };\n};\n\n// Find the end of a function expression by counting braces/parens,\n// skipping string literals. Returns the index of the trailing ';'.\nconst findFunctionEnd = (source: string, startPos: number) => {\n\tlet depth = 0;\n\tlet inString: string | false = false;\n\tfor (let idx = startPos; idx < source.length; idx++) {\n\t\tconst char = source[idx] ?? '';\n\t\tconst classified = classifyChar(char, source[idx - 1] ?? '', inString);\n\t\tinString = classified.nextString;\n\t\tif (classified.skip) continue;\n\n\t\tif (char === '{' || char === '(') depth++;\n\t\tif (char === '}' || char === ')') depth--;\n\t\tif (depth === 0 && char === ';') return idx;\n\t}\n\n\treturn startPos;\n};\n\n/** Inject HMR state tracking into Vue composable exports.\n * Wraps each use* export to capture/restore ref values across reloads. */\nconst injectComposableTracking = (\n\tcode: string,\n\tfilePath: string,\n\tuseExports: string[]\n) => {\n\tconst moduleId = JSON.stringify(filePath);\n\n\t// Inject the tracking runtime at the top\n\tconst runtime = [\n\t\t`var __hmr_cs = (globalThis.__HMR_COMPOSABLE_STATE__ ??= {});`,\n\t\t`var __hmr_mid = ${moduleId};`,\n\t\t`var __hmr_prev_refs = __hmr_cs[__hmr_mid];`,\n\t\t`var __hmr_idx = {};`,\n\t\t`__hmr_cs[__hmr_mid] = {};`,\n\t\t`function __hmr_wrap(name, fn) {`,\n\t\t` return function() {`,\n\t\t` var idx = (__hmr_idx[name] = (__hmr_idx[name] ?? -1) + 1);`,\n\t\t` var result = fn.apply(this, arguments);`,\n\t\t` if (result && typeof result === \"object\") {`,\n\t\t` var refs = {};`,\n\t\t` for (var k in result) {`,\n\t\t` var v = result[k];`,\n\t\t` if (v && typeof v === \"object\" && \"value\" in v && !v.effect && typeof v.value !== \"function\") {`,\n\t\t` refs[k] = v;`,\n\t\t` }`,\n\t\t` }`,\n\t\t` (__hmr_cs[__hmr_mid][name] ??= [])[idx] = refs;`,\n\t\t` if (__hmr_prev_refs && __hmr_prev_refs[name] && __hmr_prev_refs[name][idx]) {`,\n\t\t` var old = __hmr_prev_refs[name][idx];`,\n\t\t` for (var k in old) {`,\n\t\t` var nv = result[k];`,\n\t\t` var ov = old[k];`,\n\t\t` if (nv && ov && typeof nv === \"object\" && \"value\" in nv && !nv.effect && typeof nv.value === typeof ov.value) {`,\n\t\t` nv.value = ov.value;`,\n\t\t` }`,\n\t\t` }`,\n\t\t` }`,\n\t\t` }`,\n\t\t` return result;`,\n\t\t` };`,\n\t\t`}`\n\t].join('\\n');\n\n\tlet result = `${runtime}\\n${code}`;\n\n\t// Wrap each use* export with __hmr_wrap.\n\t// Find the export assignment, then use brace/paren counting to locate\n\t// the end of the function expression (handles nested braces in the body).\n\tfor (const name of useExports) {\n\t\tresult = wrapComposableExport(result, name);\n\t}\n\n\treturn result;\n};\n\n// Find and wrap a single use* export with __hmr_wrap().\nconst wrapComposableExport = (source: string, name: string) => {\n\tconst marker = new RegExp(\n\t\t`export\\\\s+(?:const|var|let)\\\\s+${name}\\\\s*=\\\\s*`\n\t);\n\tconst match = marker.exec(source);\n\tif (!match) return source;\n\n\tconst insertPos = match.index + match[0].length;\n\tconst endPos = findFunctionEnd(source, insertPos);\n\tconst funcBody = source.slice(insertPos, endPos);\n\n\treturn `${source.slice(0, insertPos)}__hmr_wrap(${JSON.stringify(name)}, ${funcBody})${source.slice(endPos)}`;\n};\n\n// Virtual CSS modules for Svelte's css:'external' mode.\n// Keyed by fake path (e.g., /path/to/Counter.svelte.css).\nconst svelteExternalCss = new Map<string, string>();\n\n// ─── Framework-specific transforms (Svelte, Vue) ────────────\n// Cached compiler references — avoid re-importing on every request.\n// Pre-set via warmCompilers() at startup to eliminate first-edit spike.\nlet svelteCompiler: typeof import('svelte/compiler') | null = null;\nlet vueCompiler: typeof import('@vue/compiler-sfc') | null = null;\n\nconst getLoadedSvelteCompiler = () => {\n\tif (!svelteCompiler) throw new Error('Svelte compiler is not loaded.');\n\n\treturn svelteCompiler;\n};\n\nconst getLoadedVueCompiler = () => {\n\tif (!vueCompiler) throw new Error('Vue compiler is not loaded.');\n\n\treturn vueCompiler;\n};\n\nexport const warmCompilers = async (frameworks: {\n\tsvelte?: boolean;\n\tvue?: boolean;\n}) => {\n\tconst [svelteModule, vueModule] = await Promise.all([\n\t\tframeworks.svelte ? import('svelte/compiler') : undefined,\n\t\tframeworks.vue ? import('@vue/compiler-sfc') : undefined\n\t]);\n\tif (svelteModule) {\n\t\tsvelteCompiler = svelteModule;\n\t\t// JIT-warm the compile function with a trivial component so\n\t\t// the first real HMR compile doesn't pay the JIT cost (~60ms).\n\t\tsvelteModule.compile('<script>let x=$state(0)</script>{x}', {\n\t\t\tcss: 'external',\n\t\t\tdev: true,\n\t\t\tfilename: '_warm.svelte',\n\t\t\tgenerate: 'client',\n\t\t\thmr: true\n\t\t});\n\t}\n\tif (!vueModule) return;\n\n\tvueCompiler = vueModule;\n\t// Same for Vue — warm compileScript + compileTemplate\n\tconst { descriptor } = vueModule.parse(\n\t\t'<script setup>const x=1</script><template>{{x}}</template>',\n\t\t{ filename: '_warm.vue' }\n\t);\n\tvueModule.compileScript(descriptor, { id: 'w', inlineTemplate: false });\n\tif (!descriptor.template) return;\n\n\tvueModule.compileTemplate({\n\t\tfilename: '_warm.vue',\n\t\tid: 'w',\n\t\tsource: descriptor.template.content\n\t});\n};\n\n// Compile a .svelte.ts module file — transpile TS, then compileModule.\nconst compileSvelteModule = (raw: string, filePath: string) => {\n\tconst compiler = getLoadedSvelteCompiler();\n\tconst source = tsTranspiler.transformSync(raw);\n\n\treturn compiler.compileModule(source, {\n\t\tdev: true,\n\t\tfilename: filePath\n\t}).js.code;\n};\n\n// Compile a .svelte component file — hmr: true, css: 'external'.\nconst compileSvelteComponent = (\n\traw: string,\n\tfilePath: string,\n\tprojectRoot: string,\n\tenableAsync = false\n) => {\n\tconst compiler = getLoadedSvelteCompiler();\n\tconst compiled = compiler.compile(raw, {\n\t\tcss: 'external',\n\t\tdev: true,\n\t\texperimental: {\n\t\t\tasync: enableAsync\n\t\t},\n\t\tfilename: filePath,\n\t\tgenerate: 'client',\n\t\thmr: true\n\t});\n\tlet { code } = compiled.js;\n\n\t// If the component has styles, inject them as a virtual CSS\n\t// import. The handleCssRequest handler serves it as a <style>.\n\tif (compiled.css?.code) {\n\t\tconst cssPath = `${filePath}.css`;\n\t\tsvelteExternalCss.set(cssPath, compiled.css.code);\n\t\tconst cssUrl = srcUrl(relative(projectRoot, cssPath), projectRoot);\n\t\tcode = `import \"${cssUrl}\";\\n${code}`;\n\t}\n\n\t// ── import.meta.hot → accept registry ──\n\tconst moduleUrl = `${SRC_PREFIX}${relative(projectRoot, filePath).replace(/\\\\/g, '/')}`;\n\tcode = code.replace(\n\t\t/if\\s*\\(import\\.meta\\.hot\\)\\s*\\{/,\n\t\t`if (typeof window !== \"undefined\") {\\n` +\n\t\t\t` if (!window.__SVELTE_HMR_ACCEPT__) window.__SVELTE_HMR_ACCEPT__ = {};\\n` +\n\t\t\t` var __hmr_accept = function(cb) { window.__SVELTE_HMR_ACCEPT__[${JSON.stringify(moduleUrl)}] = cb; };`\n\t);\n\n\treturn code.replace(/import\\.meta\\.hot\\.accept\\(/g, '__hmr_accept(');\n};\n\n// Compile .svelte files to client JS using svelte/compiler.\n// Keeps .svelte extensions in imports so the module server handles children.\nconst transformSvelteFile = async (\n\tfilePath: string,\n\tprojectRoot: string,\n\trewriter: ReturnType<typeof buildImportRewriter>,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst raw = readFileSync(filePath, 'utf-8');\n\n\tif (!svelteCompiler) {\n\t\tsvelteCompiler = await import('svelte/compiler');\n\t}\n\n\tconst isModule =\n\t\tfilePath.endsWith('.svelte.ts') || filePath.endsWith('.svelte.js');\n\tconst loweredAwaitSource = isModule\n\t\t? { code: raw, transformed: false }\n\t\t: lowerSvelteAwaitSlotSyntax(raw);\n\tconst loweredSource = isModule\n\t\t? loweredAwaitSource\n\t\t: lowerSvelteIslandSyntax(loweredAwaitSource.code, 'client');\n\tconst source = isModule\n\t\t? loweredSource.code\n\t\t: (\n\t\t\t\tawait svelteCompiler.preprocess(\n\t\t\t\t\tloweredSource.code,\n\t\t\t\t\tcreateSvelteStylePreprocessor(stylePreprocessors)\n\t\t\t\t)\n\t\t\t).code;\n\tconst enableAsync =\n\t\tloweredAwaitSource.transformed || loweredSource.transformed;\n\n\tconst code = isModule\n\t\t? compileSvelteModule(source, filePath)\n\t\t: compileSvelteComponent(source, filePath, projectRoot, enableAsync);\n\n\treturn rewriteImports(code, filePath, projectRoot, rewriter);\n};\n\ntype VueSFCDescriptor = SFCDescriptor;\n\ntype VueSFCCompiledScript = {\n\tbindings: BindingMetadata;\n\tcontent: string;\n};\n\n// Compile a Vue SFC template and attach the render function to the script.\nconst compileVueTemplate = (\n\tdescriptor: VueSFCDescriptor,\n\tcompiledScript: VueSFCCompiledScript,\n\tfilePath: string,\n\tcomponentId: string\n) => {\n\tconst compiler = getLoadedVueCompiler();\n\tconst scriptContent = compiledScript.content;\n\tif (!descriptor.template) return scriptContent;\n\n\tconst isScoped = descriptor.styles.some((style) => style.scoped);\n\tconst templateResult = compiler.compileTemplate({\n\t\tcompilerOptions: {\n\t\t\tbindingMetadata: compiledScript.bindings,\n\t\t\tprefixIdentifiers: true\n\t\t},\n\t\tfilename: filePath,\n\t\tid: componentId,\n\t\tscoped: isScoped,\n\t\tsource: descriptor.template.content\n\t});\n\n\tlet code = scriptContent.replace('export default', 'const __script__ =');\n\tcode += `\\n${templateResult.code}`;\n\tcode += '\\n__script__.render = render;';\n\tcode += '\\nexport default __script__;';\n\n\treturn code;\n};\n\n// Compile and inject scoped CSS as inline <style> for a Vue SFC.\nconst compileVueStyles = async (\n\tdescriptor: VueSFCDescriptor,\n\tfilePath: string,\n\tcomponentId: string,\n\tcode: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tif (descriptor.styles.length === 0) return code;\n\n\tconst compiler = getLoadedVueCompiler();\n\tconst cssCode = (\n\t\tawait Promise.all(\n\t\t\tdescriptor.styles.map(\n\t\t\t\tasync (style) =>\n\t\t\t\t\tcompiler.compileStyle({\n\t\t\t\t\t\tfilename: filePath,\n\t\t\t\t\t\tid: `data-v-${componentId}`,\n\t\t\t\t\t\tscoped: Boolean(style.scoped),\n\t\t\t\t\t\tsource: style.lang\n\t\t\t\t\t\t\t? await compileStyleSource(\n\t\t\t\t\t\t\t\t\tfilePath,\n\t\t\t\t\t\t\t\t\tstyle.content,\n\t\t\t\t\t\t\t\t\tstyle.lang,\n\t\t\t\t\t\t\t\t\tstylePreprocessors\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t: style.content,\n\t\t\t\t\t\ttrim: true\n\t\t\t\t\t}).code\n\t\t\t)\n\t\t)\n\t).join('\\n');\n\n\tconst escaped = cssCode\n\t\t.replace(/\\\\/g, '\\\\\\\\')\n\t\t.replace(/`/g, '\\\\`')\n\t\t.replace(/\\$/g, '\\\\$');\n\tconst hmrId = JSON.stringify(filePath);\n\tconst cssInjection = [\n\t\t`var __style=document.createElement('style');`,\n\t\t`__style.textContent=\\`${escaped}\\`;`,\n\t\t`__style.dataset.hmrId=${hmrId};`,\n\t\t`var __prev=document.querySelector('style[data-hmr-id=\"${filePath}\"]');`,\n\t\t`if(__prev)__prev.remove();`,\n\t\t`document.head.appendChild(__style);`\n\t].join('');\n\n\treturn `${cssInjection}\\n${code}`;\n};\n\n// Compile .vue SFC files to client JS using @vue/compiler-sfc.\nconst transformVueFile = async (\n\tfilePath: string,\n\tprojectRoot: string,\n\trewriter: ReturnType<typeof buildImportRewriter>,\n\tvueDir?: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst raw = readFileSync(filePath, 'utf-8');\n\n\tif (!vueCompiler) {\n\t\tvueCompiler = await import('@vue/compiler-sfc');\n\t}\n\n\tconst fileName = basename(filePath, '.vue');\n\tconst componentId = fileName.toLowerCase();\n\tconst { descriptor } = vueCompiler.parse(raw, { filename: filePath });\n\n\tconst compiledScript = vueCompiler.compileScript(descriptor, {\n\t\tid: componentId,\n\t\tinlineTemplate: false\n\t});\n\tconst compiledSfcScript: VueSFCCompiledScript = {\n\t\tbindings: compiledScript.bindings ?? {},\n\t\tcontent: compiledScript.content\n\t};\n\n\tlet code = compileVueTemplate(\n\t\tdescriptor,\n\t\tcompiledSfcScript,\n\t\tfilePath,\n\t\tcomponentId\n\t);\n\tcode = await compileVueStyles(\n\t\tdescriptor,\n\t\tfilePath,\n\t\tcomponentId,\n\t\tcode,\n\t\tstylePreprocessors\n\t);\n\n\t// Vue's compileScript strips user TypeScript but the generated\n\t// wrapper code still has `: any` annotations (e.g. __props: any,\n\t// _ctx: any). Run through the TS transpiler to strip those.\n\tcode = tsTranspiler.transformSync(code);\n\n\t// Inject Vue HMR — use rerender() to preserve reactive state.\n\t// rerender() only swaps the render function (like React Fast Refresh).\n\t// reload() would reset state by re-running setup().\n\tcode = injectVueHmr(code, filePath, projectRoot, vueDir);\n\n\treturn rewriteImports(code, filePath, projectRoot, rewriter);\n};\n\n// Inject Vue HMR runtime registration and rerender call.\nconst injectVueHmr = (\n\tcode: string,\n\tfilePath: string,\n\tprojectRoot: string,\n\tvueDir?: string\n) => {\n\tconst hmrBase = vueDir ? resolve(vueDir) : projectRoot;\n\tconst hmrId = relative(hmrBase, filePath)\n\t\t.replace(/\\\\/g, '/')\n\t\t.replace(/\\.vue$/, '');\n\tlet result = code.replace(/export\\s+default\\s+/, 'var __hmr_comp__ = ');\n\tresult += [\n\t\t'',\n\t\t`__hmr_comp__.__hmrId = ${JSON.stringify(hmrId)};`,\n\t\t`if (typeof __VUE_HMR_RUNTIME__ !== \"undefined\") {`,\n\t\t` __VUE_HMR_RUNTIME__.createRecord(${JSON.stringify(hmrId)}, __hmr_comp__);`,\n\t\t` __VUE_HMR_RUNTIME__.rerender(${JSON.stringify(hmrId)}, __hmr_comp__.render);`,\n\t\t`}`,\n\t\t'export default __hmr_comp__;'\n\t].join('\\n');\n\n\treturn result;\n};\n\n// Resolve .svelte module files that may exist as .svelte.ts or .svelte.js\nconst resolveSvelteModulePath = (path: string) => {\n\tif (existsSync(path)) return path;\n\tif (existsSync(`${path}.ts`)) return `${path}.ts`;\n\tif (existsSync(`${path}.js`)) return `${path}.js`;\n\n\treturn path;\n};\n\n// Shared response builder for transformed modules\nconst jsResponse = (body: string) => {\n\tconst etag = `\"${Bun.hash(body).toString(BASE_36_RADIX)}\"`;\n\n\treturn new Response(body, {\n\t\theaders: {\n\t\t\t'Cache-Control': 'no-cache',\n\t\t\t'Content-Type': 'application/javascript',\n\t\t\tETag: etag\n\t\t}\n\t});\n};\n\nconst handleCssRequest = (filePath: string) => {\n\tconst raw = readFileSync(filePath, 'utf-8');\n\tconst escaped = raw\n\t\t.replace(/\\\\/g, '\\\\\\\\')\n\t\t.replace(/`/g, '\\\\`')\n\t\t.replace(/\\$/g, '\\\\$');\n\n\treturn [\n\t\t`const style = document.createElement('style');`,\n\t\t`style.textContent = \\`${escaped}\\`;`,\n\t\t`style.dataset.hmrId = ${JSON.stringify(filePath)};`,\n\t\t`const existing = document.querySelector(\\`style[data-hmr-id=\"${filePath}\"]\\`);`,\n\t\t`if (existing) existing.remove();`,\n\t\t`document.head.appendChild(style);`\n\t].join('\\n');\n};\n\n// Generate HMR bootstrap wrapper for Svelte.\n// Uses dynamic import() with a cache-busting timestamp so the\n// browser fetches the freshly compiled component every time.\nconst generateSvelteHmrBootstrap = (\n\tmoduleUrl: string,\n\tvendorPaths: Record<string, string>,\n\ttimestamp: string\n) => {\n\tconst sveltePath = vendorPaths['svelte'] || '/svelte/vendor/svelte.js';\n\n\treturn [\n\t\t`import { mount, unmount } from \"${sveltePath}\";`,\n\t\t`const { default: Component } = await import(\"${moduleUrl}?t=${timestamp}\");`,\n\t\t``,\n\t\t`// Extract count from DOM before unmount (survives across runtime instances)`,\n\t\t`var countBtn = document.querySelector(\"button\");`,\n\t\t`var countMatch = countBtn && countBtn.textContent && countBtn.textContent.match(/(\\\\d+)/);`,\n\t\t`var domCount = countMatch ? parseInt(countMatch[1], 10) : null;`,\n\t\t``,\n\t\t`var preservedState = window.__HMR_PRESERVED_STATE__ || {};`,\n\t\t`if (domCount !== null && preservedState.initialCount === undefined) {`,\n\t\t` preservedState.initialCount = domCount;`,\n\t\t`}`,\n\t\t`var initialProps = window.__INITIAL_PROPS__ || {};`,\n\t\t`var mergedProps = Object.assign({}, initialProps, preservedState);`,\n\t\t``,\n\t\t`// Update __INITIAL_PROPS__ so subsequent HMR cycles start with current state`,\n\t\t`if (domCount !== null) window.__INITIAL_PROPS__ = Object.assign({}, initialProps, { initialCount: domCount });`,\n\t\t``,\n\t\t`if (typeof window.__SVELTE_UNMOUNT__ === \"function\") {`,\n\t\t` try { window.__SVELTE_UNMOUNT__(); } catch (err) { /* ignore */ }`,\n\t\t`}`,\n\t\t``,\n\t\t`var target = document.getElementById(\"__absolute_svelte_root__\") || document.body;`,\n\t\t`var component = mount(Component, { target, props: mergedProps });`,\n\t\t`window.__SVELTE_COMPONENT__ = component;`,\n\t\t`window.__SVELTE_UNMOUNT__ = function() { unmount(component); };`,\n\t\t`window.__HMR_PRESERVED_STATE__ = undefined;`\n\t].join('\\n');\n};\n\n// Generate HMR bootstrap wrapper for Vue.\n// Same approach as Svelte — full remount via vendor Vue's createApp.\nconst generateVueHmrBootstrap = (\n\tmoduleUrl: string,\n\tvendorPaths: Record<string, string>,\n\ttimestamp: string\n) => {\n\tconst vuePath = vendorPaths['vue'] || '/vue/vendor/vue.js';\n\n\treturn [\n\t\t`import { createApp } from \"${vuePath}\";`,\n\t\t`const { default: Component } = await import(\"${moduleUrl}?t=${timestamp}\");`,\n\t\t``,\n\t\t`// Extract count from DOM before unmount (works across Vue instances)`,\n\t\t`var countBtn = document.querySelector(\"button\");`,\n\t\t`var countMatch = countBtn && countBtn.textContent && countBtn.textContent.match(/(\\\\d+)/);`,\n\t\t`var domCount = countMatch ? parseInt(countMatch[1], 10) : null;`,\n\t\t``,\n\t\t`var preservedState = window.__HMR_PRESERVED_STATE__ || {};`,\n\t\t`if (domCount !== null && preservedState.initialCount === undefined) {`,\n\t\t` preservedState.initialCount = domCount;`,\n\t\t`}`,\n\t\t`var initialProps = window.__INITIAL_PROPS__ || {};`,\n\t\t`var mergedProps = Object.assign({}, initialProps, preservedState);`,\n\t\t``,\n\t\t`// Update __INITIAL_PROPS__ so subsequent HMR cycles start with current state`,\n\t\t`if (domCount !== null) window.__INITIAL_PROPS__ = Object.assign({}, initialProps, { initialCount: domCount });`,\n\t\t``,\n\t\t`var root = document.getElementById(\"root\");`,\n\t\t`var savedHTML = root ? root.innerHTML : \"\";`,\n\t\t`if (window.__VUE_APP__) {`,\n\t\t` window.__VUE_APP__.unmount();`,\n\t\t` window.__VUE_APP__ = null;`,\n\t\t`}`,\n\t\t`if (root) root.innerHTML = savedHTML;`,\n\t\t``,\n\t\t`var app = createApp(Component, mergedProps);`,\n\t\t`app.mount(root);`,\n\t\t`window.__VUE_APP__ = app;`,\n\t\t`window.__HMR_PRESERVED_STATE__ = undefined;`\n\t].join('\\n');\n};\n\n// Generate a stub module for a server-only package so browser imports resolve.\nconst handleStubRequest = async (pathname: string) => {\n\tconst specifier = decodeURIComponent(pathname.slice('/@stub/'.length));\n\tconst stubCode = await buildStubCode(specifier);\n\n\treturn new Response(stubCode, {\n\t\theaders: {\n\t\t\t'Cache-Control': 'no-cache',\n\t\t\t'Content-Type': 'application/javascript'\n\t\t}\n\t});\n};\n\n// Introspect a module's exports and generate noop stubs for each.\nconst buildStubCode = async (specifier: string) => {\n\ttry {\n\t\tconst mod = await import(specifier);\n\t\tconst names = Object.keys(mod).filter(\n\t\t\t(key) => key !== 'default' && key !== '__esModule'\n\t\t);\n\t\tif (names.length === 0) return 'export default {};\\n';\n\n\t\tconst noops = names\n\t\t\t.map((n) => `export const ${n} = () => {};`)\n\t\t\t.join('\\n');\n\n\t\treturn `${noops}\\nexport default {};\\n`;\n\t} catch {\n\t\treturn 'export default {};\\n';\n\t}\n};\n\n// Handle HMR bootstrap wrappers for non-React frameworks.\nconst handleHmrBootstrap = (\n\tpathname: string,\n\tvendorPaths: Record<string, string>\n) => {\n\tconst rest = pathname.slice('/@hmr/'.length);\n\tconst slashIdx = rest.indexOf('/');\n\tif (slashIdx === UNFOUND_INDEX) return undefined;\n\n\tconst framework = rest.slice(0, slashIdx);\n\tconst componentRelPath = rest.slice(slashIdx + 1);\n\tconst url = `${SRC_PREFIX}${componentRelPath}`;\n\tconst timestamp = String(Date.now());\n\n\tconst generators: Record<string, typeof generateSvelteHmrBootstrap> = {\n\t\tsvelte: generateSvelteHmrBootstrap,\n\t\tvue: generateVueHmrBootstrap\n\t};\n\tconst generate = generators[framework];\n\tif (!generate) return undefined;\n\n\treturn jsResponse(generate(url, vendorPaths, timestamp));\n};\n\n// Serve a virtual Svelte CSS module (css:'external' output).\nconst handleVirtualSvelteCss = (cssCheckPath: string) => {\n\tconst virtualCss = svelteExternalCss.get(cssCheckPath);\n\tif (!virtualCss) return undefined;\n\n\tconst escaped = virtualCss\n\t\t.replace(/\\\\/g, '\\\\\\\\')\n\t\t.replace(/`/g, '\\\\`')\n\t\t.replace(/\\$/g, '\\\\$');\n\n\treturn jsResponse(\n\t\t`var s=document.createElement('style');` +\n\t\t\t`s.textContent=\\`${escaped}\\`;` +\n\t\t\t`s.dataset.svelteHmr=${JSON.stringify(cssCheckPath)};` +\n\t\t\t`var p=document.querySelector('style[data-svelte-hmr=\"${cssCheckPath}\"]');` +\n\t\t\t`if(p)p.remove();` +\n\t\t\t`document.head.appendChild(s);`\n\t);\n};\n\n// Resolve a /@src/ path to an absolute file path and extension,\n// probing known extensions if the path has none.\nconst resolveSourcePath = (relPath: string, projectRoot: string) => {\n\tconst filePath = resolve(projectRoot, relPath);\n\tconst ext = extname(filePath);\n\n\tif (ext === '.svelte')\n\t\treturn { ext, filePath: resolveSvelteModulePath(filePath) };\n\tif (ext) return { ext, filePath };\n\n\t// No extension — probe known extensions\n\tconst found = MODULE_EXTENSIONS.find((candidate) =>\n\t\texistsSync(filePath + candidate)\n\t);\n\tif (!found) return { ext, filePath };\n\n\tconst resolved = filePath + found;\n\tif (found === '.svelte')\n\t\treturn { ext: found, filePath: resolveSvelteModulePath(resolved) };\n\n\treturn { ext: found, filePath: resolved };\n};\n\n// Transform and cache a source file, returning a JS Response.\nconst transformAndCache = async (\n\tfilePath: string,\n\text: string,\n\tprojectRoot: string,\n\trewriter: ReturnType<typeof buildImportRewriter>,\n\tvueDir?: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tif (ext === '.css') return jsResponse(handleCssRequest(filePath));\n\n\tconst isSvelte =\n\t\text === '.svelte' ||\n\t\tfilePath.endsWith('.svelte.ts') ||\n\t\tfilePath.endsWith('.svelte.js');\n\n\tconst cached = getTransformed(filePath);\n\tif (cached) return jsResponse(cached);\n\n\tif (isSvelte)\n\t\treturn transformAndCacheSvelte(\n\t\t\tfilePath,\n\t\t\tprojectRoot,\n\t\t\trewriter,\n\t\t\tstylePreprocessors\n\t\t);\n\tif (ext === '.vue')\n\t\treturn transformAndCacheVue(\n\t\t\tfilePath,\n\t\t\tprojectRoot,\n\t\t\trewriter,\n\t\t\tvueDir,\n\t\t\tstylePreprocessors\n\t\t);\n\tif (!TRANSPILABLE.has(ext)) return undefined;\n\n\tconst stat = statSync(filePath);\n\tconst resolvedVueDir = vueDir ? resolve(vueDir) : undefined;\n\tconst content = REACT_EXTENSIONS.has(ext)\n\t\t? transformReactFile(filePath, projectRoot, rewriter)\n\t\t: transformPlainFile(filePath, projectRoot, rewriter, resolvedVueDir);\n\n\tsetTransformed(\n\t\tfilePath,\n\t\tcontent,\n\t\tstat.mtimeMs,\n\t\textractImportedFiles(content, projectRoot)\n\t);\n\n\treturn jsResponse(content);\n};\n\nconst transformAndCacheSvelte = async (\n\tfilePath: string,\n\tprojectRoot: string,\n\trewriter: ReturnType<typeof buildImportRewriter>,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst stat = statSync(filePath);\n\tconst content = await transformSvelteFile(\n\t\tfilePath,\n\t\tprojectRoot,\n\t\trewriter,\n\t\tstylePreprocessors\n\t);\n\tsetTransformed(\n\t\tfilePath,\n\t\tcontent,\n\t\tstat.mtimeMs,\n\t\textractImportedFiles(content, projectRoot)\n\t);\n\n\treturn jsResponse(content);\n};\n\nconst transformAndCacheVue = async (\n\tfilePath: string,\n\tprojectRoot: string,\n\trewriter: ReturnType<typeof buildImportRewriter>,\n\tvueDir?: string,\n\tstylePreprocessors?: StylePreprocessorConfig\n) => {\n\tconst stat = statSync(filePath);\n\tconst content = await transformVueFile(\n\t\tfilePath,\n\t\tprojectRoot,\n\t\trewriter,\n\t\tvueDir,\n\t\tstylePreprocessors\n\t);\n\tsetTransformed(\n\t\tfilePath,\n\t\tcontent,\n\t\tstat.mtimeMs,\n\t\textractImportedFiles(content, projectRoot)\n\t);\n\n\treturn jsResponse(content);\n};\n\n// Build a transform-error response for the browser console.\nconst transformErrorResponse = (err: unknown) => {\n\tconst errMsg = err instanceof Error ? err.message : String(err);\n\n\treturn new Response(\n\t\t`console.error('[ModuleServer] Transform error:', ${JSON.stringify(errMsg)});`,\n\t\t{\n\t\t\theaders: { 'Content-Type': 'application/javascript' },\n\t\t\tstatus: 500\n\t\t}\n\t);\n};\n\nexport const createModuleServer = (config: ModuleServerConfig) => {\n\tconst { projectRoot, vendorPaths, frameworkDirs, stylePreprocessors } =\n\t\tconfig;\n\tconst rewriter = buildImportRewriter(vendorPaths);\n\n\treturn async (pathname: string) => {\n\t\tif (pathname.startsWith('/@stub/')) return handleStubRequest(pathname);\n\t\tif (pathname.startsWith('/@hmr/'))\n\t\t\treturn handleHmrBootstrap(pathname, vendorPaths);\n\t\tif (!pathname.startsWith(SRC_PREFIX)) return undefined;\n\n\t\tconst relPath = pathname.slice(SRC_PREFIX.length);\n\n\t\tconst virtualCssResponse = handleVirtualSvelteCss(\n\t\t\tresolve(projectRoot, relPath)\n\t\t);\n\t\tif (virtualCssResponse) return virtualCssResponse;\n\n\t\tconst { filePath, ext } = resolveSourcePath(relPath, projectRoot);\n\n\t\ttry {\n\t\t\treturn await transformAndCache(\n\t\t\t\tfilePath,\n\t\t\t\text,\n\t\t\t\tprojectRoot,\n\t\t\t\trewriter,\n\t\t\t\tframeworkDirs?.vue,\n\t\t\t\tstylePreprocessors\n\t\t\t);\n\t\t} catch (err) {\n\t\t\treturn transformErrorResponse(err);\n\t\t}\n\t};\n};\n\n// Extract absolute file paths from /@src/ imports in transformed code.\n// Used to build the runtime module graph for chain invalidation.\nconst SRC_IMPORT_RE = /\\/@src\\/([^\"'?\\s]+)/g;\nconst extractImportedFiles = (content: string, projectRoot: string) => {\n\tconst files: string[] = [];\n\tlet match;\n\tSRC_IMPORT_RE.lastIndex = 0;\n\twhile ((match = SRC_IMPORT_RE.exec(content)) !== null) {\n\t\tif (match[1]) files.push(resolve(projectRoot, match[1]));\n\t}\n\n\treturn files;\n};\n\nexport const invalidateModule = (filePath: string) => {\n\t// invalidate() cascades up the import chain — clearing transform\n\t// caches for all transitive importers so they get re-transpiled\n\t// with fresh ?v= params. Also clear mtime caches for the changed\n\t// file so srcUrl() re-reads its mtime from disk.\n\tconst resolved = resolve(filePath);\n\tinvalidate(filePath);\n\tif (resolved !== filePath) invalidate(resolved);\n\tmtimeCache.delete(filePath);\n\tmtimeCache.delete(resolved);\n\t// Note: we only clear mtime for the changed file. Importers'\n\t// mtimes haven't changed — their transform caches are cleared\n\t// by invalidate() so they get re-transpiled with new ?v= for\n\t// the changed file's updated mtime.\n};\n\n// Pre-transpile a /@src/ URL and cache the result so the browser\n// fetch is instant. Called before sending the WebSocket HMR message.\nexport const warmCache = (pathname: string) => {\n\tif (!pathname.startsWith(SRC_PREFIX)) return;\n\tif (!globalModuleServer) return;\n\t// Trigger the handler — the result is cached by setTransformed\n\tglobalModuleServer(pathname);\n};\n\n// Store the module server handler globally so warmCache can access it\nlet globalModuleServer:\n\t| ((\n\t\t\tpathname: string\n\t ) => Promise<Response | undefined> | Response | undefined)\n\t| null = null;\n\nexport const SRC_URL_PREFIX = SRC_PREFIX;\n\nexport const setGlobalModuleServer = (handler: typeof globalModuleServer) => {\n\tglobalModuleServer = handler;\n};\n"
6
- ],
7
- "mappings": "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",
8
- "debugId": "518E604077F8CEC164756E2164756E21",
9
- "names": []
10
- }