Files
vercel__next.js/test/development/app-dir/server-navigation-error/server-navigation-error.test.ts
Jiwon Choi d7aa66c345 Remove generated error codes (#97687)
### Why?

Should come up with better solution that does not block PRs with git
conflict

x-ref:
https://vercel.slack.com/archives/C02CDC2ALJH/p1785263902728189?thread_ts=1785263687.502649&cid=C02CDC2ALJH

### How?

- Delete `errors.json`, the error-code SWC plugin, generated WASM, merge
driver, and validation/build tooling.
- Stop attaching error codes to server-rendering digests, redboxes, and
telemetry; native `Error.code` and `Error.name` remain available where
applicable.
- Remove the development-overlay error feedback UI, middleware, and
telemetry event that depended on stable codes.
- Update fixtures, snapshots, and guidance for code-free errors and
numeric-only digests.

<!-- NEXT_JS_LLM -->
2026-08-21 22:45:12 +02:00

86 lines
2.6 KiB
TypeScript

import { nextTestSetup } from 'e2e-utils'
describe('server-navigation-error', () => {
const { next } = nextTestSetup({
files: __dirname,
})
describe('pages router', () => {
it('should error on navigation API redirect', async () => {
const browser = await next.browser('/pages/redirect')
await expect(browser).toDisplayRedbox(`
{
"description": "Next.js navigation API is not allowed to be used in Pages Router.",
"environmentLabel": null,
"label": "Runtime Error",
"source": "pages/pages/redirect.tsx (4:11) @ Page
> 4 | redirect('/')
| ^",
"stack": [
"Page pages/pages/redirect.tsx (4:11)",
],
}
`)
})
it('should error on navigation API notFound', async () => {
const browser = await next.browser('/pages/not-found')
await expect(browser).toDisplayRedbox(`
{
"description": "Next.js navigation API is not allowed to be used in Pages Router.",
"environmentLabel": null,
"label": "Runtime Error",
"source": "pages/pages/not-found.tsx (4:11) @ Page
> 4 | notFound()
| ^",
"stack": [
"Page pages/pages/not-found.tsx (4:11)",
],
}
`)
})
})
describe('middleware', () => {
it('should error on navigation API redirect ', async () => {
const browser = await next.browser('/middleware/redirect')
// FIXME: the first request to middleware error load didn't show the redbox, need one more reload
await browser.refresh()
await expect(browser).toDisplayRedbox(`
{
"description": "Next.js navigation API is not allowed to be used in Middleware.",
"environmentLabel": null,
"label": "Runtime Error",
"source": "middleware.ts (8:13) @ middleware
> 8 | redirect('/')
| ^",
"stack": [
"middleware middleware.ts (8:13)",
],
}
`)
})
it('should error on navigation API not-found', async () => {
const browser = await next.browser('/middleware/not-found')
await expect(browser).toDisplayRedbox(`
{
"description": "Next.js navigation API is not allowed to be used in Middleware.",
"environmentLabel": null,
"label": "Runtime Error",
"source": "middleware.ts (6:13) @ middleware
> 6 | notFound()
| ^",
"stack": [
"middleware middleware.ts (6:13)",
],
}
`)
})
})
})