Skip to content

test: replace deprecated check() with retry() in test suites #80672

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 1 commit into
base: canary
Choose a base branch
from

Conversation

wyattjoh
Copy link
Member

No description provided.

@ijjk ijjk added created-by: Next.js team PRs by the Next.js team. tests labels Jun 19, 2025
Copy link
Member Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@ijjk
Copy link
Member

ijjk commented Jun 19, 2025

Failing test suites

Commit: ad5bf3b

__NEXT_EXPERIMENTAL_PPR=true pnpm test-dev test/e2e/app-dir/actions/app-action-node-middleware.test.ts (PPR)

  • app-dir action handling > fetch actions > should handle redirects to routes that provide an invalid RSC response
Expand output

● app-dir action handling › fetch actions › should handle redirects to routes that provide an invalid RSC response

expect(received).toContain(expected) // indexOf

Expected substring: "Hello from a pages route"
Received string:    "0.018432134760472785
Client
Server
Client and Server
0
+1+1 (Slow)-1*2
redirect to a pages route
submit
test"

  1320 |
  1321 |       await retry(async () => {
> 1322 |         expect(await browser.elementByCss('body').text()).toContain(
       |                                                           ^
  1323 |           'Hello from a pages route'
  1324 |         )
  1325 |         expect(await browser.url()).toBe(`${next.url}/pages-dir`)

  at toContain (e2e/app-dir/actions/app-action.test.ts:1322:59)
  at retry (lib/next-test-utils.ts:768:14)
  at Object.<anonymous> (e2e/app-dir/actions/app-action.test.ts:1321:7)

Read more about building and testing Next.js in contributing.md.

__NEXT_EXPERIMENTAL_PPR=true pnpm test-dev test/e2e/app-dir/actions/app-action.test.ts (PPR)

  • app-dir action handling > fetch actions > should handle redirects to routes that provide an invalid RSC response
Expand output

● app-dir action handling › fetch actions › should handle redirects to routes that provide an invalid RSC response

expect(received).toContain(expected) // indexOf

Expected substring: "Hello from a pages route"
Received string:    "0.16523524324824046
Client
Server
Client and Server
0
+1+1 (Slow)-1*2
redirect to a pages route
submit
test"

  1320 |
  1321 |       await retry(async () => {
> 1322 |         expect(await browser.elementByCss('body').text()).toContain(
       |                                                           ^
  1323 |           'Hello from a pages route'
  1324 |         )
  1325 |         expect(await browser.url()).toBe(`${next.url}/pages-dir`)

  at toContain (e2e/app-dir/actions/app-action.test.ts:1322:59)
  at retry (lib/next-test-utils.ts:768:14)
  at Object.<anonymous> (e2e/app-dir/actions/app-action.test.ts:1321:7)

Read more about building and testing Next.js in contributing.md.

pnpm test-dev test/e2e/prerender.test.ts

  • Prerender > should navigate between pages successfully
  • Prerender > should SSR normal page correctly
  • Prerender > should SSR incremental page correctly
  • Prerender > should SSR blocking path correctly (blocking)
  • Prerender > should SSR blocking path correctly (pre-rendered)
  • Prerender > should have gsp in NEXT_DATA
  • Prerender > should not supply query values to params or useRouter non-dynamic page SSR
  • Prerender > should not supply query values to params in /_next/data request
  • Prerender > should not supply query values to params or useRouter dynamic page SSR
  • Prerender > should return data correctly
  • Prerender > should return data correctly for dynamic page
  • Prerender > should return data correctly for dynamic page (non-seeded)
  • Prerender > should navigate to a normal page and back
  • Prerender > should parse query values on mount correctly
  • Prerender > should reload page on failed data request
  • Prerender > should SSR dynamic page with brackets in param as object
  • Prerender > should navigate to dynamic page with brackets in param as object
  • Prerender > should SSR dynamic page with brackets in param as string
  • Prerender > should navigate to dynamic page with brackets in param as string
  • Prerender > should not return data for fallback: false and missing dynamic page
  • Prerender > should server prerendered path correctly for SSG pages that starts with api-docs
  • Prerender > should render correctly for SSG pages that starts with api-docs
  • Prerender > should return data correctly for SSG pages that starts with api-docs
  • Prerender > should SSR catch-all page with brackets in param as string
  • Prerender > should navigate to catch-all page with brackets in param as string
  • Prerender > should SSR catch-all page with brackets in param as object
  • Prerender > should navigate to catch-all page with brackets in param as object
  • Prerender > should support prerendered catchall route
  • Prerender > should support lazy catchall route
  • Prerender > should support nested lazy catchall route
  • Prerender > should support prerendered catchall-explicit route (nested)
  • Prerender > should support prerendered catchall-explicit route (single)
  • Prerender > should handle fallback only page correctly HTML
  • Prerender > should handle fallback only page correctly data
  • Prerender > should 404 for a missing catchall explicit route
  • Prerender > should 404 for an invalid data url
  • Prerender > should allow rewriting to SSG page with fallback: false
  • Prerender > should allow rewriting to SSG page with fallback: 'blocking'
  • Prerender > should fetch /_next/data correctly with mismatched href and as
  • Prerender > should not error when rewriting to fallback dynamic SSG page
  • Prerender > should show warning when large amount of page data is returned
  • Prerender > should show warning every time page with large amount of page data is returned
  • Prerender > should not show warning from url prop being returned
  • Prerender > should always show fallback for page not in getStaticPaths
  • Prerender > should always call getStaticProps without caching in dev
  • Prerender > should error on bad object from getStaticProps
  • Prerender > should error on dynamic page without getStaticPaths
  • Prerender > should error on dynamic page without getStaticPaths returning fallback property
  • Prerender > should not re-call getStaticProps when updating query
  • Prerender > should show fallback before invalid JSON is returned from getStaticProps
  • Prerender > should show error for invalid JSON returned from getStaticProps on SSR
  • Prerender > should show error for invalid JSON returned from getStaticProps on CST
  • Prerender > should respond for catch-all deep folder
Expand output

● Prerender › should navigate between pages successfully

expect(received).toMatch(expected)

Expected pattern: /hello.*?world/
Received string:  ""

  380 |       const browser = await webdriver(next.url, '/')
  381 |       let text = await browser.elementByCss('p').text()
> 382 |       expect(text).toMatch(/hello.*?world/)
      |                    ^
  383 |
  384 |       // go to /another
  385 |       async function goFromHomeToAnother() {

  at Object.toMatch (e2e/prerender.test.ts:382:20)

● Prerender › should SSR normal page correctly

expect(received).toMatch(expected)

Expected pattern: /hello.*?world/
Received string:  "<!DOCTYPE html><html><head><meta charSet=\"utf-8\" data-next-head=\"\"/><meta name=\"viewport\" content=\"width=device-width\" data-next-head=\"\"/><style data-next-hide-fouc=\"true\">body{display:none}</style><noscript data-next-hide-fouc=\"true\"><style>body{display:block}</style></noscript><noscript data-n-css=\"\"></noscript><script defer=\"\" noModule=\"\" src=\"/_next/static/chunks/polyfills.js\"></script><script src=\"/_next/static/chunks/fallback/webpack.js\" defer=\"\"></script><script src=\"/_next/static/chunks/fallback/main.js\" defer=\"\"></script><script src=\"/_next/static/chunks/fallback/pages/_app.js\" defer=\"\"></script><script src=\"/_next/static/chunks/fallback/pages/_error.js\" defer=\"\"></script><noscript id=\"__next_css__DO_NOT_USE__\"></noscript></head><body><div id=\"__next\"></div><script src=\"/_next/static/chunks/fallback/react-refresh.js\"></script><script id=\"__NEXT_DATA__\" type=\"application/json\">{\"props\":{\"pageProps\":{\"statusCode\":500,\"hostname\":\"localhost\"}},\"page\":\"/_error\",\"query\":{},\"buildId\":\"development\",\"isFallback\":false,\"err\":{\"name\":\"SyntaxError\",\"source\":\"server\",\"message\":\"Unexpected non-whitespace character after JSON at position 444\",\"stack\":\"SyntaxError: Unexpected non-whitespace character after JSON at position 444\\n    at JSON.parse (\\u003canonymous\\u003e)\\n    at loadManifest (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/load-manifest.external.js:43:25)\\n    at loadManifestFromRelativePath (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/load-manifest.external.js:84:16)\\n    at PagesRouteModule.loadManifests (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/compiled/next-server/pages.runtime.dev.js:1:134920)\\n    at PagesRouteModule.prepare (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/compiled/next-server/pages.runtime.dev.js:1:142472)\\n    at async handler (webpack-internal:///(pages-dir-node)/./node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES\\u0026page=%2F_error\\u0026preferredRegion=\\u0026absolutePagePath=private-next-pages%2F_error\\u0026absoluteAppPath=private-next-pages%2F_app\\u0026absoluteDocumentPath=private-next-pages%2F_document\\u0026middlewareConfigBase64=e30%3D!:143:27)\\n    at async doRender (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:1589:34)\\n    at async DevServer.renderToResponseWithComponentsImpl (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:1931:13)\\n    at async DevServer.renderErrorToResponseImpl (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:2648:24)\\n    at async pipe.req.req (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:2514:30)\\n    at async DevServer.pipeImpl (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:1033:25)\\n    at async NextNodeServer.handleCatchallRenderRequest (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/next-server.js:406:21)\\n    at async DevServer.handleRequestImpl (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:924:17)\\n    at async /tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/dev/next-dev-server.js:398:20\\n    at async Span.traceAsyncFn (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/trace/trace.js:157:20)\"},\"gip\":true,\"scriptLoader\":[]}</script></body></html>"

  567 |     it('should SSR normal page correctly', async () => {
  568 |       const html = await renderViaHTTP(next.url, '/')
> 569 |       expect(html).toMatch(/hello.*?world/)
      |                    ^
  570 |     })
  571 |
  572 |     it('should SSR incremental page correctly', async () => {

  at Object.toMatch (e2e/prerender.test.ts:569:20)

● Prerender › should SSR incremental page correctly

expect(received).toMatch(expected)

Expected pattern: /Post:.*?post-1/
Received string:  "<!DOCTYPE html><html><head><meta charSet=\"utf-8\" data-next-head=\"\"/><meta name=\"viewport\" content=\"width=device-width\" data-next-head=\"\"/><style data-next-hide-fouc=\"true\">body{display:none}</style><noscript data-next-hide-fouc=\"true\"><style>body{display:block}</style></noscript><noscript data-n-css=\"\"></noscript><script defer=\"\" noModule=\"\" src=\"/_next/static/chunks/polyfills.js\"></script><script src=\"/_next/static/chunks/fallback/webpack.js\" defer=\"\"></script><script src=\"/_next/static/chunks/fallback/main.js\" defer=\"\"></script><script src=\"/_next/static/chunks/fallback/pages/_app.js\" defer=\"\"></script><script src=\"/_next/static/chunks/fallback/pages/_error.js\" defer=\"\"></script><noscript id=\"__next_css__DO_NOT_USE__\"></noscript></head><body><div id=\"__next\"></div><script src=\"/_next/static/chunks/fallback/react-refresh.js\"></script><script id=\"__NEXT_DATA__\" type=\"application/json\">{\"props\":{\"pageProps\":{\"statusCode\":500,\"hostname\":\"localhost\"}},\"page\":\"/_error\",\"query\":{},\"buildId\":\"development\",\"isFallback\":false,\"err\":{\"name\":\"SyntaxError\",\"source\":\"server\",\"message\":\"Unexpected non-whitespace character after JSON at position 444\",\"stack\":\"SyntaxError: Unexpected non-whitespace character after JSON at position 444\\n    at JSON.parse (\\u003canonymous\\u003e)\\n    at loadManifest (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/load-manifest.external.js:43:25)\\n    at loadManifestFromRelativePath (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/load-manifest.external.js:84:16)\\n    at PagesRouteModule.loadManifests (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/compiled/next-server/pages.runtime.dev.js:1:134920)\\n    at PagesRouteModule.prepare (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/compiled/next-server/pages.runtime.dev.js:1:142472)\\n    at async handler (webpack-internal:///(pages-dir-node)/./node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES\\u0026page=%2F_error\\u0026preferredRegion=\\u0026absolutePagePath=private-next-pages%2F_error\\u0026absoluteAppPath=private-next-pages%2F_app\\u0026absoluteDocumentPath=private-next-pages%2F_document\\u0026middlewareConfigBase64=e30%3D!:143:27)\\n    at async doRender (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:1589:34)\\n    at async DevServer.renderToResponseWithComponentsImpl (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:1931:13)\\n    at async DevServer.renderErrorToResponseImpl (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:2648:24)\\n    at async pipe.req.req (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:2514:30)\\n    at async DevServer.pipeImpl (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:1033:25)\\n    at async NextNodeServer.handleCatchallRenderRequest (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/next-server.js:406:21)\\n    at async DevServer.handleRequestImpl (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:924:17)\\n    at async /tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/dev/next-dev-server.js:398:20\\n    at async Span.traceAsyncFn (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/trace/trace.js:157:20)\"},\"gip\":true,\"scriptLoader\":[]}</script></body></html>"

  575 |       const $ = cheerio.load(html)
  576 |       expect(JSON.parse($('#__NEXT_DATA__').text()).isFallback).toBe(false)
> 577 |       expect(html).toMatch(/Post:.*?post-1/)
      |                    ^
  578 |     })
  579 |
  580 |     it('should SSR blocking path correctly (blocking)', async () => {

  at Object.toMatch (e2e/prerender.test.ts:577:20)

● Prerender › should SSR blocking path correctly (blocking)

expect(received).toBe(expected) // Object.is equality

Expected: "Post: random-path"
Received: ""

  585 |       const $ = cheerio.load(html)
  586 |       expect(JSON.parse($('#__NEXT_DATA__').text()).isFallback).toBe(false)
> 587 |       expect($('p').text()).toBe('Post: random-path')
      |                             ^
  588 |     })
  589 |
  590 |     it('should SSR blocking path correctly (pre-rendered)', async () => {

  at Object.toBe (e2e/prerender.test.ts:587:29)

● Prerender › should SSR blocking path correctly (pre-rendered)

expect(received).toBe(expected) // Object.is equality

Expected: "Post: a"
Received: ""

  592 |       const $ = cheerio.load(html)
  593 |       expect(JSON.parse($('#__NEXT_DATA__').text()).isFallback).toBe(false)
> 594 |       expect($('p').text()).toBe('Post: a')
      |                             ^
  595 |     })
  596 |
  597 |     it('should have gsp in __NEXT_DATA__', async () => {

  at Object.toBe (e2e/prerender.test.ts:594:29)

● Prerender › should have gsp in NEXT_DATA

expect(received).toBe(expected) // Object.is equality

Expected: true
Received: undefined

  598 |       const html = await renderViaHTTP(next.url, '/')
  599 |       const $ = cheerio.load(html)
> 600 |       expect(JSON.parse($('#__NEXT_DATA__').text()).gsp).toBe(true)
      |                                                          ^
  601 |     })
  602 |
  603 |     it('should not have gsp in __NEXT_DATA__ for non-GSP page', async () => {

  at Object.toBe (e2e/prerender.test.ts:600:58)

● Prerender › should not supply query values to params or useRouter non-dynamic page SSR

SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)

  611 |       const $ = cheerio.load(html)
  612 |       const query = $('#query').text()
> 613 |       expect(JSON.parse(query)).toEqual({})
      |                   ^
  614 |       const params = $('#params').text()
  615 |       expect(JSON.parse(params)).toEqual({})
  616 |     })

  at Object.parse (e2e/prerender.test.ts:613:19)

● Prerender › should not supply query values to params in /_next/data request

SyntaxError: Unexpected token '<', "<!DOCTYPE "... is not valid JSON
    at JSON.parse (<anonymous>)

  617 |
  618 |     it('should not supply query values to params in /_next/data request', async () => {
> 619 |       const data = JSON.parse(
      |                         ^
  620 |         await renderViaHTTP(
  621 |           next.url,
  622 |           `/_next/data/${next.buildId}/something.json?hello=world`

  at Object.parse (e2e/prerender.test.ts:619:25)

● Prerender › should not supply query values to params or useRouter dynamic page SSR

SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)

  631 |
  632 |       const params = $('#params').text()
> 633 |       expect(JSON.parse(params)).toEqual({ post: 'post-1' })
      |                   ^
  634 |
  635 |       const query = $('#query').text()
  636 |       expect(JSON.parse(query)).toEqual({ post: 'post-1' })

  at Object.parse (e2e/prerender.test.ts:633:19)

● Prerender › should return data correctly

SyntaxError: Unexpected token '<', "<!DOCTYPE "... is not valid JSON
    at JSON.parse (<anonymous>)

  638 |
  639 |     it('should return data correctly', async () => {
> 640 |       const data = JSON.parse(
      |                         ^
  641 |         await renderViaHTTP(
  642 |           next.url,
  643 |           `/_next/data/${next.buildId}/something.json`

  at Object.parse (e2e/prerender.test.ts:640:25)

● Prerender › should return data correctly for dynamic page

SyntaxError: Unexpected token '<', "<!DOCTYPE "... is not valid JSON
    at JSON.parse (<anonymous>)

  648 |
  649 |     it('should return data correctly for dynamic page', async () => {
> 650 |       const data = JSON.parse(
      |                         ^
  651 |         await renderViaHTTP(
  652 |           next.url,
  653 |           `/_next/data/${next.buildId}/blog/post-1.json`

  at Object.parse (e2e/prerender.test.ts:650:25)

● Prerender › should return data correctly for dynamic page (non-seeded)

SyntaxError: Unexpected token '<', "<!DOCTYPE "... is not valid JSON
    at JSON.parse (<anonymous>)

  658 |
  659 |     it('should return data correctly for dynamic page (non-seeded)', async () => {
> 660 |       const data = JSON.parse(
      |                         ^
  661 |         await renderViaHTTP(
  662 |           next.url,
  663 |           `/_next/data/${next.buildId}/blog/post-3.json`

  at Object.parse (e2e/prerender.test.ts:660:25)

● Prerender › should navigate to a normal page and back

expect(received).toMatch(expected)

Expected pattern: /hello.*?world/
Received string:  ""

  681 |       const browser = await webdriver(next.url, '/')
  682 |       let text = await browser.elementByCss('p').text()
> 683 |       expect(text).toMatch(/hello.*?world/)
      |                    ^
  684 |
  685 |       await browser.elementByCss('#normal').click()
  686 |       await browser.waitForElementByCss('#normal-text')

  at Object.toMatch (e2e/prerender.test.ts:683:20)

● Prerender › should parse query values on mount correctly

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('#query')

  454 |   waitForElementByCss(selector: string, timeout = 10_000) {
  455 |     return this.startChain(async () => {
> 456 |       const el = await page.waitForSelector(selector, {
      |                             ^
  457 |         timeout,
  458 |         state: 'attached',
  459 |       })

  at waitForSelector (lib/browsers/playwright.ts:456:29)
  at Playwright._chain (lib/browsers/playwright.ts:568:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:549:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:455:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:375:17)
  at Object.elementByCss (e2e/prerender.test.ts:693:34)
  at Proxy._chain (lib/browsers/playwright.ts:568:23)
  at Proxy._chain (lib/browsers/playwright.ts:544:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:387:17)
  at Object.text (e2e/prerender.test.ts:693:57)

● Prerender › should reload page on failed data request

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('#broken-post')

  454 |   waitForElementByCss(selector: string, timeout = 10_000) {
  455 |     return this.startChain(async () => {
> 456 |       const el = await page.waitForSelector(selector, {
      |                             ^
  457 |         timeout,
  458 |         state: 'attached',
  459 |       })

  at waitForSelector (lib/browsers/playwright.ts:456:29)
  at Playwright._chain (lib/browsers/playwright.ts:568:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:549:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:455:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:375:17)
  at Object.elementByCss (e2e/prerender.test.ts:701:21)
  at Proxy._chain (lib/browsers/playwright.ts:568:23)
  at Proxy._chain (lib/browsers/playwright.ts:544:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:425:17)
  at Object.click (e2e/prerender.test.ts:701:50)

● Prerender › should SSR dynamic page with brackets in param as object

expect(received).toMatch(expected)

Expected pattern: /Hi \[first\]!/
Received string:  ""

  709 |       const html = await renderViaHTTP(next.url, '/dynamic/[first]')
  710 |       const $ = cheerio.load(html)
> 711 |       expect($('#param').text()).toMatch(/Hi \[first\]!/)
      |                                  ^
  712 |     })
  713 |
  714 |     it('should navigate to dynamic page with brackets in param as object', async () => {

  at Object.toMatch (e2e/prerender.test.ts:711:34)

● Prerender › should navigate to dynamic page with brackets in param as object

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('#dynamic-first')

  454 |   waitForElementByCss(selector: string, timeout = 10_000) {
  455 |     return this.startChain(async () => {
> 456 |       const el = await page.waitForSelector(selector, {
      |                             ^
  457 |         timeout,
  458 |         state: 'attached',
  459 |       })

  at waitForSelector (lib/browsers/playwright.ts:456:29)
  at Playwright._chain (lib/browsers/playwright.ts:568:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:549:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:455:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:375:17)
  at Object.elementByCss (e2e/prerender.test.ts:716:21)
  at Proxy._chain (lib/browsers/playwright.ts:568:23)
  at Proxy._chain (lib/browsers/playwright.ts:544:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:425:17)
  at Object.click (e2e/prerender.test.ts:716:52)

● Prerender › should SSR dynamic page with brackets in param as string

expect(received).toMatch(expected)

Expected pattern: /Hi \[second\]!/
Received string:  ""

  723 |       const html = await renderViaHTTP(next.url, '/dynamic/[second]')
  724 |       const $ = cheerio.load(html)
> 725 |       expect($('#param').text()).toMatch(/Hi \[second\]!/)
      |                                  ^
  726 |     })
  727 |
  728 |     it('should navigate to dynamic page with brackets in param as string', async () => {

  at Object.toMatch (e2e/prerender.test.ts:725:34)

● Prerender › should navigate to dynamic page with brackets in param as string

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('#dynamic-second')

  454 |   waitForElementByCss(selector: string, timeout = 10_000) {
  455 |     return this.startChain(async () => {
> 456 |       const el = await page.waitForSelector(selector, {
      |                             ^
  457 |         timeout,
  458 |         state: 'attached',
  459 |       })

  at waitForSelector (lib/browsers/playwright.ts:456:29)
  at Playwright._chain (lib/browsers/playwright.ts:568:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:549:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:455:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:375:17)
  at Object.elementByCss (e2e/prerender.test.ts:730:21)
  at Proxy._chain (lib/browsers/playwright.ts:568:23)
  at Proxy._chain (lib/browsers/playwright.ts:544:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:425:17)
  at Object.click (e2e/prerender.test.ts:730:53)

● Prerender › should not return data for fallback: false and missing dynamic page

expect(received).toBe(expected) // Object.is equality

Expected: 404
Received: 500

  739 |         `/_next/data/${next.buildId}/dynamic/oopsie.json`
  740 |       )
> 741 |       expect(res1.status).toBe(404)
      |                           ^
  742 |
  743 |       await waitFor(500)
  744 |

  at Object.toBe (e2e/prerender.test.ts:741:27)

● Prerender › should server prerendered path correctly for SSG pages that starts with api-docs

expect(received).toBe(expected) // Object.is equality

Expected: "API Docs"
Received: ""

  762 |       const $ = cheerio.load(html)
  763 |
> 764 |       expect($('#api-docs').text()).toBe('API Docs')
      |                                     ^
  765 |       expect(JSON.parse($('#props').text())).toEqual({
  766 |         hello: 'world',
  767 |       })

  at Object.toBe (e2e/prerender.test.ts:764:37)

● Prerender › should render correctly for SSG pages that starts with api-docs

page.waitForSelector: Timeout 10000ms exceeded.
Call log:
  - waiting for locator('#api-docs')

  454 |   waitForElementByCss(selector: string, timeout = 10_000) {
  455 |     return this.startChain(async () => {
> 456 |       const el = await page.waitForSelector(selector, {
      |                             ^
  457 |         timeout,
  458 |         state: 'attached',
  459 |       })

  at waitForSelector (lib/browsers/playwright.ts:456:29)
  at Playwright._chain (lib/browsers/playwright.ts:568:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:549:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:455:17)
  at Object.waitForElementByCss (e2e/prerender.test.ts:772:21)

● Prerender › should return data correctly for SSG pages that starts with api-docs

SyntaxError: Unexpected token '<', "<!DOCTYPE "... is not valid JSON
    at JSON.parse (<anonymous>)

  783 |         `/_next/data/${next.buildId}/api-docs/first.json`
  784 |       )
> 785 |       const { pageProps } = JSON.parse(data)
      |                                  ^
  786 |
  787 |       expect(pageProps).toEqual({
  788 |         hello: 'world',

  at Object.parse (e2e/prerender.test.ts:785:34)

● Prerender › should SSR catch-all page with brackets in param as string

expect(received).toMatch(expected)

Expected pattern: /Hi \[first\] \[second\]/
Received string:  ""

  796 |       )
  797 |       const $ = cheerio.load(html)
> 798 |       expect($('#catchall').text()).toMatch(/Hi \[first\] \[second\]/)
      |                                     ^
  799 |     })
  800 |
  801 |     it('should navigate to catch-all page with brackets in param as string', async () => {

  at Object.toMatch (e2e/prerender.test.ts:798:37)

● Prerender › should navigate to catch-all page with brackets in param as string

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('#catchall-explicit-string')

  454 |   waitForElementByCss(selector: string, timeout = 10_000) {
  455 |     return this.startChain(async () => {
> 456 |       const el = await page.waitForSelector(selector, {
      |                             ^
  457 |         timeout,
  458 |         state: 'attached',
  459 |       })

  at waitForSelector (lib/browsers/playwright.ts:456:29)
  at Playwright._chain (lib/browsers/playwright.ts:568:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:549:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:455:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:375:17)
  at Object.elementByCss (e2e/prerender.test.ts:803:21)
  at Proxy._chain (lib/browsers/playwright.ts:568:23)
  at Proxy._chain (lib/browsers/playwright.ts:544:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:425:17)
  at Object.click (e2e/prerender.test.ts:803:63)

● Prerender › should SSR catch-all page with brackets in param as object

expect(received).toMatch(expected)

Expected pattern: /Hi \[third\] \[fourth\]/
Received string:  ""

  813 |       )
  814 |       const $ = cheerio.load(html)
> 815 |       expect($('#catchall').text()).toMatch(/Hi \[third\] \[fourth\]/)
      |                                     ^
  816 |     })
  817 |
  818 |     it('should navigate to catch-all page with brackets in param as object', async () => {

  at Object.toMatch (e2e/prerender.test.ts:815:37)

● Prerender › should navigate to catch-all page with brackets in param as object

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('#catchall-explicit-object')

  454 |   waitForElementByCss(selector: string, timeout = 10_000) {
  455 |     return this.startChain(async () => {
> 456 |       const el = await page.waitForSelector(selector, {
      |                             ^
  457 |         timeout,
  458 |         state: 'attached',
  459 |       })

  at waitForSelector (lib/browsers/playwright.ts:456:29)
  at Playwright._chain (lib/browsers/playwright.ts:568:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:549:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:455:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:375:17)
  at Object.elementByCss (e2e/prerender.test.ts:820:21)
  at Proxy._chain (lib/browsers/playwright.ts:568:23)
  at Proxy._chain (lib/browsers/playwright.ts:544:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:425:17)
  at Object.click (e2e/prerender.test.ts:820:63)

● Prerender › should support prerendered catchall route

expect(received).toMatch(expected)

Expected pattern: /Hi.*?another value/
Received string:  ""

  848 |         JSON.parse(cheerio.load(html)('#__NEXT_DATA__').text()).isFallback
  849 |       ).toBe(false)
> 850 |       expect($('#catchall').text()).toMatch(/Hi.*?another value/)
      |                                     ^
  851 |     })
  852 |
  853 |     it('should support lazy catchall route', async () => {

  at Object.toMatch (e2e/prerender.test.ts:850:37)

● Prerender › should support lazy catchall route

expect(received).toBe(expected) // Object.is equality

Expected: "fallback"
Received: ""

  854 |       const html = await renderViaHTTP(next.url, '/catchall/notreturnedinpaths')
  855 |       const $ = cheerio.load(html)
> 856 |       expect($('#catchall').text()).toBe('fallback')
      |                                     ^
  857 |
  858 |       // hydration
  859 |       const browser = await webdriver(next.url, '/catchall/delayby3s')

  at Object.toBe (e2e/prerender.test.ts:856:37)

● Prerender › should support nested lazy catchall route

expect(received).toBe(expected) // Object.is equality

Expected: "fallback"
Received: ""

  876 |       )
  877 |       const $ = cheerio.load(html)
> 878 |       expect($('#catchall').text()).toBe('fallback')
      |                                     ^
  879 |
  880 |       // hydration
  881 |       const browser = await webdriver(next.url, '/catchall/delayby3s/nested')

  at Object.toBe (e2e/prerender.test.ts:878:37)

● Prerender › should support prerendered catchall-explicit route (nested)

expect(received).toMatch(expected)

Expected pattern: /Hi.*?another value/
Received string:  ""

  901 |         JSON.parse(cheerio.load(html)('#__NEXT_DATA__').text()).isFallback
  902 |       ).toBe(false)
> 903 |       expect($('#catchall').text()).toMatch(/Hi.*?another value/)
      |                                     ^
  904 |     })
  905 |
  906 |     it('should support prerendered catchall-explicit route (single)', async () => {

  at Object.toMatch (e2e/prerender.test.ts:903:37)

● Prerender › should support prerendered catchall-explicit route (single)

expect(received).toMatch(expected)

Expected pattern: /Hi.*?second/
Received string:  ""

  911 |         JSON.parse(cheerio.load(html)('#__NEXT_DATA__').text()).isFallback
  912 |       ).toBe(false)
> 913 |       expect($('#catchall').text()).toMatch(/Hi.*?second/)
      |                                     ^
  914 |     })
  915 |
  916 |     it('should handle fallback only page correctly HTML', async () => {

  at Object.toMatch (e2e/prerender.test.ts:913:37)

● Prerender › should handle fallback only page correctly HTML

expect(received).toContain(expected) // indexOf

Expected substring: "hi fallback"
Received string:    ""

  920 |
  921 |       const text = await browser.elementByCss('p').text()
> 922 |       expect(text).toContain('hi fallback')
      |                    ^
  923 |
  924 |       if (isDeploy) {
  925 |         // patchFile does not work with deploy tests

  at Object.toContain (e2e/prerender.test.ts:922:20)

● Prerender › should handle fallback only page correctly data

SyntaxError: Unexpected token '<', "<!DOCTYPE "... is not valid JSON
    at JSON.parse (<anonymous>)

  950 |       it('should handle fallback only page correctly data', async () => {
  951 |         await next.patchFile('resolve-static-props', '', async () => {
> 952 |           const data = JSON.parse(
      |                             ^
  953 |             await renderViaHTTP(
  954 |               next.url,
  955 |               `/_next/data/${next.buildId}/fallback-only/second%2Fpost.json`

  at parse (e2e/prerender.test.ts:952:29)
  at NextDevInstance.patchFile (lib/next-modes/base.ts:614:9)
  at NextDevInstance.patchFile (lib/next-modes/next-dev.ts:202:16)
  at Object.<anonymous> (e2e/prerender.test.ts:951:9)

● Prerender › should 404 for a missing catchall explicit route

expect(received).toBe(expected) // Object.is equality

Expected: 404
Received: 500

  969 |         '/catchall-explicit/notreturnedinpaths'
  970 |       )
> 971 |       expect(res.status).toBe(404)
      |                          ^
  972 |       const html = await res.text()
  973 |       expect(html).toMatch(/This page could not be found/)
  974 |     })

  at Object.toBe (e2e/prerender.test.ts:971:26)

● Prerender › should 404 for an invalid data url

expect(received).toBe(expected) // Object.is equality

Expected: 404
Received: 500

  980 |       // directory itself
  981 |       if (!isDeploy) {
> 982 |         expect(res.status).toBe(404)
      |                            ^
  983 |       }
  984 |     })
  985 |

  at Object.toBe (e2e/prerender.test.ts:982:28)

● Prerender › should allow rewriting to SSG page with fallback: false

expect(received).toMatch(expected)

Expected pattern: /About:.*?en/
Received string:  "<!DOCTYPE html><html><head><meta charSet=\"utf-8\" data-next-head=\"\"/><meta name=\"viewport\" content=\"width=device-width\" data-next-head=\"\"/><style data-next-hide-fouc=\"true\">body{display:none}</style><noscript data-next-hide-fouc=\"true\"><style>body{display:block}</style></noscript><noscript data-n-css=\"\"></noscript><script defer=\"\" noModule=\"\" src=\"/_next/static/chunks/polyfills.js\"></script><script src=\"/_next/static/chunks/fallback/webpack.js\" defer=\"\"></script><script src=\"/_next/static/chunks/fallback/main.js\" defer=\"\"></script><script src=\"/_next/static/chunks/fallback/pages/_app.js\" defer=\"\"></script><script src=\"/_next/static/chunks/fallback/pages/_error.js\" defer=\"\"></script><noscript id=\"__next_css__DO_NOT_USE__\"></noscript></head><body><div id=\"__next\"></div><script src=\"/_next/static/chunks/fallback/react-refresh.js\"></script><script id=\"__NEXT_DATA__\" type=\"application/json\">{\"props\":{\"pageProps\":{\"statusCode\":500,\"hostname\":\"localhost\"}},\"page\":\"/_error\",\"query\":{},\"buildId\":\"development\",\"isFallback\":false,\"err\":{\"name\":\"SyntaxError\",\"source\":\"server\",\"message\":\"Unexpected non-whitespace character after JSON at position 444\",\"stack\":\"SyntaxError: Unexpected non-whitespace character after JSON at position 444\\n    at JSON.parse (\\u003canonymous\\u003e)\\n    at loadManifest (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/load-manifest.external.js:43:25)\\n    at loadManifestFromRelativePath (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/load-manifest.external.js:84:16)\\n    at PagesRouteModule.loadManifests (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/compiled/next-server/pages.runtime.dev.js:1:134920)\\n    at PagesRouteModule.prepare (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/compiled/next-server/pages.runtime.dev.js:1:142472)\\n    at async handler (webpack-internal:///(pages-dir-node)/./node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES\\u0026page=%2F_error\\u0026preferredRegion=\\u0026absolutePagePath=private-next-pages%2F_error\\u0026absoluteAppPath=private-next-pages%2F_app\\u0026absoluteDocumentPath=private-next-pages%2F_document\\u0026middlewareConfigBase64=e30%3D!:143:27)\\n    at async doRender (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:1589:34)\\n    at async DevServer.renderToResponseWithComponentsImpl (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:1931:13)\\n    at async DevServer.renderErrorToResponseImpl (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:2648:24)\\n    at async pipe.req.req (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:2514:30)\\n    at async DevServer.pipeImpl (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:1033:25)\\n    at async NextNodeServer.handleCatchallRenderRequest (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/next-server.js:406:21)\\n    at async DevServer.handleRequestImpl (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:924:17)\\n    at async /tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/dev/next-dev-server.js:398:20\\n    at async Span.traceAsyncFn (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/trace/trace.js:157:20)\"},\"gip\":true,\"scriptLoader\":[]}</script></body></html>"

  986 |     it('should allow rewriting to SSG page with fallback: false', async () => {
  987 |       const html = await renderViaHTTP(next.url, '/about')
> 988 |       expect(html).toMatch(/About:.*?en/)
      |                    ^
  989 |     })
  990 |
  991 |     it("should allow rewriting to SSG page with fallback: 'blocking'", async () => {

  at Object.toMatch (e2e/prerender.test.ts:988:20)

● Prerender › should allow rewriting to SSG page with fallback: 'blocking'

expect(received).toMatch(expected)

Expected pattern: /Post:.*?blocked-create/
Received string:  "<!DOCTYPE html><html><head><meta charSet=\"utf-8\" data-next-head=\"\"/><meta name=\"viewport\" content=\"width=device-width\" data-next-head=\"\"/><style data-next-hide-fouc=\"true\">body{display:none}</style><noscript data-next-hide-fouc=\"true\"><style>body{display:block}</style></noscript><noscript data-n-css=\"\"></noscript><script defer=\"\" noModule=\"\" src=\"/_next/static/chunks/polyfills.js\"></script><script src=\"/_next/static/chunks/fallback/webpack.js\" defer=\"\"></script><script src=\"/_next/static/chunks/fallback/main.js\" defer=\"\"></script><script src=\"/_next/static/chunks/fallback/pages/_app.js\" defer=\"\"></script><script src=\"/_next/static/chunks/fallback/pages/_error.js\" defer=\"\"></script><noscript id=\"__next_css__DO_NOT_USE__\"></noscript></head><body><div id=\"__next\"></div><script src=\"/_next/static/chunks/fallback/react-refresh.js\"></script><script id=\"__NEXT_DATA__\" type=\"application/json\">{\"props\":{\"pageProps\":{\"statusCode\":500,\"hostname\":\"localhost\"}},\"page\":\"/_error\",\"query\":{},\"buildId\":\"development\",\"isFallback\":false,\"err\":{\"name\":\"SyntaxError\",\"source\":\"server\",\"message\":\"Unexpected non-whitespace character after JSON at position 444\",\"stack\":\"SyntaxError: Unexpected non-whitespace character after JSON at position 444\\n    at JSON.parse (\\u003canonymous\\u003e)\\n    at loadManifest (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/load-manifest.external.js:43:25)\\n    at loadManifestFromRelativePath (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/load-manifest.external.js:84:16)\\n    at PagesRouteModule.loadManifests (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/compiled/next-server/pages.runtime.dev.js:1:134920)\\n    at PagesRouteModule.prepare (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/compiled/next-server/pages.runtime.dev.js:1:142472)\\n    at async handler (webpack-internal:///(pages-dir-node)/./node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES\\u0026page=%2F_error\\u0026preferredRegion=\\u0026absolutePagePath=private-next-pages%2F_error\\u0026absoluteAppPath=private-next-pages%2F_app\\u0026absoluteDocumentPath=private-next-pages%2F_document\\u0026middlewareConfigBase64=e30%3D!:143:27)\\n    at async doRender (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:1589:34)\\n    at async DevServer.renderToResponseWithComponentsImpl (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:1931:13)\\n    at async DevServer.renderErrorToResponseImpl (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:2648:24)\\n    at async pipe.req.req (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:2514:30)\\n    at async DevServer.pipeImpl (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:1033:25)\\n    at async NextNodeServer.handleCatchallRenderRequest (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/next-server.js:406:21)\\n    at async DevServer.handleRequestImpl (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:924:17)\\n    at async /tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/dev/next-dev-server.js:398:20\\n    at async Span.traceAsyncFn (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/trace/trace.js:157:20)\"},\"gip\":true,\"scriptLoader\":[]}</script></body></html>"

  991 |     it("should allow rewriting to SSG page with fallback: 'blocking'", async () => {
  992 |       const html = await renderViaHTTP(next.url, '/blocked-create')
> 993 |       expect(html).toMatch(/Post:.*?blocked-create/)
      |                    ^
  994 |     })
  995 |
  996 |     it('should fetch /_next/data correctly with mismatched href and as', async () => {

  at Object.toMatch (e2e/prerender.test.ts:993:20)

● Prerender › should fetch /_next/data correctly with mismatched href and as

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('#to-rewritten-ssg')

  454 |   waitForElementByCss(selector: string, timeout = 10_000) {
  455 |     return this.startChain(async () => {
> 456 |       const el = await page.waitForSelector(selector, {
      |                             ^
  457 |         timeout,
  458 |         state: 'attached',
  459 |       })

  at waitForSelector (lib/browsers/playwright.ts:456:29)
  at Playwright._chain (lib/browsers/playwright.ts:568:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:549:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:455:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:375:17)
  at Object.elementByCss (e2e/prerender.test.ts:1017:21)
  at Proxy._chain (lib/browsers/playwright.ts:568:23)
  at Proxy._chain (lib/browsers/playwright.ts:544:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:425:17)
  at Object.click (e2e/prerender.test.ts:1017:55)

● Prerender › should not error when rewriting to fallback dynamic SSG page

expect(received).toMatch(expected)

Expected pattern: /Post: post-40/
Received string:  ""

  1027 |
  1028 |       await retry(async () => {
> 1029 |         expect(await browser.elementByCss('p').text()).toMatch(
       |                                                        ^
  1030 |           new RegExp(`Post: post-${item}`)
  1031 |         )
  1032 |       })

  at toMatch (e2e/prerender.test.ts:1029:56)
  at retry (lib/next-test-utils.ts:768:14)
  at Object.<anonymous> (e2e/prerender.test.ts:1028:7)

● Prerender › should show warning when large amount of page data is returned

expect(received).toMatch(expected)

Expected pattern: /Warning: data for page "\/large-page-data" is 256 kB which exceeds the threshold of 128 kB, this amount of data can reduce performance/
Received string:  "   ▲ Next.js 15.4.0-canary.90
   - Local:        http://localhost:43453
   - Network:      http://65.109.77.9:43453·
 ✓ Starting...
 ✓ Ready in 1182ms
 ○ Compiling /catchall/[...slug] ...
 ✓ Compiled /catchall/[...slug] in 2.5s (382 modules)
 GET /normal 200 in 2980ms
 GET /another 200 in 2986ms
 GET /something 200 in 2983ms
 GET / 200 in 2991ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/catchall/first'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/blog/post-1/comment-1'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/blog/post-1'
}
 ○ Compiling /_error ...
 ✓ Compiled /_error in 1067ms (470 modules)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /blog/post-1 500 in 8016ms
 GET /catchall/first 500 in 8009ms
 GET /blog/post-1/comment-1 500 in 8011ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET / 500 in 703ms
<w> [webpack.cache.PackFileCacheStrategy] Caching failed for pack: Error: ENOENT: no such file or directory, rename '/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/.next/cache/webpack/client-development-fallback/0.pack.gz_' -> '/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/.next/cache/webpack/client-development-fallback/0.pack.gz'
<w> [webpack.cache.PackFileCacheStrategy] Caching failed for pack: Error: ENOENT: no such file or directory, rename '/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/.next/cache/webpack/client-development-fallback/0.pack.gz_' -> '/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/.next/cache/webpack/client-development-fallback/0.pack.gz'
 POST / 405 in 206ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET / 500 in 513ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/blog/post-1'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /blog/post-1 500 in 545ms
 ⨯ Failed to generate static paths for /blog/[post]:
SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 ✓ Compiled /blocking-fallback/[slug] in 353ms (474 modules)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/'
}
 GET /_next/static/webpack/2af5f689f75183c4.webpack.hot-update.json 500 in 632ms
 ⚠ Fast Refresh had to perform a full reload due to a runtime error.
 GET / 500 in 651ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/blocking-fallback/random-path'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET / 500 in 543ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /blocking-fallback/random-path 500 in 1438ms
 ✓ Compiled /blocking-fallback-some/[slug] in 145ms (478 modules)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/blocking-fallback-some/a'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /blocking-fallback-some/a 500 in 1241ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET / 500 in 507ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/normal'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /normal 500 in 519ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/something'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /something?hello=world 500 in 508ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/something'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /_next/data/development/something.json?hello=world 500 in 510ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/blog/post-1'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /blog/post-1?hello=world 500 in 1161ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/something'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /_next/data/development/something.json 500 in 510ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/blog/post-1'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /_next/data/development/blog/post-1.json 500 in 1188ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/blog/post-3'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /_next/data/development/blog/post-3.json 500 in 1077ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET / 500 in 502ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/blog/post-1'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /blog/post-1?another=value 500 in 1164ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET / 500 in 509ms
 ✓ Compiled /dynamic/[slug] in 429ms (482 modules)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/'
}
 GET /_next/static/webpack/2af5f689f75183c4.webpack.hot-update.json 500 in 695ms
 ⚠ Fast Refresh had to perform a full reload due to a runtime error.
 GET / 500 in 725ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/dynamic/[first]'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET / 500 in 542ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /dynamic/[first] 500 in 1516ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET / 500 in 508ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/dynamic/[second]'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /dynamic/[second] 500 in 1082ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET / 500 in 514ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/dynamic/oopsie'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /_next/data/development/dynamic/oopsie.json 500 in 1081ms
 ✓ Compiled /api-docs/[...slug] in 390ms (486 modules)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/'
}
 GET /_next/static/webpack/2af5f689f75183c4.webpack.hot-update.json 500 in 605ms
 ⚠ Fast Refresh had to perform a full reload due to a runtime error.
 GET / 500 in 629ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/api-docs/first'
}
 GET / 500 in 579ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /api-docs/first 500 in 1606ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/api-docs/second'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /api-docs/second 500 in 1048ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/api-docs/first'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /_next/data/development/api-docs/first.json 500 in 1077ms
 ✓ Compiled /catchall-explicit/[...slug] in 282ms (478 modules)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /_next/static/webpack/2af5f689f75183c4.webpack.hot-update.json 500 in 518ms
 ⚠ Fast Refresh had to perform a full reload due to a runtime error.
 GET /api-docs/second 200 in 520ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/api-docs/second'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/api-docs/second'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/catchall-explicit/[first]/[second]'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /api-docs/second 500 in 885ms
 GET /catchall-explicit/[first]/[second] 500 in 1512ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET / 500 in 519ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/catchall-explicit/[third]/[fourth]'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /catchall-explicit/[third]/[fourth] 500 in 1071ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET / 500 in 504ms
 ✓ Compiled /catchall/[...slug] in 357ms (470 modules)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/catchall/another/value'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/'
}
 GET /_next/static/webpack/2af5f689f75183c4.webpack.hot-update.json 500 in 745ms
 ⚠ Fast Refresh had to perform a full reload due to a runtime error.
 GET / 500 in 750ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/'
}
 GET /catchall/another/value 500 in 1180ms
 ⨯ Failed to generate static paths for /catchall/[...slug]:
SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET / 500 in 686ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/catchall/notreturnedinpaths'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /catchall/notreturnedinpaths 500 in 1160ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/catchall/notreturnedinpaths/nested'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /catchall/notreturnedinpaths/nested 500 in 1082ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/catchall-explicit/another/value'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /catchall-explicit/another/value 500 in 1037ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/catchall-explicit/second'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /catchall-explicit/second 500 in 1067ms
 ✓ Compiled /fallback-only/[slug] in 230ms (471 modules)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/fallback-only/first%2Fpost'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /fallback-only/first%2Fpost 500 in 1364ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/fallback-only/second%2Fpost'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /_next/data/development/fallback-only/second%2Fpost.json 500 in 1096ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/catchall-explicit/notreturnedinpaths'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /catchall-explicit/notreturnedinpaths 500 in 1078ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /_next/data/development 500 in 242ms
 ✓ Compiled /lang/[lang]/about in 295ms (461 modules)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /_next/static/webpack/2af5f689f75183c4.webpack.hot-update.json 500 in 543ms
 ⚠ Fast Refresh had to perform a full reload due to a runtime error.
 GET /fallback-only/first%2Fpost 200 in 547ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/lang/en/about'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/fallback-only/first%2Fpost'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/fallback-only/first%2Fpost'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /about 500 in 1459ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /fallback-only/first%2Fpost 500 in 948ms
 ✓ Compiled /blocking-fallback/[slug] in 226ms (465 modules)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/blocking-fallback/blocked-create'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /blocked-create 500 in 1484ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET / 500 in 519ms
 ✓ Compiled /blog/[post] in 376ms (479 modules)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/blog/post-40'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /some-rewrite/40 500 in 1605ms
 ✓ Compiled /large-page-data in 416ms (475 modules)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/large-page-data'
}
 GET /_next/static/webpack/2af5f689f75183c4.webpack.hot-update.json 500 in 664ms
 ⚠ Fast Refresh had to perform a full reload due to a runtime error.
 GET /some-rewrite/40 200 in 666ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /large-page-data 500 in 1055ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/blog/post-40'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/blog/post-40'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /some-rewrite/40 500 in 1022ms
"

  1043 |       await renderViaHTTP(next.url, '/large-page-data')
  1044 |       await retry(async () => {
> 1045 |         expect(next.cliOutput).toMatch(
       |                                ^
  1046 |           /Warning: data for page "\/large-page-data" is 256 kB which exceeds the threshold of 128 kB, this amount of data can reduce performance/
  1047 |         )
  1048 |       })

  at toMatch (e2e/prerender.test.ts:1045:32)
  at fn (lib/next-test-utils.ts:768:20)
  at Object.<anonymous> (e2e/prerender.test.ts:1044:7)

● Prerender › should show warning every time page with large amount of page data is returned

expect(received).toMatch(expected)

Expected pattern: /Warning: data for page "\/large-page-data-ssr" is 256 kB which exceeds the threshold of 128 kB, this amount of data can reduce performance/
Received string:  "   ▲ Next.js 15.4.0-canary.90
   - Local:        http://localhost:43453
   - Network:      http://65.109.77.9:43453·
 ✓ Starting...
 ✓ Ready in 1182ms
 ○ Compiling /catchall/[...slug] ...
 ✓ Compiled /catchall/[...slug] in 2.5s (382 modules)
 GET /normal 200 in 2980ms
 GET /another 200 in 2986ms
 GET /something 200 in 2983ms
 GET / 200 in 2991ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/catchall/first'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/blog/post-1/comment-1'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/blog/post-1'
}
 ○ Compiling /_error ...
 ✓ Compiled /_error in 1067ms (470 modules)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /blog/post-1 500 in 8016ms
 GET /catchall/first 500 in 8009ms
 GET /blog/post-1/comment-1 500 in 8011ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET / 500 in 703ms
<w> [webpack.cache.PackFileCacheStrategy] Caching failed for pack: Error: ENOENT: no such file or directory, rename '/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/.next/cache/webpack/client-development-fallback/0.pack.gz_' -> '/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/.next/cache/webpack/client-development-fallback/0.pack.gz'
<w> [webpack.cache.PackFileCacheStrategy] Caching failed for pack: Error: ENOENT: no such file or directory, rename '/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/.next/cache/webpack/client-development-fallback/0.pack.gz_' -> '/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/.next/cache/webpack/client-development-fallback/0.pack.gz'
 POST / 405 in 206ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET / 500 in 513ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/blog/post-1'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /blog/post-1 500 in 545ms
 ⨯ Failed to generate static paths for /blog/[post]:
SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 ✓ Compiled /blocking-fallback/[slug] in 353ms (474 modules)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/'
}
 GET /_next/static/webpack/2af5f689f75183c4.webpack.hot-update.json 500 in 632ms
 ⚠ Fast Refresh had to perform a full reload due to a runtime error.
 GET / 500 in 651ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/blocking-fallback/random-path'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET / 500 in 543ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /blocking-fallback/random-path 500 in 1438ms
 ✓ Compiled /blocking-fallback-some/[slug] in 145ms (478 modules)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/blocking-fallback-some/a'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /blocking-fallback-some/a 500 in 1241ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET / 500 in 507ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/normal'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /normal 500 in 519ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/something'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /something?hello=world 500 in 508ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/something'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /_next/data/development/something.json?hello=world 500 in 510ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/blog/post-1'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /blog/post-1?hello=world 500 in 1161ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/something'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /_next/data/development/something.json 500 in 510ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/blog/post-1'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /_next/data/development/blog/post-1.json 500 in 1188ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/blog/post-3'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /_next/data/development/blog/post-3.json 500 in 1077ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET / 500 in 502ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/blog/post-1'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /blog/post-1?another=value 500 in 1164ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET / 500 in 509ms
 ✓ Compiled /dynamic/[slug] in 429ms (482 modules)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/'
}
 GET /_next/static/webpack/2af5f689f75183c4.webpack.hot-update.json 500 in 695ms
 ⚠ Fast Refresh had to perform a full reload due to a runtime error.
 GET / 500 in 725ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/dynamic/[first]'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET / 500 in 542ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /dynamic/[first] 500 in 1516ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET / 500 in 508ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/dynamic/[second]'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /dynamic/[second] 500 in 1082ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET / 500 in 514ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/dynamic/oopsie'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /_next/data/development/dynamic/oopsie.json 500 in 1081ms
 ✓ Compiled /api-docs/[...slug] in 390ms (486 modules)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/'
}
 GET /_next/static/webpack/2af5f689f75183c4.webpack.hot-update.json 500 in 605ms
 ⚠ Fast Refresh had to perform a full reload due to a runtime error.
 GET / 500 in 629ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/api-docs/first'
}
 GET / 500 in 579ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /api-docs/first 500 in 1606ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/api-docs/second'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /api-docs/second 500 in 1048ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/api-docs/first'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /_next/data/development/api-docs/first.json 500 in 1077ms
 ✓ Compiled /catchall-explicit/[...slug] in 282ms (478 modules)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /_next/static/webpack/2af5f689f75183c4.webpack.hot-update.json 500 in 518ms
 ⚠ Fast Refresh had to perform a full reload due to a runtime error.
 GET /api-docs/second 200 in 520ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/api-docs/second'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/api-docs/second'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/catchall-explicit/[first]/[second]'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /api-docs/second 500 in 885ms
 GET /catchall-explicit/[first]/[second] 500 in 1512ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET / 500 in 519ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/catchall-explicit/[third]/[fourth]'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /catchall-explicit/[third]/[fourth] 500 in 1071ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET / 500 in 504ms
 ✓ Compiled /catchall/[...slug] in 357ms (470 modules)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/catchall/another/value'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/'
}
 GET /_next/static/webpack/2af5f689f75183c4.webpack.hot-update.json 500 in 745ms
 ⚠ Fast Refresh had to perform a full reload due to a runtime error.
 GET / 500 in 750ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/'
}
 GET /catchall/another/value 500 in 1180ms
 ⨯ Failed to generate static paths for /catchall/[...slug]:
SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET / 500 in 686ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/catchall/notreturnedinpaths'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /catchall/notreturnedinpaths 500 in 1160ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/catchall/notreturnedinpaths/nested'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /catchall/notreturnedinpaths/nested 500 in 1082ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/catchall-explicit/another/value'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /catchall-explicit/another/value 500 in 1037ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/catchall-explicit/second'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /catchall-explicit/second 500 in 1067ms
 ✓ Compiled /fallback-only/[slug] in 230ms (471 modules)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/fallback-only/first%2Fpost'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /fallback-only/first%2Fpost 500 in 1364ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/fallback-only/second%2Fpost'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /_next/data/development/fallback-only/second%2Fpost.json 500 in 1096ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/catchall-explicit/notreturnedinpaths'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /catchall-explicit/notreturnedinpaths 500 in 1078ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /_next/data/development 500 in 242ms
 ✓ Compiled /lang/[lang]/about in 295ms (461 modules)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /_next/static/webpack/2af5f689f75183c4.webpack.hot-update.json 500 in 543ms
 ⚠ Fast Refresh had to perform a full reload due to a runtime error.
 GET /fallback-only/first%2Fpost 200 in 547ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/lang/en/about'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/fallback-only/first%2Fpost'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/fallback-only/first%2Fpost'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /about 500 in 1459ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /fallback-only/first%2Fpost 500 in 948ms
 ✓ Compiled /blocking-fallback/[slug] in 226ms (465 modules)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/blocking-fallback/blocked-create'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /blocked-create 500 in 1484ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET / 500 in 519ms
 ✓ Compiled /blog/[post] in 376ms (479 modules)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/blog/post-40'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /some-rewrite/40 500 in 1605ms
 ✓ Compiled /large-page-data in 416ms (475 modules)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/large-page-data'
}
 GET /_next/static/webpack/2af5f689f75183c4.webpack.hot-update.json 500 in 664ms
 ⚠ Fast Refresh had to perform a full reload due to a runtime error.
 GET /some-rewrite/40 200 in 666ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /large-page-data 500 in 1055ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/blog/post-40'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/blog/post-40'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /some-rewrite/40 500 in 1022ms
 ✓ Compiled /large-page-data-ssr in 217ms (454 modules)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/large-page-data-ssr'
}
 GET /_next/static/webpack/2af5f689f75183c4.webpack.hot-update.json 500 in 455ms
 ⚠ Fast Refresh had to perform a full reload due to a runtime error.
 GET /some-rewrite/40 200 in 453ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /large-page-data-ssr 500 in 793ms
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/blog/post-40'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>) {
  page: '/blog/post-40'
}
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 ⨯ SyntaxError: Unexpected non-whitespace character after JSON at position 444
    at JSON.parse (<anonymous>)
 GET /some-rewrite/40 500 in 935ms
"

  1059 |         await renderViaHTTP(next.url, '/large-page-data-ssr')
  1060 |         await retry(async () => {
> 1061 |           expect(next.cliOutput).toMatch(
       |                                  ^
  1062 |             /Warning: data for page "\/large-page-data-ssr" is 256 kB which exceeds the threshold of 128 kB, this amount of data can reduce performance/
  1063 |           )
  1064 |         })

  at toMatch (e2e/prerender.test.ts:1061:34)
  at fn (lib/next-test-utils.ts:768:20)
  at Object.<anonymous> (e2e/prerender.test.ts:1060:9)

● Prerender › should not show warning from url prop being returned

expect(received).toMatch(expected)

Expected pattern: /url:.*?something/
Received string:  "<!DOCTYPE html><html><head><meta charSet=\"utf-8\" data-next-head=\"\"/><meta name=\"viewport\" content=\"width=device-width\" data-next-head=\"\"/><style data-next-hide-fouc=\"true\">body{display:none}</style><noscript data-next-hide-fouc=\"true\"><style>body{display:block}</style></noscript><noscript data-n-css=\"\"></noscript><script defer=\"\" noModule=\"\" src=\"/_next/static/chunks/polyfills.js\"></script><script src=\"/_next/static/chunks/fallback/webpack.js\" defer=\"\"></script><script src=\"/_next/static/chunks/fallback/main.js\" defer=\"\"></script><script src=\"/_next/static/chunks/fallback/pages/_app.js\" defer=\"\"></script><script src=\"/_next/static/chunks/fallback/pages/_error.js\" defer=\"\"></script><noscript id=\"__next_css__DO_NOT_USE__\"></noscript></head><body><div id=\"__next\"></div><script src=\"/_next/static/chunks/fallback/react-refresh.js\"></script><script id=\"__NEXT_DATA__\" type=\"application/json\">{\"props\":{\"pageProps\":{\"statusCode\":500,\"hostname\":\"localhost\"}},\"page\":\"/_error\",\"query\":{},\"buildId\":\"development\",\"isFallback\":false,\"err\":{\"name\":\"SyntaxError\",\"source\":\"server\",\"message\":\"Unexpected non-whitespace character after JSON at position 444\",\"stack\":\"SyntaxError: Unexpected non-whitespace character after JSON at position 444\\n    at JSON.parse (\\u003canonymous\\u003e)\\n    at loadManifest (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/load-manifest.external.js:43:25)\\n    at loadManifestFromRelativePath (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/load-manifest.external.js:84:16)\\n    at PagesRouteModule.loadManifests (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/compiled/next-server/pages.runtime.dev.js:1:134920)\\n    at PagesRouteModule.prepare (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/compiled/next-server/pages.runtime.dev.js:1:142472)\\n    at async handler (webpack-internal:///(pages-dir-node)/./node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES\\u0026page=%2F_error\\u0026preferredRegion=\\u0026absolutePagePath=private-next-pages%2F_error\\u0026absoluteAppPath=private-next-pages%2F_app\\u0026absoluteDocumentPath=private-next-pages%2F_document\\u0026middlewareConfigBase64=e30%3D!:143:27)\\n    at async doRender (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:1589:34)\\n    at async DevServer.renderToResponseWithComponentsImpl (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:1931:13)\\n    at async DevServer.renderErrorToResponseImpl (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:2648:24)\\n    at async pipe.req.req (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:2514:30)\\n    at async DevServer.pipeImpl (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:1033:25)\\n    at async NextNodeServer.handleCatchallRenderRequest (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/next-server.js:406:21)\\n    at async DevServer.handleRequestImpl (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:924:17)\\n    at async /tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/dev/next-dev-server.js:398:20\\n    at async Span.traceAsyncFn (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/trace/trace.js:157:20)\"},\"gip\":true,\"scriptLoader\":[]}</script></body></html>"

  1112 |                 /The prop `url` is a reserved prop in Next.js for legacy reasons and will be overridden on page \/url-prop/
  1113 |               )
> 1114 |               expect(html).toMatch(/url:.*?something/)
       |                            ^
  1115 |             })
  1116 |         )
  1117 |       })

  at toMatch (e2e/prerender.test.ts:1114:28)
  at retry (lib/next-test-utils.ts:768:14)
  at NextDevInstance.patchFile (lib/next-modes/base.ts:614:9)
  at NextDevInstance.patchFile (lib/next-modes/next-dev.ts:202:16)
  at Object.<anonymous> (e2e/prerender.test.ts:1095:9)

● Prerender › should always show fallback for page not in getStaticPaths

expect(received).toBe(expected) // Object.is equality

Expected: true
Received: false

  1120 |         const html = await renderViaHTTP(next.url, '/blog/post-321')
  1121 |         const $ = cheerio.load(html)
> 1122 |         expect(JSON.parse($('#__NEXT_DATA__').text()).isFallback).toBe(true)
       |                                                                   ^
  1123 |
  1124 |         // make another request to ensure it still is
  1125 |         const html2 = await renderViaHTTP(next.url, '/blog/post-321')

  at Object.toBe (e2e/prerender.test.ts:1122:67)

● Prerender › should always call getStaticProps without caching in dev

expect(received).toMatch(expected)

Expected pattern: /hello.*?world/
Received string:  "<!DOCTYPE html><html><head><meta charSet=\"utf-8\" data-next-head=\"\"/><meta name=\"viewport\" content=\"width=device-width\" data-next-head=\"\"/><style data-next-hide-fouc=\"true\">body{display:none}</style><noscript data-next-hide-fouc=\"true\"><style>body{display:block}</style></noscript><noscript data-n-css=\"\"></noscript><script defer=\"\" noModule=\"\" src=\"/_next/static/chunks/polyfills.js\"></script><script src=\"/_next/static/chunks/fallback/webpack.js\" defer=\"\"></script><script src=\"/_next/static/chunks/fallback/main.js\" defer=\"\"></script><script src=\"/_next/static/chunks/fallback/pages/_app.js\" defer=\"\"></script><script src=\"/_next/static/chunks/fallback/pages/_error.js\" defer=\"\"></script><noscript id=\"__next_css__DO_NOT_USE__\"></noscript></head><body><div id=\"__next\"></div><script src=\"/_next/static/chunks/fallback/react-refresh.js\"></script><script id=\"__NEXT_DATA__\" type=\"application/json\">{\"props\":{\"pageProps\":{\"statusCode\":500,\"hostname\":\"localhost\"}},\"page\":\"/_error\",\"query\":{},\"buildId\":\"development\",\"isFallback\":false,\"err\":{\"name\":\"SyntaxError\",\"source\":\"server\",\"message\":\"Unexpected non-whitespace character after JSON at position 444\",\"stack\":\"SyntaxError: Unexpected non-whitespace character after JSON at position 444\\n    at JSON.parse (\\u003canonymous\\u003e)\\n    at loadManifest (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/load-manifest.external.js:43:25)\\n    at loadManifestFromRelativePath (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/load-manifest.external.js:84:16)\\n    at PagesRouteModule.loadManifests (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/compiled/next-server/pages.runtime.dev.js:1:134920)\\n    at PagesRouteModule.prepare (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/compiled/next-server/pages.runtime.dev.js:1:142472)\\n    at async handler (webpack-internal:///(pages-dir-node)/./node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES\\u0026page=%2F_error\\u0026preferredRegion=\\u0026absolutePagePath=private-next-pages%2F_error\\u0026absoluteAppPath=private-next-pages%2F_app\\u0026absoluteDocumentPath=private-next-pages%2F_document\\u0026middlewareConfigBase64=e30%3D!:143:27)\\n    at async doRender (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:1589:34)\\n    at async DevServer.renderToResponseWithComponentsImpl (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:1931:13)\\n    at async DevServer.renderErrorToResponseImpl (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:2648:24)\\n    at async pipe.req.req (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:2514:30)\\n    at async DevServer.pipeImpl (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:1033:25)\\n    at async NextNodeServer.handleCatchallRenderRequest (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/next-server.js:406:21)\\n    at async DevServer.handleRequestImpl (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:924:17)\\n    at async /tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/dev/next-dev-server.js:398:20\\n    at async Span.traceAsyncFn (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/trace/trace.js:157:20)\"},\"gip\":true,\"scriptLoader\":[]}</script></body></html>"

  1173 |         )
  1174 |         const initialHtml = await initialRes.text()
> 1175 |         expect(initialHtml).toMatch(/hello.*?world/)
       |                             ^
  1176 |
  1177 |         const newRes = await fetchViaHTTP(next.url, '/something')
  1178 |         expect(isCachingHeader(newRes.headers.get('cache-control'))).toBe(false)

  at Object.toMatch (e2e/prerender.test.ts:1175:29)

● Prerender › should error on bad object from getStaticProps

expect(received).toMatch(expected)

Expected pattern: /Additional keys were returned/
Received string:  "<!DOCTYPE html><html><head><meta charSet=\"utf-8\" data-next-head=\"\"/><meta name=\"viewport\" content=\"width=device-width\" data-next-head=\"\"/><style data-next-hide-fouc=\"true\">body{display:none}</style><noscript data-next-hide-fouc=\"true\"><style>body{display:block}</style></noscript><noscript data-n-css=\"\"></noscript><script defer=\"\" noModule=\"\" src=\"/_next/static/chunks/polyfills.js\"></script><script src=\"/_next/static/chunks/fallback/webpack.js\" defer=\"\"></script><script src=\"/_next/static/chunks/fallback/main.js\" defer=\"\"></script><script src=\"/_next/static/chunks/fallback/pages/_app.js\" defer=\"\"></script><script src=\"/_next/static/chunks/fallback/pages/_error.js\" defer=\"\"></script><noscript id=\"__next_css__DO_NOT_USE__\"></noscript></head><body><div id=\"__next\"></div><script src=\"/_next/static/chunks/fallback/react-refresh.js\"></script><script id=\"__NEXT_DATA__\" type=\"application/json\">{\"props\":{\"pageProps\":{\"statusCode\":500,\"hostname\":\"localhost\"}},\"page\":\"/_error\",\"query\":{},\"buildId\":\"development\",\"isFallback\":false,\"err\":{\"name\":\"SyntaxError\",\"source\":\"server\",\"message\":\"Unexpected non-whitespace character after JSON at position 444\",\"stack\":\"SyntaxError: Unexpected non-whitespace character after JSON at position 444\\n    at JSON.parse (\\u003canonymous\\u003e)\\n    at loadManifest (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/load-manifest.external.js:43:25)\\n    at loadManifestFromRelativePath (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/load-manifest.external.js:84:16)\\n    at PagesRouteModule.loadManifests (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/compiled/next-server/pages.runtime.dev.js:1:134920)\\n    at PagesRouteModule.prepare (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/compiled/next-server/pages.runtime.dev.js:1:142472)\\n    at async handler (webpack-internal:///(pages-dir-node)/./node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES\\u0026page=%2F_error\\u0026preferredRegion=\\u0026absolutePagePath=private-next-pages%2F_error\\u0026absoluteAppPath=private-next-pages%2F_app\\u0026absoluteDocumentPath=private-next-pages%2F_document\\u0026middlewareConfigBase64=e30%3D!:143:27)\\n    at async doRender (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:1589:34)\\n    at async DevServer.renderToResponseWithComponentsImpl (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:1931:13)\\n    at async DevServer.renderErrorToResponseImpl (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:2648:24)\\n    at async pipe.req.req (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:2514:30)\\n    at async DevServer.pipeImpl (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:1033:25)\\n    at async NextNodeServer.handleCatchallRenderRequest (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/next-server.js:406:21)\\n    at async DevServer.handleRequestImpl (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:924:17)\\n    at async /tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/dev/next-dev-server.js:398:20\\n    at async Span.traceAsyncFn (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/trace/trace.js:157:20)\"},\"gip\":true,\"scriptLoader\":[]}</script></body></html>"

  1197 |             retry(async () => {
  1198 |               const html = await renderViaHTTP(next.url, '/')
> 1199 |               expect(html).toMatch(/Additional keys were returned/)
       |                            ^
  1200 |             })
  1201 |         )
  1202 |       })

  at toMatch (e2e/prerender.test.ts:1199:28)
  at retry (lib/next-test-utils.ts:768:14)
  at NextDevInstance.patchFile (lib/next-modes/base.ts:614:9)
  at NextDevInstance.patchFile (lib/next-modes/next-dev.ts:202:16)
  at Object.<anonymous> (e2e/prerender.test.ts:1193:9)

● Prerender › should error on dynamic page without getStaticPaths

expect(received).toMatch(expected)

Expected pattern: /getStaticPaths is required for dynamic SSG pages and is missing for/
Received string:  "<!DOCTYPE html><html><head><meta charSet=\"utf-8\" data-next-head=\"\"/><meta name=\"viewport\" content=\"width=device-width\" data-next-head=\"\"/><style data-next-hide-fouc=\"true\">body{display:none}</style><noscript data-next-hide-fouc=\"true\"><style>body{display:block}</style></noscript><noscript data-n-css=\"\"></noscript><script defer=\"\" noModule=\"\" src=\"/_next/static/chunks/polyfills.js\"></script><script src=\"/_next/static/chunks/fallback/webpack.js\" defer=\"\"></script><script src=\"/_next/static/chunks/fallback/main.js\" defer=\"\"></script><script src=\"/_next/static/chunks/fallback/pages/_app.js\" defer=\"\"></script><script src=\"/_next/static/chunks/fallback/pages/_error.js\" defer=\"\"></script><noscript id=\"__next_css__DO_NOT_USE__\"></noscript></head><body><div id=\"__next\"></div><script src=\"/_next/static/chunks/fallback/react-refresh.js\"></script><script id=\"__NEXT_DATA__\" type=\"application/json\">{\"props\":{\"pageProps\":{\"statusCode\":500,\"hostname\":\"localhost\"}},\"page\":\"/_error\",\"query\":{},\"buildId\":\"development\",\"isFallback\":false,\"err\":{\"name\":\"SyntaxError\",\"source\":\"server\",\"message\":\"Unexpected non-whitespace character after JSON at position 444\",\"stack\":\"SyntaxError: Unexpected non-whitespace character after JSON at position 444\\n    at JSON.parse (\\u003canonymous\\u003e)\\n    at loadManifest (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/load-manifest.external.js:43:25)\\n    at loadManifestFromRelativePath (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/load-manifest.external.js:84:16)\\n    at PagesRouteModule.loadManifests (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/compiled/next-server/pages.runtime.dev.js:1:134920)\\n    at PagesRouteModule.prepare (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/compiled/next-server/pages.runtime.dev.js:1:142472)\\n    at async handler (webpack-internal:///(pages-dir-node)/./node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES\\u0026page=%2F_error\\u0026preferredRegion=\\u0026absolutePagePath=private-next-pages%2F_error\\u0026absoluteAppPath=private-next-pages%2F_app\\u0026absoluteDocumentPath=private-next-pages%2F_document\\u0026middlewareConfigBase64=e30%3D!:143:27)\\n    at async doRender (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:1589:34)\\n    at async DevServer.renderToResponseWithComponentsImpl (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:1931:13)\\n    at async DevServer.renderErrorToResponseImpl (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:2648:24)\\n    at async pipe.req.req (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:2514:30)\\n    at async DevServer.pipeImpl (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:1033:25)\\n    at async NextNodeServer.handleCatchallRenderRequest (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/next-server.js:406:21)\\n    at async DevServer.handleRequestImpl (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:924:17)\\n    at async /tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/dev/next-dev-server.js:398:20\\n    at async Span.traceAsyncFn (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/trace/trace.js:157:20)\"},\"gip\":true,\"scriptLoader\":[]}</script></body></html>"

  1218 |             retry(async () => {
  1219 |               const html = await renderViaHTTP(next.url, '/temp/hello')
> 1220 |               expect(html).toMatch(
       |                            ^
  1221 |                 /getStaticPaths is required for dynamic SSG pages and is missing for/
  1222 |               )
  1223 |             })

  at toMatch (e2e/prerender.test.ts:1220:28)
  at retry (lib/next-test-utils.ts:768:14)
  at NextDevInstance.patchFile (lib/next-modes/base.ts:614:9)
  at NextDevInstance.patchFile (lib/next-modes/next-dev.ts:202:16)
  at Object.<anonymous> (e2e/prerender.test.ts:1205:9)

● Prerender › should error on dynamic page without getStaticPaths returning fallback property

expect(received).toMatch(expected)

Expected pattern: /`fallback` key must be returned from/
Received string:  "<!DOCTYPE html><html><head><meta charSet=\"utf-8\" data-next-head=\"\"/><meta name=\"viewport\" content=\"width=device-width\" data-next-head=\"\"/><style data-next-hide-fouc=\"true\">body{display:none}</style><noscript data-next-hide-fouc=\"true\"><style>body{display:block}</style></noscript><noscript data-n-css=\"\"></noscript><script defer=\"\" noModule=\"\" src=\"/_next/static/chunks/polyfills.js\"></script><script src=\"/_next/static/chunks/fallback/webpack.js\" defer=\"\"></script><script src=\"/_next/static/chunks/fallback/main.js\" defer=\"\"></script><script src=\"/_next/static/chunks/fallback/pages/_app.js\" defer=\"\"></script><script src=\"/_next/static/chunks/fallback/pages/_error.js\" defer=\"\"></script><noscript id=\"__next_css__DO_NOT_USE__\"></noscript></head><body><div id=\"__next\"></div><script src=\"/_next/static/chunks/fallback/react-refresh.js\"></script><script id=\"__NEXT_DATA__\" type=\"application/json\">{\"props\":{\"pageProps\":{\"statusCode\":500,\"hostname\":\"localhost\"}},\"page\":\"/_error\",\"query\":{},\"buildId\":\"development\",\"isFallback\":false,\"err\":{\"name\":\"SyntaxError\",\"source\":\"server\",\"message\":\"Unexpected non-whitespace character after JSON at position 444\",\"stack\":\"SyntaxError: Unexpected non-whitespace character after JSON at position 444\\n    at JSON.parse (\\u003canonymous\\u003e)\\n    at loadManifest (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/load-manifest.external.js:43:25)\\n    at loadManifestFromRelativePath (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/load-manifest.external.js:84:16)\\n    at PagesRouteModule.loadManifests (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/compiled/next-server/pages.runtime.dev.js:1:134920)\\n    at PagesRouteModule.prepare (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/compiled/next-server/pages.runtime.dev.js:1:142472)\\n    at async handler (webpack-internal:///(pages-dir-node)/./node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES\\u0026page=%2F_error\\u0026preferredRegion=\\u0026absolutePagePath=private-next-pages%2F_error\\u0026absoluteAppPath=private-next-pages%2F_app\\u0026absoluteDocumentPath=private-next-pages%2F_document\\u0026middlewareConfigBase64=e30%3D!:143:27)\\n    at async doRender (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:1589:34)\\n    at async DevServer.renderToResponseWithComponentsImpl (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:1931:13)\\n    at async DevServer.renderErrorToResponseImpl (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:2648:24)\\n    at async pipe.req.req (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:2514:30)\\n    at async DevServer.pipeImpl (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:1033:25)\\n    at async NextNodeServer.handleCatchallRenderRequest (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/next-server.js:406:21)\\n    at async DevServer.handleRequestImpl (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:924:17)\\n    at async /tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/dev/next-dev-server.js:398:20\\n    at async Span.traceAsyncFn (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/trace/trace.js:157:20)\"},\"gip\":true,\"scriptLoader\":[]}</script></body></html>"

  1246 |             retry(async () => {
  1247 |               const html = await renderViaHTTP(next.url, '/temp2/hello')
> 1248 |               expect(html).toMatch(/`fallback` key must be returned from/)
       |                            ^
  1249 |             })
  1250 |         )
  1251 |       })

  at toMatch (e2e/prerender.test.ts:1248:28)
  at retry (lib/next-test-utils.ts:768:14)
  at NextDevInstance.patchFile (lib/next-modes/base.ts:614:9)
  at NextDevInstance.patchFile (lib/next-modes/next-dev.ts:202:16)
  at Object.<anonymous> (e2e/prerender.test.ts:1228:9)

● Prerender › should not re-call getStaticProps when updating query

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('#query')

  454 |   waitForElementByCss(selector: string, timeout = 10_000) {
  455 |     return this.startChain(async () => {
> 456 |       const el = await page.waitForSelector(selector, {
      |                             ^
  457 |         timeout,
  458 |         state: 'attached',
  459 |       })

  at waitForSelector (lib/browsers/playwright.ts:456:29)
  at Playwright._chain (lib/browsers/playwright.ts:568:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:549:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:455:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:375:17)
  at Object.elementByCss (e2e/prerender.test.ts:1257:37)
  at Proxy._chain (lib/browsers/playwright.ts:568:23)
  at Proxy._chain (lib/browsers/playwright.ts:544:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:387:17)
  at Object.text (e2e/prerender.test.ts:1257:60)

● Prerender › should show fallback before invalid JSON is returned from getStaticProps

expect(received).toContain(expected) // indexOf

Expected substring: "\"isFallback\":true"
Received string:    "<!DOCTYPE html><html><head><meta charSet=\"utf-8\" data-next-head=\"\"/><meta name=\"viewport\" content=\"width=device-width\" data-next-head=\"\"/><style data-next-hide-fouc=\"true\">body{display:none}</style><noscript data-next-hide-fouc=\"true\"><style>body{display:block}</style></noscript><noscript data-n-css=\"\"></noscript><script defer=\"\" noModule=\"\" src=\"/_next/static/chunks/polyfills.js\"></script><script src=\"/_next/static/chunks/fallback/webpack.js\" defer=\"\"></script><script src=\"/_next/static/chunks/fallback/main.js\" defer=\"\"></script><script src=\"/_next/static/chunks/fallback/pages/_app.js\" defer=\"\"></script><script src=\"/_next/static/chunks/fallback/pages/_error.js\" defer=\"\"></script><noscript id=\"__next_css__DO_NOT_USE__\"></noscript></head><body><div id=\"__next\"></div><script src=\"/_next/static/chunks/fallback/react-refresh.js\"></script><script id=\"__NEXT_DATA__\" type=\"application/json\">{\"props\":{\"pageProps\":{\"statusCode\":500,\"hostname\":\"localhost\"}},\"page\":\"/_error\",\"query\":{},\"buildId\":\"development\",\"isFallback\":false,\"err\":{\"name\":\"SyntaxError\",\"source\":\"server\",\"message\":\"Unexpected non-whitespace character after JSON at position 444\",\"stack\":\"SyntaxError: Unexpected non-whitespace character after JSON at position 444\\n    at JSON.parse (\\u003canonymous\\u003e)\\n    at loadManifest (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/load-manifest.external.js:43:25)\\n    at loadManifestFromRelativePath (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/load-manifest.external.js:84:16)\\n    at PagesRouteModule.loadManifests (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/compiled/next-server/pages.runtime.dev.js:1:134920)\\n    at PagesRouteModule.prepare (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/compiled/next-server/pages.runtime.dev.js:1:142472)\\n    at async handler (webpack-internal:///(pages-dir-node)/./node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES\\u0026page=%2F_error\\u0026preferredRegion=\\u0026absolutePagePath=private-next-pages%2F_error\\u0026absoluteAppPath=private-next-pages%2F_app\\u0026absoluteDocumentPath=private-next-pages%2F_document\\u0026middlewareConfigBase64=e30%3D!:143:27)\\n    at async doRender (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:1589:34)\\n    at async DevServer.renderToResponseWithComponentsImpl (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:1931:13)\\n    at async DevServer.renderErrorToResponseImpl (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:2648:24)\\n    at async pipe.req.req (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:2514:30)\\n    at async DevServer.pipeImpl (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:1033:25)\\n    at async NextNodeServer.handleCatchallRenderRequest (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/next-server.js:406:21)\\n    at async DevServer.handleRequestImpl (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/base-server.js:924:17)\\n    at async /tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/server/dev/next-dev-server.js:398:20\\n    at async Span.traceAsyncFn (/tmp/next-install-040055d52362b7de89e8b4568f10ff64e59d5cd6282d53b055b185b67ecbaad6/node_modules/.pnpm/next@file+..+next-repo-994fabd4a011bffbb7c05b9b3c6cd257a41c1d5c86ca7d4df0d2d2fc5d53b622_20f3c5ed88019aa531094f5e1e814a02/node_modules/next/dist/trace/trace.js:157:20)\"},\"gip\":true,\"scriptLoader\":[]}</script></body></html>"

  1270 |       it('should show fallback before invalid JSON is returned from getStaticProps', async () => {
  1271 |         const html = await renderViaHTTP(next.url, '/non-json/foobar')
> 1272 |         expect(html).toContain('"isFallback":true')
       |                      ^
  1273 |       })
  1274 |
  1275 |       it('should not fallback before invalid JSON is returned from getStaticProps when blocking fallback', async () => {

  at Object.toContain (e2e/prerender.test.ts:1272:22)

● Prerender › should show error for invalid JSON returned from getStaticProps on SSR

expect(received).toMatch(expected)

Expected pattern: /Failed to load static props/
Received string:  "Runtime SyntaxError·
Unexpected non-whitespace character after JSON at position 444"

  1288 |         // FIXME: disable this
  1289 |         await assertHasRedbox(browser)
> 1290 |         expect(await getRedboxHeader(browser)).toMatch(
       |                                                ^
  1291 |           /Failed to load static props/
  1292 |         )
  1293 |       })

  at Object.toMatch (e2e/prerender.test.ts:1290:48)

● Prerender › should show error for invalid JSON returned from getStaticProps on CST

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('#non-json')

  454 |   waitForElementByCss(selector: string, timeout = 10_000) {
  455 |     return this.startChain(async () => {
> 456 |       const el = await page.waitForSelector(selector, {
      |                             ^
  457 |         timeout,
  458 |         state: 'attached',
  459 |       })

  at waitForSelector (lib/browsers/playwright.ts:456:29)
  at Playwright._chain (lib/browsers/playwright.ts:568:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:549:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:455:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:375:17)
  at Object.elementByCss (e2e/prerender.test.ts:1297:23)
  at Proxy._chain (lib/browsers/playwright.ts:568:23)
  at Proxy._chain (lib/browsers/playwright.ts:544:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:425:17)
  at Object.click (e2e/prerender.test.ts:1297:49)

● Prerender › should respond for catch-all deep folder

expect(received).toBe(expected) // Object.is equality

Expected: 200
Received: 500

  2531 |         `/_next/data/${next.buildId}/catchall/first/second/third.json`
  2532 |       )
> 2533 |       expect(res.status).toBe(200)
       |                          ^
  2534 |       expect(await res.text()).toContain('["first","second","third"]')
  2535 |     })
  2536 |

  at Object.toBe (e2e/prerender.test.ts:2533:26)

Read more about building and testing Next.js in contributing.md.

pnpm test-dev test/development/tsconfig-path-reloading/index.test.ts

  • tsconfig-path-reloading > tsconfig added after starting dev > should automatically fast refresh content when path is added without error
Expand output

● tsconfig-path-reloading › tsconfig added after starting dev › should automatically fast refresh content when path is added without error

expect(received).toBe(expected) // Object.is equality

Expected: true
Received: false

  171 |         await retry(async () => {
  172 |           const html3 = await browser.eval('document.documentElement.innerHTML')
> 173 |           expect(html3.includes('first button')).toBe(true)
      |                                                  ^
  174 |           expect(html3.includes('third button')).toBe(false)
  175 |         })
  176 |       }

  at toBe (development/tsconfig-path-reloading/index.test.ts:173:50)
  at retry (lib/next-test-utils.ts:768:14)
  at Object.<anonymous> (development/tsconfig-path-reloading/index.test.ts:171:9)

Read more about building and testing Next.js in contributing.md.

@wyattjoh wyattjoh closed this Jun 19, 2025
@wyattjoh wyattjoh reopened this Jun 19, 2025
@ijjk
Copy link
Member

ijjk commented Jun 19, 2025

Stats from current PR

Default Build (Increase detected ⚠️)
General
vercel/next.js canary vercel/next.js test/deprecate-check Change
buildDuration 23.5s 21.1s N/A
buildDurationCached 20.4s 18.2s N/A
nodeModulesSize 438 MB 438 MB
nextStartRea..uration (ms) 497ms 461ms N/A
Client Bundles (main, webpack) Overall increase ⚠️
vercel/next.js canary vercel/next.js test/deprecate-check Change
194b18f3-HASH.js gzip 54.1 kB 54.1 kB N/A
2192.HASH.js gzip 169 B 169 B
4719-HASH.js gzip 5.47 kB 5.44 kB N/A
6236-HASH.js gzip 44.6 kB 45.1 kB ⚠️ +543 B
framework-HASH.js gzip 57.4 kB 57.4 kB N/A
main-app-HASH.js gzip 252 B 256 B N/A
main-HASH.js gzip 33.5 kB 33.5 kB N/A
webpack-HASH.js gzip 1.71 kB 1.71 kB N/A
Overall change 44.8 kB 45.3 kB ⚠️ +543 B
Legacy Client Bundles (polyfills)
vercel/next.js canary vercel/next.js test/deprecate-check Change
polyfills-HASH.js gzip 39.4 kB 39.4 kB
Overall change 39.4 kB 39.4 kB
Client Pages
vercel/next.js canary vercel/next.js test/deprecate-check Change
_app-HASH.js gzip 193 B 193 B
_error-HASH.js gzip 182 B 182 B
amp-HASH.js gzip 501 B 500 B N/A
css-HASH.js gzip 335 B 333 B N/A
dynamic-HASH.js gzip 1.83 kB 1.83 kB N/A
edge-ssr-HASH.js gzip 256 B 255 B N/A
head-HASH.js gzip 350 B 351 B N/A
hooks-HASH.js gzip 382 B 382 B
image-HASH.js gzip 4.68 kB 4.66 kB N/A
index-HASH.js gzip 259 B 259 B
link-HASH.js gzip 2.52 kB 2.52 kB N/A
routerDirect..HASH.js gzip 319 B 316 B N/A
script-HASH.js gzip 386 B 386 B
withRouter-HASH.js gzip 316 B 315 B N/A
1afbb74e6ecf..834.css gzip 106 B 106 B
Overall change 1.51 kB 1.51 kB
Client Build Manifests
vercel/next.js canary vercel/next.js test/deprecate-check Change
_buildManifest.js gzip 752 B 752 B
Overall change 752 B 752 B
Rendered Page Sizes
vercel/next.js canary vercel/next.js test/deprecate-check Change
index.html gzip 528 B 530 B N/A
link.html gzip 541 B 543 B N/A
withRouter.html gzip 524 B 526 B N/A
Overall change 0 B 0 B
Edge SSR bundle Size
vercel/next.js canary vercel/next.js test/deprecate-check Change
edge-ssr.js gzip 140 kB 140 kB N/A
page.js gzip 236 kB 230 kB N/A
Overall change 0 B 0 B
Middleware size
vercel/next.js canary vercel/next.js test/deprecate-check Change
middleware-b..fest.js gzip 675 B 675 B
middleware-r..fest.js gzip 155 B 157 B N/A
middleware.js gzip 32.4 kB 32.4 kB N/A
edge-runtime..pack.js gzip 853 B 853 B
Overall change 1.53 kB 1.53 kB
Next Runtimes
vercel/next.js canary vercel/next.js test/deprecate-check Change
app-page-exp...dev.js gzip 286 kB 286 kB N/A
app-page-exp..prod.js gzip 163 kB 163 kB
app-page-tur...dev.js gzip 287 kB 287 kB N/A
app-page-tur..prod.js gzip 163 kB 163 kB
app-page-tur...dev.js gzip 275 kB 275 kB N/A
app-page-tur..prod.js gzip 158 kB 158 kB
app-page.run...dev.js gzip 275 kB 275 kB N/A
app-page.run..prod.js gzip 158 kB 158 kB
app-route-ex...dev.js gzip 69.4 kB 69.4 kB
app-route-ex..prod.js gzip 47.7 kB 47.7 kB
app-route-tu...dev.js gzip 69.4 kB 69.4 kB
app-route-tu..prod.js gzip 47.8 kB 47.8 kB
app-route-tu...dev.js gzip 68.8 kB 68.8 kB
app-route-tu..prod.js gzip 47.4 kB 47.4 kB
app-route.ru...dev.js gzip 68.8 kB 68.8 kB
app-route.ru..prod.js gzip 47.4 kB 47.4 kB
dist_client_...dev.js gzip 326 B 326 B
dist_client_...dev.js gzip 328 B 328 B
dist_client_...dev.js gzip 320 B 320 B
dist_client_...dev.js gzip 318 B 318 B
pages-api-tu...dev.js gzip 42.6 kB 42.6 kB
pages-api-tu..prod.js gzip 31.8 kB 31.8 kB
pages-api.ru...dev.js gzip 42.6 kB 42.6 kB
pages-api.ru..prod.js gzip 31.8 kB 31.8 kB
pages-turbo....dev.js gzip 52.8 kB 52.8 kB
pages-turbo...prod.js gzip 39.2 kB 39.2 kB
pages.runtim...dev.js gzip 52.9 kB 52.9 kB
pages.runtim..prod.js gzip 39.3 kB 39.3 kB
server.runti..prod.js gzip 63.8 kB 63.8 kB
Overall change 1.51 MB 1.51 MB
build cache Overall increase ⚠️
vercel/next.js canary vercel/next.js test/deprecate-check Change
0.pack gzip 3.92 MB 3.92 MB ⚠️ +673 B
index.pack gzip 90.8 kB 92.6 kB ⚠️ +1.83 kB
Overall change 4.01 MB 4.01 MB ⚠️ +2.5 kB
Diff details
Diff for page.js

Diff too large to display

Diff for middleware.js

Diff too large to display

Diff for edge-ssr.js
failed to diff
Diff for css-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [9813],
   {
-    /***/ 1586: /***/ (
+    /***/ 2628: /***/ (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/css",
         function () {
-          return __webpack_require__(4362);
+          return __webpack_require__(8707);
         },
       ]);
       if (false) {
@@ -18,14 +18,7 @@
       /***/
     },
 
-    /***/ 4350: /***/ (module) => {
-      // extracted by mini-css-extract-plugin
-      module.exports = { helloWorld: "css_helloWorld__aUdUq" };
-
-      /***/
-    },
-
-    /***/ 4362: /***/ (
+    /***/ 8707: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -39,7 +32,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(5640);
       /* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(4350);
+        __webpack_require__(9080);
       /* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           _css_module_css__WEBPACK_IMPORTED_MODULE_1__
@@ -58,13 +51,20 @@
 
       /***/
     },
+
+    /***/ 9080: /***/ (module) => {
+      // extracted by mini-css-extract-plugin
+      module.exports = { helloWorld: "css_helloWorld__aUdUq" };
+
+      /***/
+    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(1586)
+      __webpack_exec__(2628)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for dynamic-HASH.js
@@ -1,17 +1,117 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [2291],
   {
-    /***/ 283: /***/ (
+    /***/ 2001: /***/ (
+      __unused_webpack_module,
+      __webpack_exports__,
+      __webpack_require__
+    ) => {
+      "use strict";
+      __webpack_require__.r(__webpack_exports__);
+      /* harmony export */ __webpack_require__.d(__webpack_exports__, {
+        /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,
+        /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,
+        /* harmony export */
+      });
+      /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
+        __webpack_require__(5640);
+      /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
+        __webpack_require__(9553);
+      /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =
+        /*#__PURE__*/ __webpack_require__.n(
+          next_dynamic__WEBPACK_IMPORTED_MODULE_1__
+        );
+
+      const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
+        () =>
+          __webpack_require__
+            .e(/* import() */ 8042)
+            .then(__webpack_require__.bind(__webpack_require__, 8042))
+            .then((mod) => mod.Hello),
+        {
+          loadableGenerated: {
+            webpack: () => [/*require.resolve*/ 8042],
+          },
+        }
+      );
+      const Page = () =>
+        /*#__PURE__*/ (0, react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(
+          react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment,
+          {
+            children: [
+              /*#__PURE__*/ (0,
+              react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", {
+                children: "testing next/dynamic size",
+              }),
+              /*#__PURE__*/ (0,
+              react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(
+                DynamicHello,
+                {}
+              ),
+            ],
+          }
+        );
+      var __N_SSP = true;
+      /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = Page;
+
+      /***/
+    },
+
+    /***/ 2976: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/dynamic",
+        function () {
+          return __webpack_require__(2001);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
+
+    /***/ 7807: /***/ (
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) => {
+      "use strict";
+      /* __next_internal_client_entry_do_not_use__  cjs */
+      Object.defineProperty(exports, "__esModule", {
+        value: true,
+      });
+      Object.defineProperty(exports, "LoadableContext", {
+        enumerable: true,
+        get: function () {
+          return LoadableContext;
+        },
+      });
+      const _interop_require_default = __webpack_require__(1532);
+      const _react = /*#__PURE__*/ _interop_require_default._(
+        __webpack_require__(148)
+      );
+      const LoadableContext = _react.default.createContext(null);
+      if (false) {
+      } //# sourceMappingURL=loadable-context.shared-runtime.js.map
+
+      /***/
+    },
+
+    /***/ 9553: /***/ (
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) => {
-      module.exports = __webpack_require__(6990);
+      module.exports = __webpack_require__(9986);
 
       /***/
     },
 
-    /***/ 505: /***/ (
+    /***/ 9829: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -53,7 +153,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
       const _react = /*#__PURE__*/ _interop_require_default._(
         __webpack_require__(148)
       );
-      const _loadablecontextsharedruntime = __webpack_require__(6179);
+      const _loadablecontextsharedruntime = __webpack_require__(7807);
       function resolve(obj) {
         return obj && obj.default ? obj.default : obj;
       }
@@ -288,90 +388,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
       /***/
     },
 
-    /***/ 5703: /***/ (
-      __unused_webpack_module,
-      __webpack_exports__,
-      __webpack_require__
-    ) => {
-      "use strict";
-      __webpack_require__.r(__webpack_exports__);
-      /* harmony export */ __webpack_require__.d(__webpack_exports__, {
-        /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,
-        /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,
-        /* harmony export */
-      });
-      /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
-        __webpack_require__(5640);
-      /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(283);
-      /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =
-        /*#__PURE__*/ __webpack_require__.n(
-          next_dynamic__WEBPACK_IMPORTED_MODULE_1__
-        );
-
-      const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
-        () =>
-          __webpack_require__
-            .e(/* import() */ 2192)
-            .then(__webpack_require__.bind(__webpack_require__, 2192))
-            .then((mod) => mod.Hello),
-        {
-          loadableGenerated: {
-            webpack: () => [/*require.resolve*/ 2192],
-          },
-        }
-      );
-      const Page = () =>
-        /*#__PURE__*/ (0, react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(
-          react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment,
-          {
-            children: [
-              /*#__PURE__*/ (0,
-              react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", {
-                children: "testing next/dynamic size",
-              }),
-              /*#__PURE__*/ (0,
-              react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(
-                DynamicHello,
-                {}
-              ),
-            ],
-          }
-        );
-      var __N_SSP = true;
-      /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = Page;
-
-      /***/
-    },
-
-    /***/ 6179: /***/ (
-      __unused_webpack_module,
-      exports,
-      __webpack_require__
-    ) => {
-      "use strict";
-      /* __next_internal_client_entry_do_not_use__  cjs */
-      Object.defineProperty(exports, "__esModule", {
-        value: true,
-      });
-      Object.defineProperty(exports, "LoadableContext", {
-        enumerable: true,
-        get: function () {
-          return LoadableContext;
-        },
-      });
-      const _interop_require_default = __webpack_require__(1532);
-      const _react = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(148)
-      );
-      const LoadableContext = _react.default.createContext(null);
-      if (false) {
-      } //# sourceMappingURL=loadable-context.shared-runtime.js.map
-
-      /***/
-    },
-
-    /***/ 6990: /***/ (module, exports, __webpack_require__) => {
+    /***/ 9986: /***/ (module, exports, __webpack_require__) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -404,7 +421,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
         __webpack_require__(148)
       );
       const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(505)
+        __webpack_require__(9829)
       );
       const isServerSide = "object" === "undefined";
       // Normalize loader to return the module as form { default: Component } for `React.lazy`.
@@ -504,30 +521,13 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
 
       /***/
     },
-
-    /***/ 9254: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/dynamic",
-        function () {
-          return __webpack_require__(5703);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(9254)
+      __webpack_exec__(2976)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for hooks-HASH.js
@@ -1,24 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [9804],
   {
-    /***/ 1664: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/hooks",
-        function () {
-          return __webpack_require__(6130);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
-
-    /***/ 6130: /***/ (
+    /***/ 4756: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -76,13 +59,30 @@
 
       /***/
     },
+
+    /***/ 5426: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/hooks",
+        function () {
+          return __webpack_require__(4756);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(1664)
+      __webpack_exec__(5426)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for image-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [2983],
   {
-    /***/ 2198: /***/ (
+    /***/ 264: /***/ (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/image",
         function () {
-          return __webpack_require__(3444);
+          return __webpack_require__(3594);
         },
       ]);
       if (false) {
@@ -18,7 +18,190 @@
       /***/
     },
 
-    /***/ 2514: /***/ (
+    /***/ 1206: /***/ (__unused_webpack_module, exports) => {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true,
+      });
+      Object.defineProperty(exports, "default", {
+        enumerable: true,
+        get: function () {
+          return _default;
+        },
+      });
+      const DEFAULT_Q = 75;
+      function defaultLoader(param) {
+        let { config, src, width, quality } = param;
+        var _config_qualities;
+        if (false) {
+        }
+        const q =
+          quality ||
+          ((_config_qualities = config.qualities) == null
+            ? void 0
+            : _config_qualities.reduce((prev, cur) =>
+                Math.abs(cur - DEFAULT_Q) < Math.abs(prev - DEFAULT_Q)
+                  ? cur
+                  : prev
+              )) ||
+          DEFAULT_Q;
+        return (
+          config.path +
+          "?url=" +
+          encodeURIComponent(src) +
+          "&w=" +
+          width +
+          "&q=" +
+          q +
+          (src.startsWith("/_next/static/media/") && false ? 0 : "")
+        );
+      }
+      // We use this to determine if the import is the default loader
+      // or a custom loader defined by the user in next.config.js
+      defaultLoader.__next_img_default = true;
+      const _default = defaultLoader; //# sourceMappingURL=image-loader.js.map
+
+      /***/
+    },
+
+    /***/ 1765: /***/ (module, exports, __webpack_require__) => {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true,
+      });
+      Object.defineProperty(exports, "useMergedRef", {
+        enumerable: true,
+        get: function () {
+          return useMergedRef;
+        },
+      });
+      const _react = __webpack_require__(148);
+      function useMergedRef(refA, refB) {
+        const cleanupA = (0, _react.useRef)(null);
+        const cleanupB = (0, _react.useRef)(null);
+        // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.
+        // (this happens often if the user doesn't pass a ref to Link/Form/Image)
+        // But this can cause us to leak a cleanup-ref into user code (e.g. via `<Link legacyBehavior>`),
+        // and the user might pass that ref into ref-merging library that doesn't support cleanup refs
+        // (because it hasn't been updated for React 19)
+        // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.
+        // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.
+        return (0, _react.useCallback)(
+          (current) => {
+            if (current === null) {
+              const cleanupFnA = cleanupA.current;
+              if (cleanupFnA) {
+                cleanupA.current = null;
+                cleanupFnA();
+              }
+              const cleanupFnB = cleanupB.current;
+              if (cleanupFnB) {
+                cleanupB.current = null;
+                cleanupFnB();
+              }
+            } else {
+              if (refA) {
+                cleanupA.current = applyRef(refA, current);
+              }
+              if (refB) {
+                cleanupB.current = applyRef(refB, current);
+              }
+            }
+          },
+          [refA, refB]
+        );
+      }
+      function applyRef(refA, current) {
+        if (typeof refA === "function") {
+          const cleanup = refA(current);
+          if (typeof cleanup === "function") {
+            return cleanup;
+          } else {
+            return () => refA(null);
+          }
+        } else {
+          refA.current = current;
+          return () => {
+            refA.current = null;
+          };
+        }
+      }
+      if (
+        (typeof exports.default === "function" ||
+          (typeof exports.default === "object" && exports.default !== null)) &&
+        typeof exports.default.__esModule === "undefined"
+      ) {
+        Object.defineProperty(exports.default, "__esModule", {
+          value: true,
+        });
+        Object.assign(exports.default, exports);
+        module.exports = exports.default;
+      } //# sourceMappingURL=use-merged-ref.js.map
+
+      /***/
+    },
+
+    /***/ 3353: /***/ (
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      module.exports = __webpack_require__(5526);
+
+      /***/
+    },
+
+    /***/ 3594: /***/ (
+      __unused_webpack_module,
+      __webpack_exports__,
+      __webpack_require__
+    ) => {
+      "use strict";
+      // ESM COMPAT FLAG
+      __webpack_require__.r(__webpack_exports__);
+
+      // EXPORTS
+      __webpack_require__.d(__webpack_exports__, {
+        __N_SSP: () => /* binding */ __N_SSP,
+        default: () => /* binding */ pages_image,
+      });
+
+      // EXTERNAL MODULE: ./node_modules/.pnpm/[email protected]/node_modules/react/jsx-runtime.js
+      var jsx_runtime = __webpack_require__(5640);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@[email protected][email protected][email protected]/node_modules/next/image.js
+      var next_image = __webpack_require__(3353);
+      var image_default = /*#__PURE__*/ __webpack_require__.n(next_image); // ./pages/nextjs.png
+      /* harmony default export */ const nextjs = {
+        src: "/_next/static/media/nextjs.cae0b805.png",
+        height: 1347,
+        width: 1626,
+        blurDataURL:
+          "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAMAAAACh/xsAAAAD1BMVEX////x8fH6+vrb29vo6Oh8o70bAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAH0lEQVR4nGNgwARMjIyMjCAGCzMzMwsTRISJCcRABwAEcAAkLCQfgAAAAABJRU5ErkJggg==",
+        blurWidth: 8,
+        blurHeight: 7,
+      }; // ./pages/image.js
+      function ImagePage(props) {
+        return /*#__PURE__*/ (0, jsx_runtime.jsxs)(jsx_runtime.Fragment, {
+          children: [
+            /*#__PURE__*/ (0, jsx_runtime.jsx)("h1", {
+              children: "next/image example",
+            }),
+            /*#__PURE__*/ (0, jsx_runtime.jsx)(image_default(), {
+              src: nextjs,
+              placeholder: "blur",
+            }),
+          ],
+        });
+      }
+      var __N_SSP = true;
+      /* harmony default export */ const pages_image = ImagePage;
+
+      /***/
+    },
+
+    /***/ 3854: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -34,9 +217,9 @@
           return getImgProps;
         },
       });
-      const _warnonce = __webpack_require__(5127);
-      const _imageblursvg = __webpack_require__(4287);
-      const _imageconfig = __webpack_require__(2795);
+      const _warnonce = __webpack_require__(3603);
+      const _imageblursvg = __webpack_require__(7835);
+      const _imageconfig = __webpack_require__(6799);
       const VALID_LOADING_VALUES =
         /* unused pure expression or super */ null && [
           "lazy",
@@ -463,55 +646,69 @@
       /***/
     },
 
-    /***/ 3444: /***/ (
+    /***/ 5526: /***/ (
       __unused_webpack_module,
-      __webpack_exports__,
+      exports,
       __webpack_require__
     ) => {
       "use strict";
-      // ESM COMPAT FLAG
-      __webpack_require__.r(__webpack_exports__);
 
-      // EXPORTS
-      __webpack_require__.d(__webpack_exports__, {
-        __N_SSP: () => /* binding */ __N_SSP,
-        default: () => /* binding */ pages_image,
+      Object.defineProperty(exports, "__esModule", {
+        value: true,
       });
-
-      // EXTERNAL MODULE: ./node_modules/.pnpm/[email protected]/node_modules/react/jsx-runtime.js
-      var jsx_runtime = __webpack_require__(5640);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@[email protected][email protected][email protected]/node_modules/next/image.js
-      var next_image = __webpack_require__(6359);
-      var image_default = /*#__PURE__*/ __webpack_require__.n(next_image); // ./pages/nextjs.png
-      /* harmony default export */ const nextjs = {
-        src: "/_next/static/media/nextjs.cae0b805.png",
-        height: 1347,
-        width: 1626,
-        blurDataURL:
-          "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAMAAAACh/xsAAAAD1BMVEX////x8fH6+vrb29vo6Oh8o70bAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAH0lEQVR4nGNgwARMjIyMjCAGCzMzMwsTRISJCcRABwAEcAAkLCQfgAAAAABJRU5ErkJggg==",
-        blurWidth: 8,
-        blurHeight: 7,
-      }; // ./pages/image.js
-      function ImagePage(props) {
-        return /*#__PURE__*/ (0, jsx_runtime.jsxs)(jsx_runtime.Fragment, {
-          children: [
-            /*#__PURE__*/ (0, jsx_runtime.jsx)("h1", {
-              children: "next/image example",
-            }),
-            /*#__PURE__*/ (0, jsx_runtime.jsx)(image_default(), {
-              src: nextjs,
-              placeholder: "blur",
-            }),
-          ],
+      0 && 0;
+      function _export(target, all) {
+        for (var name in all)
+          Object.defineProperty(target, name, {
+            enumerable: true,
+            get: all[name],
+          });
+      }
+      _export(exports, {
+        default: function () {
+          return _default;
+        },
+        getImageProps: function () {
+          return getImageProps;
+        },
+      });
+      const _interop_require_default = __webpack_require__(1532);
+      const _getimgprops = __webpack_require__(3854);
+      const _imagecomponent = __webpack_require__(8350);
+      const _imageloader = /*#__PURE__*/ _interop_require_default._(
+        __webpack_require__(1206)
+      );
+      function getImageProps(imgProps) {
+        const { props } = (0, _getimgprops.getImgProps)(imgProps, {
+          defaultLoader: _imageloader.default,
+          // This is replaced by webpack define plugin
+          imgConf: {
+            deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
+            imageSizes: [16, 32, 48, 64, 96, 128, 256, 384],
+            path: "/_next/image",
+            loader: "default",
+            dangerouslyAllowSVG: false,
+            unoptimized: false,
+          },
         });
+        // Normally we don't care about undefined props because we pass to JSX,
+        // but this exported function could be used by the end user for anything
+        // so we delete undefined props to clean it up a little.
+        for (const [key, value] of Object.entries(props)) {
+          if (value === undefined) {
+            delete props[key];
+          }
+        }
+        return {
+          props,
+        };
       }
-      var __N_SSP = true;
-      /* harmony default export */ const pages_image = ImagePage;
+      const _default = _imagecomponent.Image; //# sourceMappingURL=image-external.js.map
 
       /***/
     },
 
-    /***/ 4287: /***/ (__unused_webpack_module, exports) => {
+    /***/ 7835: /***/ (__unused_webpack_module, exports) => {
       "use strict";
       /**
        * A shared function, used on both client and server, to generate a SVG blur placeholder.
@@ -566,85 +763,7 @@
       /***/
     },
 
-    /***/ 4985: /***/ (module, exports, __webpack_require__) => {
-      "use strict";
-
-      Object.defineProperty(exports, "__esModule", {
-        value: true,
-      });
-      Object.defineProperty(exports, "useMergedRef", {
-        enumerable: true,
-        get: function () {
-          return useMergedRef;
-        },
-      });
-      const _react = __webpack_require__(148);
-      function useMergedRef(refA, refB) {
-        const cleanupA = (0, _react.useRef)(null);
-        const cleanupB = (0, _react.useRef)(null);
-        // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.
-        // (this happens often if the user doesn't pass a ref to Link/Form/Image)
-        // But this can cause us to leak a cleanup-ref into user code (e.g. via `<Link legacyBehavior>`),
-        // and the user might pass that ref into ref-merging library that doesn't support cleanup refs
-        // (because it hasn't been updated for React 19)
-        // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.
-        // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.
-        return (0, _react.useCallback)(
-          (current) => {
-            if (current === null) {
-              const cleanupFnA = cleanupA.current;
-              if (cleanupFnA) {
-                cleanupA.current = null;
-                cleanupFnA();
-              }
-              const cleanupFnB = cleanupB.current;
-              if (cleanupFnB) {
-                cleanupB.current = null;
-                cleanupFnB();
-              }
-            } else {
-              if (refA) {
-                cleanupA.current = applyRef(refA, current);
-              }
-              if (refB) {
-                cleanupB.current = applyRef(refB, current);
-              }
-            }
-          },
-          [refA, refB]
-        );
-      }
-      function applyRef(refA, current) {
-        if (typeof refA === "function") {
-          const cleanup = refA(current);
-          if (typeof cleanup === "function") {
-            return cleanup;
-          } else {
-            return () => refA(null);
-          }
-        } else {
-          refA.current = current;
-          return () => {
-            refA.current = null;
-          };
-        }
-      }
-      if (
-        (typeof exports.default === "function" ||
-          (typeof exports.default === "object" && exports.default !== null)) &&
-        typeof exports.default.__esModule === "undefined"
-      ) {
-        Object.defineProperty(exports.default, "__esModule", {
-          value: true,
-        });
-        Object.assign(exports.default, exports);
-        module.exports = exports.default;
-      } //# sourceMappingURL=use-merged-ref.js.map
-
-      /***/
-    },
-
-    /***/ 5898: /***/ (module, exports, __webpack_require__) => {
+    /***/ 8350: /***/ (module, exports, __webpack_require__) => {
       "use strict";
       /* __next_internal_client_entry_do_not_use__  cjs */
       Object.defineProperty(exports, "__esModule", {
@@ -666,17 +785,17 @@
         __webpack_require__(7897)
       );
       const _head = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(5207)
+        __webpack_require__(8843)
       );
-      const _getimgprops = __webpack_require__(2514);
-      const _imageconfig = __webpack_require__(2795);
-      const _imageconfigcontextsharedruntime = __webpack_require__(2349);
-      const _warnonce = __webpack_require__(5127);
-      const _routercontextsharedruntime = __webpack_require__(3556);
+      const _getimgprops = __webpack_require__(3854);
+      const _imageconfig = __webpack_require__(6799);
+      const _imageconfigcontextsharedruntime = __webpack_require__(3905);
+      const _warnonce = __webpack_require__(3603);
+      const _routercontextsharedruntime = __webpack_require__(6712);
       const _imageloader = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(5970)
+        __webpack_require__(1206)
       );
-      const _usemergedref = __webpack_require__(4985);
+      const _usemergedref = __webpack_require__(1765);
       // This is replaced by webpack define plugin
       const configEnv = {
         deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
@@ -1001,132 +1120,13 @@
 
       /***/
     },
-
-    /***/ 5970: /***/ (__unused_webpack_module, exports) => {
-      "use strict";
-
-      Object.defineProperty(exports, "__esModule", {
-        value: true,
-      });
-      Object.defineProperty(exports, "default", {
-        enumerable: true,
-        get: function () {
-          return _default;
-        },
-      });
-      const DEFAULT_Q = 75;
-      function defaultLoader(param) {
-        let { config, src, width, quality } = param;
-        var _config_qualities;
-        if (false) {
-        }
-        const q =
-          quality ||
-          ((_config_qualities = config.qualities) == null
-            ? void 0
-            : _config_qualities.reduce((prev, cur) =>
-                Math.abs(cur - DEFAULT_Q) < Math.abs(prev - DEFAULT_Q)
-                  ? cur
-                  : prev
-              )) ||
-          DEFAULT_Q;
-        return (
-          config.path +
-          "?url=" +
-          encodeURIComponent(src) +
-          "&w=" +
-          width +
-          "&q=" +
-          q +
-          (src.startsWith("/_next/static/media/") && false ? 0 : "")
-        );
-      }
-      // We use this to determine if the import is the default loader
-      // or a custom loader defined by the user in next.config.js
-      defaultLoader.__next_img_default = true;
-      const _default = defaultLoader; //# sourceMappingURL=image-loader.js.map
-
-      /***/
-    },
-
-    /***/ 6359: /***/ (
-      module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      module.exports = __webpack_require__(8986);
-
-      /***/
-    },
-
-    /***/ 8986: /***/ (
-      __unused_webpack_module,
-      exports,
-      __webpack_require__
-    ) => {
-      "use strict";
-
-      Object.defineProperty(exports, "__esModule", {
-        value: true,
-      });
-      0 && 0;
-      function _export(target, all) {
-        for (var name in all)
-          Object.defineProperty(target, name, {
-            enumerable: true,
-            get: all[name],
-          });
-      }
-      _export(exports, {
-        default: function () {
-          return _default;
-        },
-        getImageProps: function () {
-          return getImageProps;
-        },
-      });
-      const _interop_require_default = __webpack_require__(1532);
-      const _getimgprops = __webpack_require__(2514);
-      const _imagecomponent = __webpack_require__(5898);
-      const _imageloader = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(5970)
-      );
-      function getImageProps(imgProps) {
-        const { props } = (0, _getimgprops.getImgProps)(imgProps, {
-          defaultLoader: _imageloader.default,
-          // This is replaced by webpack define plugin
-          imgConf: {
-            deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
-            imageSizes: [16, 32, 48, 64, 96, 128, 256, 384],
-            path: "/_next/image",
-            loader: "default",
-            dangerouslyAllowSVG: false,
-            unoptimized: false,
-          },
-        });
-        // Normally we don't care about undefined props because we pass to JSX,
-        // but this exported function could be used by the end user for anything
-        // so we delete undefined props to clean it up a little.
-        for (const [key, value] of Object.entries(props)) {
-          if (value === undefined) {
-            delete props[key];
-          }
-        }
-        return {
-          props,
-        };
-      }
-      const _default = _imagecomponent.Image; //# sourceMappingURL=image-external.js.map
-
-      /***/
-    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(2198)
+      __webpack_exec__(264)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for index-HASH.js
@@ -1,7 +1,24 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [3332],
   {
-    /***/ 9418: /***/ (
+    /***/ 8230: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/",
+        function () {
+          return __webpack_require__(8696);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
+
+    /***/ 8696: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -19,30 +36,13 @@
 
       /***/
     },
-
-    /***/ 9532: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/",
-        function () {
-          return __webpack_require__(9418);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(9532)
+      __webpack_exec__(8230)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for link-HASH.js
@@ -1,125 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [4672],
   {
-    /***/ 1854: /***/ (
-      __unused_webpack_module,
-      __webpack_exports__,
-      __webpack_require__
-    ) => {
-      "use strict";
-      __webpack_require__.r(__webpack_exports__);
-      /* harmony export */ __webpack_require__.d(__webpack_exports__, {
-        /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,
-        /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,
-        /* harmony export */
-      });
-      /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
-        __webpack_require__(5640);
-      /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(8770);
-      /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =
-        /*#__PURE__*/ __webpack_require__.n(
-          next_link__WEBPACK_IMPORTED_MODULE_1__
-        );
-
-      function aLink(props) {
-        return /*#__PURE__*/ (0,
-        react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
-          children: [
-            /*#__PURE__*/ (0,
-            react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h3", {
-              children: "A Link page!",
-            }),
-            /*#__PURE__*/ (0,
-            react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(
-              next_link__WEBPACK_IMPORTED_MODULE_1___default(),
-              {
-                href: "/",
-                children: "Go to /",
-              }
-            ),
-          ],
-        });
-      }
-      var __N_SSP = true;
-      /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = aLink;
-
-      /***/
-    },
-
-    /***/ 3199: /***/ (__unused_webpack_module, exports) => {
-      "use strict";
-
-      Object.defineProperty(exports, "__esModule", {
-        value: true,
-      });
-      Object.defineProperty(exports, "errorOnce", {
-        enumerable: true,
-        get: function () {
-          return errorOnce;
-        },
-      });
-      let errorOnce = (_) => {};
-      if (false) {
-      } //# sourceMappingURL=error-once.js.map
-
-      /***/
-    },
-
-    /***/ 3568: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/link",
-        function () {
-          return __webpack_require__(1854);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
-
-    /***/ 3857: /***/ (module, exports, __webpack_require__) => {
-      "use strict";
-
-      Object.defineProperty(exports, "__esModule", {
-        value: true,
-      });
-      Object.defineProperty(exports, "getDomainLocale", {
-        enumerable: true,
-        get: function () {
-          return getDomainLocale;
-        },
-      });
-      const _normalizetrailingslash = __webpack_require__(4869);
-      const basePath =
-        /* unused pure expression or super */ null && (false || "");
-      function getDomainLocale(path, locale, locales, domainLocales) {
-        if (false) {
-        } else {
-          return false;
-        }
-      }
-      if (
-        (typeof exports.default === "function" ||
-          (typeof exports.default === "object" && exports.default !== null)) &&
-        typeof exports.default.__esModule === "undefined"
-      ) {
-        Object.defineProperty(exports.default, "__esModule", {
-          value: true,
-        });
-        Object.assign(exports.default, exports);
-        module.exports = exports.default;
-      } //# sourceMappingURL=get-domain-locale.js.map
-
-      /***/
-    },
-
-    /***/ 3947: /***/ (module, exports, __webpack_require__) => {
+    /***/ 591: /***/ (module, exports, __webpack_require__) => {
       "use strict";
       /* __next_internal_client_entry_do_not_use__  cjs */
       Object.defineProperty(exports, "__esModule", {
@@ -146,17 +28,17 @@
       const _react = /*#__PURE__*/ _interop_require_wildcard._(
         __webpack_require__(148)
       );
-      const _resolvehref = __webpack_require__(3161);
-      const _islocalurl = __webpack_require__(2309);
-      const _formaturl = __webpack_require__(3768);
-      const _utils = __webpack_require__(5554);
-      const _addlocale = __webpack_require__(7591);
-      const _routercontextsharedruntime = __webpack_require__(3556);
-      const _useintersection = __webpack_require__(5624);
-      const _getdomainlocale = __webpack_require__(3857);
-      const _addbasepath = __webpack_require__(4356);
-      const _usemergedref = __webpack_require__(4985);
-      const _erroronce = __webpack_require__(3199);
+      const _resolvehref = __webpack_require__(5837);
+      const _islocalurl = __webpack_require__(5953);
+      const _formaturl = __webpack_require__(6212);
+      const _utils = __webpack_require__(6950);
+      const _addlocale = __webpack_require__(6467);
+      const _routercontextsharedruntime = __webpack_require__(6712);
+      const _useintersection = __webpack_require__(9692);
+      const _getdomainlocale = __webpack_require__(6850);
+      const _addbasepath = __webpack_require__(4928);
+      const _usemergedref = __webpack_require__(1765);
+      const _erroronce = __webpack_require__(8659);
       const prefetched = new Set();
       function prefetch(router, href, as, options) {
         if (false) {
@@ -545,7 +427,17 @@
       /***/
     },
 
-    /***/ 4985: /***/ (module, exports, __webpack_require__) => {
+    /***/ 1148: /***/ (
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      module.exports = __webpack_require__(591);
+
+      /***/
+    },
+
+    /***/ 1765: /***/ (module, exports, __webpack_require__) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -623,7 +515,125 @@
       /***/
     },
 
-    /***/ 5624: /***/ (module, exports, __webpack_require__) => {
+    /***/ 5436: /***/ (
+      __unused_webpack_module,
+      __webpack_exports__,
+      __webpack_require__
+    ) => {
+      "use strict";
+      __webpack_require__.r(__webpack_exports__);
+      /* harmony export */ __webpack_require__.d(__webpack_exports__, {
+        /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,
+        /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,
+        /* harmony export */
+      });
+      /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
+        __webpack_require__(5640);
+      /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =
+        __webpack_require__(1148);
+      /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =
+        /*#__PURE__*/ __webpack_require__.n(
+          next_link__WEBPACK_IMPORTED_MODULE_1__
+        );
+
+      function aLink(props) {
+        return /*#__PURE__*/ (0,
+        react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
+          children: [
+            /*#__PURE__*/ (0,
+            react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h3", {
+              children: "A Link page!",
+            }),
+            /*#__PURE__*/ (0,
+            react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(
+              next_link__WEBPACK_IMPORTED_MODULE_1___default(),
+              {
+                href: "/",
+                children: "Go to /",
+              }
+            ),
+          ],
+        });
+      }
+      var __N_SSP = true;
+      /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = aLink;
+
+      /***/
+    },
+
+    /***/ 6850: /***/ (module, exports, __webpack_require__) => {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true,
+      });
+      Object.defineProperty(exports, "getDomainLocale", {
+        enumerable: true,
+        get: function () {
+          return getDomainLocale;
+        },
+      });
+      const _normalizetrailingslash = __webpack_require__(6457);
+      const basePath =
+        /* unused pure expression or super */ null && (false || "");
+      function getDomainLocale(path, locale, locales, domainLocales) {
+        if (false) {
+        } else {
+          return false;
+        }
+      }
+      if (
+        (typeof exports.default === "function" ||
+          (typeof exports.default === "object" && exports.default !== null)) &&
+        typeof exports.default.__esModule === "undefined"
+      ) {
+        Object.defineProperty(exports.default, "__esModule", {
+          value: true,
+        });
+        Object.assign(exports.default, exports);
+        module.exports = exports.default;
+      } //# sourceMappingURL=get-domain-locale.js.map
+
+      /***/
+    },
+
+    /***/ 8659: /***/ (__unused_webpack_module, exports) => {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true,
+      });
+      Object.defineProperty(exports, "errorOnce", {
+        enumerable: true,
+        get: function () {
+          return errorOnce;
+        },
+      });
+      let errorOnce = (_) => {};
+      if (false) {
+      } //# sourceMappingURL=error-once.js.map
+
+      /***/
+    },
+
+    /***/ 9666: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/link",
+        function () {
+          return __webpack_require__(5436);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
+
+    /***/ 9692: /***/ (module, exports, __webpack_require__) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -636,7 +646,7 @@
         },
       });
       const _react = __webpack_require__(148);
-      const _requestidlecallback = __webpack_require__(3543);
+      const _requestidlecallback = __webpack_require__(315);
       const hasIntersectionObserver =
         typeof IntersectionObserver === "function";
       const observers = new Map();
@@ -748,23 +758,13 @@
 
       /***/
     },
-
-    /***/ 8770: /***/ (
-      module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      module.exports = __webpack_require__(3947);
-
-      /***/
-    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(3568)
+      __webpack_exec__(9666)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for routerDirect-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [188],
   {
-    /***/ 3618: /***/ (
+    /***/ 76: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -16,7 +16,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(5640);
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(4631);
+        __webpack_require__(9413);
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -36,17 +36,7 @@
       /***/
     },
 
-    /***/ 4631: /***/ (
-      module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      module.exports = __webpack_require__(7086);
-
-      /***/
-    },
-
-    /***/ 7824: /***/ (
+    /***/ 1810: /***/ (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -54,7 +44,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/routerDirect",
         function () {
-          return __webpack_require__(3618);
+          return __webpack_require__(76);
         },
       ]);
       if (false) {
@@ -62,13 +52,23 @@
 
       /***/
     },
+
+    /***/ 9413: /***/ (
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      module.exports = __webpack_require__(5282);
+
+      /***/
+    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(7824)
+      __webpack_exec__(1810)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for script-HASH.js
@@ -1,24 +1,17 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [1209],
   {
-    /***/ 1984: /***/ (
-      __unused_webpack_module,
+    /***/ 2227: /***/ (
+      module,
       __unused_webpack_exports,
       __webpack_require__
     ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/script",
-        function () {
-          return __webpack_require__(5769);
-        },
-      ]);
-      if (false) {
-      }
+      module.exports = __webpack_require__(5984);
 
       /***/
     },
 
-    /***/ 5769: /***/ (
+    /***/ 3043: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -33,7 +26,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(5640);
       /* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(8293);
+        __webpack_require__(2227);
       /* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           next_script__WEBPACK_IMPORTED_MODULE_1__
@@ -66,12 +59,19 @@
       /***/
     },
 
-    /***/ 8293: /***/ (
-      module,
+    /***/ 3642: /***/ (
+      __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
     ) => {
-      module.exports = __webpack_require__(900);
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/script",
+        function () {
+          return __webpack_require__(3043);
+        },
+      ]);
+      if (false) {
+      }
 
       /***/
     },
@@ -81,7 +81,7 @@
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(1984)
+      __webpack_exec__(3642)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for withRouter-HASH.js
@@ -1,34 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [3263],
   {
-    /***/ 4631: /***/ (
-      module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      module.exports = __webpack_require__(7086);
-
-      /***/
-    },
-
-    /***/ 9216: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/withRouter",
-        function () {
-          return __webpack_require__(9803);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
-
-    /***/ 9803: /***/ (
+    /***/ 1089: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -43,7 +16,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(5640);
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(4631);
+        __webpack_require__(9413);
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -61,13 +34,40 @@
 
       /***/
     },
+
+    /***/ 3962: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/withRouter",
+        function () {
+          return __webpack_require__(1089);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
+
+    /***/ 9413: /***/ (
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      module.exports = __webpack_require__(5282);
+
+      /***/
+    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(9216)
+      __webpack_exec__(3962)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for 4719-HASH.js

Diff too large to display

Diff for 6236-HASH.js

Diff too large to display

Diff for main-HASH.js

Diff too large to display

Diff for main-app-HASH.js
@@ -1,64 +1,64 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [4977],
   {
-    /***/ 2432: /***/ (
+    /***/ 3579: /***/ () => {
+      /* (ignored) */
+      /***/
+    },
+
+    /***/ 3644: /***/ (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
     ) => {
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 8790, 23)
+        __webpack_require__.t.bind(__webpack_require__, 5356, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 7382, 23)
+        __webpack_require__.t.bind(__webpack_require__, 4304, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 9442, 23)
+        __webpack_require__.t.bind(__webpack_require__, 3152, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 94, 23)
+        __webpack_require__.t.bind(__webpack_require__, 9464, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 693, 23)
+        __webpack_require__.t.bind(__webpack_require__, 1675, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 2439, 23)
+        __webpack_require__.t.bind(__webpack_require__, 7601, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 5083, 23)
+        __webpack_require__.t.bind(__webpack_require__, 2553, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 8103, 23)
+        __webpack_require__.t.bind(__webpack_require__, 1925, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 5625, 23)
+        __webpack_require__.t.bind(__webpack_require__, 959, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 4247, 23)
+        __webpack_require__.t.bind(__webpack_require__, 9389, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 5602, 23)
+        __webpack_require__.t.bind(__webpack_require__, 8628, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 5223)
+        __webpack_require__.bind(__webpack_require__, 8685)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 227, 23)
+        __webpack_require__.t.bind(__webpack_require__, 3077, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 6734, 23)
+        __webpack_require__.t.bind(__webpack_require__, 7812, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 4120, 23)
+        __webpack_require__.t.bind(__webpack_require__, 5774, 23)
       );
 
       /***/
     },
-
-    /***/ 3505: /***/ () => {
-      /* (ignored) */
-      /***/
-    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
@@ -66,8 +66,8 @@
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(
       0,
-      [1305, 6236],
-      () => (__webpack_exec__(9679), __webpack_exec__(2432))
+      [9910, 4860],
+      () => (__webpack_exec__(1389), __webpack_exec__(3644))
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for app-page-exp..ntime.dev.js
failed to diff
Diff for app-page-tur..ntime.dev.js
failed to diff
Diff for app-page-tur..ntime.dev.js
failed to diff
Diff for app-page.runtime.dev.js
failed to diff
Commit: ab9ea64

@wyattjoh wyattjoh force-pushed the test/deprecate-check branch 11 times, most recently from 0d036d4 to ab9ea64 Compare June 20, 2025 22:53
Refactor test files to use the retry() function with expect assertions
instead of the deprecated check() function. This change affects 206 test
files across the codebase and standardizes the test assertion pattern.
@wyattjoh wyattjoh force-pushed the test/deprecate-check branch from ab9ea64 to ad5bf3b Compare June 20, 2025 23:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
created-by: Next.js team PRs by the Next.js team. tests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants