Skip to content

Store route manifest in-memory / virtual module (#91) - #112

Draft
nounder wants to merge 1 commit into
mainfrom
cursor/fix-91-manifest-memory-c215
Draft

Store route manifest in-memory / virtual module (#91)#112
nounder wants to merge 1 commit into
mainfrom
cursor/fix-91-manifest-memory-c215

Conversation

@nounder

@nounder nounder commented Aug 12, 2026

Copy link
Copy Markdown
Owner

Fixes #91

Summary

Agents keep editing generated route manifest files. In-memory scanning already worked for FileRouter.layer() without load; this makes that the documented default and adds a Bun virtual-module plugin for bundled deploys so no on-disk manifest is required.

Changes

  • New BunFileRouterPlugin serving virtual:effect-start/file-routes during Bun.build
  • Clarify FileRouter.layer docs: in-memory default; load/path opt-in for typed DevRoutes
  • Update README to lead with in-memory layer

Test plan

  • bun test test/bun/BunFileRouterPlugin.test.ts
Open in Web Open in Cursor 

…n docs

Adds BunFileRouterPlugin, a Bun plugin that serves the file-router
manifest (the same code FileRouterCodegen.generateCode produces) as a
virtual module during Bun.build, instead of writing a .server.ts /
routes.gen.ts file to disk. Bun's bundler statically resolves the
manifest's relative import() calls against the real routes directory
and inlines them, so a bundled deploy never needs an on-disk manifest
agents could mistake for source and edit.

FileRouter.layer() without load already builds the route map fully
in-memory (no file written) — this was correct on main but the README
still showcased the load/path + routes.gen.ts codegen flow as the
primary usage, which is exactly the kind of generated file agents keep
'fixing'. Updated the README and FileRouter.layer() docs to lead with
the in-memory default, and describe the load/path manifest as an
opt-in path for typed DevRoutes, pointing at BunFileRouterPlugin for
bundled builds.

Co-authored-by: Ralph Gutkowski <nounder@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Store route manifest in-memory

2 participants