Skip to content
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

Production builds: write endpoints all at once #75304

Open
wants to merge 12 commits into
base: canary
Choose a base branch
from

Conversation

wbinnssmith
Copy link
Member

@wbinnssmith wbinnssmith commented Jan 25, 2025

This implements a new napi binding, project.writeAllEndpointsToDisk which writes chunks for all endpoints.

This avoids iterating over each endpoint and calling individual napi bindings, each resulting in a call to emit(). While iterating entry points now occurs in Rust, OutputAssets are collected in an IndexSet to prevent unnecessary emit() calls. This also significantly reduces unnecessary calls to the manifest loader from JS.

Test Plan: CI

Commit before removing merge commits: 189743d

@ijjk ijjk added created-by: Turbopack team PRs by the Turbopack team. Turbopack Related to Turbopack with Next.js. type: next labels Jan 25, 2025
@wbinnssmith wbinnssmith force-pushed the wbinnssmith/write-all-endpoints branch from 16ff469 to 645cba7 Compare January 27, 2025 21:10
@ijjk
Copy link
Member

ijjk commented Jan 27, 2025

Failing test suites

Commit: 96b5aae

pnpm test test/integration/app-dir-export/test/dynamic-missing-gsp-prod.test.ts (turbopack)

  • app dir - with output export - dynamic missing gsp prod > production mode > should error when dynamic route is missing generateStaticParams
Expand output

● app dir - with output export - dynamic missing gsp prod › production mode › should error when dynamic route is missing generateStaticParams

expect(received).toMatch(expected)

Expected substring: "Page \"/another/[slug]\" is missing \"generateStaticParams()\" so it cannot be used with \"output: export\" config."
Received string:    " ⚠ Linting is disabled.·
> Build error occurred
Error: Turbopack build failed with 1 issues:
./test/integration/app-dir-export/app/another/[slug]/page.js:3:24
Unable to parse config export in source file
  1 | import Link from 'next/link'
  2 |
> 3 | export const dynamic = undefined
    |                        ^^^^^^^^^
  4 |
  5 | function noop() {
  6 |   return [{ slug: 'first' }, { slug: 'second' }]·
The exported configuration object in a source file needs to have a very specific format from which some properties can be statically parsed at compiled-time.·
https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config··

  at <unknown> (integration/app-dir-export/app/another/[slug]/page.js:3:24)
      at <unknown> (https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config)
  at turbopackBuild (../dist/build/turbopack-build/impl.js:128:37)
  at async Object.workerMain (../dist/build/turbopack-build/impl.js:192:20)
  "
  at toMatch (integration/app-dir-export/test/utils.ts:186:29)
  at Object.<anonymous> (integration/app-dir-export/test/dynamic-missing-gsp-prod.test.ts:8:9)

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

pnpm test-start-turbo test/e2e/app-dir/edge-runtime-node-compatibility/edge-runtime-node-compatibility.test.ts (turbopack)

  • edge runtime node compatibility > [app] supports node:buffer
  • edge runtime node compatibility > [pages/api] supports node:buffer
  • edge runtime node compatibility > does not warn when using supported node modules
Expand output

● edge runtime node compatibility › [app] supports node:buffer

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:100:15)

● edge runtime node compatibility › [pages/api] supports node:buffer

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:100:15)

● edge runtime node compatibility › does not warn when using supported node modules

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:100:15)

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

pnpm test-start-turbo test/e2e/app-dir/app-edge/app-edge.test.ts (turbopack)

  • app-dir edge SSR > should handle edge only routes
  • app-dir edge SSR > should retrieve cookies in a server component in the edge runtime
  • app-dir edge SSR > should treat process as object without polyfill in edge runtime
  • app-dir edge SSR > should handle /index routes correctly
Expand output

● app-dir edge SSR › should handle edge only routes

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:100:15)

● app-dir edge SSR › should retrieve cookies in a server component in the edge runtime

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:100:15)

● app-dir edge SSR › should treat process as object without polyfill in edge runtime

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:100:15)

● app-dir edge SSR › should handle /index routes correctly

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:100:15)

● app-dir edge SSR › should generate matchers correctly in middleware manifest

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:100:15)

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

pnpm test test/integration/app-tree/test/index.test.js (turbopack)

  • AppTree > production mode > should provide router context in AppTree on SSR
  • AppTree > production mode > should provide router context in AppTree on CSR
  • AppTree > production mode > should pass AppTree to NextPageContext
Expand output

● AppTree › production mode › should provide router context in AppTree on SSR

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  67 |     'production mode',
  68 |     () => {
> 69 |       beforeAll(async () => {
     |       ^
  70 |         await nextBuild(appDir)
  71 |         appPort = await findPort()
  72 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/app-tree/test/index.test.js:69:7)
  at integration/app-tree/test/index.test.js:66:56
  at Object.describe (integration/app-tree/test/index.test.js:54:1)

● AppTree › production mode › should provide router context in AppTree on CSR

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  67 |     'production mode',
  68 |     () => {
> 69 |       beforeAll(async () => {
     |       ^
  70 |         await nextBuild(appDir)
  71 |         appPort = await findPort()
  72 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/app-tree/test/index.test.js:69:7)
  at integration/app-tree/test/index.test.js:66:56
  at Object.describe (integration/app-tree/test/index.test.js:54:1)

● AppTree › production mode › should pass AppTree to NextPageContext

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  67 |     'production mode',
  68 |     () => {
> 69 |       beforeAll(async () => {
     |       ^
  70 |         await nextBuild(appDir)
  71 |         appPort = await findPort()
  72 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/app-tree/test/index.test.js:69:7)
  at integration/app-tree/test/index.test.js:66:56
  at Object.describe (integration/app-tree/test/index.test.js:54:1)

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

pnpm test test/integration/dynamic-routing/test/middleware.test.js (turbopack)

  • Dynamic Routing > production mode > should have correct cache entries on prefetch
  • Dynamic Routing > production mode > should support long URLs for dynamic routes
  • Dynamic Routing > production mode > should handle only query on dynamic route
  • Dynamic Routing > production mode > should handle only hash on dynamic route
  • Dynamic Routing > production mode > should navigate with hash to dynamic route with link
  • Dynamic Routing > production mode > should navigate with hash to dynamic route with router
  • Dynamic Routing > production mode > should not have any query values when not defined
  • Dynamic Routing > production mode > should render normal route
  • Dynamic Routing > production mode > should render another normal route
  • Dynamic Routing > production mode > should render dynamic page
  • Dynamic Routing > production mode > should prioritize a non-dynamic page
  • Dynamic Routing > production mode > should render nested dynamic page
  • Dynamic Routing > production mode > should render optional dynamic page
  • Dynamic Routing > production mode > should render nested optional dynamic page
  • Dynamic Routing > production mode > should not error when requesting dynamic page with /api
  • Dynamic Routing > production mode > should render dynamic route with query
  • Dynamic Routing > production mode > should navigate to a dynamic page successfully
  • Dynamic Routing > production mode > should navigate to a dynamic page with href with differing query and as correctly
  • Dynamic Routing > production mode > should navigate to a dynamic page successfully no as
  • Dynamic Routing > production mode > should navigate to a dynamic page successfully interpolated
  • Dynamic Routing > production mode > should navigate to a dynamic page successfully interpolated with additional query values
  • Dynamic Routing > production mode > should allow calling Router.push on mount successfully
  • Dynamic Routing > production mode > should navigate optional dynamic page
  • Dynamic Routing > production mode > should navigate optional dynamic page with value
  • Dynamic Routing > production mode > should navigate to a nested dynamic page successfully
  • Dynamic Routing > production mode > should navigate to a nested dynamic page successfully no as
  • Dynamic Routing > production mode > should navigate to a nested dynamic page successfully interpolated
  • Dynamic Routing > production mode > should pass params in getInitialProps during SSR
  • Dynamic Routing > production mode > should pass params in getInitialProps during client navigation
  • Dynamic Routing > production mode > [catch all] should not match root on SSR
  • Dynamic Routing > production mode > [catch all] should pass param in getInitialProps during SSR
  • Dynamic Routing > production mode > [catch all] should pass params in getInitialProps during SSR
  • Dynamic Routing > production mode > [catch all] should strip trailing slash
  • Dynamic Routing > production mode > [catch all] should not decode slashes (start)
  • Dynamic Routing > production mode > [catch all] should not decode slashes (end)
  • Dynamic Routing > production mode > [catch all] should not decode slashes (middle)
  • Dynamic Routing > production mode > [catch-all] should pass params in getInitialProps during client navigation (single)
  • Dynamic Routing > production mode > [catch-all] should pass params in getInitialProps during client navigation (multi)
  • Dynamic Routing > production mode > [catch-all] should pass params in getInitialProps during client navigation (encoded)
  • Dynamic Routing > production mode > [catch-all] shouldn't fail on colon followed by double digits in the path
  • Dynamic Routing > production mode > [ssg: catch all] should pass param in getStaticProps during SSR
  • Dynamic Routing > production mode > [ssg: catch all] should pass params in getStaticProps during SSR
  • Dynamic Routing > production mode > [nested ssg: catch all] should pass param in getStaticProps during SSR
  • Dynamic Routing > production mode > [nested ssg: catch all] should pass params in getStaticProps during SSR
  • Dynamic Routing > production mode > [predefined ssg: catch all] should pass param in getStaticProps during SSR
  • Dynamic Routing > production mode > [predefined ssg: catch all] should pass params in getStaticProps during SSR
  • Dynamic Routing > production mode > [predefined ssg: prerendered catch all] should pass param in getStaticProps during SSR
  • Dynamic Routing > production mode > [predefined ssg: prerendered catch all] should pass params in getStaticProps during SSR
  • Dynamic Routing > production mode > [ssg: catch-all] should pass params in getStaticProps during client navigation (single)
  • Dynamic Routing > production mode > [ssg: catch-all] should pass params in getStaticProps during client navigation (single interpolated)
  • Dynamic Routing > production mode > [ssg: catch-all] should pass params in getStaticProps during client navigation (multi)
  • Dynamic Routing > production mode > [ssg: catch-all] should pass params in getStaticProps during client navigation (multi) no as
  • Dynamic Routing > production mode > [ssg: catch-all] should pass params in getStaticProps during client navigation (multi interpolated)
  • Dynamic Routing > production mode > [nested ssg: catch-all] should pass params in getStaticProps during client navigation (single)
  • Dynamic Routing > production mode > [nested ssg: catch-all] should pass params in getStaticProps during client navigation (multi)
  • Dynamic Routing > production mode > should update dynamic values on mount
  • Dynamic Routing > production mode > should not have placeholder query values for SSS
  • Dynamic Routing > production mode > should update with a hash in the URL
  • Dynamic Routing > production mode > should scroll to a hash on mount
  • Dynamic Routing > production mode > should scroll to a hash on client-side navigation
  • Dynamic Routing > production mode > should prioritize public files over dynamic route
  • Dynamic Routing > production mode > should serve file with space from public folder
  • Dynamic Routing > production mode > should serve file with plus from public folder
  • Dynamic Routing > production mode > should serve file from public folder encoded
  • Dynamic Routing > production mode > should serve file with %20 from public folder
  • Dynamic Routing > production mode > should serve file with space from static folder
  • Dynamic Routing > production mode > should serve file with plus from static folder
  • Dynamic Routing > production mode > should serve file from static folder encoded
  • Dynamic Routing > production mode > should serve file with %20 from static folder
  • Dynamic Routing > production mode > should respond with bad request with invalid encoding
  • Dynamic Routing > production mode > should not preload buildManifest for non-auto export dynamic pages
  • Dynamic Routing > production mode > should output a routes-manifest correctly
  • Dynamic Routing > production mode > should output a pages-manifest correctly
Expand output

● Dynamic Routing › production mode › should have correct cache entries on prefetch

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should support long URLs for dynamic routes

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should handle only query on dynamic route

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should handle only hash on dynamic route

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should navigate with hash to dynamic route with link

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should navigate with hash to dynamic route with router

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should not have any query values when not defined

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should render normal route

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should render another normal route

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should render dynamic page

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should prioritize a non-dynamic page

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should render nested dynamic page

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should render optional dynamic page

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should render nested optional dynamic page

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should not error when requesting dynamic page with /api

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should render dynamic route with query

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should navigate to a dynamic page successfully

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should navigate to a dynamic page with href with differing query and as correctly

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should navigate to a dynamic page successfully no as

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should navigate to a dynamic page successfully interpolated

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should navigate to a dynamic page successfully interpolated with additional query values

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should allow calling Router.push on mount successfully

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should navigate optional dynamic page

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should navigate optional dynamic page with value

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should navigate to a nested dynamic page successfully

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should navigate to a nested dynamic page successfully no as

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should navigate to a nested dynamic page successfully interpolated

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should pass params in getInitialProps during SSR

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should pass params in getInitialProps during client navigation

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › [catch all] should not match root on SSR

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › [catch all] should pass param in getInitialProps during SSR

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › [catch all] should pass params in getInitialProps during SSR

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › [catch all] should strip trailing slash

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › [catch all] should not decode slashes (start)

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › [catch all] should not decode slashes (end)

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › [catch all] should not decode slashes (middle)

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › [catch-all] should pass params in getInitialProps during client navigation (single)

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › [catch-all] should pass params in getInitialProps during client navigation (multi)

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › [catch-all] should pass params in getInitialProps during client navigation (encoded)

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › [catch-all] shouldn't fail on colon followed by double digits in the path

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › [ssg: catch all] should pass param in getStaticProps during SSR

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › [ssg: catch all] should pass params in getStaticProps during SSR

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › [nested ssg: catch all] should pass param in getStaticProps during SSR

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › [nested ssg: catch all] should pass params in getStaticProps during SSR

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › [predefined ssg: catch all] should pass param in getStaticProps during SSR

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › [predefined ssg: catch all] should pass params in getStaticProps during SSR

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › [predefined ssg: prerendered catch all] should pass param in getStaticProps during SSR

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › [predefined ssg: prerendered catch all] should pass params in getStaticProps during SSR

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › [ssg: catch-all] should pass params in getStaticProps during client navigation (single)

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › [ssg: catch-all] should pass params in getStaticProps during client navigation (single interpolated)

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › [ssg: catch-all] should pass params in getStaticProps during client navigation (multi)

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › [ssg: catch-all] should pass params in getStaticProps during client navigation (multi) no as

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › [ssg: catch-all] should pass params in getStaticProps during client navigation (multi interpolated)

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › [nested ssg: catch-all] should pass params in getStaticProps during client navigation (single)

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › [nested ssg: catch-all] should pass params in getStaticProps during client navigation (multi)

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should update dynamic values on mount

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should not have placeholder query values for SSS

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should update with a hash in the URL

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should scroll to a hash on mount

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should scroll to a hash on client-side navigation

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should prioritize public files over dynamic route

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should serve file with space from public folder

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should serve file with plus from public folder

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should serve file from public folder encoded

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should serve file with %20 from public folder

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should serve file with space from static folder

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should serve file with plus from static folder

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should serve file from static folder encoded

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should serve file with %20 from static folder

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should respond with bad request with invalid encoding

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should not preload buildManifest for non-auto export dynamic pages

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should output a routes-manifest correctly

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

● Dynamic Routing › production mode › should output a pages-manifest correctly

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1605 |     'production mode',
  1606 |     () => {
> 1607 |       beforeAll(async () => {
       |       ^
  1608 |         await fs.remove(nextConfig)
  1609 |
  1610 |         await nextBuild(appDir)

  at beforeAll (integration/dynamic-routing/test/index.test.js:1607:7)
  at integration/dynamic-routing/test/index.test.js:1604:56
  at Object.describe (integration/dynamic-routing/test/index.test.js:1571:1)
  at Object.require (integration/dynamic-routing/test/middleware.test.js:7:1)

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

pnpm test test/integration/app-dir-export/test/dynamicapiroute-prod.test.ts (turbopack)

  • app dir - with output export - dynamic api route prod > production mode > should work in prod with dynamicApiRoute undefined
  • app dir - with output export - dynamic api route prod > production mode > should work in prod with dynamicApiRoute 'error'
  • app dir - with output export - dynamic api route prod > production mode > should work in prod with dynamicApiRoute 'force-static'
  • app dir - with output export - dynamic api route prod > production mode > should work in prod with dynamicApiRoute 'force-dynamic'
Expand output

● app dir - with output export - dynamic api route prod › production mode › should work in prod with dynamicApiRoute undefined

thrown: "Exceeded timeout of 60000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  18 |             'export const dynamic = "force-dynamic" on page "/api/json" cannot be used with "output: export".',
  19 |         },
> 20 |       ])(
     |        ^
  21 |         'should work in prod with dynamicApiRoute $dynamicApiRoute',
  22 |         async ({ dynamicApiRoute, expectedErrMsg }) => {
  23 |           await runTests({ isDev: false, dynamicApiRoute, expectedErrMsg })

  at ../node_modules/.pnpm/[email protected]/node_modules/jest-each/build/bind.js:47:15
      at Array.forEach (<anonymous>)
  at integration/app-dir-export/test/dynamicapiroute-prod.test.ts:20:8
  at integration/app-dir-export/test/dynamicapiroute-prod.test.ts:4:56
  at Object.describe (integration/app-dir-export/test/dynamicapiroute-prod.test.ts:3:1)

● app dir - with output export - dynamic api route prod › production mode › should work in prod with dynamicApiRoute 'error'

Failed to replace content.

Pattern: const dynamic = 'force-static'

Content: export const dynamic = undefined

export async function GET() {
  return Response.json({ answer: 42 })
}

  768 |     } else if (typeof pattern === 'string') {
  769 |       if (!currentContent.includes(pattern)) {
> 770 |         throw new Error(
      |               ^
  771 |           `Failed to replace content.\n\nPattern: ${pattern}\n\nContent: ${currentContent}`
  772 |         )
  773 |       }

  at File.replace (lib/next-test-utils.ts:770:15)
  at replace (integration/app-dir-export/test/utils.ts:136:13)
  at integration/app-dir-export/test/dynamicapiroute-prod.test.ts:23:25

● app dir - with output export - dynamic api route prod › production mode › should work in prod with dynamicApiRoute 'force-static'

Failed to replace content.

Pattern: const dynamic = 'force-static'

Content: export const dynamic = undefined

export async function GET() {
  return Response.json({ answer: 42 })
}

  768 |     } else if (typeof pattern === 'string') {
  769 |       if (!currentContent.includes(pattern)) {
> 770 |         throw new Error(
      |               ^
  771 |           `Failed to replace content.\n\nPattern: ${pattern}\n\nContent: ${currentContent}`
  772 |         )
  773 |       }

  at File.replace (lib/next-test-utils.ts:770:15)
  at replace (integration/app-dir-export/test/utils.ts:136:13)
  at integration/app-dir-export/test/dynamicapiroute-prod.test.ts:23:25

● app dir - with output export - dynamic api route prod › production mode › should work in prod with dynamicApiRoute 'force-dynamic'

Failed to replace content.

Pattern: const dynamic = 'force-static'

Content: export const dynamic = undefined

export async function GET() {
  return Response.json({ answer: 42 })
}

  768 |     } else if (typeof pattern === 'string') {
  769 |       if (!currentContent.includes(pattern)) {
> 770 |         throw new Error(
      |               ^
  771 |           `Failed to replace content.\n\nPattern: ${pattern}\n\nContent: ${currentContent}`
  772 |         )
  773 |       }

  at File.replace (lib/next-test-utils.ts:770:15)
  at replace (integration/app-dir-export/test/utils.ts:136:13)
  at integration/app-dir-export/test/dynamicapiroute-prod.test.ts:23:25

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

pnpm test test/integration/dynamic-optional-routing/test/index.test.js (turbopack)

  • Dynamic Optional Routing > production mode > should render catch-all top-level route with multiple segments
  • Dynamic Optional Routing > production mode > should render catch-all top-level route with single segment
  • Dynamic Optional Routing > production mode > should render catch-all top-level route with no segments
  • Dynamic Optional Routing > production mode > should render catch-all nested route with multiple segments
  • Dynamic Optional Routing > production mode > should render catch-all nested route with single segment
  • Dynamic Optional Routing > production mode > should render catch-all nested route with no segments
  • Dynamic Optional Routing > production mode > should render catch-all nested route with no segments and leading slash
  • Dynamic Optional Routing > production mode > should match catch-all api route with multiple segments
  • Dynamic Optional Routing > production mode > should match catch-all api route with single segment
  • Dynamic Optional Routing > production mode > should match catch-all api route with no segments
  • Dynamic Optional Routing > production mode > should match catch-all api route with no segments and leading slash
  • Dynamic Optional Routing > production mode > should handle getStaticPaths no segments
  • Dynamic Optional Routing > production mode > should handle getStaticPaths no segments and trailing slash
  • Dynamic Optional Routing > production mode > should handle getStaticPaths 1 segment
  • Dynamic Optional Routing > production mode > should handle getStaticPaths 1 segment and trailing slash
  • Dynamic Optional Routing > production mode > should handle getStaticPaths 2 segments
  • Dynamic Optional Routing > production mode > should handle getStaticPaths 2 segments and trailing slash
  • Dynamic Optional Routing > production mode > should fall back to top-level catch-all
  • Dynamic Optional Routing > production mode > should match root path on undefined param
  • Dynamic Optional Routing > production mode > should match root path on false param
  • Dynamic Optional Routing > production mode > should match root path on null param
  • Dynamic Optional Routing > production mode > should handle getStaticPaths with fallback no segments
  • Dynamic Optional Routing > production mode > should handle getStaticPaths with fallback 2 segments
  • Dynamic Optional Routing > production mode > should fallback correctly when fallback enabled
  • Dynamic Optional Routing > production mode > should fail to build when optional route has index.js at root
  • Dynamic Optional Routing > production mode > should fail to build when optional route has same page at root
  • Dynamic Optional Routing > production mode > should fail to build when mixed with regular catch-all
  • Dynamic Optional Routing > production mode > should fail to build when optional but no catch-all
  • Dynamic Optional Routing > production mode > should fail to build when param is not explicitly defined
Expand output

● Dynamic Optional Routing › production mode › should render catch-all top-level route with multiple segments

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  262 |     'production mode',
  263 |     () => {
> 264 |       beforeAll(async () => {
      |       ^
  265 |         const curConfig = await fs.readFile(nextConfig, 'utf8')
  266 |
  267 |         if (curConfig.includes('target')) {

  at beforeAll (integration/dynamic-optional-routing/test/index.test.js:264:7)
  at integration/dynamic-optional-routing/test/index.test.js:261:56
  at Object.describe (integration/dynamic-optional-routing/test/index.test.js:239:1)

● Dynamic Optional Routing › production mode › should render catch-all top-level route with single segment

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  262 |     'production mode',
  263 |     () => {
> 264 |       beforeAll(async () => {
      |       ^
  265 |         const curConfig = await fs.readFile(nextConfig, 'utf8')
  266 |
  267 |         if (curConfig.includes('target')) {

  at beforeAll (integration/dynamic-optional-routing/test/index.test.js:264:7)
  at integration/dynamic-optional-routing/test/index.test.js:261:56
  at Object.describe (integration/dynamic-optional-routing/test/index.test.js:239:1)

● Dynamic Optional Routing › production mode › should render catch-all top-level route with no segments

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  262 |     'production mode',
  263 |     () => {
> 264 |       beforeAll(async () => {
      |       ^
  265 |         const curConfig = await fs.readFile(nextConfig, 'utf8')
  266 |
  267 |         if (curConfig.includes('target')) {

  at beforeAll (integration/dynamic-optional-routing/test/index.test.js:264:7)
  at integration/dynamic-optional-routing/test/index.test.js:261:56
  at Object.describe (integration/dynamic-optional-routing/test/index.test.js:239:1)

● Dynamic Optional Routing › production mode › should render catch-all nested route with multiple segments

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  262 |     'production mode',
  263 |     () => {
> 264 |       beforeAll(async () => {
      |       ^
  265 |         const curConfig = await fs.readFile(nextConfig, 'utf8')
  266 |
  267 |         if (curConfig.includes('target')) {

  at beforeAll (integration/dynamic-optional-routing/test/index.test.js:264:7)
  at integration/dynamic-optional-routing/test/index.test.js:261:56
  at Object.describe (integration/dynamic-optional-routing/test/index.test.js:239:1)

● Dynamic Optional Routing › production mode › should render catch-all nested route with single segment

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  262 |     'production mode',
  263 |     () => {
> 264 |       beforeAll(async () => {
      |       ^
  265 |         const curConfig = await fs.readFile(nextConfig, 'utf8')
  266 |
  267 |         if (curConfig.includes('target')) {

  at beforeAll (integration/dynamic-optional-routing/test/index.test.js:264:7)
  at integration/dynamic-optional-routing/test/index.test.js:261:56
  at Object.describe (integration/dynamic-optional-routing/test/index.test.js:239:1)

● Dynamic Optional Routing › production mode › should render catch-all nested route with no segments

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  262 |     'production mode',
  263 |     () => {
> 264 |       beforeAll(async () => {
      |       ^
  265 |         const curConfig = await fs.readFile(nextConfig, 'utf8')
  266 |
  267 |         if (curConfig.includes('target')) {

  at beforeAll (integration/dynamic-optional-routing/test/index.test.js:264:7)
  at integration/dynamic-optional-routing/test/index.test.js:261:56
  at Object.describe (integration/dynamic-optional-routing/test/index.test.js:239:1)

● Dynamic Optional Routing › production mode › should render catch-all nested route with no segments and leading slash

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  262 |     'production mode',
  263 |     () => {
> 264 |       beforeAll(async () => {
      |       ^
  265 |         const curConfig = await fs.readFile(nextConfig, 'utf8')
  266 |
  267 |         if (curConfig.includes('target')) {

  at beforeAll (integration/dynamic-optional-routing/test/index.test.js:264:7)
  at integration/dynamic-optional-routing/test/index.test.js:261:56
  at Object.describe (integration/dynamic-optional-routing/test/index.test.js:239:1)

● Dynamic Optional Routing › production mode › should match catch-all api route with multiple segments

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  262 |     'production mode',
  263 |     () => {
> 264 |       beforeAll(async () => {
      |       ^
  265 |         const curConfig = await fs.readFile(nextConfig, 'utf8')
  266 |
  267 |         if (curConfig.includes('target')) {

  at beforeAll (integration/dynamic-optional-routing/test/index.test.js:264:7)
  at integration/dynamic-optional-routing/test/index.test.js:261:56
  at Object.describe (integration/dynamic-optional-routing/test/index.test.js:239:1)

● Dynamic Optional Routing › production mode › should match catch-all api route with single segment

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  262 |     'production mode',
  263 |     () => {
> 264 |       beforeAll(async () => {
      |       ^
  265 |         const curConfig = await fs.readFile(nextConfig, 'utf8')
  266 |
  267 |         if (curConfig.includes('target')) {

  at beforeAll (integration/dynamic-optional-routing/test/index.test.js:264:7)
  at integration/dynamic-optional-routing/test/index.test.js:261:56
  at Object.describe (integration/dynamic-optional-routing/test/index.test.js:239:1)

● Dynamic Optional Routing › production mode › should match catch-all api route with no segments

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  262 |     'production mode',
  263 |     () => {
> 264 |       beforeAll(async () => {
      |       ^
  265 |         const curConfig = await fs.readFile(nextConfig, 'utf8')
  266 |
  267 |         if (curConfig.includes('target')) {

  at beforeAll (integration/dynamic-optional-routing/test/index.test.js:264:7)
  at integration/dynamic-optional-routing/test/index.test.js:261:56
  at Object.describe (integration/dynamic-optional-routing/test/index.test.js:239:1)

● Dynamic Optional Routing › production mode › should match catch-all api route with no segments and leading slash

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  262 |     'production mode',
  263 |     () => {
> 264 |       beforeAll(async () => {
      |       ^
  265 |         const curConfig = await fs.readFile(nextConfig, 'utf8')
  266 |
  267 |         if (curConfig.includes('target')) {

  at beforeAll (integration/dynamic-optional-routing/test/index.test.js:264:7)
  at integration/dynamic-optional-routing/test/index.test.js:261:56
  at Object.describe (integration/dynamic-optional-routing/test/index.test.js:239:1)

● Dynamic Optional Routing › production mode › should handle getStaticPaths no segments

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  262 |     'production mode',
  263 |     () => {
> 264 |       beforeAll(async () => {
      |       ^
  265 |         const curConfig = await fs.readFile(nextConfig, 'utf8')
  266 |
  267 |         if (curConfig.includes('target')) {

  at beforeAll (integration/dynamic-optional-routing/test/index.test.js:264:7)
  at integration/dynamic-optional-routing/test/index.test.js:261:56
  at Object.describe (integration/dynamic-optional-routing/test/index.test.js:239:1)

● Dynamic Optional Routing › production mode › should handle getStaticPaths no segments and trailing slash

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  262 |     'production mode',
  263 |     () => {
> 264 |       beforeAll(async () => {
      |       ^
  265 |         const curConfig = await fs.readFile(nextConfig, 'utf8')
  266 |
  267 |         if (curConfig.includes('target')) {

  at beforeAll (integration/dynamic-optional-routing/test/index.test.js:264:7)
  at integration/dynamic-optional-routing/test/index.test.js:261:56
  at Object.describe (integration/dynamic-optional-routing/test/index.test.js:239:1)

● Dynamic Optional Routing › production mode › should handle getStaticPaths 1 segment

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  262 |     'production mode',
  263 |     () => {
> 264 |       beforeAll(async () => {
      |       ^
  265 |         const curConfig = await fs.readFile(nextConfig, 'utf8')
  266 |
  267 |         if (curConfig.includes('target')) {

  at beforeAll (integration/dynamic-optional-routing/test/index.test.js:264:7)
  at integration/dynamic-optional-routing/test/index.test.js:261:56
  at Object.describe (integration/dynamic-optional-routing/test/index.test.js:239:1)

● Dynamic Optional Routing › production mode › should handle getStaticPaths 1 segment and trailing slash

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  262 |     'production mode',
  263 |     () => {
> 264 |       beforeAll(async () => {
      |       ^
  265 |         const curConfig = await fs.readFile(nextConfig, 'utf8')
  266 |
  267 |         if (curConfig.includes('target')) {

  at beforeAll (integration/dynamic-optional-routing/test/index.test.js:264:7)
  at integration/dynamic-optional-routing/test/index.test.js:261:56
  at Object.describe (integration/dynamic-optional-routing/test/index.test.js:239:1)

● Dynamic Optional Routing › production mode › should handle getStaticPaths 2 segments

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  262 |     'production mode',
  263 |     () => {
> 264 |       beforeAll(async () => {
      |       ^
  265 |         const curConfig = await fs.readFile(nextConfig, 'utf8')
  266 |
  267 |         if (curConfig.includes('target')) {

  at beforeAll (integration/dynamic-optional-routing/test/index.test.js:264:7)
  at integration/dynamic-optional-routing/test/index.test.js:261:56
  at Object.describe (integration/dynamic-optional-routing/test/index.test.js:239:1)

● Dynamic Optional Routing › production mode › should handle getStaticPaths 2 segments and trailing slash

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  262 |     'production mode',
  263 |     () => {
> 264 |       beforeAll(async () => {
      |       ^
  265 |         const curConfig = await fs.readFile(nextConfig, 'utf8')
  266 |
  267 |         if (curConfig.includes('target')) {

  at beforeAll (integration/dynamic-optional-routing/test/index.test.js:264:7)
  at integration/dynamic-optional-routing/test/index.test.js:261:56
  at Object.describe (integration/dynamic-optional-routing/test/index.test.js:239:1)

● Dynamic Optional Routing › production mode › should fall back to top-level catch-all

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  262 |     'production mode',
  263 |     () => {
> 264 |       beforeAll(async () => {
      |       ^
  265 |         const curConfig = await fs.readFile(nextConfig, 'utf8')
  266 |
  267 |         if (curConfig.includes('target')) {

  at beforeAll (integration/dynamic-optional-routing/test/index.test.js:264:7)
  at integration/dynamic-optional-routing/test/index.test.js:261:56
  at Object.describe (integration/dynamic-optional-routing/test/index.test.js:239:1)

● Dynamic Optional Routing › production mode › should match root path on undefined param

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  262 |     'production mode',
  263 |     () => {
> 264 |       beforeAll(async () => {
      |       ^
  265 |         const curConfig = await fs.readFile(nextConfig, 'utf8')
  266 |
  267 |         if (curConfig.includes('target')) {

  at beforeAll (integration/dynamic-optional-routing/test/index.test.js:264:7)
  at integration/dynamic-optional-routing/test/index.test.js:261:56
  at Object.describe (integration/dynamic-optional-routing/test/index.test.js:239:1)

● Dynamic Optional Routing › production mode › should match root path on false param

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  262 |     'production mode',
  263 |     () => {
> 264 |       beforeAll(async () => {
      |       ^
  265 |         const curConfig = await fs.readFile(nextConfig, 'utf8')
  266 |
  267 |         if (curConfig.includes('target')) {

  at beforeAll (integration/dynamic-optional-routing/test/index.test.js:264:7)
  at integration/dynamic-optional-routing/test/index.test.js:261:56
  at Object.describe (integration/dynamic-optional-routing/test/index.test.js:239:1)

● Dynamic Optional Routing › production mode › should match root path on null param

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  262 |     'production mode',
  263 |     () => {
> 264 |       beforeAll(async () => {
      |       ^
  265 |         const curConfig = await fs.readFile(nextConfig, 'utf8')
  266 |
  267 |         if (curConfig.includes('target')) {

  at beforeAll (integration/dynamic-optional-routing/test/index.test.js:264:7)
  at integration/dynamic-optional-routing/test/index.test.js:261:56
  at Object.describe (integration/dynamic-optional-routing/test/index.test.js:239:1)

● Dynamic Optional Routing › production mode › should handle getStaticPaths with fallback no segments

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  262 |     'production mode',
  263 |     () => {
> 264 |       beforeAll(async () => {
      |       ^
  265 |         const curConfig = await fs.readFile(nextConfig, 'utf8')
  266 |
  267 |         if (curConfig.includes('target')) {

  at beforeAll (integration/dynamic-optional-routing/test/index.test.js:264:7)
  at integration/dynamic-optional-routing/test/index.test.js:261:56
  at Object.describe (integration/dynamic-optional-routing/test/index.test.js:239:1)

● Dynamic Optional Routing › production mode › should handle getStaticPaths with fallback 2 segments

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  262 |     'production mode',
  263 |     () => {
> 264 |       beforeAll(async () => {
      |       ^
  265 |         const curConfig = await fs.readFile(nextConfig, 'utf8')
  266 |
  267 |         if (curConfig.includes('target')) {

  at beforeAll (integration/dynamic-optional-routing/test/index.test.js:264:7)
  at integration/dynamic-optional-routing/test/index.test.js:261:56
  at Object.describe (integration/dynamic-optional-routing/test/index.test.js:239:1)

● Dynamic Optional Routing › production mode › should fallback correctly when fallback enabled

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  262 |     'production mode',
  263 |     () => {
> 264 |       beforeAll(async () => {
      |       ^
  265 |         const curConfig = await fs.readFile(nextConfig, 'utf8')
  266 |
  267 |         if (curConfig.includes('target')) {

  at beforeAll (integration/dynamic-optional-routing/test/index.test.js:264:7)
  at integration/dynamic-optional-routing/test/index.test.js:261:56
  at Object.describe (integration/dynamic-optional-routing/test/index.test.js:239:1)

● Dynamic Optional Routing › production mode › should fail to build when optional route has index.js at root

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  262 |     'production mode',
  263 |     () => {
> 264 |       beforeAll(async () => {
      |       ^
  265 |         const curConfig = await fs.readFile(nextConfig, 'utf8')
  266 |
  267 |         if (curConfig.includes('target')) {

  at beforeAll (integration/dynamic-optional-routing/test/index.test.js:264:7)
  at integration/dynamic-optional-routing/test/index.test.js:261:56
  at Object.describe (integration/dynamic-optional-routing/test/index.test.js:239:1)

● Dynamic Optional Routing › production mode › should fail to build when optional route has same page at root

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  262 |     'production mode',
  263 |     () => {
> 264 |       beforeAll(async () => {
      |       ^
  265 |         const curConfig = await fs.readFile(nextConfig, 'utf8')
  266 |
  267 |         if (curConfig.includes('target')) {

  at beforeAll (integration/dynamic-optional-routing/test/index.test.js:264:7)
  at integration/dynamic-optional-routing/test/index.test.js:261:56
  at Object.describe (integration/dynamic-optional-routing/test/index.test.js:239:1)

● Dynamic Optional Routing › production mode › should fail to build when mixed with regular catch-all

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  262 |     'production mode',
  263 |     () => {
> 264 |       beforeAll(async () => {
      |       ^
  265 |         const curConfig = await fs.readFile(nextConfig, 'utf8')
  266 |
  267 |         if (curConfig.includes('target')) {

  at beforeAll (integration/dynamic-optional-routing/test/index.test.js:264:7)
  at integration/dynamic-optional-routing/test/index.test.js:261:56
  at Object.describe (integration/dynamic-optional-routing/test/index.test.js:239:1)

● Dynamic Optional Routing › production mode › should fail to build when optional but no catch-all

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  262 |     'production mode',
  263 |     () => {
> 264 |       beforeAll(async () => {
      |       ^
  265 |         const curConfig = await fs.readFile(nextConfig, 'utf8')
  266 |
  267 |         if (curConfig.includes('target')) {

  at beforeAll (integration/dynamic-optional-routing/test/index.test.js:264:7)
  at integration/dynamic-optional-routing/test/index.test.js:261:56
  at Object.describe (integration/dynamic-optional-routing/test/index.test.js:239:1)

● Dynamic Optional Routing › production mode › should fail to build when param is not explicitly defined

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  262 |     'production mode',
  263 |     () => {
> 264 |       beforeAll(async () => {
      |       ^
  265 |         const curConfig = await fs.readFile(nextConfig, 'utf8')
  266 |
  267 |         if (curConfig.includes('target')) {

  at beforeAll (integration/dynamic-optional-routing/test/index.test.js:264:7)
  at integration/dynamic-optional-routing/test/index.test.js:261:56
  at Object.describe (integration/dynamic-optional-routing/test/index.test.js:239:1)

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

pnpm test test/integration/next-image-new/app-dir/test/index.test.ts (turbopack)

  • Image Component Default Tests > production mode > should load the images
  • Image Component Default Tests > production mode > should preload priority images
  • Image Component Default Tests > production mode > should not pass through user-provided srcset (causing a flash)
  • Image Component Default Tests > production mode > should update the image on src change
  • Image Component Default Tests > production mode > should callback onLoadingComplete when image is fully loaded
  • Image Component Default Tests > production mode > should callback native onLoad with sythetic event
  • Image Component Default Tests > production mode > should callback native onError when error occurred while loading image
  • Image Component Default Tests > production mode > should callback native onError even when error before hydration
  • Image Component Default Tests > production mode > should work with image with blob src
  • Image Component Default Tests > production mode > should work when using flexbox
  • Image Component Default Tests > production mode > should work when using overrideSrc prop
  • Image Component Default Tests > production mode > should work with sizes and automatically use responsive srcset
  • Image Component Default Tests > production mode > should render no wrappers or sizers
  • Image Component Default Tests > production mode > should lazy load with placeholder=blur
  • Image Component Default Tests > production mode > should handle the styles prop appropriately
  • Image Component Default Tests > production mode > should warn when legacy prop layout=fill
  • Image Component Default Tests > production mode > should warn when legacy prop layout=responsive
  • Image Component Default Tests > production mode > should render picture via getImageProps
  • Image Component Default Tests > production mode > should not create an image folder in server/chunks
  • Image Component Default Tests > production mode > should render as unoptimized with missing src prop
  • Image Component Default Tests > production mode > should render as unoptimized with empty string src prop
  • Image Component Default Tests > production mode > should correctly ignore prose styles
  • Image Component Default Tests > production mode > should apply style inheritance for img elements but not wrapper elements
  • Image Component Default Tests > production mode > should apply filter style after image loads
  • Image Component Default Tests > production mode > should emit image for next/dynamic with non ssr case
  • Image Component Default Tests > production mode > should correctly rotate image
  • Image Component Default Tests > production mode > should have data url placeholder when enabled
  • Image Component Default Tests > production mode > should remove data url placeholder after image loads
  • Image Component Default Tests > production mode > should render correct objectFit when data url placeholder and fill
  • Image Component Default Tests > production mode > should have blurry placeholder when enabled
  • Image Component Default Tests > production mode > should remove blurry placeholder after image loads
  • Image Component Default Tests > production mode > should render correct objectFit when blurDataURL and fill
  • Image Component Default Tests > production mode > should be valid HTML
  • Image Component Default Tests > production mode > should call callback ref cleanups when unmounting
  • Image Component Default Tests > production mode > should build correct images-manifest.json
  • Image Component Default Tests > production mode > Fill-mode tests > should include a data-attribute on fill images
  • Image Component Default Tests > production mode > Fill-mode tests > should add position:absolute to fill images
  • Image Component Default Tests > production mode > Fill-mode tests > should add 100% width and height to fill images
  • Image Component Default Tests > production mode > Fill-mode tests > should add position styles to fill images
Expand output

● Image Component Default Tests › production mode › should load the images

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1654 |     'production mode',
  1655 |     () => {
> 1656 |       beforeAll(async () => {
       |       ^
  1657 |         await nextBuild(appDir)
  1658 |         appPort = await findPort()
  1659 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1656:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1653:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1638:1)

● Image Component Default Tests › production mode › should preload priority images

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1654 |     'production mode',
  1655 |     () => {
> 1656 |       beforeAll(async () => {
       |       ^
  1657 |         await nextBuild(appDir)
  1658 |         appPort = await findPort()
  1659 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1656:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1653:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1638:1)

● Image Component Default Tests › production mode › should not pass through user-provided srcset (causing a flash)

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1654 |     'production mode',
  1655 |     () => {
> 1656 |       beforeAll(async () => {
       |       ^
  1657 |         await nextBuild(appDir)
  1658 |         appPort = await findPort()
  1659 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1656:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1653:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1638:1)

● Image Component Default Tests › production mode › should update the image on src change

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1654 |     'production mode',
  1655 |     () => {
> 1656 |       beforeAll(async () => {
       |       ^
  1657 |         await nextBuild(appDir)
  1658 |         appPort = await findPort()
  1659 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1656:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1653:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1638:1)

● Image Component Default Tests › production mode › should callback onLoadingComplete when image is fully loaded

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1654 |     'production mode',
  1655 |     () => {
> 1656 |       beforeAll(async () => {
       |       ^
  1657 |         await nextBuild(appDir)
  1658 |         appPort = await findPort()
  1659 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1656:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1653:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1638:1)

● Image Component Default Tests › production mode › should callback native onLoad with sythetic event

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1654 |     'production mode',
  1655 |     () => {
> 1656 |       beforeAll(async () => {
       |       ^
  1657 |         await nextBuild(appDir)
  1658 |         appPort = await findPort()
  1659 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1656:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1653:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1638:1)

● Image Component Default Tests › production mode › should callback native onError when error occurred while loading image

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1654 |     'production mode',
  1655 |     () => {
> 1656 |       beforeAll(async () => {
       |       ^
  1657 |         await nextBuild(appDir)
  1658 |         appPort = await findPort()
  1659 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1656:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1653:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1638:1)

● Image Component Default Tests › production mode › should callback native onError even when error before hydration

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1654 |     'production mode',
  1655 |     () => {
> 1656 |       beforeAll(async () => {
       |       ^
  1657 |         await nextBuild(appDir)
  1658 |         appPort = await findPort()
  1659 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1656:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1653:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1638:1)

● Image Component Default Tests › production mode › should work with image with blob src

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1654 |     'production mode',
  1655 |     () => {
> 1656 |       beforeAll(async () => {
       |       ^
  1657 |         await nextBuild(appDir)
  1658 |         appPort = await findPort()
  1659 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1656:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1653:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1638:1)

● Image Component Default Tests › production mode › should work when using flexbox

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1654 |     'production mode',
  1655 |     () => {
> 1656 |       beforeAll(async () => {
       |       ^
  1657 |         await nextBuild(appDir)
  1658 |         appPort = await findPort()
  1659 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1656:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1653:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1638:1)

● Image Component Default Tests › production mode › should work when using overrideSrc prop

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1654 |     'production mode',
  1655 |     () => {
> 1656 |       beforeAll(async () => {
       |       ^
  1657 |         await nextBuild(appDir)
  1658 |         appPort = await findPort()
  1659 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1656:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1653:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1638:1)

● Image Component Default Tests › production mode › should work with sizes and automatically use responsive srcset

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1654 |     'production mode',
  1655 |     () => {
> 1656 |       beforeAll(async () => {
       |       ^
  1657 |         await nextBuild(appDir)
  1658 |         appPort = await findPort()
  1659 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1656:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1653:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1638:1)

● Image Component Default Tests › production mode › should render no wrappers or sizers

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1654 |     'production mode',
  1655 |     () => {
> 1656 |       beforeAll(async () => {
       |       ^
  1657 |         await nextBuild(appDir)
  1658 |         appPort = await findPort()
  1659 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1656:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1653:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1638:1)

● Image Component Default Tests › production mode › should lazy load with placeholder=blur

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1654 |     'production mode',
  1655 |     () => {
> 1656 |       beforeAll(async () => {
       |       ^
  1657 |         await nextBuild(appDir)
  1658 |         appPort = await findPort()
  1659 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1656:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1653:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1638:1)

● Image Component Default Tests › production mode › should handle the styles prop appropriately

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1654 |     'production mode',
  1655 |     () => {
> 1656 |       beforeAll(async () => {
       |       ^
  1657 |         await nextBuild(appDir)
  1658 |         appPort = await findPort()
  1659 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1656:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1653:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1638:1)

● Image Component Default Tests › production mode › should warn when legacy prop layout=fill

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1654 |     'production mode',
  1655 |     () => {
> 1656 |       beforeAll(async () => {
       |       ^
  1657 |         await nextBuild(appDir)
  1658 |         appPort = await findPort()
  1659 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1656:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1653:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1638:1)

● Image Component Default Tests › production mode › should warn when legacy prop layout=responsive

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1654 |     'production mode',
  1655 |     () => {
> 1656 |       beforeAll(async () => {
       |       ^
  1657 |         await nextBuild(appDir)
  1658 |         appPort = await findPort()
  1659 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1656:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1653:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1638:1)

● Image Component Default Tests › production mode › should render picture via getImageProps

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1654 |     'production mode',
  1655 |     () => {
> 1656 |       beforeAll(async () => {
       |       ^
  1657 |         await nextBuild(appDir)
  1658 |         appPort = await findPort()
  1659 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1656:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1653:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1638:1)

● Image Component Default Tests › production mode › should not create an image folder in server/chunks

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1654 |     'production mode',
  1655 |     () => {
> 1656 |       beforeAll(async () => {
       |       ^
  1657 |         await nextBuild(appDir)
  1658 |         appPort = await findPort()
  1659 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1656:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1653:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1638:1)

● Image Component Default Tests › production mode › should render as unoptimized with missing src prop

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1654 |     'production mode',
  1655 |     () => {
> 1656 |       beforeAll(async () => {
       |       ^
  1657 |         await nextBuild(appDir)
  1658 |         appPort = await findPort()
  1659 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1656:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1653:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1638:1)

● Image Component Default Tests › production mode › should render as unoptimized with empty string src prop

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1654 |     'production mode',
  1655 |     () => {
> 1656 |       beforeAll(async () => {
       |       ^
  1657 |         await nextBuild(appDir)
  1658 |         appPort = await findPort()
  1659 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1656:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1653:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1638:1)

● Image Component Default Tests › production mode › should correctly ignore prose styles

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1654 |     'production mode',
  1655 |     () => {
> 1656 |       beforeAll(async () => {
       |       ^
  1657 |         await nextBuild(appDir)
  1658 |         appPort = await findPort()
  1659 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1656:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1653:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1638:1)

● Image Component Default Tests › production mode › should apply style inheritance for img elements but not wrapper elements

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1654 |     'production mode',
  1655 |     () => {
> 1656 |       beforeAll(async () => {
       |       ^
  1657 |         await nextBuild(appDir)
  1658 |         appPort = await findPort()
  1659 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1656:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1653:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1638:1)

● Image Component Default Tests › production mode › should apply filter style after image loads

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1654 |     'production mode',
  1655 |     () => {
> 1656 |       beforeAll(async () => {
       |       ^
  1657 |         await nextBuild(appDir)
  1658 |         appPort = await findPort()
  1659 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1656:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1653:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1638:1)

● Image Component Default Tests › production mode › should emit image for next/dynamic with non ssr case

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1654 |     'production mode',
  1655 |     () => {
> 1656 |       beforeAll(async () => {
       |       ^
  1657 |         await nextBuild(appDir)
  1658 |         appPort = await findPort()
  1659 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1656:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1653:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1638:1)

● Image Component Default Tests › production mode › Fill-mode tests › should include a data-attribute on fill images

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1654 |     'production mode',
  1655 |     () => {
> 1656 |       beforeAll(async () => {
       |       ^
  1657 |         await nextBuild(appDir)
  1658 |         appPort = await findPort()
  1659 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1656:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1653:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1638:1)

● Image Component Default Tests › production mode › Fill-mode tests › should include a data-attribute on fill images

page.goto: Protocol error (Page.navigate): Cannot navigate to invalid URL
Call log:
  - navigating to "http://localhost:undefined/fill", waiting until "load"

  282 |     opts?.beforePageLoad?.(page)
  283 |
> 284 |     await page.goto(url, { waitUntil: 'load' })
      |                ^
  285 |   }
  286 |
  287 |   back(options) {

  at BrowserInterface.goto (lib/browsers/playwright.ts:284:16)
  at webdriver (lib/next-webdriver.ts:136:3)
  at Object.<anonymous> (integration/next-image-new/app-dir/test/index.test.ts:1335:17)

● Image Component Default Tests › production mode › Fill-mode tests › should add position:absolute to fill images

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1654 |     'production mode',
  1655 |     () => {
> 1656 |       beforeAll(async () => {
       |       ^
  1657 |         await nextBuild(appDir)
  1658 |         appPort = await findPort()
  1659 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1656:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1653:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1638:1)

● Image Component Default Tests › production mode › Fill-mode tests › should add position:absolute to fill images

page.goto: Protocol error (Page.navigate): Cannot navigate to invalid URL
Call log:
  - navigating to "http://localhost:undefined/fill", waiting until "load"

  282 |     opts?.beforePageLoad?.(page)
  283 |
> 284 |     await page.goto(url, { waitUntil: 'load' })
      |                ^
  285 |   }
  286 |
  287 |   back(options) {

  at BrowserInterface.goto (lib/browsers/playwright.ts:284:16)
  at webdriver (lib/next-webdriver.ts:136:3)
  at Object.<anonymous> (integration/next-image-new/app-dir/test/index.test.ts:1335:17)

● Image Component Default Tests › production mode › Fill-mode tests › should add 100% width and height to fill images

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1654 |     'production mode',
  1655 |     () => {
> 1656 |       beforeAll(async () => {
       |       ^
  1657 |         await nextBuild(appDir)
  1658 |         appPort = await findPort()
  1659 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1656:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1653:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1638:1)

● Image Component Default Tests › production mode › Fill-mode tests › should add 100% width and height to fill images

page.goto: Protocol error (Page.navigate): Cannot navigate to invalid URL
Call log:
  - navigating to "http://localhost:undefined/fill", waiting until "load"

  282 |     opts?.beforePageLoad?.(page)
  283 |
> 284 |     await page.goto(url, { waitUntil: 'load' })
      |                ^
  285 |   }
  286 |
  287 |   back(options) {

  at BrowserInterface.goto (lib/browsers/playwright.ts:284:16)
  at webdriver (lib/next-webdriver.ts:136:3)
  at Object.<anonymous> (integration/next-image-new/app-dir/test/index.test.ts:1335:17)

● Image Component Default Tests › production mode › Fill-mode tests › should add position styles to fill images

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1654 |     'production mode',
  1655 |     () => {
> 1656 |       beforeAll(async () => {
       |       ^
  1657 |         await nextBuild(appDir)
  1658 |         appPort = await findPort()
  1659 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1656:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1653:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1638:1)

● Image Component Default Tests › production mode › Fill-mode tests › should add position styles to fill images

page.goto: Protocol error (Page.navigate): Cannot navigate to invalid URL
Call log:
  - navigating to "http://localhost:undefined/fill", waiting until "load"

  282 |     opts?.beforePageLoad?.(page)
  283 |
> 284 |     await page.goto(url, { waitUntil: 'load' })
      |                ^
  285 |   }
  286 |
  287 |   back(options) {

  at BrowserInterface.goto (lib/browsers/playwright.ts:284:16)
  at webdriver (lib/next-webdriver.ts:136:3)
  at Object.<anonymous> (integration/next-image-new/app-dir/test/index.test.ts:1335:17)

● Image Component Default Tests › production mode › should correctly rotate image

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1654 |     'production mode',
  1655 |     () => {
> 1656 |       beforeAll(async () => {
       |       ^
  1657 |         await nextBuild(appDir)
  1658 |         appPort = await findPort()
  1659 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1656:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1653:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1638:1)

● Image Component Default Tests › production mode › should have data url placeholder when enabled

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1654 |     'production mode',
  1655 |     () => {
> 1656 |       beforeAll(async () => {
       |       ^
  1657 |         await nextBuild(appDir)
  1658 |         appPort = await findPort()
  1659 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1656:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1653:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1638:1)

● Image Component Default Tests › production mode › should remove data url placeholder after image loads

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1654 |     'production mode',
  1655 |     () => {
> 1656 |       beforeAll(async () => {
       |       ^
  1657 |         await nextBuild(appDir)
  1658 |         appPort = await findPort()
  1659 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1656:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1653:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1638:1)

● Image Component Default Tests › production mode › should render correct objectFit when data url placeholder and fill

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1654 |     'production mode',
  1655 |     () => {
> 1656 |       beforeAll(async () => {
       |       ^
  1657 |         await nextBuild(appDir)
  1658 |         appPort = await findPort()
  1659 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1656:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1653:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1638:1)

● Image Component Default Tests › production mode › should have blurry placeholder when enabled

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1654 |     'production mode',
  1655 |     () => {
> 1656 |       beforeAll(async () => {
       |       ^
  1657 |         await nextBuild(appDir)
  1658 |         appPort = await findPort()
  1659 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1656:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1653:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1638:1)

● Image Component Default Tests › production mode › should remove blurry placeholder after image loads

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1654 |     'production mode',
  1655 |     () => {
> 1656 |       beforeAll(async () => {
       |       ^
  1657 |         await nextBuild(appDir)
  1658 |         appPort = await findPort()
  1659 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1656:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1653:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1638:1)

● Image Component Default Tests › production mode › should render correct objectFit when blurDataURL and fill

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1654 |     'production mode',
  1655 |     () => {
> 1656 |       beforeAll(async () => {
       |       ^
  1657 |         await nextBuild(appDir)
  1658 |         appPort = await findPort()
  1659 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1656:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1653:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1638:1)

● Image Component Default Tests › production mode › should be valid HTML

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1654 |     'production mode',
  1655 |     () => {
> 1656 |       beforeAll(async () => {
       |       ^
  1657 |         await nextBuild(appDir)
  1658 |         appPort = await findPort()
  1659 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1656:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1653:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1638:1)

● Image Component Default Tests › production mode › should call callback ref cleanups when unmounting

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1654 |     'production mode',
  1655 |     () => {
> 1656 |       beforeAll(async () => {
       |       ^
  1657 |         await nextBuild(appDir)
  1658 |         appPort = await findPort()
  1659 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1656:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1653:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1638:1)

● Image Component Default Tests › production mode › should build correct images-manifest.json

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  1654 |     'production mode',
  1655 |     () => {
> 1656 |       beforeAll(async () => {
       |       ^
  1657 |         await nextBuild(appDir)
  1658 |         appPort = await findPort()
  1659 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1656:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1653:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1638:1)

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

pnpm test test/integration/next-image-legacy/base-path/test/index.test.ts (turbopack)

  • Image Component basePath Tests > production mode > should load the images
  • Image Component basePath Tests > production mode > should update the image on src change
  • Image Component basePath Tests > production mode > should work when using flexbox
  • Image Component basePath Tests > production mode > should work with layout-fixed so resizing window does not resize image
  • Image Component basePath Tests > production mode > should work with layout-intrinsic so resizing window maintains image aspect ratio
  • Image Component basePath Tests > production mode > should work with layout-responsive so resizing window maintains image aspect ratio
  • Image Component basePath Tests > production mode > should work with layout-fill to fill the parent but NOT stretch with viewport
  • Image Component basePath Tests > production mode > should work with layout-fill to fill the parent and stretch with viewport
  • Image Component basePath Tests > production mode > should work with sizes and automatically use layout-responsive
  • Image Component basePath Tests > production mode > should correctly ignore prose styles
  • Image Component basePath Tests > production mode > should correctly rotate image
Expand output

● Image Component basePath Tests › production mode › should load the images

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  482 |     'production mode',
  483 |     () => {
> 484 |       beforeAll(async () => {
      |       ^
  485 |         await nextBuild(appDir)
  486 |         appPort = await findPort()
  487 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-legacy/base-path/test/index.test.ts:484:7)
  at integration/next-image-legacy/base-path/test/index.test.ts:481:56
  at Object.describe (integration/next-image-legacy/base-path/test/index.test.ts:468:1)

● Image Component basePath Tests › production mode › should update the image on src change

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  482 |     'production mode',
  483 |     () => {
> 484 |       beforeAll(async () => {
      |       ^
  485 |         await nextBuild(appDir)
  486 |         appPort = await findPort()
  487 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-legacy/base-path/test/index.test.ts:484:7)
  at integration/next-image-legacy/base-path/test/index.test.ts:481:56
  at Object.describe (integration/next-image-legacy/base-path/test/index.test.ts:468:1)

● Image Component basePath Tests › production mode › should work when using flexbox

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  482 |     'production mode',
  483 |     () => {
> 484 |       beforeAll(async () => {
      |       ^
  485 |         await nextBuild(appDir)
  486 |         appPort = await findPort()
  487 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-legacy/base-path/test/index.test.ts:484:7)
  at integration/next-image-legacy/base-path/test/index.test.ts:481:56
  at Object.describe (integration/next-image-legacy/base-path/test/index.test.ts:468:1)

● Image Component basePath Tests › production mode › should work with layout-fixed so resizing window does not resize image

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  482 |     'production mode',
  483 |     () => {
> 484 |       beforeAll(async () => {
      |       ^
  485 |         await nextBuild(appDir)
  486 |         appPort = await findPort()
  487 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-legacy/base-path/test/index.test.ts:484:7)
  at integration/next-image-legacy/base-path/test/index.test.ts:481:56
  at Object.describe (integration/next-image-legacy/base-path/test/index.test.ts:468:1)

● Image Component basePath Tests › production mode › should work with layout-intrinsic so resizing window maintains image aspect ratio

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  482 |     'production mode',
  483 |     () => {
> 484 |       beforeAll(async () => {
      |       ^
  485 |         await nextBuild(appDir)
  486 |         appPort = await findPort()
  487 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-legacy/base-path/test/index.test.ts:484:7)
  at integration/next-image-legacy/base-path/test/index.test.ts:481:56
  at Object.describe (integration/next-image-legacy/base-path/test/index.test.ts:468:1)

● Image Component basePath Tests › production mode › should work with layout-responsive so resizing window maintains image aspect ratio

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  482 |     'production mode',
  483 |     () => {
> 484 |       beforeAll(async () => {
      |       ^
  485 |         await nextBuild(appDir)
  486 |         appPort = await findPort()
  487 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-legacy/base-path/test/index.test.ts:484:7)
  at integration/next-image-legacy/base-path/test/index.test.ts:481:56
  at Object.describe (integration/next-image-legacy/base-path/test/index.test.ts:468:1)

● Image Component basePath Tests › production mode › should work with layout-fill to fill the parent but NOT stretch with viewport

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  482 |     'production mode',
  483 |     () => {
> 484 |       beforeAll(async () => {
      |       ^
  485 |         await nextBuild(appDir)
  486 |         appPort = await findPort()
  487 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-legacy/base-path/test/index.test.ts:484:7)
  at integration/next-image-legacy/base-path/test/index.test.ts:481:56
  at Object.describe (integration/next-image-legacy/base-path/test/index.test.ts:468:1)

● Image Component basePath Tests › production mode › should work with layout-fill to fill the parent and stretch with viewport

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  482 |     'production mode',
  483 |     () => {
> 484 |       beforeAll(async () => {
      |       ^
  485 |         await nextBuild(appDir)
  486 |         appPort = await findPort()
  487 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-legacy/base-path/test/index.test.ts:484:7)
  at integration/next-image-legacy/base-path/test/index.test.ts:481:56
  at Object.describe (integration/next-image-legacy/base-path/test/index.test.ts:468:1)

● Image Component basePath Tests › production mode › should work with sizes and automatically use layout-responsive

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  482 |     'production mode',
  483 |     () => {
> 484 |       beforeAll(async () => {
      |       ^
  485 |         await nextBuild(appDir)
  486 |         appPort = await findPort()
  487 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-legacy/base-path/test/index.test.ts:484:7)
  at integration/next-image-legacy/base-path/test/index.test.ts:481:56
  at Object.describe (integration/next-image-legacy/base-path/test/index.test.ts:468:1)

● Image Component basePath Tests › production mode › should correctly ignore prose styles

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  482 |     'production mode',
  483 |     () => {
> 484 |       beforeAll(async () => {
      |       ^
  485 |         await nextBuild(appDir)
  486 |         appPort = await findPort()
  487 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-legacy/base-path/test/index.test.ts:484:7)
  at integration/next-image-legacy/base-path/test/index.test.ts:481:56
  at Object.describe (integration/next-image-legacy/base-path/test/index.test.ts:468:1)

● Image Component basePath Tests › production mode › should correctly rotate image

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  482 |     'production mode',
  483 |     () => {
> 484 |       beforeAll(async () => {
      |       ^
  485 |         await nextBuild(appDir)
  486 |         appPort = await findPort()
  487 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-legacy/base-path/test/index.test.ts:484:7)
  at integration/next-image-legacy/base-path/test/index.test.ts:481:56
  at Object.describe (integration/next-image-legacy/base-path/test/index.test.ts:468:1)

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

pnpm test-start-turbo test/e2e/app-dir/app-css/index.test.ts (turbopack)

  • app dir - css > css support > chunks > should bundle css resources into chunks
  • app dir - css > css support > client components > should support css modules inside client page
  • app dir - css > css support > client components > should support css modules inside client components
  • app dir - css > css support > client layouts > should support css modules inside client layouts
  • app dir - css > css support > client layouts > should support global css inside client layouts
  • app dir - css > css support > client pages > should support css modules inside client pages
  • app dir - css > css support > client pages > should support global css inside client pages
  • app dir - css > css support > css ordering > should have inner layers take precedence over outer layers
  • app dir - css > css support > page extensions > should include css imported in MDX pages
  • app dir - css > css support > server layouts > should support css modules inside server layouts
  • app dir - css > css support > server layouts > should support external css imports
  • app dir - css > css support > server pages > should support global css inside server pages
  • app dir - css > css support > server pages > should support css modules inside server pages
  • app dir - css > css support > server pages > should not contain pages css in app dir page
  • app dir - css > css support > server pages > should support css modules shared between server pages
  • app dir - css > css support > special entries > should include css imported in loading.js
  • app dir - css > css support > special entries > should include css imported in client template.js
  • app dir - css > css support > special entries > should include css imported in server template.js
  • app dir - css > css support > special entries > should include css imported in client not-found.js
  • app dir - css > css support > special entries > should include css imported in server not-found.js
  • app dir - css > css support > special entries > should include root layout css for root not-found.js
  • app dir - css > css support > special entries > should include css imported in root not-found.js
  • app dir - css > css support > special entries > should include css imported in error.js
  • app dir - css > pages dir > should include css modules and global css after page transition
  • app dir - css > sass support > client layouts > should support global sass/scss inside client layouts
  • app dir - css > sass support > client layouts > should support sass/scss modules inside client layouts
  • app dir - css > sass support > client pages > should support global sass/scss inside client pages
  • app dir - css > sass support > client pages > should support sass/scss modules inside client pages
  • app dir - css > sass support > server layouts > should support global sass/scss inside server layouts
  • app dir - css > sass support > server layouts > should support sass/scss modules inside server layouts
  • app dir - css > sass support > server pages > should support global sass/scss inside server pages
  • app dir - css > sass support > server pages > should support sass/scss modules inside server pages
Expand output

● app dir - css › css support › server layouts › should support global css inside server layouts

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-css/index.test.ts:7:53
  at Object.describe (e2e/app-dir/app-css/index.test.ts:6:1)

● app dir - css › css support › server layouts › should support css modules inside server layouts

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-css/index.test.ts:7:53
  at Object.describe (e2e/app-dir/app-css/index.test.ts:6:1)

● app dir - css › css support › server layouts › should support external css imports

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-css/index.test.ts:7:53
  at Object.describe (e2e/app-dir/app-css/index.test.ts:6:1)

● app dir - css › css support › server pages › should support global css inside server pages

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-css/index.test.ts:7:53
  at Object.describe (e2e/app-dir/app-css/index.test.ts:6:1)

● app dir - css › css support › server pages › should support css modules inside server pages

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-css/index.test.ts:7:53
  at Object.describe (e2e/app-dir/app-css/index.test.ts:6:1)

● app dir - css › css support › server pages › should not contain pages css in app dir page

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-css/index.test.ts:7:53
  at Object.describe (e2e/app-dir/app-css/index.test.ts:6:1)

● app dir - css › css support › server pages › should support css modules shared between server pages

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-css/index.test.ts:7:53
  at Object.describe (e2e/app-dir/app-css/index.test.ts:6:1)

● app dir - css › css support › client layouts › should support css modules inside client layouts

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-css/index.test.ts:7:53
  at Object.describe (e2e/app-dir/app-css/index.test.ts:6:1)

● app dir - css › css support › client layouts › should support global css inside client layouts

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-css/index.test.ts:7:53
  at Object.describe (e2e/app-dir/app-css/index.test.ts:6:1)

● app dir - css › css support › client pages › should support css modules inside client pages

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-css/index.test.ts:7:53
  at Object.describe (e2e/app-dir/app-css/index.test.ts:6:1)

● app dir - css › css support › client pages › should support global css inside client pages

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-css/index.test.ts:7:53
  at Object.describe (e2e/app-dir/app-css/index.test.ts:6:1)

● app dir - css › css support › client components › should support css modules inside client page

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-css/index.test.ts:7:53
  at Object.describe (e2e/app-dir/app-css/index.test.ts:6:1)

● app dir - css › css support › client components › should support css modules inside client components

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-css/index.test.ts:7:53
  at Object.describe (e2e/app-dir/app-css/index.test.ts:6:1)

● app dir - css › css support › special entries › should include css imported in loading.js

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-css/index.test.ts:7:53
  at Object.describe (e2e/app-dir/app-css/index.test.ts:6:1)

● app dir - css › css support › special entries › should include css imported in client template.js

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-css/index.test.ts:7:53
  at Object.describe (e2e/app-dir/app-css/index.test.ts:6:1)

● app dir - css › css support › special entries › should include css imported in server template.js

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-css/index.test.ts:7:53
  at Object.describe (e2e/app-dir/app-css/index.test.ts:6:1)

● app dir - css › css support › special entries › should include css imported in client not-found.js

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-css/index.test.ts:7:53
  at Object.describe (e2e/app-dir/app-css/index.test.ts:6:1)

● app dir - css › css support › special entries › should include css imported in server not-found.js

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-css/index.test.ts:7:53
  at Object.describe (e2e/app-dir/app-css/index.test.ts:6:1)

● app dir - css › css support › special entries › should include root layout css for root not-found.js

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-css/index.test.ts:7:53
  at Object.describe (e2e/app-dir/app-css/index.test.ts:6:1)

● app dir - css › css support › special entries › should include css imported in root not-found.js

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-css/index.test.ts:7:53
  at Object.describe (e2e/app-dir/app-css/index.test.ts:6:1)

● app dir - css › css support › special entries › should include css imported in error.js

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-css/index.test.ts:7:53
  at Object.describe (e2e/app-dir/app-css/index.test.ts:6:1)

● app dir - css › css support › page extensions › should include css imported in MDX pages

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-css/index.test.ts:7:53
  at Object.describe (e2e/app-dir/app-css/index.test.ts:6:1)

● app dir - css › css support › chunks › should bundle css resources into chunks

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-css/index.test.ts:7:53
  at Object.describe (e2e/app-dir/app-css/index.test.ts:6:1)

● app dir - css › css support › css ordering › should have inner layers take precedence over outer layers

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-css/index.test.ts:7:53
  at Object.describe (e2e/app-dir/app-css/index.test.ts:6:1)

● app dir - css › sass support › server layouts › should support global sass/scss inside server layouts

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-css/index.test.ts:7:53
  at Object.describe (e2e/app-dir/app-css/index.test.ts:6:1)

● app dir - css › sass support › server layouts › should support sass/scss modules inside server layouts

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-css/index.test.ts:7:53
  at Object.describe (e2e/app-dir/app-css/index.test.ts:6:1)

● app dir - css › sass support › server pages › should support global sass/scss inside server pages

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-css/index.test.ts:7:53
  at Object.describe (e2e/app-dir/app-css/index.test.ts:6:1)

● app dir - css › sass support › server pages › should support sass/scss modules inside server pages

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-css/index.test.ts:7:53
  at Object.describe (e2e/app-dir/app-css/index.test.ts:6:1)

● app dir - css › sass support › client layouts › should support global sass/scss inside client layouts

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-css/index.test.ts:7:53
  at Object.describe (e2e/app-dir/app-css/index.test.ts:6:1)

● app dir - css › sass support › client layouts › should support sass/scss modules inside client layouts

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-css/index.test.ts:7:53
  at Object.describe (e2e/app-dir/app-css/index.test.ts:6:1)

● app dir - css › sass support › client pages › should support global sass/scss inside client pages

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-css/index.test.ts:7:53
  at Object.describe (e2e/app-dir/app-css/index.test.ts:6:1)

● app dir - css › sass support › client pages › should support sass/scss modules inside client pages

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-css/index.test.ts:7:53
  at Object.describe (e2e/app-dir/app-css/index.test.ts:6:1)

● app dir - css › pages dir › should include css modules and global css after page transition

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-css/index.test.ts:7:53
  at Object.describe (e2e/app-dir/app-css/index.test.ts:6:1)

● Test suite failed to run

next instance not destroyed before exiting, make sure to call .destroy() after the tests after finished

  134 |     if (nextInstance) {
  135 |       await nextInstance.destroy()
> 136 |       throw new Error(
      |             ^
  137 |         `next instance not destroyed before exiting, make sure to call .destroy() after the tests after finished`
  138 |       )
  139 |     }

  at Object.<anonymous> (lib/e2e-utils/index.ts:136:13)

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

pnpm test-start-turbo test/e2e/app-dir/app-basepath/index.test.ts (turbopack)

  • app dir - basepath > should successfully hard navigate from pages -> app
  • app dir - basepath > should support basePath
  • app dir - basepath > should support Link with basePath prefixed
  • app dir - basepath > should prefix metadata og image with basePath
  • app dir - basepath > should prefix redirect() with basePath
  • app dir - basepath > should render usePathname without the basePath
  • app dir - basepath > should handle redirect in dynamic in suspense boundary routes with basePath
  • app dir - basepath > should only make a single RSC call to the current page (/base/refresh)
  • app dir - basepath > should only make a single RSC call to the current page (/base/refresh?foo=bar)
  • app dir - basepath > should properly stream an internal server action redirect() with a relative URL
  • app dir - basepath > should properly stream an internal server action redirect() with a absolute URL
  • app dir - basepath > should redirect externally when encountering absolute URLs on the same host outside the basePath
Expand output

● app dir - basepath › should successfully hard navigate from pages -> app

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-basepath/index.test.ts:6:44
  at Object.describe (e2e/app-dir/app-basepath/index.test.ts:5:1)

● app dir - basepath › should support basePath

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-basepath/index.test.ts:6:44
  at Object.describe (e2e/app-dir/app-basepath/index.test.ts:5:1)

● app dir - basepath › should support Link with basePath prefixed

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-basepath/index.test.ts:6:44
  at Object.describe (e2e/app-dir/app-basepath/index.test.ts:5:1)

● app dir - basepath › should prefix metadata og image with basePath

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-basepath/index.test.ts:6:44
  at Object.describe (e2e/app-dir/app-basepath/index.test.ts:5:1)

● app dir - basepath › should prefix redirect() with basePath

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-basepath/index.test.ts:6:44
  at Object.describe (e2e/app-dir/app-basepath/index.test.ts:5:1)

● app dir - basepath › should render usePathname without the basePath

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-basepath/index.test.ts:6:44
  at Object.describe (e2e/app-dir/app-basepath/index.test.ts:5:1)

● app dir - basepath › should handle redirect in dynamic in suspense boundary routes with basePath

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-basepath/index.test.ts:6:44
  at Object.describe (e2e/app-dir/app-basepath/index.test.ts:5:1)

● app dir - basepath › should only make a single RSC call to the current page (/base/refresh)

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-basepath/index.test.ts:6:44
  at Object.describe (e2e/app-dir/app-basepath/index.test.ts:5:1)

● app dir - basepath › should only make a single RSC call to the current page (/base/refresh?foo=bar)

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-basepath/index.test.ts:6:44
  at Object.describe (e2e/app-dir/app-basepath/index.test.ts:5:1)

● app dir - basepath › should properly stream an internal server action redirect() with a relative URL

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-basepath/index.test.ts:6:44
  at Object.describe (e2e/app-dir/app-basepath/index.test.ts:5:1)

● app dir - basepath › should properly stream an internal server action redirect() with a absolute URL

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-basepath/index.test.ts:6:44
  at Object.describe (e2e/app-dir/app-basepath/index.test.ts:5:1)

● app dir - basepath › should redirect externally when encountering absolute URLs on the same host outside the basePath

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-basepath/index.test.ts:6:44
  at Object.describe (e2e/app-dir/app-basepath/index.test.ts:5:1)

● Test suite failed to run

next instance not destroyed before exiting, make sure to call .destroy() after the tests after finished

  134 |     if (nextInstance) {
  135 |       await nextInstance.destroy()
> 136 |       throw new Error(
      |             ^
  137 |         `next instance not destroyed before exiting, make sure to call .destroy() after the tests after finished`
  138 |       )
  139 |     }

  at Object.<anonymous> (lib/e2e-utils/index.ts:136:13)

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

pnpm test-start-turbo test/e2e/app-dir/asset-prefix/asset-prefix.test.ts (turbopack)

  • app-dir assetPrefix handling > should redirect route when requesting it directly
  • app-dir assetPrefix handling > should render link
  • app-dir assetPrefix handling > should redirect route when requesting it directly by browser
  • app-dir assetPrefix handling > should redirect route when clicking link
  • app-dir assetPrefix handling > bundles should return 200 on served assetPrefix
  • app-dir assetPrefix handling > rewrites > rewrites that do not start with assetPrefix should still work
  • app-dir assetPrefix handling > rewrites > should respect rewrites that start with assetPrefix
Expand output

● app-dir assetPrefix handling › should redirect route when requesting it directly

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/asset-prefix/asset-prefix.test.ts:4:33
  at Object.describe (e2e/app-dir/asset-prefix/asset-prefix.test.ts:3:1)

● app-dir assetPrefix handling › should render link

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/asset-prefix/asset-prefix.test.ts:4:33
  at Object.describe (e2e/app-dir/asset-prefix/asset-prefix.test.ts:3:1)

● app-dir assetPrefix handling › should redirect route when requesting it directly by browser

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/asset-prefix/asset-prefix.test.ts:4:33
  at Object.describe (e2e/app-dir/asset-prefix/asset-prefix.test.ts:3:1)

● app-dir assetPrefix handling › should redirect route when clicking link

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/asset-prefix/asset-prefix.test.ts:4:33
  at Object.describe (e2e/app-dir/asset-prefix/asset-prefix.test.ts:3:1)

● app-dir assetPrefix handling › bundles should return 200 on served assetPrefix

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/asset-prefix/asset-prefix.test.ts:4:33
  at Object.describe (e2e/app-dir/asset-prefix/asset-prefix.test.ts:3:1)

● app-dir assetPrefix handling › rewrites › rewrites that do not start with assetPrefix should still work

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/asset-prefix/asset-prefix.test.ts:4:33
  at Object.describe (e2e/app-dir/asset-prefix/asset-prefix.test.ts:3:1)

● app-dir assetPrefix handling › rewrites › should respect rewrites that start with assetPrefix

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/asset-prefix/asset-prefix.test.ts:4:33
  at Object.describe (e2e/app-dir/asset-prefix/asset-prefix.test.ts:3:1)

● Test suite failed to run

next instance not destroyed before exiting, make sure to call .destroy() after the tests after finished

  134 |     if (nextInstance) {
  135 |       await nextInstance.destroy()
> 136 |       throw new Error(
      |             ^
  137 |         `next instance not destroyed before exiting, make sure to call .destroy() after the tests after finished`
  138 |       )
  139 |     }

  at Object.<anonymous> (lib/e2e-utils/index.ts:136:13)

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

pnpm test-start-turbo test/e2e/app-dir/app-middleware/app-middleware.test.ts (turbopack)

  • app dir - middleware without pages dir > Updates headers
  • app-dir with middleware > should filter correctly after middleware rewrite
  • app-dir with middleware > retains a link response header from the middleware
  • app-dir with middleware > should be possible to modify cookies & read them in an RSC in a single request
  • app-dir with middleware > should respect cookie options of merged middleware cookies
  • app-dir with middleware > should omit internal headers for middleware cookies
  • app-dir with middleware > should ignore x-middleware-set-cookie as a request header
  • app-dir with middleware > should be possible to read cookies that are set during the middleware handling of a server action
  • app-dir with middleware > Mutate request headers for Edge Functions > Adds new headers
  • app-dir with middleware > Mutate request headers for Edge Functions > Deletes headers
  • app-dir with middleware > Mutate request headers for Edge Functions > Updates headers
  • app-dir with middleware > Mutate request headers for Edge Functions > Supports draft mode
  • app-dir with middleware > Mutate request headers for Serverless Functions > Adds new headers
  • app-dir with middleware > Mutate request headers for Serverless Functions > Deletes headers
  • app-dir with middleware > Mutate request headers for Serverless Functions > Updates headers
  • app-dir with middleware > Mutate request headers for Serverless Functions > Supports draft mode
  • app-dir with middleware > Mutate request headers for next/headers > Adds new headers
  • app-dir with middleware > Mutate request headers for next/headers > Deletes headers
  • app-dir with middleware > Mutate request headers for next/headers > Updates headers
  • app-dir with middleware > Mutate request headers for next/headers > Supports draft mode
Expand output

● app-dir with middleware › should filter correctly after middleware rewrite

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-middleware/app-middleware.test.ts:9:33
  at Object.describe (e2e/app-dir/app-middleware/app-middleware.test.ts:8:1)

● app-dir with middleware › Mutate request headers for Serverless Functions › Adds new headers

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-middleware/app-middleware.test.ts:9:33
  at Object.describe (e2e/app-dir/app-middleware/app-middleware.test.ts:8:1)

● app-dir with middleware › Mutate request headers for Serverless Functions › Deletes headers

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-middleware/app-middleware.test.ts:9:33
  at Object.describe (e2e/app-dir/app-middleware/app-middleware.test.ts:8:1)

● app-dir with middleware › Mutate request headers for Serverless Functions › Updates headers

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-middleware/app-middleware.test.ts:9:33
  at Object.describe (e2e/app-dir/app-middleware/app-middleware.test.ts:8:1)

● app-dir with middleware › Mutate request headers for Serverless Functions › Supports draft mode

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-middleware/app-middleware.test.ts:9:33
  at Object.describe (e2e/app-dir/app-middleware/app-middleware.test.ts:8:1)

● app-dir with middleware › Mutate request headers for Edge Functions › Adds new headers

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-middleware/app-middleware.test.ts:9:33
  at Object.describe (e2e/app-dir/app-middleware/app-middleware.test.ts:8:1)

● app-dir with middleware › Mutate request headers for Edge Functions › Deletes headers

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-middleware/app-middleware.test.ts:9:33
  at Object.describe (e2e/app-dir/app-middleware/app-middleware.test.ts:8:1)

● app-dir with middleware › Mutate request headers for Edge Functions › Updates headers

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-middleware/app-middleware.test.ts:9:33
  at Object.describe (e2e/app-dir/app-middleware/app-middleware.test.ts:8:1)

● app-dir with middleware › Mutate request headers for Edge Functions › Supports draft mode

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-middleware/app-middleware.test.ts:9:33
  at Object.describe (e2e/app-dir/app-middleware/app-middleware.test.ts:8:1)

● app-dir with middleware › Mutate request headers for next/headers › Adds new headers

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-middleware/app-middleware.test.ts:9:33
  at Object.describe (e2e/app-dir/app-middleware/app-middleware.test.ts:8:1)

● app-dir with middleware › Mutate request headers for next/headers › Deletes headers

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-middleware/app-middleware.test.ts:9:33
  at Object.describe (e2e/app-dir/app-middleware/app-middleware.test.ts:8:1)

● app-dir with middleware › Mutate request headers for next/headers › Updates headers

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-middleware/app-middleware.test.ts:9:33
  at Object.describe (e2e/app-dir/app-middleware/app-middleware.test.ts:8:1)

● app-dir with middleware › Mutate request headers for next/headers › Supports draft mode

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-middleware/app-middleware.test.ts:9:33
  at Object.describe (e2e/app-dir/app-middleware/app-middleware.test.ts:8:1)

● app-dir with middleware › retains a link response header from the middleware

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-middleware/app-middleware.test.ts:9:33
  at Object.describe (e2e/app-dir/app-middleware/app-middleware.test.ts:8:1)

● app-dir with middleware › should be possible to modify cookies & read them in an RSC in a single request

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-middleware/app-middleware.test.ts:9:33
  at Object.describe (e2e/app-dir/app-middleware/app-middleware.test.ts:8:1)

● app-dir with middleware › should respect cookie options of merged middleware cookies

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-middleware/app-middleware.test.ts:9:33
  at Object.describe (e2e/app-dir/app-middleware/app-middleware.test.ts:8:1)

● app-dir with middleware › should omit internal headers for middleware cookies

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-middleware/app-middleware.test.ts:9:33
  at Object.describe (e2e/app-dir/app-middleware/app-middleware.test.ts:8:1)

● app-dir with middleware › should ignore x-middleware-set-cookie as a request header

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-middleware/app-middleware.test.ts:9:33
  at Object.describe (e2e/app-dir/app-middleware/app-middleware.test.ts:8:1)

● app-dir with middleware › should be possible to read cookies that are set during the middleware handling of a server action

thrown: "Exceeded timeout of 120000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-middleware/app-middleware.test.ts:9:33
  at Object.describe (e2e/app-dir/app-middleware/app-middleware.test.ts:8:1)

● app dir - middleware without pages dir › Updates headers

createNext called without destroying previous instance

  160 |   try {
  161 |     if (nextInstance) {
> 162 |       throw new Error(`createNext called without destroying previous instance`)
      |             ^
  163 |     }
  164 |
  165 |     setupTracing()

  at createNext (lib/e2e-utils/index.ts:162:13)
  at Object.createNext (lib/e2e-utils/index.ts:255:20)

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

@ijjk
Copy link
Member

ijjk commented Jan 27, 2025

Stats from current PR

Default Build
General
vercel/next.js canary vercel/next.js wbinnssmith/write-all-endpoints Change
buildDuration 18.6s 16.8s N/A
buildDurationCached 15.7s 13.3s N/A
nodeModulesSize 391 MB 391 MB N/A
nextStartRea..uration (ms) 447ms 437ms N/A
Client Bundles (main, webpack)
vercel/next.js canary vercel/next.js wbinnssmith/write-all-endpoints Change
5306-HASH.js gzip 54 kB 53.9 kB N/A
8276.HASH.js gzip 169 B 168 B N/A
8377-HASH.js gzip 5.46 kB 5.46 kB N/A
bccd1874-HASH.js gzip 52.9 kB 52.9 kB N/A
framework-HASH.js gzip 57.5 kB 57.5 kB N/A
main-app-HASH.js gzip 240 B 242 B N/A
main-HASH.js gzip 34.5 kB 34.4 kB N/A
webpack-HASH.js gzip 1.71 kB 1.71 kB N/A
Overall change 0 B 0 B
Legacy Client Bundles (polyfills)
vercel/next.js canary vercel/next.js wbinnssmith/write-all-endpoints 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 wbinnssmith/write-all-endpoints Change
_app-HASH.js gzip 193 B 193 B
_error-HASH.js gzip 193 B 193 B
amp-HASH.js gzip 512 B 510 B N/A
css-HASH.js gzip 343 B 342 B N/A
dynamic-HASH.js gzip 1.84 kB 1.84 kB
edge-ssr-HASH.js gzip 265 B 265 B
head-HASH.js gzip 363 B 362 B N/A
hooks-HASH.js gzip 393 B 392 B N/A
image-HASH.js gzip 4.59 kB 4.58 kB N/A
index-HASH.js gzip 268 B 268 B
link-HASH.js gzip 2.35 kB 2.35 kB N/A
routerDirect..HASH.js gzip 328 B 328 B
script-HASH.js gzip 397 B 397 B
withRouter-HASH.js gzip 323 B 326 B N/A
1afbb74e6ecf..834.css gzip 106 B 106 B
Overall change 3.59 kB 3.59 kB
Client Build Manifests
vercel/next.js canary vercel/next.js wbinnssmith/write-all-endpoints Change
_buildManifest.js gzip 748 B 747 B N/A
Overall change 0 B 0 B
Rendered Page Sizes
vercel/next.js canary vercel/next.js wbinnssmith/write-all-endpoints Change
index.html gzip 523 B 524 B N/A
link.html gzip 538 B 538 B
withRouter.html gzip 519 B 520 B N/A
Overall change 538 B 538 B
Edge SSR bundle Size
vercel/next.js canary vercel/next.js wbinnssmith/write-all-endpoints Change
edge-ssr.js gzip 129 kB 129 kB N/A
page.js gzip 210 kB 210 kB N/A
Overall change 0 B 0 B
Middleware size
vercel/next.js canary vercel/next.js wbinnssmith/write-all-endpoints Change
middleware-b..fest.js gzip 670 B 668 B N/A
middleware-r..fest.js gzip 155 B 156 B N/A
middleware.js gzip 31.3 kB 31.3 kB N/A
edge-runtime..pack.js gzip 844 B 844 B
Overall change 844 B 844 B
Next Runtimes
vercel/next.js canary vercel/next.js wbinnssmith/write-all-endpoints Change
app-page-exp...dev.js gzip 386 kB 386 kB
app-page-exp..prod.js gzip 132 kB 132 kB
app-page-tur..prod.js gzip 145 kB 145 kB
app-page-tur..prod.js gzip 141 kB 141 kB
app-page.run...dev.js gzip 373 kB 373 kB
app-page.run..prod.js gzip 128 kB 128 kB
app-route-ex...dev.js gzip 39.2 kB 39.2 kB
app-route-ex..prod.js gzip 25.6 kB 25.6 kB
app-route-tu..prod.js gzip 25.6 kB 25.6 kB
app-route-tu..prod.js gzip 25.4 kB 25.4 kB
app-route.ru...dev.js gzip 40.8 kB 40.8 kB
app-route.ru..prod.js gzip 25.4 kB 25.4 kB
dist_client_...dev.js gzip 356 B 356 B
dist_client_...dev.js gzip 349 B 349 B
pages-api-tu..prod.js gzip 9.69 kB 9.69 kB
pages-api.ru...dev.js gzip 11.8 kB 11.8 kB
pages-api.ru..prod.js gzip 9.68 kB 9.68 kB
pages-turbo...prod.js gzip 21.9 kB 21.9 kB
pages.runtim...dev.js gzip 31.5 kB 31.5 kB
pages.runtim..prod.js gzip 21.9 kB 21.9 kB
server.runti..prod.js gzip 60.2 kB 60.2 kB
Overall change 1.65 MB 1.65 MB
build cache
vercel/next.js canary vercel/next.js wbinnssmith/write-all-endpoints Change
0.pack gzip 2.1 MB 2.1 MB N/A
index.pack gzip 76 kB 75.4 kB N/A
Overall change 0 B 0 B
Diff details
Diff for main-HASH.js

Diff too large to display

Commit: 96b5aae

@wbinnssmith wbinnssmith marked this pull request as ready for review January 30, 2025 01:11
@wbinnssmith wbinnssmith force-pushed the wbinnssmith/write-all-endpoints branch from 49e3522 to a1c8d96 Compare January 30, 2025 01:11
@wbinnssmith wbinnssmith requested review from sokra, mischnic and bgw January 30, 2025 01:11
@wbinnssmith wbinnssmith force-pushed the wbinnssmith/write-all-endpoints branch from 9b469ad to 3b504e2 Compare January 30, 2025 17:52
@mischnic mischnic force-pushed the wbinnssmith/write-all-endpoints branch from 189743d to ace016a Compare February 3, 2025 12:12
Copy link
Contributor

mischnic commented Feb 3, 2025

@mischnic mischnic changed the base branch from canary to graphite-base/75304 February 3, 2025 12:19
@mischnic mischnic force-pushed the wbinnssmith/write-all-endpoints branch from ace016a to 7460cf4 Compare February 3, 2025 12:19
@mischnic mischnic changed the base branch from graphite-base/75304 to mischnic/skip-traced-in-graph February 3, 2025 12:19
@timneutkens timneutkens force-pushed the mischnic/skip-traced-in-graph branch from f096428 to 89b48dd Compare February 3, 2025 12:59
@timneutkens timneutkens force-pushed the wbinnssmith/write-all-endpoints branch from 7460cf4 to a2084ef Compare February 3, 2025 13:00
@mischnic mischnic force-pushed the wbinnssmith/write-all-endpoints branch from a2084ef to 0fae70f Compare February 3, 2025 13:08
@mischnic mischnic force-pushed the mischnic/skip-traced-in-graph branch from 89b48dd to d2b307c Compare February 3, 2025 13:09
Base automatically changed from mischnic/skip-traced-in-graph to canary February 3, 2025 14:39
@mischnic mischnic force-pushed the wbinnssmith/write-all-endpoints branch from 0fae70f to 313f5b7 Compare February 3, 2025 14:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
created-by: Turbopack team PRs by the Turbopack team. Turbopack Related to Turbopack with Next.js. type: next
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants