@takazudo/zfb-runtime 0.1.0-next.72 → 0.1.0-next.74

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.
package/README.md CHANGED
@@ -52,8 +52,14 @@ to the chosen JSX runtime; both `preact-render-to-string` and
52
52
 
53
53
  ## Public API
54
54
 
55
+ `createPageRouter` is **server-only** — it builds a Hono app, so it lives at
56
+ the `@takazudo/zfb-runtime/server` subpath. Keeping it out of the client-safe
57
+ `.` barrel means an island importing the bare `@takazudo/zfb-runtime` never
58
+ drags `hono` into a `--platform=browser` bundle (issue #1298). Its *types*
59
+ remain importable from the root barrel (they carry no runtime).
60
+
55
61
  ```ts
56
- import { createPageRouter } from "@takazudo/zfb-runtime";
62
+ import { createPageRouter } from "@takazudo/zfb-runtime/server";
57
63
  import type {
58
64
  CreatePageRouterOptions,
59
65
  PageDefinition,
package/dist/index.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- export { createPageRouter } from "./router.js";
2
1
  export type { CreatePageRouterOptions, PageDefinition, PageHeading, PageModule, PageRouter, } from "./router.js";
3
2
  export type { FrameworkAdapter } from "./framework.js";
4
3
  export type { ContentSnapshot, EntrySnapshot } from "./snapshot.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,YAAY,EACV,uBAAuB,EACvB,cAAc,EACd,WAAW,EACX,UAAU,EACV,UAAU,GACX,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAIrF,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EACL,QAAQ,EACR,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,2BAA2B,CAAC;AAKnC,OAAO,EAAE,QAAQ,EAAE,IAAI,IAAI,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC7E,YAAY,EACV,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,GAChB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,6BAA6B,EAC7B,4BAA4B,EAC5B,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,6BAA6B,EAC7B,gCAAgC,EAChC,yBAAyB,EACzB,kCAAkC,EAClC,2BAA2B,GAC5B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,mCAAmC,CAAC;AACxE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAOnG,YAAY,EACV,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,sBAAsB,GACvB,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA2BA,YAAY,EACV,uBAAuB,EACvB,cAAc,EACd,WAAW,EACX,UAAU,EACV,UAAU,GACX,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAIrF,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EACL,QAAQ,EACR,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,2BAA2B,CAAC;AAKnC,OAAO,EAAE,QAAQ,EAAE,IAAI,IAAI,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC7E,YAAY,EACV,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,GAChB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,6BAA6B,EAC7B,4BAA4B,EAC5B,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,6BAA6B,EAC7B,gCAAgC,EAChC,yBAAyB,EACzB,kCAAkC,EAClC,2BAA2B,GAC5B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,mCAAmC,CAAC;AACxE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAOnG,YAAY,EACV,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,sBAAsB,GACvB,MAAM,uBAAuB,CAAC"}
package/dist/index.js CHANGED
@@ -1,9 +1,19 @@
1
1
  // Public entry point for `@takazudo/zfb-runtime`.
2
2
  //
3
- // Worker bundles produced by T3 import this module and invoke
3
+ // This is the **client-safe** barrel: everything re-exported here must be
4
+ // bundleable for `--platform=browser` without pulling a server-only
5
+ // dependency. In particular `createPageRouter` (and the Hono server router
6
+ // it builds) is intentionally NOT re-exported here — it lives at the
7
+ // server-only subpath `@takazudo/zfb-runtime/server`. Re-exporting it from
8
+ // this barrel makes any island that does `import ... from "@takazudo/zfb-runtime"`
9
+ // drag `hono` into the browser graph, which esbuild must then resolve
10
+ // (issue #1298). The page-router *types* below are `export type` only, so
11
+ // esbuild strips them and no runtime edge to `./router.js` survives.
12
+ //
13
+ // Worker bundles produced by T3 import the server subpath and invoke
4
14
  // `createPageRouter` once, at module top, to obtain the fetch handler:
5
15
  //
6
- // import { createPageRouter } from "@takazudo/zfb-runtime";
16
+ // import { createPageRouter } from "@takazudo/zfb-runtime/server";
7
17
  //
8
18
  // const router = createPageRouter({
9
19
  // pages: [...],
@@ -14,7 +24,6 @@
14
24
  // export default { fetch: router };
15
25
  //
16
26
  // The README documents the bundle shape T6 (embedded V8 host) consumes.
17
- export { createPageRouter } from "./router.js";
18
27
  export { ViewTransitions } from "./view-transitions.js";
19
28
  // Client-router public surface (W3D — mirrors @takazudo/zfb-runtime/client-router barrel).
20
29
  // See W1B §2 for the full public API spec.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,EAAE;AACF,8DAA8D;AAC9D,uEAAuE;AACvE,EAAE;AACF,8DAA8D;AAC9D,EAAE;AACF,sCAAsC;AACtC,oBAAoB;AACpB,4EAA4E;AAC5E,iFAAiF;AACjF,QAAQ;AACR,EAAE;AACF,sCAAsC;AACtC,EAAE;AACF,wEAAwE;AAExE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAU/C,OAAO,EAAE,eAAe,EAA+B,MAAM,uBAAuB,CAAC;AAErF,2FAA2F;AAC3F,2CAA2C;AAC3C,OAAO,EAAE,YAAY,EAA0B,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EACL,QAAQ,EACR,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,2BAA2B,CAAC;AAEnC,kCAAkC;AAClC,8EAA8E;AAC9E,4BAA4B;AAC5B,OAAO,EAAE,QAAQ,EAAE,IAAI,IAAI,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAM7E,OAAO,EACL,6BAA6B,EAC7B,4BAA4B,EAC5B,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,6BAA6B,EAC7B,gCAAgC,EAChC,yBAAyB,EACzB,kCAAkC,EAClC,2BAA2B,GAC5B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,mCAAmC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,EAAE;AACF,0EAA0E;AAC1E,oEAAoE;AACpE,2EAA2E;AAC3E,qEAAqE;AACrE,2EAA2E;AAC3E,mFAAmF;AACnF,sEAAsE;AACtE,0EAA0E;AAC1E,qEAAqE;AACrE,EAAE;AACF,qEAAqE;AACrE,uEAAuE;AACvE,EAAE;AACF,qEAAqE;AACrE,EAAE;AACF,sCAAsC;AACtC,oBAAoB;AACpB,4EAA4E;AAC5E,iFAAiF;AACjF,QAAQ;AACR,EAAE;AACF,sCAAsC;AACtC,EAAE;AACF,wEAAwE;AAWxE,OAAO,EAAE,eAAe,EAA+B,MAAM,uBAAuB,CAAC;AAErF,2FAA2F;AAC3F,2CAA2C;AAC3C,OAAO,EAAE,YAAY,EAA0B,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EACL,QAAQ,EACR,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,2BAA2B,CAAC;AAEnC,kCAAkC;AAClC,8EAA8E;AAC9E,4BAA4B;AAC5B,OAAO,EAAE,QAAQ,EAAE,IAAI,IAAI,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAM7E,OAAO,EACL,6BAA6B,EAC7B,4BAA4B,EAC5B,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,6BAA6B,EAC7B,gCAAgC,EAChC,yBAAyB,EACzB,kCAAkC,EAClC,2BAA2B,GAC5B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,mCAAmC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { createPageRouter } from "./router.js";
2
+ export type { CreatePageRouterOptions, PageDefinition, PageHeading, PageModule, PageRouter, } from "./router.js";
3
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,YAAY,EACV,uBAAuB,EACvB,cAAc,EACd,WAAW,EACX,UAAU,EACV,UAAU,GACX,MAAM,aAAa,CAAC"}
package/dist/server.js ADDED
@@ -0,0 +1,14 @@
1
+ // Server-only entry point for `@takazudo/zfb-runtime` (subpath `/server`).
2
+ //
3
+ // `createPageRouter` builds a Hono app, so importing it pulls `hono` into the
4
+ // module graph. That is fine — even *desirable* — on the SSR / Worker side,
5
+ // but it must never reach a `--platform=browser` island bundle. Keeping the
6
+ // factory behind this dedicated subpath (rather than the client-safe `.`
7
+ // barrel in `./index.ts`) is what lets esbuild bundle an island that imports
8
+ // the bare `@takazudo/zfb-runtime` root without ever needing to resolve
9
+ // `hono` (issue #1298).
10
+ //
11
+ // The zfb SSR emit (`crates/zfb-build/src/bundler.rs`) imports
12
+ // `createPageRouter` from here.
13
+ export { createPageRouter } from "./router.js";
14
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,EAAE;AACF,8EAA8E;AAC9E,4EAA4E;AAC5E,4EAA4E;AAC5E,yEAAyE;AACzE,6EAA6E;AAC7E,wEAAwE;AACxE,wBAAwB;AACxB,EAAE;AACF,+DAA+D;AAC/D,gCAAgC;AAEhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../src/snapshot.ts"],"names":[],"mappings":"AAeA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,aAAa,EAAE,CAAC,CAAC,CAAC;CAC1E"}
1
+ {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../src/snapshot.ts"],"names":[],"mappings":"AAgBA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,aAAa,EAAE,CAAC,CAAC,CAAC;CAC1E"}
package/dist/snapshot.js CHANGED
@@ -5,8 +5,9 @@
5
5
  // (see `ContentSnapshot` and `EntrySnapshot`). The build-time pipeline
6
6
  // constructs the snapshot, serializes it to JSON, and embeds it in the
7
7
  // Worker bundle that the embedded V8 host loads. At Worker boot the embedded value
8
- // is handed to [`createPageRouter`] (re-exported from the package root),
9
- // which registers it with the `zfb/content` module so user pages calling
8
+ // is handed to [`createPageRouter`] (exported from the server-only subpath
9
+ // `@takazudo/zfb-runtime/server`), which registers it with the `zfb/content`
10
+ // module so user pages calling
10
11
  // `getCollection("blog")` resolve from memory rather than from the
11
12
  // filesystem.
12
13
  //
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../src/snapshot.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,8BAA8B;AAC9B,EAAE;AACF,kFAAkF;AAClF,uEAAuE;AACvE,uEAAuE;AACvE,mFAAmF;AACnF,yEAAyE;AACzE,yEAAyE;AACzE,mEAAmE;AACnE,cAAc;AACd,EAAE;AACF,wEAAwE;AACxE,iEAAiE"}
1
+ {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../src/snapshot.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,8BAA8B;AAC9B,EAAE;AACF,kFAAkF;AAClF,uEAAuE;AACvE,uEAAuE;AACvE,mFAAmF;AACnF,2EAA2E;AAC3E,6EAA6E;AAC7E,+BAA+B;AAC/B,mEAAmE;AACnE,cAAc;AACd,EAAE;AACF,wEAAwE;AACxE,iEAAiE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@takazudo/zfb-runtime",
3
- "version": "0.1.0-next.72",
3
+ "version": "0.1.0-next.74",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "description": "JavaScript runtime for zfb static sites — Hono-backed page router, content snapshots, and client-side hydration.",
@@ -29,11 +29,25 @@
29
29
  },
30
30
  "main": "./dist/index.js",
31
31
  "types": "./dist/index.d.ts",
32
+ "sideEffects": [
33
+ "./src/client-router.ts",
34
+ "./src/client-router/index.ts",
35
+ "./src/client-router/router.ts",
36
+ "./src/client-router/prefetch.ts",
37
+ "./dist/client-router.js",
38
+ "./dist/client-router/index.js",
39
+ "./dist/client-router/router.js",
40
+ "./dist/client-router/prefetch.js"
41
+ ],
32
42
  "exports": {
33
43
  ".": {
34
44
  "types": "./dist/index.d.ts",
35
45
  "default": "./dist/index.js"
36
46
  },
47
+ "./server": {
48
+ "types": "./dist/server.d.ts",
49
+ "default": "./dist/server.js"
50
+ },
37
51
  "./snapshot": {
38
52
  "types": "./dist/snapshot.d.ts",
39
53
  "default": "./dist/snapshot.js"
@@ -61,7 +75,7 @@
61
75
  },
62
76
  "peerDependencies": {
63
77
  "react": "^19.2.3",
64
- "@takazudo/zfb": "0.1.0-next.72"
78
+ "@takazudo/zfb": "0.1.0-next.74"
65
79
  },
66
80
  "peerDependenciesMeta": {
67
81
  "react": {
@@ -75,7 +89,7 @@
75
89
  "react": "^19.2.3",
76
90
  "typescript": "^5.9.0",
77
91
  "vitest": "^2.1.9",
78
- "@takazudo/zfb": "0.1.0-next.72"
92
+ "@takazudo/zfb": "0.1.0-next.74"
79
93
  },
80
94
  "scripts": {
81
95
  "build": "tsc",