fuzor 0.5.1 → 0.5.2

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 (291) hide show
  1. package/dist/browser.d.ts +2 -0
  2. package/dist/browser.d.ts.map +1 -1
  3. package/dist/browser.js +1 -0
  4. package/dist/browser.js.map +1 -1
  5. package/dist/cli.js +10 -0
  6. package/dist/cli.js.map +1 -1
  7. package/dist/compiler/data-document.d.ts +5 -1
  8. package/dist/compiler/data-document.d.ts.map +1 -1
  9. package/dist/compiler/data-document.js +36 -7
  10. package/dist/compiler/data-document.js.map +1 -1
  11. package/dist/compiler/docs.d.ts.map +1 -1
  12. package/dist/compiler/docs.js +49 -11
  13. package/dist/compiler/docs.js.map +1 -1
  14. package/dist/compiler/index.d.ts +2 -0
  15. package/dist/compiler/index.d.ts.map +1 -1
  16. package/dist/compiler/index.js +23 -6
  17. package/dist/compiler/index.js.map +1 -1
  18. package/dist/compiler/islands.d.ts +1 -0
  19. package/dist/compiler/islands.d.ts.map +1 -1
  20. package/dist/compiler/native-authoring.d.ts +45 -0
  21. package/dist/compiler/native-authoring.d.ts.map +1 -0
  22. package/dist/compiler/native-authoring.js +576 -0
  23. package/dist/compiler/native-authoring.js.map +1 -0
  24. package/dist/compiler/native-manifest.d.ts +33 -0
  25. package/dist/compiler/native-manifest.d.ts.map +1 -0
  26. package/dist/compiler/native-manifest.js +53 -0
  27. package/dist/compiler/native-manifest.js.map +1 -0
  28. package/dist/compiler/native-ranges.d.ts +8 -0
  29. package/dist/compiler/native-ranges.d.ts.map +1 -0
  30. package/dist/compiler/native-ranges.js +92 -0
  31. package/dist/compiler/native-ranges.js.map +1 -0
  32. package/dist/compiler/native-scripts.js +2 -2
  33. package/dist/compiler/native-scripts.js.map +1 -1
  34. package/dist/compiler/page-scripts.d.ts +6 -0
  35. package/dist/compiler/page-scripts.d.ts.map +1 -1
  36. package/dist/compiler/page-scripts.js +25 -6
  37. package/dist/compiler/page-scripts.js.map +1 -1
  38. package/dist/compiler/route-policy.d.ts +1 -0
  39. package/dist/compiler/route-policy.d.ts.map +1 -1
  40. package/dist/compiler/route-policy.js +4 -1
  41. package/dist/compiler/route-policy.js.map +1 -1
  42. package/dist/compiler/server-actions.d.ts +9 -0
  43. package/dist/compiler/server-actions.d.ts.map +1 -0
  44. package/dist/compiler/server-actions.js +65 -0
  45. package/dist/compiler/server-actions.js.map +1 -0
  46. package/dist/data-bindings.d.ts +4 -0
  47. package/dist/data-bindings.d.ts.map +1 -0
  48. package/dist/data-bindings.js +16 -0
  49. package/dist/data-bindings.js.map +1 -0
  50. package/dist/dom-ownership.d.ts +5 -0
  51. package/dist/dom-ownership.d.ts.map +1 -0
  52. package/dist/dom-ownership.js +49 -0
  53. package/dist/dom-ownership.js.map +1 -0
  54. package/dist/index.d.ts +2 -0
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +1 -0
  57. package/dist/index.js.map +1 -1
  58. package/dist/internal-specifiers.d.ts +3 -0
  59. package/dist/internal-specifiers.d.ts.map +1 -0
  60. package/dist/internal-specifiers.js +22 -0
  61. package/dist/internal-specifiers.js.map +1 -0
  62. package/dist/islands/react.d.ts +0 -6
  63. package/dist/islands/react.d.ts.map +1 -1
  64. package/dist/islands/react.js +9 -26
  65. package/dist/islands/react.js.map +1 -1
  66. package/dist/json-value.d.ts +4 -0
  67. package/dist/json-value.d.ts.map +1 -0
  68. package/dist/json-value.js +10 -0
  69. package/dist/json-value.js.map +1 -0
  70. package/dist/native-expressions.d.ts +34 -0
  71. package/dist/native-expressions.d.ts.map +1 -0
  72. package/dist/native-expressions.js +118 -0
  73. package/dist/native-expressions.js.map +1 -0
  74. package/dist/native-manifest.d.ts +7 -0
  75. package/dist/native-manifest.d.ts.map +1 -0
  76. package/dist/native-manifest.js +4 -0
  77. package/dist/native-manifest.js.map +1 -0
  78. package/dist/native-ranges.d.ts +25 -0
  79. package/dist/native-ranges.d.ts.map +1 -0
  80. package/dist/native-ranges.js +51 -0
  81. package/dist/native-ranges.js.map +1 -0
  82. package/dist/native-state.d.ts +14 -0
  83. package/dist/native-state.d.ts.map +1 -0
  84. package/dist/native-state.js +27 -0
  85. package/dist/native-state.js.map +1 -0
  86. package/dist/route-path.d.ts +2 -0
  87. package/dist/route-path.d.ts.map +1 -1
  88. package/dist/route-path.js +2 -0
  89. package/dist/route-path.js.map +1 -1
  90. package/dist/runtime/binding-updates.d.ts +11 -0
  91. package/dist/runtime/binding-updates.d.ts.map +1 -0
  92. package/dist/runtime/binding-updates.js +45 -0
  93. package/dist/runtime/binding-updates.js.map +1 -0
  94. package/dist/runtime/data.d.ts +28 -1
  95. package/dist/runtime/data.d.ts.map +1 -1
  96. package/dist/runtime/data.js +101 -25
  97. package/dist/runtime/data.js.map +1 -1
  98. package/dist/runtime/docs-search.d.ts +20 -4
  99. package/dist/runtime/docs-search.d.ts.map +1 -1
  100. package/dist/runtime/docs-search.js +135 -159
  101. package/dist/runtime/docs-search.js.map +1 -1
  102. package/dist/runtime/docs-ui.d.ts +3 -1
  103. package/dist/runtime/docs-ui.d.ts.map +1 -1
  104. package/dist/runtime/docs-ui.js +19 -29
  105. package/dist/runtime/docs-ui.js.map +1 -1
  106. package/dist/runtime/islands.d.ts.map +1 -1
  107. package/dist/runtime/islands.js +2 -1
  108. package/dist/runtime/islands.js.map +1 -1
  109. package/dist/runtime/native-graph.d.ts +15 -0
  110. package/dist/runtime/native-graph.d.ts.map +1 -0
  111. package/dist/runtime/native-graph.js +103 -0
  112. package/dist/runtime/native-graph.js.map +1 -0
  113. package/dist/runtime/native-manifest.d.ts +17 -0
  114. package/dist/runtime/native-manifest.d.ts.map +1 -0
  115. package/dist/runtime/native-manifest.js +111 -0
  116. package/dist/runtime/native-manifest.js.map +1 -0
  117. package/dist/runtime/native-ranges.d.ts +8 -0
  118. package/dist/runtime/native-ranges.d.ts.map +1 -0
  119. package/dist/runtime/native-ranges.js +100 -0
  120. package/dist/runtime/native-ranges.js.map +1 -0
  121. package/dist/runtime/native-stream-reader.d.ts +7 -0
  122. package/dist/runtime/native-stream-reader.d.ts.map +1 -0
  123. package/dist/runtime/native-stream-reader.js +79 -0
  124. package/dist/runtime/native-stream-reader.js.map +1 -0
  125. package/dist/runtime/native-stream.d.ts +5 -0
  126. package/dist/runtime/native-stream.d.ts.map +1 -0
  127. package/dist/runtime/native-stream.js +14 -0
  128. package/dist/runtime/native-stream.js.map +1 -0
  129. package/dist/runtime/native.d.ts +41 -0
  130. package/dist/runtime/native.d.ts.map +1 -1
  131. package/dist/runtime/native.js +176 -55
  132. package/dist/runtime/native.js.map +1 -1
  133. package/dist/runtime/page-scripts.d.ts.map +1 -1
  134. package/dist/runtime/page-scripts.js +8 -3
  135. package/dist/runtime/page-scripts.js.map +1 -1
  136. package/dist/runtime/router.d.ts.map +1 -1
  137. package/dist/runtime/router.js +6 -1
  138. package/dist/runtime/router.js.map +1 -1
  139. package/dist/runtime/server-actions.d.ts +5 -0
  140. package/dist/runtime/server-actions.d.ts.map +1 -0
  141. package/dist/runtime/server-actions.js +79 -0
  142. package/dist/runtime/server-actions.js.map +1 -0
  143. package/dist/server-actions.d.ts +18 -0
  144. package/dist/server-actions.d.ts.map +1 -0
  145. package/dist/server-actions.js +138 -0
  146. package/dist/server-actions.js.map +1 -0
  147. package/dist/server-components/closures.d.ts +1 -12
  148. package/dist/server-components/closures.d.ts.map +1 -1
  149. package/dist/server-components/closures.js +0 -75
  150. package/dist/server-components/closures.js.map +1 -1
  151. package/dist/server-components/continuation.d.ts +7 -0
  152. package/dist/server-components/continuation.d.ts.map +1 -0
  153. package/dist/server-components/continuation.js +17 -0
  154. package/dist/server-components/continuation.js.map +1 -0
  155. package/dist/server-components/environment.js +1 -1
  156. package/dist/server-components/environment.js.map +1 -1
  157. package/dist/server-components/protocol.d.ts +5 -1
  158. package/dist/server-components/protocol.d.ts.map +1 -1
  159. package/dist/server-components/protocol.js +9 -1
  160. package/dist/server-components/protocol.js.map +1 -1
  161. package/dist/server-components/server.d.ts +4 -7
  162. package/dist/server-components/server.d.ts.map +1 -1
  163. package/dist/server-components/server.js +2 -185
  164. package/dist/server-components/server.js.map +1 -1
  165. package/dist/server-components/stream-server.d.ts +6 -0
  166. package/dist/server-components/stream-server.d.ts.map +1 -0
  167. package/dist/server-components/stream-server.js +197 -0
  168. package/dist/server-components/stream-server.js.map +1 -0
  169. package/dist/server-components/stream.d.ts +16 -3
  170. package/dist/server-components/stream.d.ts.map +1 -1
  171. package/dist/server-components/stream.js +31 -4
  172. package/dist/server-components/stream.js.map +1 -1
  173. package/dist/server-components/transport.d.ts +20 -0
  174. package/dist/server-components/transport.d.ts.map +1 -0
  175. package/dist/server-components/transport.js +2 -0
  176. package/dist/server-components/transport.js.map +1 -0
  177. package/dist/server-components/updates.d.ts +56 -0
  178. package/dist/server-components/updates.d.ts.map +1 -0
  179. package/dist/server-components/updates.js +319 -0
  180. package/dist/server-components/updates.js.map +1 -0
  181. package/dist/server-data-protocol.d.ts +14 -0
  182. package/dist/server-data-protocol.d.ts.map +1 -0
  183. package/dist/server-data-protocol.js +15 -0
  184. package/dist/server-data-protocol.js.map +1 -0
  185. package/dist/server-data.d.ts +18 -0
  186. package/dist/server-data.d.ts.map +1 -1
  187. package/dist/server-data.js.map +1 -1
  188. package/dist/server-native-stream.d.ts +5 -0
  189. package/dist/server-native-stream.d.ts.map +1 -0
  190. package/dist/server-native-stream.js +39 -0
  191. package/dist/server-native-stream.js.map +1 -0
  192. package/dist/server-native.d.ts +24 -0
  193. package/dist/server-native.d.ts.map +1 -0
  194. package/dist/server-native.js +67 -0
  195. package/dist/server-native.js.map +1 -0
  196. package/dist/server-reactivity.d.ts +13 -0
  197. package/dist/server-reactivity.d.ts.map +1 -0
  198. package/dist/server-reactivity.js +49 -0
  199. package/dist/server-reactivity.js.map +1 -0
  200. package/dist/server.d.ts +8 -4
  201. package/dist/server.d.ts.map +1 -1
  202. package/dist/server.js +55 -16
  203. package/dist/server.js.map +1 -1
  204. package/dist/ui/behaviors/accordion.d.ts.map +1 -1
  205. package/dist/ui/behaviors/accordion.js +4 -3
  206. package/dist/ui/behaviors/accordion.js.map +1 -1
  207. package/dist/ui/behaviors/collapsible.d.ts.map +1 -1
  208. package/dist/ui/behaviors/collapsible.js +2 -1
  209. package/dist/ui/behaviors/collapsible.js.map +1 -1
  210. package/dist/ui/behaviors/dialog.d.ts.map +1 -1
  211. package/dist/ui/behaviors/dialog.js +5 -4
  212. package/dist/ui/behaviors/dialog.js.map +1 -1
  213. package/dist/ui/behaviors/menu.d.ts.map +1 -1
  214. package/dist/ui/behaviors/menu.js +4 -3
  215. package/dist/ui/behaviors/menu.js.map +1 -1
  216. package/dist/ui/behaviors/select.d.ts +23 -1
  217. package/dist/ui/behaviors/select.d.ts.map +1 -1
  218. package/dist/ui/behaviors/select.js +81 -11
  219. package/dist/ui/behaviors/select.js.map +1 -1
  220. package/dist/ui/behaviors/switch.d.ts.map +1 -1
  221. package/dist/ui/behaviors/switch.js +2 -1
  222. package/dist/ui/behaviors/switch.js.map +1 -1
  223. package/dist/ui/behaviors/toolbar.d.ts.map +1 -1
  224. package/dist/ui/behaviors/toolbar.js +2 -1
  225. package/dist/ui/behaviors/toolbar.js.map +1 -1
  226. package/dist/ui/catalogue.d.ts +1 -1
  227. package/dist/ui/components/accordion/accordion.d.ts.map +1 -1
  228. package/dist/ui/components/accordion/accordion.js +3 -2
  229. package/dist/ui/components/accordion/accordion.js.map +1 -1
  230. package/dist/ui/components/collapsible/collapsible.d.ts.map +1 -1
  231. package/dist/ui/components/collapsible/collapsible.js +2 -1
  232. package/dist/ui/components/collapsible/collapsible.js.map +1 -1
  233. package/dist/ui/components/dialog/dialog.d.ts.map +1 -1
  234. package/dist/ui/components/dialog/dialog.js +4 -3
  235. package/dist/ui/components/dialog/dialog.js.map +1 -1
  236. package/dist/ui/components/navigation/breadcrumbs.d.ts.map +1 -1
  237. package/dist/ui/components/navigation/breadcrumbs.js +2 -1
  238. package/dist/ui/components/navigation/breadcrumbs.js.map +1 -1
  239. package/dist/ui/components/select/select.d.ts +20 -0
  240. package/dist/ui/components/select/select.d.ts.map +1 -1
  241. package/dist/ui/components/select/select.js +20 -0
  242. package/dist/ui/components/select/select.js.map +1 -1
  243. package/dist/ui/components/tabs/tabs.d.ts.map +1 -1
  244. package/dist/ui/components/tabs/tabs.js +6 -5
  245. package/dist/ui/components/tabs/tabs.js.map +1 -1
  246. package/dist/ui/core/brand.d.ts +33 -0
  247. package/dist/ui/core/brand.d.ts.map +1 -0
  248. package/dist/ui/core/brand.js +96 -0
  249. package/dist/ui/core/brand.js.map +1 -0
  250. package/dist/ui/core/component-styles.d.ts.map +1 -1
  251. package/dist/ui/core/component-styles.js +14 -8
  252. package/dist/ui/core/component-styles.js.map +1 -1
  253. package/dist/ui/core/element.d.ts.map +1 -1
  254. package/dist/ui/core/element.js +2 -3
  255. package/dist/ui/core/element.js.map +1 -1
  256. package/dist/ui/core/index.d.ts +1 -0
  257. package/dist/ui/core/index.d.ts.map +1 -1
  258. package/dist/ui/core/index.js +1 -0
  259. package/dist/ui/core/index.js.map +1 -1
  260. package/dist/ui/core/layout-styles.d.ts.map +1 -1
  261. package/dist/ui/core/layout-styles.js +12 -6
  262. package/dist/ui/core/layout-styles.js.map +1 -1
  263. package/dist/ui/core/parts.d.ts.map +1 -1
  264. package/dist/ui/core/parts.js +5 -4
  265. package/dist/ui/core/parts.js.map +1 -1
  266. package/dist/ui/core/portal.d.ts.map +1 -1
  267. package/dist/ui/core/portal.js +17 -1
  268. package/dist/ui/core/portal.js.map +1 -1
  269. package/dist/ui/machine-state.d.ts +11 -11
  270. package/dist/ui/state.d.ts +1 -1
  271. package/dist/vite.d.ts +5 -10
  272. package/dist/vite.d.ts.map +1 -1
  273. package/dist/vite.js +112 -114
  274. package/dist/vite.js.map +1 -1
  275. package/package.json +2 -12
  276. package/dist/server-components/browser.d.ts +0 -75
  277. package/dist/server-components/browser.d.ts.map +0 -1
  278. package/dist/server-components/browser.js +0 -558
  279. package/dist/server-components/browser.js.map +0 -1
  280. package/dist/server-components/compiler.d.ts +0 -6
  281. package/dist/server-components/compiler.d.ts.map +0 -1
  282. package/dist/server-components/compiler.js +0 -118
  283. package/dist/server-components/compiler.js.map +0 -1
  284. package/dist/server-components/navigation.d.ts +0 -10
  285. package/dist/server-components/navigation.d.ts.map +0 -1
  286. package/dist/server-components/navigation.js +0 -105
  287. package/dist/server-components/navigation.js.map +0 -1
  288. package/dist/server-components/references.d.ts +0 -22
  289. package/dist/server-components/references.d.ts.map +0 -1
  290. package/dist/server-components/references.js +0 -94
  291. package/dist/server-components/references.js.map +0 -1
@@ -1,118 +0,0 @@
1
- import { assertBrowserViewImport } from "./environment.js";
2
- import * as Effect from "effect/Effect";
3
- import { readFile } from "node:fs/promises";
4
- import { createHash } from "node:crypto";
5
- import { parseFragment } from "parse5";
6
- import { assertName } from "./protocol.js";
7
- /** Compile once at build time; request rendering copies static byte ranges and fills typed holes. */
8
- export function compileFragment(html) {
9
- if (html.length > 1024 * 1024)
10
- throw new Error("Compiled fragment exceeds 1 MB");
11
- const root = parseFragment(html, { sourceCodeLocationInfo: true });
12
- const holes = [];
13
- const bindings = [];
14
- const slots = new Set();
15
- const events = new Set();
16
- const supported = new Set(["click", "input", "change", "submit", "keydown"]);
17
- const visit = (node, insideHole = false) => {
18
- if (!("tagName" in node)) {
19
- if ("childNodes" in node)
20
- node.childNodes.forEach(child => visit(child, insideHole));
21
- return;
22
- }
23
- if (["script", "iframe", "object", "embed", "base", "template"].includes(node.tagName))
24
- throw new Error(`Unsupported compiled fragment element: ${node.tagName}`);
25
- if (node.namespaceURI !== "http://www.w3.org/1999/xhtml")
26
- throw new Error("Only HTML fragments are supported");
27
- const selected = [];
28
- for (const attr of node.attrs) {
29
- if (/^on/i.test(attr.name) || attr.name === "srcdoc")
30
- throw new Error("Executable attributes are not supported in fragments");
31
- if (["href", "src", "action", "formaction"].includes(attr.name) && /^(?:javascript|vbscript):/i.test(attr.value.replace(/[\u0000-\u0020]/g, "")))
32
- throw new Error("Unsafe fragment URL");
33
- const kind = attr.name === "data-fuzor-text" ? "text" : attr.name === "data-fuzor-state" ? "state" : attr.name === "data-fuzor-slot" ? "slot" : attr.name === "data-fuzor-checked" ? "checked" : undefined;
34
- if (kind) {
35
- assertName(attr.value);
36
- selected.push({ kind, name: attr.value });
37
- }
38
- if (attr.name.startsWith("data-fuzor-on-")) {
39
- if (!supported.has(attr.name.slice(14)))
40
- throw new Error(`Unsupported resumable event: ${attr.name}`);
41
- assertName(attr.value);
42
- events.add(attr.value);
43
- }
44
- }
45
- if (selected.length > 1 || (selected.length && insideHole))
46
- throw new Error("Dynamic bindings cannot overlap");
47
- const binding = selected[0];
48
- if (binding) {
49
- if (binding.kind === "slot") {
50
- if (slots.has(binding.name))
51
- throw new Error(`Duplicate slot: ${binding.name}`);
52
- slots.add(binding.name);
53
- }
54
- const location = node.sourceCodeLocation;
55
- if (!location?.startTag)
56
- throw new Error("Binding needs a source location");
57
- if (binding.kind === "checked" && (node.tagName !== "input" || !node.attrs.some(attr => attr.name === "type" && attr.value === "checkbox") || node.attrs.some(attr => attr.name === "checked")))
58
- throw new Error("Checked bindings require a checkbox without a checked attribute");
59
- if (node.tagName === "input") {
60
- if (binding.kind !== "checked" && (binding.kind !== "state" || node.attrs.some(attr => attr.name === "value" || (attr.name === "type" && !["text", "search", "email", "url", "tel", "password"].includes(attr.value)))))
61
- throw new Error("Inputs need a text state binding without a value attribute");
62
- const end = location.startTag.endOffset;
63
- const start = html[end - 2] === "/" ? end - 2 : end - 1;
64
- holes.push({ start, end: start, binding, attribute: binding.kind === "checked" ? "checked" : "value" });
65
- }
66
- else {
67
- if (!location.endTag)
68
- throw new Error("Bindings need explicit closing tags");
69
- holes.push({ start: location.startTag.endOffset, end: location.endTag.startOffset, binding });
70
- }
71
- if (binding.kind !== "slot" && !["input", "textarea"].includes(node.tagName) && node.childNodes.some(child => child.nodeName !== "#text"))
72
- throw new Error("Text/state bindings cannot contain elements");
73
- if (binding.kind === "slot" && node.childNodes.some(child => child.nodeName !== "#text" || ("value" in child && child.value.trim())))
74
- throw new Error("Slots must be empty");
75
- bindings.push(binding);
76
- }
77
- node.childNodes.forEach(child => visit(child, insideHole || !!binding));
78
- };
79
- visit(root);
80
- holes.sort((a, b) => a.start - b.start);
81
- const parts = [];
82
- let cursor = 0;
83
- for (const hole of holes) {
84
- if (hole.start < cursor)
85
- throw new Error("Overlapping compiled holes");
86
- parts.push({ kind: "html", value: html.slice(cursor, hole.start) });
87
- if (hole.attribute === "checked")
88
- parts.push({ kind: "checked-attribute", name: hole.binding.name });
89
- else if (hole.attribute)
90
- parts.push({ kind: "html", value: ' value="' }, { kind: "state-attribute", name: hole.binding.name }, { kind: "html", value: '"' });
91
- else
92
- parts.push(hole.binding);
93
- cursor = hole.end;
94
- }
95
- parts.push({ kind: "html", value: html.slice(cursor) });
96
- return { id: createHash("sha256").update(html).digest("hex").slice(0, 24), html, parts, bindings, events: [...events] };
97
- }
98
- /** Standalone Vite integration; the regular Fuzor plugin also recognizes these imports. */
99
- export function compiledFragmentsPlugin() {
100
- return {
101
- name: "fuzor:compiled-fragments", enforce: "pre",
102
- resolveId(id, importer, options) {
103
- if (!options.ssr)
104
- assertBrowserViewImport(id, importer);
105
- if (!id.endsWith(".fragment.html"))
106
- return;
107
- return Effect.runPromise(Effect.tryPromise({ try: () => this.resolve(id, importer, { ...options, skipSelf: true }), catch: error => error }).pipe(Effect.map(file => file ? file.id.startsWith("\0fuzor:fragment:") ? file.id : `\0fuzor:fragment:${file.id}.js` : undefined)));
108
- },
109
- load(id) {
110
- if (!id.startsWith("\0fuzor:fragment:"))
111
- return;
112
- const file = id.slice("\0fuzor:fragment:".length, -3);
113
- this.addWatchFile(file);
114
- return Effect.runPromise(Effect.tryPromise({ try: () => readFile(file, "utf8"), catch: error => error }).pipe(Effect.map(source => `export default ${JSON.stringify(compileFragment(source))};`)));
115
- },
116
- };
117
- }
118
- //# sourceMappingURL=compiler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../src/server-components/compiler.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import { createViewRenderer } from "./browser.js";
2
- import type { RouteRenderer } from "../runtime/router.js";
3
- /** Navigation commits the prepared shell; subsequent frames share its cancellable owner. */
4
- export declare function serverViewRoutes(options: Parameters<typeof createViewRenderer>[1] & {
5
- readonly routes: readonly string[];
6
- readonly base?: string;
7
- readonly acceptsRoute?: (path: string) => boolean;
8
- readonly fetch?: typeof fetch;
9
- }): (outlet: HTMLElement) => RouteRenderer;
10
- //# sourceMappingURL=navigation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../src/server-components/navigation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAIlD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAI1D,4FAA4F;AAC5F,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC,CAAC,GAAG;IACnF,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAG,OAAO,CAAC;IAChD,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CAC/B,GAAG,CAAC,MAAM,EAAE,WAAW,KAAK,aAAa,CAyEzC"}
@@ -1,105 +0,0 @@
1
- import * as Effect from "effect/Effect";
2
- import { createViewRenderer } from "./browser.js";
3
- import { readViewStream } from "./stream.js";
4
- import { makeRoutePatternMatcher } from "../route-patterns.js";
5
- import { normalizeBase, stripBase } from "../route-path.js";
6
- const external = (call) => Effect.tryPromise({ try: call, catch: error => error });
7
- /** Navigation commits the prepared shell; subsequent frames share its cancellable owner. */
8
- export function serverViewRoutes(options) {
9
- const match = makeRoutePatternMatcher(Object.fromEntries(options.routes.map(pattern => [pattern, "/"])));
10
- const base = normalizeBase(options.base);
11
- return outlet => {
12
- const renderer = createViewRenderer(outlet, options);
13
- const document = outlet.ownerDocument;
14
- let bootstrap = document.querySelector("script[data-fuzor-snapshot]");
15
- let active;
16
- let stopDocument;
17
- const prepared = new WeakMap();
18
- const stop = () => { active?.abort(); stopDocument?.(); };
19
- return {
20
- match: path => { if (options.acceptsRoute && !options.acceptsRoute(path))
21
- return undefined; const found = match(path); return found && { pattern: found.pattern, params: found.params }; },
22
- resolve: (href, signal, initial) => {
23
- stop();
24
- const controller = new AbortController();
25
- active = controller;
26
- const abortResolve = () => controller.abort();
27
- signal.addEventListener("abort", abortResolve, { once: true });
28
- const lifetime = controller.signal;
29
- return Effect.runPromise(Effect.gen(function* () {
30
- const target = new URL(href, document.baseURI);
31
- if (target.origin !== new URL(document.baseURI).origin || stripBase(target.pathname, base) === undefined)
32
- throw new Error("Server view URL must be inside the same-origin deployment base");
33
- let payload, stream;
34
- const script = bootstrap;
35
- if (initial && script && target.href === new URL(document.URL).href && outlet.querySelector("fuzor-fragment,fuzor-client[data-fuzor-component],fuzor-boundary")) {
36
- payload = JSON.parse(script.textContent ?? "");
37
- bootstrap = null;
38
- }
39
- else {
40
- const response = yield* external(() => (options.fetch ?? globalThis.fetch)(`${base}_fuzor/render?url=${encodeURIComponent(target.pathname + target.search)}`, { signal: lifetime, credentials: "same-origin", headers: { accept: "application/vnd.fuzor.view-stream+json" } }));
41
- if (!response.ok)
42
- throw new Error(`Server view request failed: ${response.status}`);
43
- if (response.headers.get("content-type")?.includes("application/vnd.fuzor.view-stream+json")) {
44
- stream = readViewStream(response, lifetime);
45
- const first = yield* external(() => stream.next());
46
- if (first.done)
47
- throw new Error("Missing initial view stream snapshot");
48
- payload = first.value;
49
- }
50
- else
51
- payload = yield* external(() => response.json());
52
- }
53
- if (lifetime.aborted)
54
- throw new DOMException("Navigation aborted", "AbortError");
55
- const pending = yield* external(() => renderer.sequence(payload, lifetime));
56
- const token = {};
57
- prepared.set(token, commitSignal => {
58
- const abortCommit = () => controller.abort();
59
- commitSignal.addEventListener("abort", abortCommit, { once: true });
60
- return Effect.runPromise(Effect.gen(function* () {
61
- const result = yield* external(() => pending.commit());
62
- if (!result) {
63
- if (stream?.return)
64
- yield* external(() => stream.return(undefined));
65
- return false;
66
- }
67
- script?.remove();
68
- if (initial && script?.hasAttribute("data-fuzor-streaming"))
69
- stopDocument = renderer.followDocument(pending.push, lifetime);
70
- if (stream) {
71
- const frames = stream;
72
- void Effect.runPromise(Effect.gen(function* () {
73
- while (true) {
74
- const part = yield* external(() => frames.next());
75
- if (part.done || !(yield* external(() => pending.push(part.value))))
76
- break;
77
- }
78
- }).pipe(Effect.ensuring(external(() => frames.return()).pipe(Effect.catch(error => Effect.logWarning("View stream cleanup failed", error))))), { signal: lifetime }).catch(error => { if (!lifetime.aborted)
79
- (options.onError ?? console.error)(error); });
80
- }
81
- return true;
82
- }).pipe(Effect.ensuring(Effect.sync(() => commitSignal.removeEventListener("abort", abortCommit)))), { signal: lifetime });
83
- });
84
- return token;
85
- }).pipe(Effect.onExit(exit => Effect.sync(() => { if (exit._tag === "Failure")
86
- controller.abort(); })), Effect.ensuring(Effect.sync(() => signal.removeEventListener("abort", abortResolve)))), { signal });
87
- },
88
- commit: (token, signal) => Effect.runPromise(Effect.gen(function* () {
89
- if (!token || typeof token !== "object")
90
- throw new Error("Invalid prepared server view");
91
- const apply = prepared.get(token);
92
- if (!apply)
93
- throw new Error("Unknown prepared server view");
94
- prepared.delete(token);
95
- if (signal.aborted)
96
- return;
97
- if (!(yield* external(() => apply(signal))) && !signal.aborted)
98
- throw new Error("Prepared server view was superseded");
99
- })),
100
- clear: () => { stop(); return renderer.clear(); },
101
- dispose: () => { stop(); return renderer.dispose(); },
102
- };
103
- };
104
- }
105
- //# sourceMappingURL=navigation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../src/server-components/navigation.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- import { type ExtractedClosure } from "./closures.js";
2
- import type { CompiledFragment } from "./protocol.js";
3
- export type ViewReferences = {
4
- readonly closures: readonly ExtractedClosure[];
5
- readonly templates: Readonly<Record<string, CompiledFragment>>;
6
- readonly clients: readonly {
7
- file: string;
8
- id: string;
9
- }[];
10
- readonly handlers: readonly {
11
- file: string;
12
- name: string;
13
- id: string;
14
- }[];
15
- };
16
- export declare function referenceId(file: string, name?: string): string;
17
- /** Export syntax is inspected at build time; no application module executes during discovery. */
18
- export declare function handlerExports(code: string, file: string): readonly string[];
19
- /** A bounded source directory defines admitted references; symlinks cannot widen that boundary. */
20
- export declare function discoverViewReferences(root: string, directory: string): Promise<ViewReferences>;
21
- export declare function browserReferencesCode(references: ViewReferences, buildId: string, imports: (file: string) => string): string;
22
- //# sourceMappingURL=references.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../../src/server-components/references.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAMvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,QAAQ,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC/C,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAC/D,QAAQ,CAAC,OAAO,EAAE,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1D,QAAQ,CAAC,QAAQ,EAAE,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC1E,CAAC;AACF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,SAAY,UAEzD;AACD,iGAAiG;AACjG,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAqB5E;AACD,mGAAmG;AACnG,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CA4B/F;AACD,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAI5H"}
@@ -1,94 +0,0 @@
1
- import * as Effect from "effect/Effect";
2
- import { extractClosures } from "./closures.js";
3
- import { readdir, readFile, realpath } from "node:fs/promises";
4
- import path from "node:path";
5
- import { createHash } from "node:crypto";
6
- import { parse } from "@babel/parser";
7
- import { compileFragment } from "./compiler.js";
8
- export function referenceId(file, name = "default") {
9
- return `ref-${createHash("sha256").update(`${file.replaceAll("\\", "/")}#${name}`).digest("hex").slice(0, 24)}`;
10
- }
11
- /** Export syntax is inspected at build time; no application module executes during discovery. */
12
- export function handlerExports(code, file) {
13
- const program = parse(code, { sourceType: "module", plugins: ["typescript", "jsx"] }).program;
14
- const names = [];
15
- for (const node of program.body) {
16
- if (node.type === "ExportDefaultDeclaration" || node.type === "ExportAllDeclaration")
17
- throw new Error(`${file}: handlers need explicit named function exports`);
18
- if (node.type !== "ExportNamedDeclaration" || node.exportKind === "type")
19
- continue;
20
- if (node.source)
21
- throw new Error(`${file}: handler re-exports are not supported`);
22
- const declaration = node.declaration;
23
- if (declaration?.type === "FunctionDeclaration" && declaration.id)
24
- names.push(declaration.id.name);
25
- else if (declaration?.type === "VariableDeclaration")
26
- for (const item of declaration.declarations) {
27
- if (item.id.type !== "Identifier" || !item.init || !["ArrowFunctionExpression", "FunctionExpression"].includes(item.init.type))
28
- throw new Error(`${file}: exported handlers must be functions`);
29
- names.push(item.id.name);
30
- }
31
- else if (declaration && !["TSTypeAliasDeclaration", "TSInterfaceDeclaration", "TSDeclareFunction"].includes(declaration.type))
32
- throw new Error(`${file}: exported handlers must be functions`);
33
- for (const specifier of node.specifiers) {
34
- if (specifier.type !== "ExportSpecifier" || specifier.exportKind === "type" || specifier.exported.type !== "Identifier")
35
- throw new Error(`${file}: unsupported handler export`);
36
- names.push(specifier.exported.name);
37
- }
38
- }
39
- if (new Set(names).size !== names.length)
40
- throw new Error(`${file}: duplicate handler export`);
41
- return names;
42
- }
43
- /** A bounded source directory defines admitted references; symlinks cannot widen that boundary. */
44
- export function discoverViewReferences(root, directory) {
45
- return Effect.runPromise(Effect.gen(function* () {
46
- const project = yield* Effect.tryPromise({ try: () => realpath(root), catch: error => error });
47
- const source = yield* Effect.tryPromise({ try: () => realpath(path.resolve(root, directory)), catch: error => error });
48
- if (source !== project && !source.startsWith(project + path.sep))
49
- throw new Error("View reference directory must stay inside the project");
50
- const templates = {};
51
- const clients = [], handlers = [];
52
- const closures = [];
53
- let count = 0;
54
- const walk = Effect.fnUntraced(function* (folder, depth) {
55
- if (depth > 32)
56
- throw new Error("View reference directory exceeds nesting limit");
57
- for (const entry of (yield* Effect.tryPromise({ try: () => readdir(folder, { withFileTypes: true }), catch: error => error })).sort((a, b) => a.name.localeCompare(b.name))) {
58
- if (++count > 10000)
59
- throw new Error("View reference scan exceeds file limit");
60
- if (entry.name.startsWith(".") || entry.name === "node_modules" || entry.isDirectory() && /^dist(?:-|$)/.test(entry.name))
61
- continue;
62
- const file = path.join(folder, entry.name);
63
- if (entry.isSymbolicLink())
64
- throw new Error(`View references cannot include symlinks: ${file}`);
65
- if (entry.isDirectory()) {
66
- yield* walk(file, depth + 1);
67
- continue;
68
- }
69
- if (!entry.isFile())
70
- continue;
71
- const relative = path.relative(project, file).split(path.sep).join("/");
72
- if (/\.server\.[cm]?[jt]sx?$/.test(entry.name))
73
- closures.push(...extractClosures(yield* Effect.tryPromise({ try: () => readFile(file, "utf8"), catch: error => error }), relative));
74
- if (entry.name.endsWith(".fragment.html")) {
75
- const template = compileFragment(yield* Effect.tryPromise({ try: () => readFile(file, "utf8"), catch: error => error }));
76
- templates[template.id] = template;
77
- }
78
- else if (/\.view-client\.[cm]?[jt]sx?$/.test(entry.name))
79
- clients.push({ file: relative, id: referenceId(relative) });
80
- else if (/\.handlers\.[cm]?[jt]sx?$/.test(entry.name))
81
- for (const name of handlerExports(yield* Effect.tryPromise({ try: () => readFile(file, "utf8"), catch: error => error }), relative))
82
- handlers.push({ file: relative, name, id: referenceId(relative, name) });
83
- }
84
- });
85
- yield* walk(source, 0);
86
- return { templates, clients, handlers, closures };
87
- }));
88
- }
89
- export function browserReferencesCode(references, buildId, imports) {
90
- const clients = references.clients.map(ref => `${JSON.stringify(ref.id)}:()=>import(${JSON.stringify(imports(ref.file))}).then(module=>module.default)`).join(",");
91
- const handlers = [...references.closures.map(ref => `${JSON.stringify(ref.id)}:()=>import(${JSON.stringify("virtual:fuzor/closure/" + ref.id)}).then(module=>module.default)`), ...references.handlers.map(ref => `${JSON.stringify(ref.id)}:()=>import(${JSON.stringify(imports(ref.file))}).then(module=>module[${JSON.stringify(ref.name)}])`)].join(",");
92
- return `export const manifest=${JSON.stringify({ buildId, templates: references.templates })};\nexport const clients={${clients}};\nexport const handlers={${handlers}};\nexport default {manifest,clients,handlers};`;
93
- }
94
- //# sourceMappingURL=references.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"references.js","sourceRoot":"","sources":["../../src/server-components/references.ts"],"names":[],"mappings":"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"}