[nextjs-tracker] Detect proxy and middleware convention files with compound pageExtensions
Author: ask-bonk[bot]Created Sep 15, 2026Updated Sep 15, 2026
Labelsnextjs-tracking
Next.js Change
What changed
Next.js now derives convention-file names from the segment before the first dot. With a compound pageExtensions value such as page.ts, this recognizes proxy.page.ts, middleware.page.ts, and instrumentation.page.ts; extracting only the final extension instead incorrectly produces proxy.page.
Impact on vinext
vinext scans convention files for middleware/proxy and instrumentation. It must apply the same compound-extension convention during discovery so applications that use pageExtensions: ["page.ts"] execute proxy.page.ts or middleware.page.ts rather than silently ignoring it.
Acceptance criteria
- Detect
proxy.<compound-extension>andmiddleware.<compound-extension>at the project convention level. - Detect
instrumentation.<compound-extension>with the same convention. - Preserve normal convention files and mixed compound/simple
pageExtensionsconfigurations. - Preserve the error when both proxy and middleware convention files are present.
- Add development and production coverage proving each recognized convention executes.
References
- https://github.com/vercel/next.js/commit/000390a8fc0e0292597a2e6a8d98a9391a69b882
- Upstream coverage:
test/e2e/app-dir/proxy-page-extensions/,test/e2e/app-dir/middleware-page-extensions/
Source: cloudflare/vinext