alabjs 0.2.6 → 0.3.0-alpha.1

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 (57) hide show
  1. package/dist/analytics/handler.d.ts +5 -1
  2. package/dist/analytics/handler.d.ts.map +1 -1
  3. package/dist/analytics/handler.js +14 -10
  4. package/dist/analytics/handler.js.map +1 -1
  5. package/dist/cli.js +1 -1
  6. package/dist/cli.js.map +1 -1
  7. package/dist/client/hooks.d.ts +9 -1
  8. package/dist/client/hooks.d.ts.map +1 -1
  9. package/dist/client/hooks.js +26 -2
  10. package/dist/client/hooks.js.map +1 -1
  11. package/dist/commands/build.d.ts.map +1 -1
  12. package/dist/commands/build.js +163 -43
  13. package/dist/commands/build.js.map +1 -1
  14. package/dist/commands/start.js +1 -1
  15. package/dist/commands/start.js.map +1 -1
  16. package/dist/components/Image.d.ts +0 -12
  17. package/dist/components/Image.d.ts.map +1 -1
  18. package/dist/components/Image.js +2 -29
  19. package/dist/components/Image.js.map +1 -1
  20. package/dist/components/ImageServer.d.ts +20 -0
  21. package/dist/components/ImageServer.d.ts.map +1 -0
  22. package/dist/components/ImageServer.js +37 -0
  23. package/dist/components/ImageServer.js.map +1 -0
  24. package/dist/components/index.d.ts +1 -1
  25. package/dist/components/index.d.ts.map +1 -1
  26. package/dist/components/index.js +1 -1
  27. package/dist/components/index.js.map +1 -1
  28. package/dist/server/app.d.ts.map +1 -1
  29. package/dist/server/app.js +193 -43
  30. package/dist/server/app.js.map +1 -1
  31. package/dist/server/cache.d.ts.map +1 -1
  32. package/dist/server/cache.js +23 -1
  33. package/dist/server/cache.js.map +1 -1
  34. package/dist/server/csrf.d.ts.map +1 -1
  35. package/dist/server/csrf.js +5 -0
  36. package/dist/server/csrf.js.map +1 -1
  37. package/dist/ssr/html.d.ts.map +1 -1
  38. package/dist/ssr/html.js +15 -0
  39. package/dist/ssr/html.js.map +1 -1
  40. package/dist/ssr/ppr.d.ts.map +1 -1
  41. package/dist/ssr/ppr.js +2 -1
  42. package/dist/ssr/ppr.js.map +1 -1
  43. package/package.json +8 -3
  44. package/src/analytics/handler.ts +15 -10
  45. package/src/cli.ts +3 -1
  46. package/src/client/hooks.ts +30 -2
  47. package/src/commands/build.ts +182 -47
  48. package/src/commands/start.ts +1 -1
  49. package/src/components/Image.tsx +2 -35
  50. package/src/components/ImageServer.ts +43 -0
  51. package/src/components/index.ts +1 -1
  52. package/src/server/app.ts +210 -44
  53. package/src/server/cache.ts +23 -1
  54. package/src/server/csrf.ts +5 -0
  55. package/src/ssr/html.ts +15 -0
  56. package/src/ssr/ppr.ts +2 -1
  57. package/tsconfig.tsbuildinfo +1 -1
@@ -17,8 +17,12 @@ export declare function handleVitalsBeacon(req: IncomingMessage, res: ServerResp
17
17
  * GET /_alabjs/analytics
18
18
  *
19
19
  * Returns a JSON snapshot of all collected metrics.
20
- * Protected by Authorization: Bearer <ALAB_ANALYTICS_SECRET>.
20
+ * Always requires Authorization: Bearer <ALAB_ANALYTICS_SECRET>.
21
21
  * Falls back to ALAB_REVALIDATE_SECRET if ALAB_ANALYTICS_SECRET is unset.
22
+ *
23
+ * If neither env var is set the endpoint returns 401 — the endpoint is
24
+ * intentionally closed by default to prevent information leaks in production
25
+ * deployments that forget to set an analytics secret.
22
26
  */
23
27
  export declare function handleAnalyticsDashboard(req: IncomingMessage, res: ServerResponse): void;
24
28
  //# sourceMappingURL=handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/analytics/handler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAejE;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,IAAI,CAAC,CA6Cf;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,GAClB,IAAI,CAoBN"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/analytics/handler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAejE;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,IAAI,CAAC,CA6Cf;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,GAClB,IAAI,CAqBN"}
@@ -63,21 +63,25 @@ export async function handleVitalsBeacon(req, res) {
63
63
  * GET /_alabjs/analytics
64
64
  *
65
65
  * Returns a JSON snapshot of all collected metrics.
66
- * Protected by Authorization: Bearer <ALAB_ANALYTICS_SECRET>.
66
+ * Always requires Authorization: Bearer <ALAB_ANALYTICS_SECRET>.
67
67
  * Falls back to ALAB_REVALIDATE_SECRET if ALAB_ANALYTICS_SECRET is unset.
68
+ *
69
+ * If neither env var is set the endpoint returns 401 — the endpoint is
70
+ * intentionally closed by default to prevent information leaks in production
71
+ * deployments that forget to set an analytics secret.
68
72
  */
69
73
  export function handleAnalyticsDashboard(req, res) {
70
74
  const secret = process.env["ALAB_ANALYTICS_SECRET"] ??
71
75
  process.env["ALAB_REVALIDATE_SECRET"];
72
- if (secret) {
73
- const auth = req.headers["authorization"] ?? "";
74
- const token = auth.startsWith("Bearer ") ? auth.slice(7) : "";
75
- if (token !== secret) {
76
- res.statusCode = 401;
77
- res.setHeader("content-type", "application/json");
78
- res.end(JSON.stringify({ error: "Unauthorized. Set Authorization: Bearer <ALAB_ANALYTICS_SECRET>." }));
79
- return;
80
- }
76
+ const auth = req.headers["authorization"] ?? "";
77
+ const token = auth.startsWith("Bearer ") ? auth.slice(7) : "";
78
+ if (!secret || token !== secret) {
79
+ res.statusCode = 401;
80
+ res.setHeader("content-type", "application/json");
81
+ res.end(JSON.stringify({
82
+ error: "Unauthorized. Set ALAB_ANALYTICS_SECRET and pass Authorization: Bearer <secret>.",
83
+ }));
84
+ return;
81
85
  }
82
86
  res.statusCode = 200;
83
87
  res.setHeader("content-type", "application/json; charset=utf-8");
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/analytics/handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/analytics/handler.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -42,7 +42,7 @@ switch (command) {
42
42
  break;
43
43
  }
44
44
  case "start":
45
- await import("./commands/start.js").then((m) => m.start({ cwd }));
45
+ await import("./commands/start.js").then((m) => m.start({ cwd, port: Number(values["port"]) }));
46
46
  break;
47
47
  case "info":
48
48
  await import("./commands/info.js").then((m) => m.info({ cwd }));
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,13 @@
1
1
  import type { ServerFn, InferServerOutput, RouteParams, InferServerPath } from "../types/index.js";
2
- /** Clear the server-side promise cache between SSR renders. Called by alab's dev server. */
2
+ /**
3
+ * Clear the server-side promise cache between SSR renders.
4
+ *
5
+ * @internal — Called by Alab's dev and production SSR entry points before each
6
+ * `renderToPipeableStream` call. If you build a custom SSR integration, you
7
+ * MUST call this before rendering each page; failing to do so causes stale
8
+ * promises from a previous request to be returned by `useServerData`, resulting
9
+ * in wrong data being served to subsequent visitors.
10
+ */
3
11
  export declare function _clearALabSSRCache(): void;
4
12
  /**
5
13
  * Fetch server data with full type inference from a `ServerFn`.
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/client/hooks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAoBnG,4FAA4F;AAC5F,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAC7D,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GACvC,iBAAiB,CAAC,CAAC,CAAC,CAuBtB;AAiCD,MAAM,WAAW,kBAAkB,CAAC,MAAM,EAAE,KAAK;IAC/C;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/C,kEAAkE;IAClE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;CACtD;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAC3D,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;6CAG/D,CAAC,4BAkBI,IAAI;UAgDzB,uBAAS,SAAS;IACtC,4EAA4E;;;WAGtD,KAAK,GAAG,SAAS;IACvC,mFAAmF;;;;;;EAOtF;AAID,qFAAqF;AACrF,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE7D,MAAM,WAAW,aAAa;IAC5B,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,oDAAoD;IACpD,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,sFAAsF;IACtF,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC;IACpB,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,aAAa,CAAC;IAC1B,gDAAgD;IAChD,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,MAAM,CAAC,CAAC,GAAG,OAAO,EAChC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,aAAkB,GAC1B,YAAY,CAAC,CAAC,CAAC,CA4DjB"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/client/hooks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAoBnG;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAC7D,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GACvC,iBAAiB,CAAC,CAAC,CAAC,CAkCtB;AAiCD,MAAM,WAAW,kBAAkB,CAAC,MAAM,EAAE,KAAK;IAC/C;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/C,kEAAkE;IAClE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;CACtD;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAC3D,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;6CAG/D,CAAC,4BAkBI,IAAI;UAyDzB,uBAAS,SAAS;IACtC,4EAA4E;;;WAGtD,KAAK,GAAG,SAAS;IACvC,mFAAmF;;;;;;EAOtF;AAID,qFAAqF;AACrF,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE7D,MAAM,WAAW,aAAa;IAC5B,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,oDAAoD;IACpD,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,sFAAsF;IACtF,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC;IACpB,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,aAAa,CAAC;IAC1B,gDAAgD;IAChD,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,MAAM,CAAC,CAAC,GAAG,OAAO,EAChC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,aAAkB,GAC1B,YAAY,CAAC,CAAC,CAAC,CA4DjB"}
@@ -15,7 +15,15 @@ function _cacheSet(key, value) {
15
15
  }
16
16
  _promiseCache.set(key, value);
17
17
  }
18
- /** Clear the server-side promise cache between SSR renders. Called by alab's dev server. */
18
+ /**
19
+ * Clear the server-side promise cache between SSR renders.
20
+ *
21
+ * @internal — Called by Alab's dev and production SSR entry points before each
22
+ * `renderToPipeableStream` call. If you build a custom SSR integration, you
23
+ * MUST call this before rendering each page; failing to do so causes stale
24
+ * promises from a previous request to be returned by `useServerData`, resulting
25
+ * in wrong data being served to subsequent visitors.
26
+ */
19
27
  export function _clearALabSSRCache() {
20
28
  _promiseCache.clear();
21
29
  }
@@ -40,6 +48,14 @@ export function _clearALabSSRCache() {
40
48
  * ```
41
49
  */
42
50
  export function useServerData(fnName, params) {
51
+ // During PPR build-time pre-rendering there is no server running, so we
52
+ // must not make network calls. Return an empty array so the component can
53
+ // render its static shell; data-dependent children should be inside
54
+ // <Dynamic> which renders a placeholder hole in PPR mode anyway.
55
+ if (typeof process !== "undefined" &&
56
+ process.env["ALAB_PPR_PRERENDER"] === "1") {
57
+ return [];
58
+ }
43
59
  const searchParams = params
44
60
  ? new URLSearchParams(params).toString()
45
61
  : "";
@@ -106,9 +122,17 @@ export function useMutation(fnName, options) {
106
122
  startTransition(() => {
107
123
  void (async () => {
108
124
  try {
125
+ // Read the CSRF token from the cookie (set by the server on any SSR
126
+ // page response) and echo it as x-csrf-token for double-submit protection.
127
+ const csrfToken = typeof document !== "undefined"
128
+ ? document.cookie.match(/alab-csrf=([^;]+)/)?.[1] ?? ""
129
+ : "";
109
130
  const r = await fetch(`/_alabjs/fn/${fnName}`, {
110
131
  method: "POST",
111
- headers: { "content-type": "application/json" },
132
+ headers: {
133
+ "content-type": "application/json",
134
+ ...(csrfToken ? { "x-csrf-token": csrfToken } : {}),
135
+ },
112
136
  body: JSON.stringify(input),
113
137
  });
114
138
  // Zod validation error from server
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/client/hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/client/hooks.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AASA,UAAU,YAAY;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,6DAA6D;IAC7D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IACrB,yEAAyE;IACzE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAsED,wBAAsB,KAAK,CAAC,EAAE,GAAG,EAAE,aAAqB,EAAE,IAAY,EAAE,OAAe,EAAE,EAAE,YAAY,iBA+FtG"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAUA,UAAU,YAAY;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,6DAA6D;IAC7D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IACrB,yEAAyE;IACzE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAsED,wBAAsB,KAAK,CAAC,EAAE,GAAG,EAAE,aAAqB,EAAE,IAAY,EAAE,OAAe,EAAE,EAAE,YAAY,iBA4GtG"}
@@ -1,5 +1,6 @@
1
1
  import { build as viteBuild } from "vite";
2
- import { resolve } from "node:path";
2
+ import { resolve, relative, isAbsolute } from "node:path";
3
+ import { pathToFileURL } from "node:url";
3
4
  import { spawn, execSync } from "node:child_process";
4
5
  import { existsSync, writeFileSync, readFileSync, mkdirSync } from "node:fs";
5
6
  import { loadUserConfig } from "../config.js";
@@ -124,7 +125,10 @@ export async function build({ cwd, skipTypecheck = false, mode = "ssr", analyze
124
125
  ...(visualizerPlugin ? [visualizerPlugin] : []),
125
126
  ],
126
127
  build: {
127
- outDir: resolve(cwd, ".alabjs/dist"),
128
+ // Output client assets to .alabjs/dist/client/ so the production server's
129
+ // static handler (which serves from distDir/client/) can find them.
130
+ outDir: resolve(cwd, ".alabjs/dist/client"),
131
+ manifest: true,
128
132
  ssrManifest: true,
129
133
  rolldownOptions: {
130
134
  // In SSR mode, we don't use an index.html as the entry point.
@@ -139,9 +143,16 @@ export async function build({ cwd, skipTypecheck = false, mode = "ssr", analyze
139
143
  tasks.push(runTypecheck(cwd));
140
144
  }
141
145
  await Promise.all(tasks);
142
- // Write a stable build ID for skew protection (must run after Vite so the
143
- // route-manifest.json is in place for the content-hash fallback path).
144
146
  const distDir = resolve(cwd, ".alabjs/dist");
147
+ // Scan the app/ directory with the Rust router, normalize paths, and write
148
+ // route-manifest.json. Must run before writeBuildId (hash) and buildPPRShells.
149
+ const manifest = await buildRouteManifest(cwd, distDir);
150
+ // Compile all app pages, layouts, and server functions to .alabjs/dist/server/.
151
+ // Must run after buildRouteManifest so we have the entry list, and before
152
+ // buildPPRShells which imports the compiled modules.
153
+ await buildSsrBundle(cwd, distDir, manifest);
154
+ // Write a stable build ID for skew protection (must run after the route
155
+ // manifest is in place for the content-hash fallback path).
145
156
  await writeBuildId(distDir, cwd);
146
157
  await buildPPRShells(distDir, cwd);
147
158
  // Bundle the offline service worker as a separate iife chunk.
@@ -206,46 +217,58 @@ async function buildPPRShells(distDir, cwd) {
206
217
  const pageRoutes = manifest.routes.filter((r) => r.kind === "page");
207
218
  const pprCacheDir = resolve(cwd, PPR_CACHE_SUBDIR);
208
219
  let count = 0;
209
- for (const route of pageRoutes) {
210
- const modulePath = resolve(distDir, "server", route.file);
211
- if (!existsSync(modulePath))
212
- continue;
213
- // Dynamic import module is compiled ESM, importable by Node directly.
214
- const mod = await import(modulePath);
215
- if (mod.ppr !== true)
216
- continue;
217
- if (typeof mod.default !== "function") {
218
- console.warn(` alab ppr: ${route.file} has no default export skipping.`);
219
- continue;
220
- }
221
- // Load layout modules (outermost → innermost).
222
- const layoutPaths = findBuildLayoutFiles(route.file, distDir);
223
- const layoutMods = await Promise.all(layoutPaths.map((p) => import(resolve(distDir, "server", p))));
224
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
225
- const layouts = layoutMods.map((m) => m.default).filter((c) => typeof c === "function");
226
- try {
227
- await preRenderPPRShell({
228
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
229
- Page: mod.default,
230
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
231
- layouts: layouts,
232
- shellOpts: {
233
- metadata: mod.metadata ?? {},
234
- paramsJson: "{}",
235
- searchParamsJson: "{}",
236
- routeFile: route.file,
237
- ssr: true,
238
- },
239
- pprCacheDir,
240
- routePath: route.path,
241
- });
242
- count++;
243
- }
244
- catch (err) {
245
- const msg = err instanceof Error ? err.message : String(err);
246
- console.warn(` alab ppr: failed to pre-render ${route.path}: ${msg}`);
220
+ // Signal to useServerData that it must not make network calls — return
221
+ // empty placeholders instead so components can render their static shell.
222
+ process.env["ALAB_PPR_PRERENDER"] = "1";
223
+ try {
224
+ for (const route of pageRoutes) {
225
+ // esbuild compiles .tsx/.ts → .js; use the compiled path.
226
+ const modulePath = resolve(distDir, "server", route.file.replace(/\.(tsx?)$/, ".js"));
227
+ if (!existsSync(modulePath))
228
+ continue;
229
+ // Dynamic import on Windows absolute paths need a file:// URL.
230
+ const mod = await import(pathToFileURL(modulePath).href);
231
+ if (mod.ppr !== true)
232
+ continue;
233
+ if (typeof mod.default !== "function") {
234
+ console.warn(` alab ppr: ${route.file} has no default export skipping.`);
235
+ continue;
236
+ }
237
+ // Load layout modules (outermost → innermost).
238
+ const layoutPaths = findBuildLayoutFiles(route.file, distDir);
239
+ const layoutMods = await Promise.all(layoutPaths.map((p) => import(pathToFileURL(resolve(distDir, "server", p)).href)));
240
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
241
+ const layouts = layoutMods.map((m) => m.default).filter((c) => typeof c === "function");
242
+ try {
243
+ await preRenderPPRShell({
244
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
245
+ Page: mod.default,
246
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
247
+ layouts: layouts,
248
+ shellOpts: {
249
+ metadata: mod.metadata ?? {},
250
+ paramsJson: "{}",
251
+ searchParamsJson: "{}",
252
+ routeFile: route.file,
253
+ // PPR shells are static snapshots — client mounts via CSR (createRoot)
254
+ // rather than hydration to avoid mismatches with the pre-rendered HTML.
255
+ ssr: false,
256
+ layoutsJson: JSON.stringify(layoutPaths.map(p => p.replace(/\.js$/, ".tsx"))),
257
+ },
258
+ pprCacheDir,
259
+ routePath: route.path,
260
+ });
261
+ count++;
262
+ }
263
+ catch (err) {
264
+ const msg = err instanceof Error ? err.message : String(err);
265
+ console.warn(` alab ppr: failed to pre-render ${route.path}: ${msg}`);
266
+ }
247
267
  }
248
268
  }
269
+ finally {
270
+ delete process.env["ALAB_PPR_PRERENDER"];
271
+ }
249
272
  if (count > 0) {
250
273
  console.log(` alab ppr → ${count} shell${count === 1 ? "" : "s"} written to ${PPR_CACHE_SUBDIR}`);
251
274
  }
@@ -363,6 +386,100 @@ async function buildFederationExposes(cwd, distClientAlab, appName, exposes, sha
363
386
  };
364
387
  writeFileSync(resolve(distClientAlab, "federation-manifest.json"), JSON.stringify(manifest, null, 2), "utf8");
365
388
  }
389
+ /**
390
+ * Scan `app/` with the Rust router napi, normalize absolute file paths to
391
+ * cwd-relative, and write `route-manifest.json` to `distDir`.
392
+ *
393
+ * Returns the in-memory manifest so callers can use it immediately without
394
+ * reading the file back from disk.
395
+ */
396
+ async function buildRouteManifest(cwd, distDir) {
397
+ const appDir = resolve(cwd, "app");
398
+ let manifest = { routes: [] };
399
+ try {
400
+ const mod = await import("@alabjs/compiler");
401
+ const napi = (mod.default ?? mod);
402
+ const json = napi.buildRoutes(appDir);
403
+ manifest = JSON.parse(json);
404
+ // The Rust scanner stores absolute paths; normalize to cwd-relative so the
405
+ // production server can construct `distDir/server/<file>` paths correctly.
406
+ for (const route of manifest.routes) {
407
+ if (isAbsolute(route.file)) {
408
+ route.file = relative(cwd, route.file);
409
+ }
410
+ }
411
+ }
412
+ catch {
413
+ console.warn(" alab warning: Rust compiler unavailable — route manifest will be empty.\n" +
414
+ " Run `cargo build --release -p alab-napi && bash scripts/copy-napi-binary.sh`.");
415
+ }
416
+ mkdirSync(distDir, { recursive: true });
417
+ writeFileSync(resolve(distDir, "route-manifest.json"), JSON.stringify(manifest, null, 2), "utf8");
418
+ const pages = manifest.routes.filter((r) => r.kind === "page").length;
419
+ const apis = manifest.routes.filter((r) => r.kind === "api").length;
420
+ console.log(` alab routes → ${pages} page(s), ${apis} api route(s)`);
421
+ return manifest;
422
+ }
423
+ /**
424
+ * Compile all SSR route files to `distDir/server/` using esbuild's per-file
425
+ * transpilation mode.
426
+ *
427
+ * We use esbuild directly (bundled with Vite) rather than a second viteBuild
428
+ * call because:
429
+ * 1. Preserves directory structure via `outbase` without needing
430
+ * `preserveModules` (which hangs with some Rolldown versions).
431
+ * 2. `packages: "external"` externalizes all npm specifiers while inlining
432
+ * local relative imports — avoids Node ESM extensionless-import failures.
433
+ * 3. Much faster: no second Vite startup overhead.
434
+ */
435
+ async function buildSsrBundle(cwd, distDir, manifest) {
436
+ const entryFiles = manifest.routes.map((r) => resolve(cwd, r.file));
437
+ // Include top-level middleware.ts if present.
438
+ const middlewarePath = resolve(cwd, "middleware.ts");
439
+ if (existsSync(middlewarePath))
440
+ entryFiles.push(middlewarePath);
441
+ if (entryFiles.length === 0)
442
+ return;
443
+ // Build the import.meta.env replacement object for esbuild.
444
+ // Node.js never defines import.meta.env (it's a Vite-only concept), so if
445
+ // we leave it undefined the compiled server modules throw at runtime on any
446
+ // reference to import.meta.env.*. We mirror exactly what Vite inlines for
447
+ // the client build: standard constants + ALAB_PUBLIC_* / VITE_* vars.
448
+ const publicEnv = {};
449
+ for (const [key, val] of Object.entries(process.env)) {
450
+ if (key.startsWith("ALAB_PUBLIC_") || key.startsWith("VITE_")) {
451
+ publicEnv[key] = val ?? "";
452
+ }
453
+ }
454
+ const metaEnv = {
455
+ PROD: true,
456
+ DEV: false,
457
+ SSR: true,
458
+ MODE: "production",
459
+ BASE_URL: "/",
460
+ ...publicEnv,
461
+ };
462
+ const { build: esbuild } = await import("esbuild");
463
+ await esbuild({
464
+ entryPoints: entryFiles,
465
+ outbase: cwd, // preserve directory structure: app/page.tsx → server/app/page.js
466
+ outdir: resolve(distDir, "server"),
467
+ format: "esm",
468
+ platform: "node",
469
+ target: "node22",
470
+ bundle: true, // bundle local imports (resolves extensionless paths)
471
+ packages: "external", // keep all npm specifiers (react, alabjs/*…) as-is
472
+ jsx: "automatic",
473
+ jsxImportSource: "react",
474
+ logLevel: "warning",
475
+ define: {
476
+ // Replace the entire import.meta.env expression so property accesses,
477
+ // destructuring, and optional-chaining all resolve correctly at runtime.
478
+ "import.meta.env": JSON.stringify(metaEnv),
479
+ },
480
+ });
481
+ console.log(" alab SSR bundle → .alabjs/dist/server");
482
+ }
366
483
  /** Compile the offline service worker to a standalone iife bundle. */
367
484
  async function buildOfflineSw(cwd) {
368
485
  const swEntry = new URL("../client/offline-sw.js", import.meta.url).pathname;
@@ -381,7 +498,10 @@ async function buildOfflineSw(cwd) {
381
498
  fileName: () => "offline-sw.js",
382
499
  },
383
500
  minify: true,
384
- rolldownOptions: { output: { inlineDynamicImports: true } },
501
+ // Note: do NOT set rolldownOptions.output.inlineDynamicImports here.
502
+ // iife format sets codeSplitting:false which already implies
503
+ // inlineDynamicImports:true in Rolldown. Setting it explicitly
504
+ // produces a warning that can cause the build to stall in Rolldown/Vite 8+.
385
505
  },
386
506
  });
387
507
  }
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { resolve } from "node:path";
2
2
  import { createApp } from "../server/app.js";
3
3
  export async function start({ cwd, port = 3000 }) {
4
- const manifestPath = resolve(cwd, ".alabjs/route-manifest.json");
4
+ const manifestPath = resolve(cwd, ".alabjs/dist/route-manifest.json");
5
5
  let manifest;
6
6
  try {
7
7
  const { readFileSync } = await import("node:fs");
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAQ7C,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,EAAE,GAAG,EAAE,IAAI,GAAG,IAAI,EAAgB;IAC5D,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,6BAA6B,CAAC,CAAC;IAEjE,IAAI,QAAuB,CAAC;IAC5B,IAAI,CAAC;QACH,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;QACjD,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAkB,CAAC;IAC7E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,GAAI,GAA6B,CAAC,IAAI,CAAC;QACjD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,OAAO,CAAC,KAAK,CAAC,0CAA0C,GAAG,EAAE,CAAC,CAAC;YAC/D,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACzC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAQ7C,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,EAAE,GAAG,EAAE,IAAI,GAAG,IAAI,EAAgB;IAC5D,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,kCAAkC,CAAC,CAAC;IAEtE,IAAI,QAAuB,CAAC;IAC5B,IAAI,CAAC;QACH,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;QACjD,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAkB,CAAC;IAC7E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,GAAI,GAA6B,CAAC,IAAI,CAAC;QACjD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,OAAO,CAAC,KAAK,CAAC,0CAA0C,GAAG,EAAE,CAAC,CAAC;YAC/D,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACzC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACnB,CAAC"}
@@ -59,16 +59,4 @@ export declare function Image({ src, alt, width, height, sizes, priority, classN
59
59
  className: string | undefined;
60
60
  style: Record<string, string>;
61
61
  }, HTMLElement>;
62
- /**
63
- * Generate a Base64 blur-up placeholder for an image in `public/`.
64
- *
65
- * Calls the Rust napi binding to resize the image to 8px wide and encode it
66
- * as a tiny WebP, then Base64-encodes it into a data URL ready for `blurDataURL`.
67
- *
68
- * Run this in a server function — it reads from disk and must not run in the browser.
69
- *
70
- * @param src - Path relative to `public/` (e.g. `"/hero.jpg"`)
71
- * @param publicDir - Absolute path to the `public/` directory
72
- */
73
- export declare function generateBlurPlaceholder(src: string, publicDir: string): Promise<string>;
74
62
  //# sourceMappingURL=Image.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Image.d.ts","sourceRoot":"","sources":["../../src/components/Image.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,UAAU;IACzB,8DAA8D;IAC9D,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAKD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,KAAK,CAAC,EACpB,GAAG,EACH,GAAG,EACH,KAAK,EACL,MAAM,EACN,KAAK,EACL,QAAgB,EAChB,SAAS,EACT,OAAY,EACZ,WAAW,GACZ,EAAE,UAAU;;;;;;;;;;;;gBAwCZ;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CAoBjB"}
1
+ {"version":3,"file":"Image.d.ts","sourceRoot":"","sources":["../../src/components/Image.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,UAAU;IACzB,8DAA8D;IAC9D,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAKD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,KAAK,CAAC,EACpB,GAAG,EACH,GAAG,EACH,KAAK,EACL,MAAM,EACN,KAAK,EACL,QAAgB,EAChB,SAAS,EACT,OAAY,EACZ,WAAW,GACZ,EAAE,UAAU;;;;;;;;;;;;gBAwCZ"}
@@ -53,33 +53,6 @@ export function Image({ src, alt, width, height, sizes, priority = false, classN
53
53
  style,
54
54
  });
55
55
  }
56
- /**
57
- * Generate a Base64 blur-up placeholder for an image in `public/`.
58
- *
59
- * Calls the Rust napi binding to resize the image to 8px wide and encode it
60
- * as a tiny WebP, then Base64-encodes it into a data URL ready for `blurDataURL`.
61
- *
62
- * Run this in a server function — it reads from disk and must not run in the browser.
63
- *
64
- * @param src - Path relative to `public/` (e.g. `"/hero.jpg"`)
65
- * @param publicDir - Absolute path to the `public/` directory
66
- */
67
- export async function generateBlurPlaceholder(src, publicDir) {
68
- const { readFile } = await import("node:fs/promises");
69
- const { resolve } = await import("node:path");
70
- const safeSrc = src.replace(/\.\./g, "").replace(/^\/+/, "");
71
- const filePath = resolve(publicDir, safeSrc);
72
- const input = await readFile(filePath);
73
- let napi;
74
- try {
75
- napi = (await import("@alabjs/compiler"));
76
- }
77
- catch {
78
- // napi not built — return empty string (image still loads, just no blur effect)
79
- return "";
80
- }
81
- const tiny = await napi.optimizeImage(input, 40, 8, null, "webp");
82
- const b64 = Buffer.from(tiny).toString("base64");
83
- return `data:image/webp;base64,${b64}`;
84
- }
56
+ // generateBlurPlaceholder is server-only (uses node:fs/promises).
57
+ // Import it from "alabjs/components/server" in your server functions.
85
58
  //# sourceMappingURL=Image.js.map