Skip to content

Add file-system pages router plugin - #8

Merged
JoviDeCroock merged 3 commits into
mainfrom
JoviDeCroock/pages-router
Apr 7, 2026
Merged

Add file-system pages router plugin#8
JoviDeCroock merged 3 commits into
mainfrom
JoviDeCroock/pages-router

Conversation

@JoviDeCroock

Copy link
Copy Markdown
Owner

Summary

  • Adds an optional pagesDir plugin option to @viact/vite-plugin that auto-discovers routes by scanning a pages/ directory, following Next.js pages router conventions ([slug]:slug, [...path]*, _app.tsx → shell)
  • Pages can export RENDER_MODE ("ssr" | "ssg" | "isg" | "spa") to control per-route rendering; default is configurable via pagesDefaultRender
  • HMR: file edits invalidate virtual modules; file add/remove restarts the dev server for route re-discovery
  • Includes examples/pages-router/ example app, 10 new E2E tests (all passing alongside existing 24), docs in ROUTING.md, and updated migrate-nextjs skill with a "Fast Path" for pages router migrations
  • Exposes generateRoutesFile via @viact/vite-plugin/pages-router subpath for ejecting to an explicit manifest

Test plan

  • pnpm typecheck passes
  • All 34 E2E tests pass (24 basic + 10 pages-router)
  • Dev server serves all pages-router routes correctly (home, about, blog/[slug])
  • Verify adding a new .tsx file to pages/ during dev triggers route discovery
  • Verify pnpm build succeeds with pages-based routing

🤖 Generated with Claude Code

JoviDeCroock and others added 2 commits April 7, 2026 23:58
Adds an optional `pagesDir` plugin option that scans a pages/ directory
and generates the route manifest automatically, following Next.js pages
router conventions. Includes scanner, manifest generator, per-route
RENDER_MODE export support, _app.tsx shell detection, HMR watcher,
example app, E2E tests, docs, and migrate-nextjs skill update.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@JoviDeCroock
JoviDeCroock force-pushed the JoviDeCroock/pages-router branch from 0a7e09a to 2540e2c Compare April 7, 2026 21:58
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@JoviDeCroock
JoviDeCroock merged commit eabf9da into main Apr 7, 2026
1 check passed
@JoviDeCroock
JoviDeCroock deleted the JoviDeCroock/pages-router branch April 8, 2026 00:36
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.

1 participant