@absolutejs/absolute 0.19.0-beta.783 → 0.19.0-beta.785

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 (252) hide show
  1. package/dist/angular/browser.js +57 -9801
  2. package/dist/angular/browser.js.map +4 -246
  3. package/dist/angular/index.js +61 -14967
  4. package/dist/angular/index.js.map +4 -282
  5. package/dist/angular/server.js +45 -5699
  6. package/dist/angular/server.js.map +3 -52
  7. package/dist/build.js +45 -18021
  8. package/dist/build.js.map +3 -100
  9. package/dist/chunk-102fp7xe.js +63 -0
  10. package/dist/chunk-102fp7xe.js.map +10 -0
  11. package/dist/chunk-11zpfqz6.js +19 -0
  12. package/dist/chunk-11zpfqz6.js.map +10 -0
  13. package/dist/chunk-1e9vsfyh.js +100 -0
  14. package/dist/chunk-1e9vsfyh.js.map +10 -0
  15. package/dist/chunk-25v9t56f.js +29 -0
  16. package/dist/chunk-25v9t56f.js.map +11 -0
  17. package/dist/chunk-2f21eenc.js +21 -0
  18. package/dist/chunk-2f21eenc.js.map +10 -0
  19. package/dist/chunk-2ga2znex.js +13 -0
  20. package/dist/chunk-2ga2znex.js.map +9 -0
  21. package/dist/chunk-30yrw0f6.js +33 -0
  22. package/dist/chunk-30yrw0f6.js.map +10 -0
  23. package/dist/chunk-3c7mpj3m.js +784 -0
  24. package/dist/chunk-3c7mpj3m.js.map +10 -0
  25. package/dist/chunk-3g91wb4f.js +358 -0
  26. package/dist/chunk-3g91wb4f.js.map +10 -0
  27. package/dist/chunk-3yjzpcne.js +34 -0
  28. package/dist/chunk-3yjzpcne.js.map +10 -0
  29. package/dist/chunk-4bq79t8v.js +136 -0
  30. package/dist/chunk-4bq79t8v.js.map +10 -0
  31. package/dist/chunk-4d39r92n.js +81 -0
  32. package/dist/chunk-4d39r92n.js.map +10 -0
  33. package/dist/chunk-4m75s5xf.js +184 -0
  34. package/dist/chunk-4m75s5xf.js.map +11 -0
  35. package/dist/chunk-5003emhv.js +17 -0
  36. package/dist/chunk-5003emhv.js.map +10 -0
  37. package/dist/chunk-5fhp1jap.js +9169 -0
  38. package/dist/chunk-5fhp1jap.js.map +236 -0
  39. package/dist/chunk-6fkgm9s5.js +569 -0
  40. package/dist/chunk-6fkgm9s5.js.map +10 -0
  41. package/dist/chunk-6pdj08z3.js +73 -0
  42. package/dist/chunk-6pdj08z3.js.map +12 -0
  43. package/dist/chunk-6qjbrt0k.js +13 -0
  44. package/dist/chunk-6qjbrt0k.js.map +9 -0
  45. package/dist/chunk-6sccb4jr.js +14 -0
  46. package/dist/chunk-6sccb4jr.js.map +9 -0
  47. package/dist/chunk-73brtyw5.js +16 -0
  48. package/dist/chunk-73brtyw5.js.map +9 -0
  49. package/dist/chunk-77cqkarb.js +25 -0
  50. package/dist/chunk-77cqkarb.js.map +9 -0
  51. package/dist/chunk-798spvzv.js +50 -0
  52. package/dist/chunk-798spvzv.js.map +10 -0
  53. package/dist/chunk-7fw6x3js.js +131 -0
  54. package/dist/chunk-7fw6x3js.js.map +11 -0
  55. package/dist/chunk-7kjj42xm.js +11 -0
  56. package/dist/chunk-7kjj42xm.js.map +10 -0
  57. package/dist/chunk-851whwc7.js +17 -0
  58. package/dist/chunk-851whwc7.js.map +10 -0
  59. package/dist/chunk-85n68sy6.js +103 -0
  60. package/dist/chunk-85n68sy6.js.map +10 -0
  61. package/dist/chunk-8feq2qek.js +17 -0
  62. package/dist/chunk-8feq2qek.js.map +9 -0
  63. package/dist/chunk-8kcfffry.js +35 -0
  64. package/dist/chunk-8kcfffry.js.map +10 -0
  65. package/dist/chunk-93sqk7be.js +139 -0
  66. package/dist/chunk-93sqk7be.js.map +12 -0
  67. package/dist/chunk-97572s32.js +262 -0
  68. package/dist/chunk-97572s32.js.map +12 -0
  69. package/dist/chunk-9a307ca6.js +1742 -0
  70. package/dist/chunk-9a307ca6.js.map +11 -0
  71. package/dist/chunk-9c5tj4k3.js +130 -0
  72. package/dist/chunk-9c5tj4k3.js.map +10 -0
  73. package/dist/chunk-9xrsjeem.js +12 -0
  74. package/dist/chunk-9xrsjeem.js.map +9 -0
  75. package/dist/chunk-a9mvyp04.js +87 -0
  76. package/dist/chunk-a9mvyp04.js.map +10 -0
  77. package/dist/chunk-b3gbnrwe.js +21 -0
  78. package/dist/chunk-b3gbnrwe.js.map +10 -0
  79. package/dist/chunk-bmgqm774.js +65 -0
  80. package/dist/chunk-bmgqm774.js.map +9 -0
  81. package/dist/chunk-bxfghpma.js +69 -0
  82. package/dist/chunk-bxfghpma.js.map +10 -0
  83. package/dist/chunk-c1jfjnka.js +74 -0
  84. package/dist/chunk-c1jfjnka.js.map +10 -0
  85. package/dist/chunk-cbkrwmvh.js +80 -0
  86. package/dist/chunk-cbkrwmvh.js.map +10 -0
  87. package/dist/chunk-cdxd7sy2.js +71 -0
  88. package/dist/chunk-cdxd7sy2.js.map +10 -0
  89. package/dist/chunk-cg95827x.js +21 -0
  90. package/dist/chunk-cg95827x.js.map +10 -0
  91. package/dist/chunk-d9c0am65.js +12 -0
  92. package/dist/chunk-d9c0am65.js.map +10 -0
  93. package/dist/chunk-daqghmg8.js +12 -0
  94. package/dist/chunk-daqghmg8.js.map +9 -0
  95. package/dist/chunk-dr9yqsdb.js +203 -0
  96. package/dist/chunk-dr9yqsdb.js.map +10 -0
  97. package/dist/chunk-e8eecyrq.js +244 -0
  98. package/dist/chunk-e8eecyrq.js.map +10 -0
  99. package/dist/chunk-ex2hxe0v.js +160 -0
  100. package/dist/chunk-ex2hxe0v.js.map +11 -0
  101. package/dist/chunk-ey5hs6x6.js +253 -0
  102. package/dist/chunk-ey5hs6x6.js.map +11 -0
  103. package/dist/chunk-fak944et.js +91 -0
  104. package/dist/chunk-fak944et.js.map +10 -0
  105. package/dist/chunk-fygx2ymm.js +118 -0
  106. package/dist/chunk-fygx2ymm.js.map +12 -0
  107. package/dist/chunk-g15qj669.js +271 -0
  108. package/dist/chunk-g15qj669.js.map +11 -0
  109. package/dist/chunk-g3j22qf6.js +51 -0
  110. package/dist/chunk-g3j22qf6.js.map +9 -0
  111. package/dist/chunk-gd6wmknh.js +121 -0
  112. package/dist/chunk-gd6wmknh.js.map +11 -0
  113. package/dist/chunk-gf0ygptk.js +85 -0
  114. package/dist/chunk-gf0ygptk.js.map +11 -0
  115. package/dist/chunk-gq0zxpm0.js +90 -0
  116. package/dist/chunk-gq0zxpm0.js.map +10 -0
  117. package/dist/chunk-gytkmthr.js +220 -0
  118. package/dist/chunk-gytkmthr.js.map +10 -0
  119. package/dist/chunk-h5bbfn3n.js +28 -0
  120. package/dist/chunk-h5bbfn3n.js.map +11 -0
  121. package/dist/chunk-h6mye9r3.js +93 -0
  122. package/dist/chunk-h6mye9r3.js.map +10 -0
  123. package/dist/chunk-hcsmxw1v.js +85 -0
  124. package/dist/chunk-hcsmxw1v.js.map +10 -0
  125. package/dist/chunk-hep68ja7.js +4444 -0
  126. package/dist/chunk-hep68ja7.js.map +29 -0
  127. package/dist/chunk-hhqh49fz.js +149 -0
  128. package/dist/chunk-hhqh49fz.js.map +10 -0
  129. package/dist/chunk-hyjs4bqs.js +8 -0
  130. package/dist/chunk-hyjs4bqs.js.map +10 -0
  131. package/dist/chunk-hza0n8qm.js +20 -0
  132. package/dist/chunk-hza0n8qm.js.map +9 -0
  133. package/dist/chunk-jn91vzkh.js +66 -0
  134. package/dist/chunk-jn91vzkh.js.map +10 -0
  135. package/dist/chunk-jwxt8gnp.js +13 -0
  136. package/dist/chunk-jwxt8gnp.js.map +9 -0
  137. package/dist/chunk-kk8w9rh5.js +195 -0
  138. package/dist/chunk-kk8w9rh5.js.map +10 -0
  139. package/dist/chunk-kndkjsya.js +261 -0
  140. package/dist/chunk-kndkjsya.js.map +10 -0
  141. package/dist/chunk-kvq01j35.js +36 -0
  142. package/dist/chunk-kvq01j35.js.map +10 -0
  143. package/dist/chunk-mbazhahf.js +60 -0
  144. package/dist/chunk-mbazhahf.js.map +10 -0
  145. package/dist/chunk-mgfwq18r.js +15 -0
  146. package/dist/chunk-mgfwq18r.js.map +9 -0
  147. package/dist/chunk-mtgf69xn.js +88 -0
  148. package/dist/chunk-mtgf69xn.js.map +10 -0
  149. package/dist/chunk-nehhtthw.js +225 -0
  150. package/dist/chunk-nehhtthw.js.map +10 -0
  151. package/dist/chunk-nhzf4az4.js +149 -0
  152. package/dist/chunk-nhzf4az4.js.map +10 -0
  153. package/dist/chunk-p5504p14.js +16 -0
  154. package/dist/chunk-p5504p14.js.map +10 -0
  155. package/dist/chunk-pnscgw95.js +90 -0
  156. package/dist/chunk-pnscgw95.js.map +10 -0
  157. package/dist/chunk-pvpp4pvs.js +17 -0
  158. package/dist/chunk-pvpp4pvs.js.map +10 -0
  159. package/dist/chunk-qh75agse.js +95 -0
  160. package/dist/chunk-qh75agse.js.map +10 -0
  161. package/dist/chunk-qk8kd3hr.js +526 -0
  162. package/dist/chunk-qk8kd3hr.js.map +12 -0
  163. package/dist/chunk-qxq2zcty.js +52 -0
  164. package/dist/chunk-qxq2zcty.js.map +10 -0
  165. package/dist/chunk-r7jmgqnw.js +114 -0
  166. package/dist/chunk-r7jmgqnw.js.map +10 -0
  167. package/dist/chunk-s6defjk2.js +116 -0
  168. package/dist/chunk-s6defjk2.js.map +10 -0
  169. package/dist/chunk-sd39p726.js +619 -0
  170. package/dist/chunk-sd39p726.js.map +10 -0
  171. package/dist/chunk-smgj0epn.js +18 -0
  172. package/dist/chunk-smgj0epn.js.map +9 -0
  173. package/dist/chunk-swrnzs4c.js +63 -0
  174. package/dist/chunk-swrnzs4c.js.map +10 -0
  175. package/dist/chunk-t81a331y.js +27 -0
  176. package/dist/chunk-t81a331y.js.map +10 -0
  177. package/dist/chunk-tfe3sb44.js +33 -0
  178. package/dist/chunk-tfe3sb44.js.map +10 -0
  179. package/dist/chunk-tx9edm1x.js +34 -0
  180. package/dist/chunk-tx9edm1x.js.map +10 -0
  181. package/dist/chunk-vkrpm7kc.js +247 -0
  182. package/dist/chunk-vkrpm7kc.js.map +12 -0
  183. package/dist/chunk-vvz7dcvq.js +434 -0
  184. package/dist/chunk-vvz7dcvq.js.map +13 -0
  185. package/dist/chunk-w3m4m5we.js +4925 -0
  186. package/dist/chunk-w3m4m5we.js.map +12 -0
  187. package/dist/chunk-wrxtn9ve.js +18 -0
  188. package/dist/chunk-wrxtn9ve.js.map +10 -0
  189. package/dist/chunk-xpkjbmd3.js +428 -0
  190. package/dist/chunk-xpkjbmd3.js.map +14 -0
  191. package/dist/chunk-xrmjy8kk.js +454 -0
  192. package/dist/chunk-xrmjy8kk.js.map +10 -0
  193. package/dist/chunk-xw0tx842.js +13 -0
  194. package/dist/chunk-xw0tx842.js.map +9 -0
  195. package/dist/chunk-xx5b6b9m.js +69 -0
  196. package/dist/chunk-xx5b6b9m.js.map +10 -0
  197. package/dist/chunk-xz1kdswj.js +21 -0
  198. package/dist/chunk-xz1kdswj.js.map +9 -0
  199. package/dist/chunk-xzvy9hr4.js +377 -0
  200. package/dist/chunk-xzvy9hr4.js.map +10 -0
  201. package/dist/chunk-yfqhr31t.js +39 -0
  202. package/dist/chunk-yfqhr31t.js.map +9 -0
  203. package/dist/chunk-ygzd5s4z.js +184 -0
  204. package/dist/chunk-ygzd5s4z.js.map +10 -0
  205. package/dist/chunk-ywjn0rad.js +14 -0
  206. package/dist/chunk-ywjn0rad.js.map +9 -0
  207. package/dist/chunk-z9nvhm6r.js +13 -0
  208. package/dist/chunk-z9nvhm6r.js.map +9 -0
  209. package/dist/chunk-zhmvdpk6.js +15 -0
  210. package/dist/chunk-zhmvdpk6.js.map +9 -0
  211. package/dist/client/index.js +32 -1112
  212. package/dist/client/index.js.map +4 -22
  213. package/dist/core/streamingSlotRegistrar.js +11 -108
  214. package/dist/core/streamingSlotRegistrar.js.map +3 -4
  215. package/dist/core/streamingSlotRegistry.js +7 -169
  216. package/dist/core/streamingSlotRegistry.js.map +3 -5
  217. package/dist/index.js +536 -19835
  218. package/dist/index.js.map +3 -117
  219. package/dist/islands/browser.js +9 -228
  220. package/dist/islands/browser.js.map +4 -9
  221. package/dist/islands/index.js +17 -1986
  222. package/dist/islands/index.js.map +3 -28
  223. package/dist/react/browser.js +12 -328
  224. package/dist/react/browser.js.map +4 -12
  225. package/dist/react/components/index.js +16 -167
  226. package/dist/react/components/index.js.map +3 -6
  227. package/dist/react/hooks/index.js +8 -183
  228. package/dist/react/hooks/index.js.map +3 -7
  229. package/dist/react/index.js +36 -3705
  230. package/dist/react/index.js.map +4 -46
  231. package/dist/react/jsxDevRuntimeCompat.js +2 -61
  232. package/dist/react/jsxDevRuntimeCompat.js.map +2 -2
  233. package/dist/react/server.js +18 -1789
  234. package/dist/react/server.js.map +3 -21
  235. package/dist/src/core/index.d.ts +0 -2
  236. package/dist/svelte/browser.js +12 -247
  237. package/dist/svelte/browser.js.map +3 -10
  238. package/dist/svelte/index.js +37 -3810
  239. package/dist/svelte/index.js.map +4 -48
  240. package/dist/svelte/server.js +21 -2787
  241. package/dist/svelte/server.js.map +3 -27
  242. package/dist/vue/browser.js +12 -348
  243. package/dist/vue/browser.js.map +4 -12
  244. package/dist/vue/components/Image.js +7 -240
  245. package/dist/vue/components/Image.js.map +3 -6
  246. package/dist/vue/components/index.js +11 -544
  247. package/dist/vue/components/index.js.map +3 -9
  248. package/dist/vue/index.js +52 -4290
  249. package/dist/vue/index.js.map +4 -51
  250. package/dist/vue/server.js +18 -1849
  251. package/dist/vue/server.js.map +3 -21
  252. package/package.json +1 -1
@@ -0,0 +1,28 @@
1
+ // @bun
2
+ // types/typeGuards.ts
3
+ var isValidHMRClientMessage = (data) => {
4
+ if (!data || typeof data !== "object") {
5
+ return false;
6
+ }
7
+ if (!("type" in data) || typeof data.type !== "string") {
8
+ return false;
9
+ }
10
+ switch (data.type) {
11
+ case "ping":
12
+ case "ready":
13
+ case "request-rebuild":
14
+ case "hydration-error":
15
+ case "hmr-timing":
16
+ return true;
17
+ default:
18
+ return false;
19
+ }
20
+ };
21
+
22
+ // types/websocket.ts
23
+ var WS_READY_STATE_OPEN = 1;
24
+
25
+ export { isValidHMRClientMessage, WS_READY_STATE_OPEN };
26
+
27
+ //# debugId=86EBD4E45219431A64756E2164756E21
28
+ //# sourceMappingURL=chunk-h5bbfn3n.js.map
@@ -0,0 +1,11 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../types/typeGuards.ts", "../types/websocket.ts"],
4
+ "sourcesContent": [
5
+ "import type { HMRClientMessage } from './messages';\n\n/* Type guard for HMR client messages */\nexport const isValidHMRClientMessage = (\n\tdata: unknown\n): data is HMRClientMessage => {\n\tif (!data || typeof data !== 'object') {\n\t\treturn false;\n\t}\n\n\tif (!('type' in data) || typeof data.type !== 'string') {\n\t\treturn false;\n\t}\n\n\tswitch (data.type) {\n\t\tcase 'ping':\n\t\tcase 'ready':\n\t\tcase 'request-rebuild':\n\t\tcase 'hydration-error':\n\t\tcase 'hmr-timing':\n\t\t\treturn true;\n\t\tdefault:\n\t\t\treturn false;\n\t}\n};\n",
6
+ "/* WebSocket ready state constant */\nexport const WS_READY_STATE_OPEN = 1;\n\n/* Minimal WebSocket interface for HMR clients\n Compatible with Elysia's WebSocket implementation */\nexport type HMRWebSocket = {\n\tsend(data: string): void;\n\tclose(code?: number, reason?: string): void;\n\treadyState: number;\n};\n"
7
+ ],
8
+ "mappings": ";;AAGO,IAAM,0BAA0B,CACtC,SAC8B;AAAA,EAC9B,IAAI,CAAC,QAAQ,OAAO,SAAS,UAAU;AAAA,IACtC,OAAO;AAAA,EACR;AAAA,EAEA,IAAI,EAAE,UAAU,SAAS,OAAO,KAAK,SAAS,UAAU;AAAA,IACvD,OAAO;AAAA,EACR;AAAA,EAEA,QAAQ,KAAK;AAAA,SACP;AAAA,SACA;AAAA,SACA;AAAA,SACA;AAAA,SACA;AAAA,MACJ,OAAO;AAAA;AAAA,MAEP,OAAO;AAAA;AAAA;;;ACrBH,IAAM,sBAAsB;",
9
+ "debugId": "86EBD4E45219431A64756E2164756E21",
10
+ "names": []
11
+ }
@@ -0,0 +1,93 @@
1
+ // @bun
2
+ import"./chunk-bmgqm774.js";
3
+
4
+ // src/utils/generateSitemap.ts
5
+ var {write } = globalThis.Bun;
6
+ var DEFAULT_PRIORITY = 0.8;
7
+ var escapeXml = (str) => str.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&apos;");
8
+ var isExcluded = (path, patterns) => {
9
+ for (const pattern of patterns) {
10
+ if (typeof pattern === "string" && path === pattern)
11
+ return true;
12
+ if (pattern instanceof RegExp && pattern.test(path))
13
+ return true;
14
+ }
15
+ return false;
16
+ };
17
+ var PAGE_HANDLER_NAMES = [
18
+ "handleReactPageRequest",
19
+ "handleSveltePageRequest",
20
+ "handleVuePageRequest",
21
+ "handleAngularPageRequest",
22
+ "handleHTMLPageRequest",
23
+ "handleHTMXPageRequest"
24
+ ];
25
+ var isPageHandler = (handler) => {
26
+ if (typeof handler !== "function")
27
+ return false;
28
+ const source = handler.toString();
29
+ return PAGE_HANDLER_NAMES.some((name) => source.includes(name));
30
+ };
31
+ var discoverPageRoutes = (routes, exclude) => {
32
+ const seen = new Set;
33
+ return routes.filter((route) => {
34
+ if (route.method !== "GET")
35
+ return false;
36
+ if (route.path.includes("*") || route.path.includes(":"))
37
+ return false;
38
+ if (seen.has(route.path))
39
+ return false;
40
+ if (isExcluded(route.path, exclude))
41
+ return false;
42
+ if (!isPageHandler(route.handler))
43
+ return false;
44
+ seen.add(route.path);
45
+ return true;
46
+ }).map((route) => route.path);
47
+ };
48
+ var buildSitemapXml = (pageRoutes, baseUrl, config) => {
49
+ const normalizedBase = baseUrl.replace(/\/$/, "");
50
+ const entries = [];
51
+ for (const path of pageRoutes) {
52
+ const override = config.overrides?.[path];
53
+ const changefreq = override?.changefreq ?? config.defaultChangefreq ?? "weekly";
54
+ const priority = override?.priority ?? config.defaultPriority ?? DEFAULT_PRIORITY;
55
+ const lastmod = override?.lastmod;
56
+ const url = escapeXml(`${normalizedBase}${path}`);
57
+ let entry = ` <url>
58
+ <loc>${url}</loc>`;
59
+ if (lastmod)
60
+ entry += `
61
+ <lastmod>${lastmod}</lastmod>`;
62
+ entry += `
63
+ <changefreq>${changefreq}</changefreq>`;
64
+ entry += `
65
+ <priority>${priority}</priority>`;
66
+ entry += `
67
+ </url>`;
68
+ entries.push(entry);
69
+ }
70
+ return [
71
+ '<?xml version="1.0" encoding="UTF-8"?>',
72
+ '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">',
73
+ ...entries,
74
+ "</urlset>"
75
+ ].join(`
76
+ `);
77
+ };
78
+ var generateSitemap = async (routes, serverUrl, outDir, config = {}) => {
79
+ const exclude = config.exclude ?? [];
80
+ const discoveredRoutes = discoverPageRoutes(routes, exclude);
81
+ const dynamicRoutes = config.routes ? await config.routes() : [];
82
+ const filteredDynamic = dynamicRoutes.filter((path) => !isExcluded(path, exclude));
83
+ const allRoutes = [...discoveredRoutes, ...filteredDynamic];
84
+ const baseUrl = config.baseUrl ?? serverUrl;
85
+ const xml = buildSitemapXml(allRoutes, baseUrl, config);
86
+ await write(`${outDir}/sitemap.xml`, xml);
87
+ };
88
+ export {
89
+ generateSitemap
90
+ };
91
+
92
+ //# debugId=7BD7FD53AB9DEADD64756E2164756E21
93
+ //# sourceMappingURL=chunk-h6mye9r3.js.map
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/utils/generateSitemap.ts"],
4
+ "sourcesContent": [
5
+ "import { write } from 'bun';\nimport type { SitemapConfig } from '../../types/sitemap';\n\nconst DEFAULT_PRIORITY = 0.8;\n\nconst escapeXml = (str: string) =>\n\tstr\n\t\t.replace(/&/g, '&amp;')\n\t\t.replace(/</g, '&lt;')\n\t\t.replace(/>/g, '&gt;')\n\t\t.replace(/\"/g, '&quot;')\n\t\t.replace(/'/g, '&apos;');\n\nconst isExcluded = (path: string, patterns: (string | RegExp)[]) => {\n\tfor (const pattern of patterns) {\n\t\tif (typeof pattern === 'string' && path === pattern) return true;\n\t\tif (pattern instanceof RegExp && pattern.test(path)) return true;\n\t}\n\n\treturn false;\n};\n\nconst PAGE_HANDLER_NAMES = [\n\t'handleReactPageRequest',\n\t'handleSveltePageRequest',\n\t'handleVuePageRequest',\n\t'handleAngularPageRequest',\n\t'handleHTMLPageRequest',\n\t'handleHTMXPageRequest'\n];\n\nconst isPageHandler = (handler: unknown) => {\n\tif (typeof handler !== 'function') return false;\n\tconst source = handler.toString();\n\n\treturn PAGE_HANDLER_NAMES.some((name) => source.includes(name));\n};\n\nconst discoverPageRoutes = (\n\troutes: { method: string; path: string; handler?: unknown }[],\n\texclude: (string | RegExp)[]\n) => {\n\tconst seen = new Set<string>();\n\n\treturn routes\n\t\t.filter((route) => {\n\t\t\tif (route.method !== 'GET') return false;\n\t\t\tif (route.path.includes('*') || route.path.includes(':'))\n\t\t\t\treturn false;\n\t\t\tif (seen.has(route.path)) return false;\n\t\t\tif (isExcluded(route.path, exclude)) return false;\n\t\t\tif (!isPageHandler(route.handler)) return false;\n\n\t\t\tseen.add(route.path);\n\n\t\t\treturn true;\n\t\t})\n\t\t.map((route) => route.path);\n};\n\nconst buildSitemapXml = (\n\tpageRoutes: string[],\n\tbaseUrl: string,\n\tconfig: SitemapConfig\n) => {\n\tconst normalizedBase = baseUrl.replace(/\\/$/, '');\n\tconst entries: string[] = [];\n\n\tfor (const path of pageRoutes) {\n\t\tconst override = config.overrides?.[path];\n\t\tconst changefreq =\n\t\t\toverride?.changefreq ?? config.defaultChangefreq ?? 'weekly';\n\t\tconst priority =\n\t\t\toverride?.priority ?? config.defaultPriority ?? DEFAULT_PRIORITY;\n\t\tconst lastmod = override?.lastmod;\n\t\tconst url = escapeXml(`${normalizedBase}${path}`);\n\n\t\tlet entry = ` <url>\\n <loc>${url}</loc>`;\n\n\t\tif (lastmod) entry += `\\n <lastmod>${lastmod}</lastmod>`;\n\n\t\tentry += `\\n <changefreq>${changefreq}</changefreq>`;\n\t\tentry += `\\n <priority>${priority}</priority>`;\n\t\tentry += '\\n </url>';\n\n\t\tentries.push(entry);\n\t}\n\n\treturn [\n\t\t'<?xml version=\"1.0\" encoding=\"UTF-8\"?>',\n\t\t'<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">',\n\t\t...entries,\n\t\t'</urlset>'\n\t].join('\\n');\n};\n\nexport const generateSitemap = async (\n\troutes: { method: string; path: string; handler?: unknown }[],\n\tserverUrl: string,\n\toutDir: string,\n\tconfig: SitemapConfig = {}\n) => {\n\tconst exclude = config.exclude ?? [];\n\tconst discoveredRoutes = discoverPageRoutes(routes, exclude);\n\n\tconst dynamicRoutes = config.routes ? await config.routes() : [];\n\tconst filteredDynamic = dynamicRoutes.filter(\n\t\t(path) => !isExcluded(path, exclude)\n\t);\n\n\tconst allRoutes = [...discoveredRoutes, ...filteredDynamic];\n\tconst baseUrl = config.baseUrl ?? serverUrl;\n\tconst xml = buildSitemapXml(allRoutes, baseUrl, config);\n\n\tawait write(`${outDir}/sitemap.xml`, xml);\n};\n"
6
+ ],
7
+ "mappings": ";;;;AAAA;AAGA,IAAM,mBAAmB;AAEzB,IAAM,YAAY,CAAC,QAClB,IACE,QAAQ,MAAM,OAAO,EACrB,QAAQ,MAAM,MAAM,EACpB,QAAQ,MAAM,MAAM,EACpB,QAAQ,MAAM,QAAQ,EACtB,QAAQ,MAAM,QAAQ;AAEzB,IAAM,aAAa,CAAC,MAAc,aAAkC;AAAA,EACnE,WAAW,WAAW,UAAU;AAAA,IAC/B,IAAI,OAAO,YAAY,YAAY,SAAS;AAAA,MAAS,OAAO;AAAA,IAC5D,IAAI,mBAAmB,UAAU,QAAQ,KAAK,IAAI;AAAA,MAAG,OAAO;AAAA,EAC7D;AAAA,EAEA,OAAO;AAAA;AAGR,IAAM,qBAAqB;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAEA,IAAM,gBAAgB,CAAC,YAAqB;AAAA,EAC3C,IAAI,OAAO,YAAY;AAAA,IAAY,OAAO;AAAA,EAC1C,MAAM,SAAS,QAAQ,SAAS;AAAA,EAEhC,OAAO,mBAAmB,KAAK,CAAC,SAAS,OAAO,SAAS,IAAI,CAAC;AAAA;AAG/D,IAAM,qBAAqB,CAC1B,QACA,YACI;AAAA,EACJ,MAAM,OAAO,IAAI;AAAA,EAEjB,OAAO,OACL,OAAO,CAAC,UAAU;AAAA,IAClB,IAAI,MAAM,WAAW;AAAA,MAAO,OAAO;AAAA,IACnC,IAAI,MAAM,KAAK,SAAS,GAAG,KAAK,MAAM,KAAK,SAAS,GAAG;AAAA,MACtD,OAAO;AAAA,IACR,IAAI,KAAK,IAAI,MAAM,IAAI;AAAA,MAAG,OAAO;AAAA,IACjC,IAAI,WAAW,MAAM,MAAM,OAAO;AAAA,MAAG,OAAO;AAAA,IAC5C,IAAI,CAAC,cAAc,MAAM,OAAO;AAAA,MAAG,OAAO;AAAA,IAE1C,KAAK,IAAI,MAAM,IAAI;AAAA,IAEnB,OAAO;AAAA,GACP,EACA,IAAI,CAAC,UAAU,MAAM,IAAI;AAAA;AAG5B,IAAM,kBAAkB,CACvB,YACA,SACA,WACI;AAAA,EACJ,MAAM,iBAAiB,QAAQ,QAAQ,OAAO,EAAE;AAAA,EAChD,MAAM,UAAoB,CAAC;AAAA,EAE3B,WAAW,QAAQ,YAAY;AAAA,IAC9B,MAAM,WAAW,OAAO,YAAY;AAAA,IACpC,MAAM,aACL,UAAU,cAAc,OAAO,qBAAqB;AAAA,IACrD,MAAM,WACL,UAAU,YAAY,OAAO,mBAAmB;AAAA,IACjD,MAAM,UAAU,UAAU;AAAA,IAC1B,MAAM,MAAM,UAAU,GAAG,iBAAiB,MAAM;AAAA,IAEhD,IAAI,QAAQ;AAAA,WAAqB;AAAA,IAEjC,IAAI;AAAA,MAAS,SAAS;AAAA,eAAkB;AAAA,IAExC,SAAS;AAAA,kBAAqB;AAAA,IAC9B,SAAS;AAAA,gBAAmB;AAAA,IAC5B,SAAS;AAAA;AAAA,IAET,QAAQ,KAAK,KAAK;AAAA,EACnB;AAAA,EAEA,OAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA,GAAG;AAAA,IACH;AAAA,EACD,EAAE,KAAK;AAAA,CAAI;AAAA;AAGL,IAAM,kBAAkB,OAC9B,QACA,WACA,QACA,SAAwB,CAAC,MACrB;AAAA,EACJ,MAAM,UAAU,OAAO,WAAW,CAAC;AAAA,EACnC,MAAM,mBAAmB,mBAAmB,QAAQ,OAAO;AAAA,EAE3D,MAAM,gBAAgB,OAAO,SAAS,MAAM,OAAO,OAAO,IAAI,CAAC;AAAA,EAC/D,MAAM,kBAAkB,cAAc,OACrC,CAAC,SAAS,CAAC,WAAW,MAAM,OAAO,CACpC;AAAA,EAEA,MAAM,YAAY,CAAC,GAAG,kBAAkB,GAAG,eAAe;AAAA,EAC1D,MAAM,UAAU,OAAO,WAAW;AAAA,EAClC,MAAM,MAAM,gBAAgB,WAAW,SAAS,MAAM;AAAA,EAEtD,MAAM,MAAM,GAAG,sBAAsB,GAAG;AAAA;",
8
+ "debugId": "7BD7FD53AB9DEADD64756E2164756E21",
9
+ "names": []
10
+ }
@@ -0,0 +1,85 @@
1
+ // @bun
2
+ import {
3
+ nativeRewriteImports
4
+ } from "./chunk-jn91vzkh.js";
5
+
6
+ // src/build/rewriteReactImports.ts
7
+ var escapeRegex = (str) => str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
8
+ var rewriterCache = new Map;
9
+ var cacheKey = (vendorPaths) => {
10
+ const entries = Object.entries(vendorPaths).sort(([left], [right]) => left.localeCompare(right));
11
+ let key = "";
12
+ for (const [k, v] of entries) {
13
+ key += `${k}\x00${v}\x00`;
14
+ }
15
+ return key;
16
+ };
17
+ var getOrCompileRewriter = (vendorPaths) => {
18
+ const key = cacheKey(vendorPaths);
19
+ const cached = rewriterCache.get(key);
20
+ if (cached)
21
+ return cached;
22
+ const replacements = Object.entries(vendorPaths).sort(([keyA], [keyB]) => keyB.length - keyA.length);
23
+ const lookup = new Map(replacements);
24
+ const alt = replacements.map(([spec]) => escapeRegex(spec)).join("|");
25
+ const fromRegex = new RegExp(`(from\\s*["'])(${alt})(["'])`, "g");
26
+ const sideEffectRegex = new RegExp(`(import\\s*["'])(${alt})(["']\\s*;?)`, "g");
27
+ const dynamicRegex = new RegExp(`(import\\s*\\(\\s*["'])(${alt})(["']\\s*\\))`, "g");
28
+ const rewriter = {
29
+ dynamicRegex,
30
+ fromRegex,
31
+ lookup,
32
+ sideEffectRegex
33
+ };
34
+ rewriterCache.set(key, rewriter);
35
+ return rewriter;
36
+ };
37
+ var applyAllReplacements = (content, rewriter) => {
38
+ const replacer = (_match, prefix, specifier, suffix) => {
39
+ const webPath = rewriter.lookup.get(specifier);
40
+ if (!webPath)
41
+ return _match;
42
+ return `${prefix}${webPath}${suffix}`;
43
+ };
44
+ rewriter.fromRegex.lastIndex = 0;
45
+ rewriter.sideEffectRegex.lastIndex = 0;
46
+ rewriter.dynamicRegex.lastIndex = 0;
47
+ let result = content;
48
+ result = result.replace(rewriter.fromRegex, replacer);
49
+ result = result.replace(rewriter.sideEffectRegex, replacer);
50
+ result = result.replace(rewriter.dynamicRegex, replacer);
51
+ return result;
52
+ };
53
+ var REFRESH_STUBS = "window.$RefreshReg$||(window.$RefreshReg$=function(){});" + `window.$RefreshSig$||(window.$RefreshSig$=function(){return function(t){return t}});
54
+ `;
55
+ var patchRefreshGlobals = async (outputPaths) => {
56
+ const jsFiles = outputPaths.filter((path) => path.endsWith(".js"));
57
+ await Promise.all(jsFiles.map(async (filePath) => {
58
+ const content = await Bun.file(filePath).text();
59
+ if (!content.includes("$RefreshReg$(") && !content.includes("$RefreshSig$("))
60
+ return;
61
+ if (content.startsWith("window.$RefreshReg$"))
62
+ return;
63
+ await Bun.write(filePath, REFRESH_STUBS + content);
64
+ }));
65
+ };
66
+ var rewriteReactImports = async (outputPaths, vendorPaths) => {
67
+ const jsFiles = outputPaths.filter((path) => path.endsWith(".js"));
68
+ if (jsFiles.length === 0)
69
+ return;
70
+ const rewriter = getOrCompileRewriter(vendorPaths);
71
+ const replacements = Object.entries(vendorPaths).sort(([keyA], [keyB]) => keyB.length - keyA.length);
72
+ await Promise.all(jsFiles.map(async (filePath) => {
73
+ const original = await Bun.file(filePath).text();
74
+ const native = nativeRewriteImports(original, replacements);
75
+ const content = native ?? applyAllReplacements(original, rewriter);
76
+ if (content !== original) {
77
+ await Bun.write(filePath, content);
78
+ }
79
+ }));
80
+ };
81
+
82
+ export { patchRefreshGlobals, rewriteReactImports };
83
+
84
+ //# debugId=E11DB2F08438174D64756E2164756E21
85
+ //# sourceMappingURL=chunk-hcsmxw1v.js.map
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/build/rewriteReactImports.ts"],
4
+ "sourcesContent": [
5
+ "/** Post-process bundled output files to rewrite bare React specifiers\n * (e.g. `from \"react\"`) to stable vendor paths (e.g. `from \"/vendor/react.js\"`).\n *\n * Uses native Zig scanner when available (15x faster on large files),\n * falls back to JS regex on Windows or when native addon is missing. */\n\nimport { nativeRewriteImports } from './nativeRewrite';\n\nconst escapeRegex = (str: string) =>\n\tstr.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n\ntype CompiledRewriter = {\n\tfromRegex: RegExp;\n\tsideEffectRegex: RegExp;\n\tdynamicRegex: RegExp;\n\tlookup: Map<string, string>;\n};\n\nconst rewriterCache = new Map<string, CompiledRewriter>();\n\nconst cacheKey = (vendorPaths: Record<string, string>) => {\n\tconst entries = Object.entries(vendorPaths).sort(\n\t\t([left], [right]) => left.localeCompare(right)\n\t);\n\tlet key = '';\n\tfor (const [k, v] of entries) {\n\t\tkey += `${k}\\0${v}\\0`;\n\t}\n\n\treturn key;\n};\n\nconst getOrCompileRewriter = (vendorPaths: Record<string, string>) => {\n\tconst key = cacheKey(vendorPaths);\n\tconst cached = rewriterCache.get(key);\n\tif (cached) return cached;\n\n\tconst replacements = Object.entries(vendorPaths).sort(\n\t\t([keyA], [keyB]) => keyB.length - keyA.length\n\t);\n\n\tconst lookup = new Map<string, string>(replacements);\n\tconst alt = replacements.map(([spec]) => escapeRegex(spec)).join('|');\n\n\tconst fromRegex = new RegExp(`(from\\\\s*[\"'])(${alt})([\"'])`, 'g');\n\tconst sideEffectRegex = new RegExp(\n\t\t`(import\\\\s*[\"'])(${alt})([\"']\\\\s*;?)`,\n\t\t'g'\n\t);\n\tconst dynamicRegex = new RegExp(\n\t\t`(import\\\\s*\\\\(\\\\s*[\"'])(${alt})([\"']\\\\s*\\\\))`,\n\t\t'g'\n\t);\n\n\tconst rewriter: CompiledRewriter = {\n\t\tdynamicRegex,\n\t\tfromRegex,\n\t\tlookup,\n\t\tsideEffectRegex\n\t};\n\trewriterCache.set(key, rewriter);\n\n\treturn rewriter;\n};\n\nconst applyAllReplacements = (\n\tcontent: string,\n\trewriter: CompiledRewriter\n) => {\n\tconst replacer = (\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\t\tif (!webPath) return _match;\n\n\t\treturn `${prefix}${webPath}${suffix}`;\n\t};\n\n\trewriter.fromRegex.lastIndex = 0;\n\trewriter.sideEffectRegex.lastIndex = 0;\n\trewriter.dynamicRegex.lastIndex = 0;\n\n\tlet result = content;\n\tresult = result.replace(rewriter.fromRegex, replacer);\n\tresult = result.replace(rewriter.sideEffectRegex, replacer);\n\tresult = result.replace(rewriter.dynamicRegex, replacer);\n\n\treturn result;\n};\n\n/** Bun's reactFastRefresh transform injects bare $RefreshReg$/$RefreshSig$\n * calls into component code. With code splitting, component chunks can\n * evaluate before the chunk containing reactRefreshSetup (which defines\n * the globals), because Bun doesn't guarantee chunk import order matches\n * source import order. Prepending no-op stubs to affected chunks ensures\n * the globals always exist. The real react-refresh runtime overrides them. */\nconst REFRESH_STUBS =\n\t'window.$RefreshReg$||(window.$RefreshReg$=function(){});' +\n\t'window.$RefreshSig$||(window.$RefreshSig$=function(){return function(t){return t}});\\n';\n\nexport const patchRefreshGlobals = async (outputPaths: string[]) => {\n\tconst jsFiles = outputPaths.filter((path) => path.endsWith('.js'));\n\n\tawait Promise.all(\n\t\tjsFiles.map(async (filePath) => {\n\t\t\tconst content = await Bun.file(filePath).text();\n\t\t\tif (\n\t\t\t\t!content.includes('$RefreshReg$(') &&\n\t\t\t\t!content.includes('$RefreshSig$(')\n\t\t\t)\n\t\t\t\treturn;\n\t\t\tif (content.startsWith('window.$RefreshReg$')) return;\n\t\t\tawait Bun.write(filePath, REFRESH_STUBS + content);\n\t\t})\n\t);\n};\n\nexport const rewriteReactImports = async (\n\toutputPaths: string[],\n\tvendorPaths: Record<string, string>\n) => {\n\tconst jsFiles = outputPaths.filter((path) => path.endsWith('.js'));\n\tif (jsFiles.length === 0) return;\n\n\tconst rewriter = getOrCompileRewriter(vendorPaths);\n\n\tconst replacements = Object.entries(vendorPaths).sort(\n\t\t([keyA], [keyB]) => keyB.length - keyA.length\n\t);\n\n\tawait Promise.all(\n\t\tjsFiles.map(async (filePath) => {\n\t\t\tconst original = await Bun.file(filePath).text();\n\n\t\t\t// Try native Zig scanner first (15x faster on large files)\n\t\t\tconst native = nativeRewriteImports(original, replacements);\n\t\t\tconst content =\n\t\t\t\tnative ?? applyAllReplacements(original, rewriter);\n\n\t\t\tif (content !== original) {\n\t\t\t\tawait Bun.write(filePath, content);\n\t\t\t}\n\t\t})\n\t);\n};\n"
6
+ ],
7
+ "mappings": "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",
8
+ "debugId": "E11DB2F08438174D64756E2164756E21",
9
+ "names": []
10
+ }