mirror of
https://github.com/cloudflare/vinext.git
synced 2026-05-09 08:25:34 +02:00
[PR #170] [CLOSED] feat: add nuqs e2e test suite integration with dual-router fix #366
Labels
No labels
enhancement
enhancement
good first issue
help wanted
nextjs-tracking
nextjs-tracking
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/vinext#366
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/cloudflare/vinext/pull/170
Author: @southpolesteve
Created: 2/27/2026
Status: ❌ Closed
Base:
main← Head:feat/nuqs-e2e-clean📝 Commits (3)
71bc3f4feat: add nuqs e2e test suite integration164f544fix: support dual app + pages router in dev server, include pages router in nuqs e2ec07a31etest: add dual-router regression test for app + pages coexistence📊 Changes
11 files changed (+396 additions, -3 deletions)
View changed files
➕
.github/workflows/nuqs-e2e.yml(+125 -0)📝
package.json(+2 -1)📝
packages/vinext/src/index.ts(+9 -2)📝
pnpm-lock.yaml(+21 -0)➕
scripts/nuqs-e2e.sh(+151 -0)➕
tests/dual-router.test.ts(+51 -0)➕
tests/fixtures/dual-router/app/app-only/page.tsx(+3 -0)➕
tests/fixtures/dual-router/app/layout.tsx(+15 -0)➕
tests/fixtures/dual-router/app/page.tsx(+3 -0)➕
tests/fixtures/dual-router/package.json(+13 -0)➕
tests/fixtures/dual-router/pages/pages-only.tsx(+3 -0)📄 Description
Summary
Inspired by @nuqs47ng's tweet showing 73% of their e2e tests passing on vinext.
What it does
nuqs e2e test integration:
scripts/nuqs-e2e.sh: Clones the nuqs repo, patches its Next.js e2e test app to use vinext (createsvite.config.ts, replacesplaywright.config.ts), installs vinext dependencies, and runs their Playwright tests.github/workflows/nuqs-e2e.yml: CI workflow that runs the nuqs e2e suite on push to main, PRs, and daily. Usescontinue-on-error: truesince not all tests pass yetpackage.json: Addstest:nuqs-e2escriptDual-router fix (
packages/vinext/src/index.ts):When both
app/andpages/directories exist, the Pages Router dev middleware now falls through tonext()(letting the RSC plugin handle the request) when:Previously, these cases returned 404 directly, blocking the App Router from serving its routes.
Test results
All existing vinext tests pass (414 shim, 213 feature, 159 app-router, 86 pages-router). Typecheck and lint clean. The dual-router fix was verified by running the nuqs e2e app with both
src/app/andsrc/pages/directories present, confirming both routers serve their respective pages correctly.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.