feat(routing): discover static HTTP and Nuxt routes - #1737
Open
bompus wants to merge 1 commit into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Literal routes in several JavaScript HTTP frameworks currently lack accurate endpoint and handler links. Add discovery for Hono, Elysia, Fastify, Hyper-Express, Koa routers, H3, Bun, Effect v4 and option-free Vixeny builders, including references to named handlers and calls from inline handlers. Correct Nuxt 4 default page groups and server route method suffixes.
For example,
app.get('/users', listUsers)on an imported Hono instance produces aGET /usersendpoint linked tolistUsers. Recognition follows verified imports and supported immutable bindings; unrelated.get()calls, shadowed bindings and computed paths do not become routes. Cross-file mounts and custom Nuxt routing conventions remain unsupported.The import-aware HTTP extractor is the main review starting point. Express duplicate suppression and Nuxt's default filename handling are included alongside the coverage documentation and regression tests. No dependencies or schema changes are introduced.
Validation on this branch, based on upstream
b9ca4b7: TypeScript compilation and the full build passed; 116 tests passed across HTTP routing, Nuxt routing, Next.js and Vue Router. Validation ran on Windows with the native kernel built from upstream source. This branch's standalone full test suite has not been run; these results do not claim a green full suite or cross-platform validation.Planned follow-up contributions
We have 13 additional routing contributions prepared in our fork and plan to submit them incrementally, rebasing and validating each for upstream review. The links below are fork PRs, not submitted upstream PRs. They provide visibility into the work available; this PR can be reviewed on its own, and no review of the entire stack is requested here.
The prepared branches are currently stacked. That branch order does not establish that every feature technically depends on this PR; independent changes can be separated where practical. Feedback on preferred scope or submission order is welcome.
Prepared follow-ups (13 fork PRs)
Waku programmatic support also requires the import-resolution fix proposed in #1706.