Commit Graph
11 Commits
Author SHA1 Message Date
tbenandClaude Opus 5.5 33145bea9e 1.4.1: nested pages dirs, CommonJS require of react in client bundles
- Page URL paths are now relative to src/pages. The old greedy
  `.*/pages/` cut mapped src/pages/admin/pages/index.tsx to /index, so
  every page under a nested `pages` directory collided with the home page
  and was never bundled. SSR also tells API routes by URL path now.
- CommonJS `require("react…")` in client bundles (for example
  use-sync-external-store/shim, pulled in by MUI) threw "Dynamic require
  of "react" is not supported" in the browser. Those requires now go
  through a small bundled ESM module that imports the external.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-09 08:37:44 +01:00
tbenandClaude Opus 5.5 96e392f556 1.4.0: not_found, server-only response options, compression
- Server functions can return not_found: true to render the 404 page
  with status 404.
- Page components and window.__PAGE_PROPS__ (and HMR updates) only get
  props, query, url and error. response_options, redirect, cache settings
  and res_transform stay on the server, so cookies and private headers no
  longer end up in the HTML. BunextPageProps is narrowed to match
  (breaking for code that read server-only fields from component props).
- response_options headers go through a Headers object, so repeated
  headers such as several Set-Cookie survive.
- Redirects: status_code wins over permanent; response_options headers
  and res_transform apply to redirects too.
- Gzip for compressible text responses; compress: false to turn it off.
- Files the router matches but never bundles (.server.ts, __root,
  excluded paths and directories) return 404 instead of looping through
  dev rebuild retries.
- Missing public files return 404 rather than 403, so dotted page paths
  like /users/john.doe fall through to pages again.
- importFresh detects rewrites within the filesystem's mtime granularity.
- README: self-hosted React (not esm.sh), snake_case option names, static
  file serving, cache headers, the new options.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-09 04:14:56 +01:00
tbenandClaude Opus 5.5 4d4a79a6dd Push HMR updates before the SSR rebuild in dev
Client-only edits are sent to the browser right after the hydration build,
without re-running server functions; SSR rebuilds afterwards and props are
re-fetched only when a .server.ts output changed or after fullRebuild. Page
requests wait for an in-flight SSR rebuild. The SSR build no longer runs
Tailwind, the PostCSS processor is reused across rebuilds, and the watcher
debounce drops from 200ms to 50ms.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-05 07:32:33 +01:00
tben ed788dff97 Add SSR bundle minify config 2026-10-17 15:03:30 +01:00
tben 5dc783fe97 Fix memory leak in dev server 2026-10-16 14:25:18 +01:00
tben 8fa5b64b48 Fix build lags 2026-10-02 14:48:38 +01:00
tben 78e86b3999 Rename global variables 2026-08-03 12:01:40 +01:00
tben 84d490b189 Bugfix. Fix SSR pages filters. Remove dedicated API bundler, use SSR bundler for pages and api routes. 2026-04-12 06:48:10 +01:00
tben 814a289460 Fix API bundler. Use new esbuild context builder for it. 2026-04-11 12:06:53 +01:00
tben c4f7cf9164 Fix api route caching issue 2026-04-11 10:00:24 +01:00
tben 7fb1784b95 Bugfix: Refactor SSR bundler. Fix stale cache SSR modules. 2026-04-09 23:50:58 +01:00