fibrae 0.1.0 → 0.1.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 (45) hide show
  1. package/dist/components.d.ts +45 -11
  2. package/dist/components.js +80 -18
  3. package/dist/components.js.map +1 -1
  4. package/dist/core.js.map +1 -1
  5. package/dist/dom.d.ts +4 -1
  6. package/dist/dom.js +15 -2
  7. package/dist/dom.js.map +1 -1
  8. package/dist/fiber-render.d.ts +5 -3
  9. package/dist/fiber-render.js +197 -114
  10. package/dist/fiber-render.js.map +1 -1
  11. package/dist/h.d.ts +5 -10
  12. package/dist/h.js +9 -3
  13. package/dist/h.js.map +1 -1
  14. package/dist/hydration.js +34 -48
  15. package/dist/hydration.js.map +1 -1
  16. package/dist/index.d.ts +1 -0
  17. package/dist/index.js +2 -0
  18. package/dist/index.js.map +1 -1
  19. package/dist/jsx-runtime/index.d.ts +6 -5
  20. package/dist/jsx-runtime/index.js +4 -4
  21. package/dist/jsx-runtime/index.js.map +1 -1
  22. package/dist/render.js +20 -60
  23. package/dist/render.js.map +1 -1
  24. package/dist/router/History.js.map +1 -1
  25. package/dist/router/Link.d.ts +2 -2
  26. package/dist/router/Link.js +8 -4
  27. package/dist/router/Link.js.map +1 -1
  28. package/dist/router/Navigator.js +1 -3
  29. package/dist/router/Navigator.js.map +1 -1
  30. package/dist/router/Route.js +1 -1
  31. package/dist/router/Route.js.map +1 -1
  32. package/dist/router/Router.js +1 -3
  33. package/dist/router/Router.js.map +1 -1
  34. package/dist/router/RouterBuilder.js.map +1 -1
  35. package/dist/router/RouterState.js.map +1 -1
  36. package/dist/runtime.js +9 -2
  37. package/dist/runtime.js.map +1 -1
  38. package/dist/scope-utils.js.map +1 -1
  39. package/dist/server.js +16 -23
  40. package/dist/server.js.map +1 -1
  41. package/dist/shared.d.ts +85 -10
  42. package/dist/shared.js +34 -3
  43. package/dist/shared.js.map +1 -1
  44. package/dist/tracking.js +1 -1
  45. package/package.json +27 -23
package/dist/server.js CHANGED
@@ -13,8 +13,8 @@ import * as Effect from "effect/Effect";
13
13
  import * as Stream from "effect/Stream";
14
14
  import * as Option from "effect/Option";
15
15
  import * as Deferred from "effect/Deferred";
16
- import { Atom, Registry as AtomRegistry, Hydration, } from "@effect-atom/atom";
17
- import { isStream, isProperty, } from "./shared.js";
16
+ import { Atom, Registry as AtomRegistry, Hydration } from "@effect-atom/atom";
17
+ import { isStream, isProperty } from "./shared.js";
18
18
  // =============================================================================
19
19
  // SSR Registry Layer
20
20
  // =============================================================================
@@ -89,8 +89,20 @@ const renderAttributes = (props) => {
89
89
  // Void Elements (self-closing)
90
90
  // =============================================================================
91
91
  const VOID_ELEMENTS = new Set([
92
- "area", "base", "br", "col", "embed", "hr", "img", "input",
93
- "link", "meta", "param", "source", "track", "wbr",
92
+ "area",
93
+ "base",
94
+ "br",
95
+ "col",
96
+ "embed",
97
+ "hr",
98
+ "img",
99
+ "input",
100
+ "link",
101
+ "meta",
102
+ "param",
103
+ "source",
104
+ "track",
105
+ "wbr",
94
106
  ]);
95
107
  // =============================================================================
96
108
  // Core Rendering
@@ -150,25 +162,6 @@ const renderVElementToString = (vElement) => Effect.gen(function* () {
150
162
  }
151
163
  return html;
152
164
  }
153
- else if (type === "ERROR_BOUNDARY") {
154
- // Error boundary - try to render children, catch errors and render fallback
155
- const fallback = vElement.props.fallback;
156
- const children = vElement.props.children;
157
- const result = yield* Effect.either(Effect.gen(function* () {
158
- let html = "";
159
- for (const child of children) {
160
- html += yield* renderVElementToString(child);
161
- }
162
- return html;
163
- }));
164
- if (result._tag === "Left") {
165
- // Error occurred - render fallback
166
- const onError = vElement.props.onError;
167
- onError?.(result.left);
168
- return yield* renderVElementToString(fallback);
169
- }
170
- return result.right;
171
- }
172
165
  else if (type === "SUSPENSE") {
173
166
  // Suspense boundary - race child rendering against timeout
174
167
  // Phase 5: If children complete first → resolved marker
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/dist/shared.d.ts CHANGED
@@ -6,14 +6,23 @@ import * as Deferred from "effect/Deferred";
6
6
  import * as Context from "effect/Context";
7
7
  import { Atom as BaseAtom } from "@effect-atom/atom";
8
8
  /**
9
- * Primitive element types: HTML tags, text nodes, fragments, error boundary, or suspense
9
+ * Primitive element types: HTML tags, text nodes, fragments, suspense, or boundary
10
10
  */
11
- export type Primitive = keyof HTMLElementTagNameMap | "TEXT_ELEMENT" | "FRAGMENT" | "ERROR_BOUNDARY" | "SUSPENSE";
11
+ export type Primitive = keyof HTMLElementTagNameMap | "TEXT_ELEMENT" | "FRAGMENT" | "SUSPENSE" | "BOUNDARY";
12
+ /**
13
+ * What can appear as children in JSX (recursive type)
14
+ * Includes primitives, VElements, and arrays thereof
15
+ */
16
+ export type VChild = VElement | string | number | bigint | boolean | null | undefined | VChild[];
17
+ /**
18
+ * What components can return - VElement or wrapped in Effect/Stream
19
+ */
20
+ export type VNode = VElement | Effect.Effect<VElement, any, any> | Stream.Stream<VElement, any, any>;
12
21
  /**
13
22
  * Element type can be a primitive or a component function
14
- * Components can return VElement, Effect, or Stream
23
+ * Components can return VNode (VElement, Effect<VElement>, or Stream<VElement>)
15
24
  */
16
- export type ElementType<Props = {}> = Primitive | ((props: Props) => VElement | Stream.Stream<VElement, any, any> | Effect.Effect<VElement, any, any>);
25
+ export type ElementType<Props = {}> = Primitive | ((props: Props) => VNode);
17
26
  /**
18
27
  * Virtual element representation - the core unit of the virtual DOM
19
28
  */
@@ -46,11 +55,17 @@ export type SuspenseConfig = {
46
55
  parkedComplete: Option.Option<Deferred.Deferred<void>>;
47
56
  };
48
57
  /**
49
- * Error boundary configuration
58
+ * Effect-native boundary configuration (ErrorBoundary API)
59
+ *
60
+ * Created when the renderer encounters a BOUNDARY marker from ErrorBoundary().
61
+ * The onError callback fails the boundary's stream, triggering catchTags.
50
62
  */
51
- export type ErrorBoundaryConfig = {
52
- fallback: VElement;
53
- onError?: (cause: unknown) => void;
63
+ export type BoundaryConfig = {
64
+ /** Unique identifier for this boundary (for debugging) */
65
+ boundaryId: string;
66
+ /** Callback to report errors - fails the boundary stream */
67
+ onError: (error: ComponentError) => void;
68
+ /** True when an error has occurred and fallback is being shown */
54
69
  hasError: boolean;
55
70
  };
56
71
  /**
@@ -75,7 +90,8 @@ export interface Fiber {
75
90
  childFirstCommitDeferred: Option.Option<Deferred.Deferred<void>>;
76
91
  fiberRef: Option.Option<FiberRef>;
77
92
  isMultiEmissionStream: boolean;
78
- errorBoundary: Option.Option<ErrorBoundaryConfig>;
93
+ /** Effect-native boundary config (ErrorBoundary API) */
94
+ boundary: Option.Option<BoundaryConfig>;
79
95
  suspense: Option.Option<SuspenseConfig>;
80
96
  /** Context captured during render phase, used for event handlers in commit phase */
81
97
  renderContext: Option.Option<Context.Context<unknown>>;
@@ -99,7 +115,7 @@ export declare const isPrimitive: (type: ElementType) => type is Primitive;
99
115
  /**
100
116
  * Check if element type is a component function
101
117
  */
102
- export declare const isComponent: (type: ElementType) => type is (props: {}) => VElement | Stream.Stream<VElement, any, any> | Effect.Effect<VElement, any, any>;
118
+ export declare const isComponent: (type: ElementType) => type is (props: {}) => VNode;
103
119
  export declare const isStream: (value: unknown) => value is Stream.Stream<any, any, any>;
104
120
  declare const HydrationMismatch_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
105
121
  readonly _tag: "HydrationMismatch";
@@ -133,4 +149,63 @@ export declare class HydrationMismatch extends HydrationMismatch_base<{
133
149
  readonly path: string;
134
150
  }> {
135
151
  }
152
+ declare const RenderError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
153
+ readonly _tag: "RenderError";
154
+ } & Readonly<A>;
155
+ /**
156
+ * Error during component render (sync throw or Effect failure).
157
+ *
158
+ * Caught by ErrorBoundary and can be handled via Stream.catchTags:
159
+ * ```typescript
160
+ * const SafeApp = () => ErrorBoundary(<MyComponent />).pipe(
161
+ * Stream.catchTags({
162
+ * RenderError: (e) => Stream.succeed(<div>Render failed: {e.componentName}</div>),
163
+ * })
164
+ * );
165
+ * ```
166
+ */
167
+ export declare class RenderError extends RenderError_base<{
168
+ /** The underlying error that caused the render failure */
169
+ readonly cause: unknown;
170
+ /** Name of the component that failed (if available) */
171
+ readonly componentName?: string;
172
+ }> {
173
+ }
174
+ declare const StreamError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
175
+ readonly _tag: "StreamError";
176
+ } & Readonly<A>;
177
+ /**
178
+ * Error from a Stream component (before or after first emission).
179
+ *
180
+ * The `phase` field distinguishes:
181
+ * - "before-first-emission": Stream failed before producing any value (shows fallback immediately)
182
+ * - "after-first-emission": Stream failed after showing content (replaces content with fallback)
183
+ */
184
+ export declare class StreamError extends StreamError_base<{
185
+ /** The underlying error that caused the stream failure */
186
+ readonly cause: unknown;
187
+ /** When the error occurred relative to first emission */
188
+ readonly phase: "before-first-emission" | "after-first-emission";
189
+ }> {
190
+ }
191
+ declare const EventHandlerError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
192
+ readonly _tag: "EventHandlerError";
193
+ } & Readonly<A>;
194
+ /**
195
+ * Error from an event handler Effect.
196
+ *
197
+ * The `eventType` field indicates which event triggered the failure (e.g., "click", "change").
198
+ */
199
+ export declare class EventHandlerError extends EventHandlerError_base<{
200
+ /** The underlying error that caused the event handler failure */
201
+ readonly cause: unknown;
202
+ /** The DOM event type that triggered this handler (e.g., "click", "change") */
203
+ readonly eventType: string;
204
+ }> {
205
+ }
206
+ /**
207
+ * Union of all component error types.
208
+ * Used with ErrorBoundary's onError handlers for typed error matching.
209
+ */
210
+ export type ComponentError = RenderError | StreamError | EventHandlerError;
136
211
  export {};
package/dist/shared.js CHANGED
@@ -22,9 +22,7 @@ export const isPrimitive = (type) => typeof type === "string";
22
22
  * Check if element type is a component function
23
23
  */
24
24
  export const isComponent = (type) => typeof type === "function";
25
- export const isStream = (value) => (typeof value === "object" &&
26
- value !== null &&
27
- Stream.StreamTypeId in value);
25
+ export const isStream = (value) => typeof value === "object" && value !== null && Stream.StreamTypeId in value;
28
26
  // =============================================================================
29
27
  // Hydration Errors
30
28
  // =============================================================================
@@ -50,4 +48,37 @@ export const isStream = (value) => (typeof value === "object" &&
50
48
  */
51
49
  export class HydrationMismatch extends Data.TaggedError("HydrationMismatch") {
52
50
  }
51
+ // =============================================================================
52
+ // Component Errors
53
+ // =============================================================================
54
+ /**
55
+ * Error during component render (sync throw or Effect failure).
56
+ *
57
+ * Caught by ErrorBoundary and can be handled via Stream.catchTags:
58
+ * ```typescript
59
+ * const SafeApp = () => ErrorBoundary(<MyComponent />).pipe(
60
+ * Stream.catchTags({
61
+ * RenderError: (e) => Stream.succeed(<div>Render failed: {e.componentName}</div>),
62
+ * })
63
+ * );
64
+ * ```
65
+ */
66
+ export class RenderError extends Data.TaggedError("RenderError") {
67
+ }
68
+ /**
69
+ * Error from a Stream component (before or after first emission).
70
+ *
71
+ * The `phase` field distinguishes:
72
+ * - "before-first-emission": Stream failed before producing any value (shows fallback immediately)
73
+ * - "after-first-emission": Stream failed after showing content (replaces content with fallback)
74
+ */
75
+ export class StreamError extends Data.TaggedError("StreamError") {
76
+ }
77
+ /**
78
+ * Error from an event handler Effect.
79
+ *
80
+ * The `eventType` field indicates which event triggered the failure (e.g., "click", "change").
81
+ */
82
+ export class EventHandlerError extends Data.TaggedError("EventHandlerError") {
83
+ }
53
84
  //# sourceMappingURL=shared.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAwFrD;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAE7D;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE,CACxC,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAExE;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAiB,EAAqB,EAAE,CAClE,OAAO,IAAI,KAAK,QAAQ,CAAC;AAE3B;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAiB,EAAE,EAAE,CAC/C,OAAO,IAAI,KAAK,UAAU,CAAC;AAE7B,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAyC,EAAE,CAAC,CACjF,OAAO,KAAK,KAAK,QAAQ;IACzB,KAAK,KAAK,IAAI;IACd,MAAM,CAAC,YAAY,IAAI,KAAK,CAC7B,CAAC;AAEF,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,OAAO,iBAAkB,SAAQ,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAOzE;CAAG"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AA0HrD;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAE7D;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE,CACxC,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAExE;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAiB,EAAqB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC;AAE9F;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAiB,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,UAAU,CAAC;AAE7E,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAyC,EAAE,CAChF,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,YAAY,IAAI,KAAK,CAAC;AAE9E,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,OAAO,iBAAkB,SAAQ,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAOzE;CAAG;AAEL,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,WAAY,SAAQ,IAAI,CAAC,WAAW,CAAC,aAAa,CAK7D;CAAG;AAEL;;;;;;GAMG;AACH,MAAM,OAAO,WAAY,SAAQ,IAAI,CAAC,WAAW,CAAC,aAAa,CAK7D;CAAG;AAEL;;;;GAIG;AACH,MAAM,OAAO,iBAAkB,SAAQ,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAKzE;CAAG"}
package/dist/tracking.js CHANGED
@@ -35,7 +35,7 @@ export const makeTrackingRegistry = (realRegistry, accessedAtoms) => {
35
35
  };
36
36
  }
37
37
  return Reflect.get(target, prop, receiver);
38
- }
38
+ },
39
39
  });
40
40
  };
41
41
  /**
package/package.json CHANGED
@@ -1,39 +1,43 @@
1
1
  {
2
2
  "name": "fibrae",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Effect-first JSX renderer with automatic reactivity",
5
+ "license": "MIT",
5
6
  "repository": {
6
7
  "type": "git",
7
- "url": "https://github.com/DanielFGray/lumon"
8
+ "url": "https://github.com/DanielFGray/fibrae"
8
9
  },
9
- "license": "MIT",
10
+ "files": [
11
+ "dist"
12
+ ],
10
13
  "type": "module",
11
14
  "main": "./dist/index.js",
12
15
  "module": "./dist/index.js",
13
16
  "types": "./dist/index.d.ts",
14
- "files": [
15
- "dist"
16
- ],
17
17
  "exports": {
18
18
  ".": {
19
- "import": "./dist/index.js",
20
- "types": "./dist/index.d.ts"
19
+ "types": "./dist/index.d.ts",
20
+ "import": "./dist/index.js"
21
21
  },
22
22
  "./jsx-runtime": {
23
- "import": "./dist/jsx-runtime/index.js",
24
- "types": "./dist/jsx-runtime/index.d.ts"
23
+ "types": "./dist/jsx-runtime/index.d.ts",
24
+ "import": "./dist/jsx-runtime/index.js"
25
25
  },
26
26
  "./jsx-dev-runtime": {
27
- "import": "./dist/jsx-runtime/index.js",
28
- "types": "./dist/jsx-runtime/index.d.ts"
27
+ "types": "./dist/jsx-runtime/index.d.ts",
28
+ "import": "./dist/jsx-runtime/index.js"
29
29
  },
30
30
  "./server": {
31
- "import": "./dist/server.js",
32
- "types": "./dist/server.d.ts"
31
+ "types": "./dist/server.d.ts",
32
+ "import": "./dist/server.js"
33
33
  },
34
34
  "./shared": {
35
- "import": "./dist/shared.js",
36
- "types": "./dist/shared.d.ts"
35
+ "types": "./dist/shared.d.ts",
36
+ "import": "./dist/shared.js"
37
+ },
38
+ "./router": {
39
+ "types": "./dist/router/index.d.ts",
40
+ "import": "./dist/router/index.js"
37
41
  }
38
42
  },
39
43
  "scripts": {
@@ -43,18 +47,18 @@
43
47
  "types:watch": "tsc -p . --noEmit --watch",
44
48
  "types:check": "tsc -p . --noEmit"
45
49
  },
46
- "optionalDependencies": {
47
- "@effect/platform-browser": "catalog:",
48
- "@effect/platform-bun": "catalog:",
49
- "@effect/platform-node": "catalog:"
50
+ "devDependencies": {
51
+ "@effect/language-service": "catalog:",
52
+ "typescript": "catalog:"
50
53
  },
51
54
  "peerDependencies": {
52
55
  "@effect-atom/atom": "catalog:",
53
56
  "effect": "catalog:"
54
57
  },
55
- "devDependencies": {
56
- "@effect/language-service": "catalog:",
57
- "typescript": "catalog:"
58
+ "optionalDependencies": {
59
+ "@effect/platform-browser": "catalog:",
60
+ "@effect/platform-bun": "catalog:",
61
+ "@effect/platform-node": "catalog:"
58
62
  },
59
63
  "overrides": {
60
64
  "effect": "catalog:"