Skip to content

dogfood: run the 3 content apps (website, docs, ui-website) on the Bun runtime #522

Description

@vivek7405

Problem

The three content apps in the monorepo (website, docs, packages/ui/packages/website) are pure SSR with NO database and NO Prisma. The framework already runs natively on Bun (the CI Bun matrix + listener parity prove it: native Bun.serve shell, ~1.9x req/s on the listening path, ~2.3x SSR vs Node, benchmarked while building #511/#517), and dev hot-reload on Bun now works (#514). So these three apps are the low-risk first movers to actually RUN webjs on Bun in our own deployments.

Design / approach

For each of the three apps, enable the Bun runtime for both dev and prod:

  • Dev: bun --bun run dev (relies on dogfood: link the workspace under Bun so monorepo apps resolve local @webjsdev/* + Prisma #521 so it resolves the local workspace framework).
  • Prod: a Bun deploy image + bun --bun run start. The existing Railway healthcheck wiring (/__webjs/ready via healthcheckPath) is unchanged.
  • Verify each boots, serves its key routes (status < 400), and emits no broken modulepreload hints under Bun (the standard four-app boot-check, run under Bun).
  • Keep Node working too; Bun is the selected runtime, not a hard cutover of the toolchain.

Depends on #521 (workspace linking under Bun). Sibling of the blog migration (the Prisma one), tracked separately because Prisma adds its own Bun risk.

Acceptance criteria

  • website, docs, ui-website each boot and serve their key routes under Bun (bun --bun run start), no broken modulepreloads.
  • bun --bun run dev hot-reloads a source edit for each (smoke check).
  • Railway deploy config updated to the Bun runtime for the deployed content services, healthcheck still green.
  • Docs updated (deployment / framework-dev) to note these apps run on Bun.
  • Depends on dogfood: link the workspace under Bun so monorepo apps resolve local @webjsdev/* + Prisma #521.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

  • Status
    Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions