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

[backport] Fix/dedupe fetch clone #73532

Merged
merged 2 commits into from
Dec 4, 2024
Merged

[backport] Fix/dedupe fetch clone #73532

merged 2 commits into from
Dec 4, 2024

Conversation

wyattjoh
Copy link
Member

@wyattjoh wyattjoh commented Dec 4, 2024

This is a backport of #73274 which resolves a bug with response cloning.

@ijjk ijjk added created-by: Next.js team PRs by the Next.js team. type: next labels Dec 4, 2024
@ijjk
Copy link
Member

ijjk commented Dec 4, 2024

Failing test suites

Commit: 205e85f

pnpm test-start test/e2e/app-dir/app-fetch-deduping/app-fetch-deduping.test.ts

  • app-fetch-deduping > during static generation > dedupes requests amongst static workers when experimental.staticWorkerRequestDeduping is enabled
Expand output

● app-fetch-deduping › during static generation › dedupes requests amongst static workers when experimental.staticWorkerRequestDeduping is enabled

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

Expected: 1
Received: 0

  47 |         )
  48 |         await next.build()
> 49 |         expect(requests.length).toBe(1)
     |                                 ^
  50 |       })
  51 |     })
  52 |   } else if (isNextDev) {

  at Object.toBe (e2e/app-dir/app-fetch-deduping/app-fetch-deduping.test.ts:49:33)

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

pnpm test-start test/e2e/app-dir/app-basepath-custom-server/index.test.ts

  • custom-app-server-action-redirect > redirects with basepath properly when server action handler uses redirect
Expand output

● custom-app-server-action-redirect › redirects with basepath properly when server action handler uses redirect

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

Expected: "Count: 2"
Received: "Count: 0"

  34 |
  35 |       // Count should still be 2 as the browser should not have reloaded the page.
> 36 |       expect(await getCount()).toBe('Count: 2')
     |                                ^
  37 |     })
  38 |
  39 |     it('redirects with proper cookies set from both redirect response and post respose', async () => {

  at Object.toBe (e2e/app-dir/app-basepath-custom-server/index.test.ts:36:32)

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

pnpm test-start test/e2e/app-dir/logging/fetch-logging.test.ts

  • app-dir - logging > with default logging > should not log fetch requests at all
  • app-dir - logging > with fetches default logging > should only log requests in development mode
  • app-dir - logging > with fetches verbose logging > should only log requests in development mode
  • app-dir - logging > with verbose logging for edge runtime > should not log fetch requests at all
Expand output

● app-dir - logging › with fetches verbose logging › should only log requests in development mode

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir - logging › with fetches default logging › should only log requests in development mode

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir - logging › with fetches default logging › should only log requests in development mode

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.stop (e2e/app-dir/logging/fetch-logging.test.ts:231:18)

● app-dir - logging › with verbose logging for edge runtime › should not log fetch requests at all

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir - logging › with verbose logging for edge runtime › should not log fetch requests at all

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.stop (e2e/app-dir/logging/fetch-logging.test.ts:247:18)

● app-dir - logging › with default logging › should not log fetch requests at all

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir - logging › with default logging › should not log fetch requests at all

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.stop (e2e/app-dir/logging/fetch-logging.test.ts:265:18)

● Test suite failed to run

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.patchFile (e2e/app-dir/logging/fetch-logging.test.ts:239:18)

● Test suite failed to run

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.patchFile (e2e/app-dir/logging/fetch-logging.test.ts:270:18)

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

pnpm test-start test/e2e/app-dir/actions/app-action-size-limit-invalid.test.ts

  • app-dir action size limit invalid config > should error if serverActions.bodySizeLimit config is a negative number
  • app-dir action size limit invalid config > should error if serverActions.bodySizeLimit config is invalid
  • app-dir action size limit invalid config > should error if serverActions.bodySizeLimit config is a negative size
  • app-dir action size limit invalid config > should respect the size set in serverActions.bodySizeLimit
  • app-dir action size limit invalid config > should respect the size set in serverActions.bodySizeLimit when submitting form
Expand output

● app-dir action size limit invalid config › should error if serverActions.bodySizeLimit config is a negative number

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir action size limit invalid config › should error if serverActions.bodySizeLimit config is invalid

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir action size limit invalid config › should error if serverActions.bodySizeLimit config is a negative size

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir action size limit invalid config › should respect the size set in serverActions.bodySizeLimit

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir action size limit invalid config › should respect the size set in serverActions.bodySizeLimit when submitting form

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

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

pnpm test-start test/e2e/app-dir/app-static/app-static.test.ts

  • app-dir static/dynamic handling > should still cache even though the traceparent header was different
  • app-dir static/dynamic handling > should warn for too many cache tags
  • app-dir static/dynamic handling > should propagate unstable_cache tags correctly
  • app-dir static/dynamic handling > should honor force-static with fetch cache: no-store correctly
  • app-dir static/dynamic handling > should correctly include headers instance in cache key
  • app-dir static/dynamic handling > unstable-cache should work in pages/unstable-cache-node
  • app-dir static/dynamic handling > unstable-cache should work in pages/unstable-cache-edge
  • app-dir static/dynamic handling > unstable-cache should work in pages/api/unstable-cache-node
  • app-dir static/dynamic handling > unstable-cache should work in pages/api/unstable-cache-edge
  • app-dir static/dynamic handling > should not have cache tags header for non-minimal mode
  • app-dir static/dynamic handling > should correctly skip caching POST fetch for POST handler
  • app-dir static/dynamic handling > should properly revalidate a route handler that triggers dynamic usage with force-static
  • app-dir static/dynamic handling > it should revalidate tag correctly with edge route handler
  • app-dir static/dynamic handling > it should revalidate tag correctly with node route handler
  • app-dir static/dynamic handling > should not revalidate / when revalidate is not used
  • app-dir static/dynamic handling > it should revalidate correctly with edge route handler
  • app-dir static/dynamic handling > it should revalidate correctly with node route handler
  • app-dir static/dynamic handling > should revalidate all fetches during on-demand revalidate
  • app-dir static/dynamic handling > should correctly handle fetchCache = "force-no-store"
  • app-dir static/dynamic handling > should revalidate correctly with config and fetch revalidate
  • app-dir static/dynamic handling > should not cache non-ok statusCode
  • app-dir static/dynamic handling > should have deterministic etag across revalidates
  • app-dir static/dynamic handling > should output HTML/RSC files for static paths
  • app-dir static/dynamic handling > should have correct prerender-manifest entries
  • app-dir static/dynamic handling > should output debug info for static bailouts
  • app-dir static/dynamic handling > should correctly error and not update cache for ISR
  • app-dir static/dynamic handling > should stream properly for /stale-cache-serving/app-page
  • app-dir static/dynamic handling > should stream properly for /stale-cache-serving/route-handler
  • app-dir static/dynamic handling > should stream properly for /stale-cache-serving-edge/app-page
  • app-dir static/dynamic handling > should stream properly for /stale-cache-serving-edge/route-handler
  • app-dir static/dynamic handling > should correctly handle statusCode with notFound + ISR
  • app-dir static/dynamic handling > should cache correctly for fetchCache = default-cache
  • app-dir static/dynamic handling > should cache correctly for fetchCache = force-cache
  • app-dir static/dynamic handling > should cache correctly for cache: no-store
  • app-dir static/dynamic handling > should not error with dynamic server usage with force-static
  • app-dir static/dynamic handling > should produce response with url from fetch
  • app-dir static/dynamic handling > should properly error when dynamic = "error" page uses dynamic
  • app-dir static/dynamic handling > should skip cache in draft mode
  • app-dir static/dynamic handling > should handle partial-gen-params with default dynamicParams correctly
  • app-dir static/dynamic handling > should handle partial-gen-params with layout dynamicParams = false correctly
  • app-dir static/dynamic handling > should handle partial-gen-params with page dynamicParams = false correctly
  • app-dir static/dynamic handling > should honor fetch cache in generateStaticParams
  • app-dir static/dynamic handling > should honor fetch cache correctly
  • app-dir static/dynamic handling > should honor fetch cache correctly (edge)
  • app-dir static/dynamic handling > should cache correctly with authorization header and revalidate
  • app-dir static/dynamic handling > should skip fetch cache when an authorization header is present after dynamic usage
  • app-dir static/dynamic handling > should skip fetch cache when accessing request properties
  • app-dir static/dynamic handling > should not cache correctly with POST method request init
  • app-dir static/dynamic handling > should cache correctly with post method and revalidate
  • app-dir static/dynamic handling > should cache correctly with post method and revalidate edge
  • app-dir static/dynamic handling > should cache correctly with POST method and revalidate
  • app-dir static/dynamic handling > should cache correctly with cookie header and revalidate
  • app-dir static/dynamic handling > should cache correctly with utf8 encoding
  • app-dir static/dynamic handling > should cache correctly with utf8 encoding edge
  • app-dir static/dynamic handling > should cache correctly handle JSON body
  • app-dir static/dynamic handling > should not throw Dynamic Server Usage error when using generateStaticParams with draftMode
  • app-dir static/dynamic handling > should force SSR correctly for headers usage
  • app-dir static/dynamic handling > should allow dynamic routes to access cookies
  • app-dir static/dynamic handling > should not error with generateStaticParams and dynamic data
  • app-dir static/dynamic handling > should not error with force-dynamic and catch-all routes
  • app-dir static/dynamic handling > should not error with generateStaticParams and authed data on revalidate
  • app-dir static/dynamic handling > should honor dynamic = "force-static" correctly
  • app-dir static/dynamic handling > should honor dynamic = "force-static" correctly (lazy)
  • app-dir static/dynamic handling > should handle dynamicParams: false correctly
  • app-dir static/dynamic handling > should work with forced dynamic path
  • app-dir static/dynamic handling > should work with dynamic path no generateStaticParams
  • app-dir static/dynamic handling > should handle dynamicParams: true correctly
  • app-dir static/dynamic handling > should navigate to static path correctly
  • app-dir static/dynamic handling > should ssr dynamically when detected automatically with fetch cache option
  • app-dir static/dynamic handling > should render not found pages correctly and fallback to the default one
  • app-dir static/dynamic handling > should ssr dynamically when forced via config
  • app-dir static/dynamic handling > should keep querystring on static page
  • app-dir static/dynamic handling > should build dynamic param with edge runtime correctly
  • app-dir static/dynamic handling > Incremental cache limits > should load data only at build time even if response data size is greater than 2MB and FetchCache is possible
  • app-dir static/dynamic handling > unstable_cache > should retrieve the same value on second request
  • app-dir static/dynamic handling > unstable_cache > should bypass cache in draft mode
  • app-dir static/dynamic handling > unstable_cache > should not cache new result in draft mode
  • app-dir static/dynamic handling > unstable_cache > should not error when retrieving the value undefined
  • app-dir static/dynamic handling > unstable_noStore > should opt-out of static optimization
  • app-dir static/dynamic handling > unstable_noStore > should not opt-out of static optimization when used in next/cache
  • app-dir static/dynamic handling > usePathname > should have the correct values
  • app-dir static/dynamic handling > usePathname > should have values from canonical url on rewrite
  • app-dir static/dynamic handling > useSearchParams > client > should bailout to client rendering - with suspense boundary
  • app-dir static/dynamic handling > useSearchParams > client > should have values from canonical url on rewrite
  • app-dir static/dynamic handling > useSearchParams > server response > should bailout to client rendering - with suspense boundary
Expand output

● app-dir static/dynamic handling › should still cache even though the traceparent header was different

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should still cache even though the traceparent header was different

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should warn for too many cache tags

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should warn for too many cache tags

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should propagate unstable_cache tags correctly

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should propagate unstable_cache tags correctly

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should honor force-static with fetch cache: no-store correctly

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should honor force-static with fetch cache: no-store correctly

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should correctly include headers instance in cache key

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should correctly include headers instance in cache key

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should correctly de-dupe fetch without next cache /react-fetch-deduping-node

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should correctly de-dupe fetch without next cache /react-fetch-deduping-node

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should correctly de-dupe fetch without next cache /react-fetch-deduping-edge

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should correctly de-dupe fetch without next cache /react-fetch-deduping-edge

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › unstable-cache should work in pages/unstable-cache-node

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › unstable-cache should work in pages/unstable-cache-node

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › unstable-cache should work in pages/unstable-cache-edge

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › unstable-cache should work in pages/unstable-cache-edge

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › unstable-cache should work in pages/api/unstable-cache-node

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › unstable-cache should work in pages/api/unstable-cache-node

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › unstable-cache should work in pages/api/unstable-cache-edge

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › unstable-cache should work in pages/api/unstable-cache-edge

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should not have cache tags header for non-minimal mode

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should not have cache tags header for non-minimal mode

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should correctly skip caching POST fetch for POST handler

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should correctly skip caching POST fetch for POST handler

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should properly revalidate a route handler that triggers dynamic usage with force-static

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should properly revalidate a route handler that triggers dynamic usage with force-static

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › it should revalidate tag correctly with edge route handler

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › it should revalidate tag correctly with edge route handler

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › it should revalidate tag correctly with node route handler

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › it should revalidate tag correctly with node route handler

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should not revalidate / when revalidate is not used

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should not revalidate / when revalidate is not used

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › it should revalidate correctly with edge route handler

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › it should revalidate correctly with edge route handler

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › it should revalidate correctly with node route handler

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › it should revalidate correctly with node route handler

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should revalidate all fetches during on-demand revalidate

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should revalidate all fetches during on-demand revalidate

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should correctly handle fetchCache = "force-no-store"

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should correctly handle fetchCache = "force-no-store"

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should revalidate correctly with config and fetch revalidate

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should revalidate correctly with config and fetch revalidate

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should not cache non-ok statusCode

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should not cache non-ok statusCode

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should have deterministic etag across revalidates

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should have deterministic etag across revalidates

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should output HTML/RSC files for static paths

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should output HTML/RSC files for static paths

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should have correct prerender-manifest entries

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should have correct prerender-manifest entries

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should output debug info for static bailouts

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should output debug info for static bailouts

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should correctly error and not update cache for ISR

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should correctly error and not update cache for ISR

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should stream properly for /stale-cache-serving/app-page

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should stream properly for /stale-cache-serving/app-page

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should stream properly for /stale-cache-serving/route-handler

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should stream properly for /stale-cache-serving/route-handler

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should stream properly for /stale-cache-serving-edge/app-page

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should stream properly for /stale-cache-serving-edge/app-page

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should stream properly for /stale-cache-serving-edge/route-handler

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should stream properly for /stale-cache-serving-edge/route-handler

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should correctly handle statusCode with notFound + ISR

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should correctly handle statusCode with notFound + ISR

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should cache correctly for fetchCache = default-cache

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should cache correctly for fetchCache = default-cache

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should cache correctly for fetchCache = force-cache

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should cache correctly for fetchCache = force-cache

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should cache correctly for cache: no-store

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should cache correctly for cache: no-store

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should not error with dynamic server usage with force-static

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should not error with dynamic server usage with force-static

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should produce response with url from fetch

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should produce response with url from fetch

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should properly error when dynamic = "error" page uses dynamic

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should properly error when dynamic = "error" page uses dynamic

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should skip cache in draft mode

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should skip cache in draft mode

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should handle partial-gen-params with default dynamicParams correctly

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should handle partial-gen-params with default dynamicParams correctly

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should handle partial-gen-params with layout dynamicParams = false correctly

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should handle partial-gen-params with layout dynamicParams = false correctly

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should handle partial-gen-params with page dynamicParams = false correctly

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should handle partial-gen-params with page dynamicParams = false correctly

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should honor fetch cache in generateStaticParams

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should honor fetch cache in generateStaticParams

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should honor fetch cache correctly

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should honor fetch cache correctly

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should honor fetch cache correctly (edge)

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should honor fetch cache correctly (edge)

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should cache correctly with authorization header and revalidate

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should cache correctly with authorization header and revalidate

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should skip fetch cache when an authorization header is present after dynamic usage

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should skip fetch cache when an authorization header is present after dynamic usage

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should skip fetch cache when accessing request properties

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should skip fetch cache when accessing request properties

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should not cache correctly with POST method request init

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should not cache correctly with POST method request init

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should cache correctly with post method and revalidate

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should cache correctly with post method and revalidate

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should cache correctly with post method and revalidate edge

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should cache correctly with post method and revalidate edge

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should cache correctly with POST method and revalidate

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should cache correctly with POST method and revalidate

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should cache correctly with cookie header and revalidate

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should cache correctly with cookie header and revalidate

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should cache correctly with utf8 encoding

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should cache correctly with utf8 encoding

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should cache correctly with utf8 encoding edge

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should cache correctly with utf8 encoding edge

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should cache correctly handle JSON body

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should cache correctly handle JSON body

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should not throw Dynamic Server Usage error when using generateStaticParams with draftMode

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should not throw Dynamic Server Usage error when using generateStaticParams with draftMode

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should force SSR correctly for headers usage

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should force SSR correctly for headers usage

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should allow dynamic routes to access cookies

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should allow dynamic routes to access cookies

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should not error with generateStaticParams and dynamic data

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should not error with generateStaticParams and dynamic data

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should not error with force-dynamic and catch-all routes

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should not error with force-dynamic and catch-all routes

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should not error with generateStaticParams and authed data on revalidate

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should not error with generateStaticParams and authed data on revalidate

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should honor dynamic = "force-static" correctly

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should honor dynamic = "force-static" correctly

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should honor dynamic = "force-static" correctly (lazy)

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should honor dynamic = "force-static" correctly (lazy)

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should handle dynamicParams: false correctly

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should handle dynamicParams: false correctly

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should work with forced dynamic path

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should work with forced dynamic path

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should work with dynamic path no generateStaticParams

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should work with dynamic path no generateStaticParams

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should handle dynamicParams: true correctly

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should handle dynamicParams: true correctly

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should navigate to static path correctly

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should navigate to static path correctly

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should ssr dynamically when detected automatically with fetch cache option

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should ssr dynamically when detected automatically with fetch cache option

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should render not found pages correctly and fallback to the default one

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should render not found pages correctly and fallback to the default one

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should ssr dynamically when detected automatically with fetch revalidate option

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should ssr dynamically when detected automatically with fetch revalidate option

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should ssr dynamically when forced via config

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should ssr dynamically when forced via config

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › useSearchParams › client › should bailout to client rendering - with suspense boundary

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › useSearchParams › client › should bailout to client rendering - with suspense boundary

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › useSearchParams › client › should have empty search params on force-static

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › useSearchParams › client › should have empty search params on force-static

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › useSearchParams › client › should have values from canonical url on rewrite

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › useSearchParams › client › should have values from canonical url on rewrite

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › useSearchParams › server response › should bailout to client rendering - with suspense boundary

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › useSearchParams › server response › should bailout to client rendering - with suspense boundary

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › useSearchParams › server response › should have empty search params on force-static

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › useSearchParams › server response › should have empty search params on force-static

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › usePathname › should have the correct values

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › usePathname › should have the correct values

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › usePathname › should have values from canonical url on rewrite

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › usePathname › should have values from canonical url on rewrite

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › unstable_noStore › should opt-out of static optimization

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › unstable_noStore › should opt-out of static optimization

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › unstable_noStore › should not opt-out of static optimization when used in next/cache

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › unstable_noStore › should not opt-out of static optimization when used in next/cache

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › unstable_cache › should retrieve the same value on second request

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › unstable_cache › should retrieve the same value on second request

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › unstable_cache › should bypass cache in draft mode

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › unstable_cache › should bypass cache in draft mode

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › unstable_cache › should not cache new result in draft mode

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › unstable_cache › should not cache new result in draft mode

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › unstable_cache › should not error when retrieving the value undefined

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › unstable_cache › should not error when retrieving the value undefined

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should keep querystring on static page

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should keep querystring on static page

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › Incremental cache limits › should load data only at build time even if response data size is greater than 2MB and FetchCache is possible

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › Incremental cache limits › should load data only at build time even if response data size is greater than 2MB and FetchCache is possible

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

● app-dir static/dynamic handling › should build dynamic param with edge runtime correctly

next build failed with code/signal 1

  90 |           if (code || signal)
  91 |             reject(
> 92 |               new Error(`next build failed with code/signal ${code || signal}`)
     |               ^
  93 |             )
  94 |           else resolve()
  95 |         })

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

● app-dir static/dynamic handling › should build dynamic param with edge runtime correctly

next instance is not initialized yet, make sure you call methods on next instance in test body.

  268 |     get: function (_target, property) {
  269 |       if (!next) {
> 270 |         throw new Error(
      |               ^
  271 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  272 |         )
  273 |       }

  at Object.get (lib/e2e-utils.ts:270:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:40:20)

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

pnpm test-dev test/e2e/app-dir/metadata-dynamic-routes/index.test.ts

  • app dir - metadata dynamic routes > should generate unique path for image routes under group routes
  • app dir - metadata dynamic routes > social image routes > should render og image with twitter-image dynamic routes
  • app dir - metadata dynamic routes > social image routes > should handle custom fonts in both edge and nodejs runtime
Expand output

● app dir - metadata dynamic routes › social image routes › should render og image with twitter-image dynamic routes

FetchError: request to http://localhost:33217/twitter-image2 failed, reason: socket hang up

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7/node_modules/node-fetch/lib/index.js:1491:11)

● app dir - metadata dynamic routes › social image routes › should handle custom fonts in both edge and nodejs runtime

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

Expected: 200
Received: 500

  267 |         const resOgNodejs = await next.fetch('/font/opengraph-image2')
  268 |
> 269 |         expect(resOgEdge.status).toBe(200)
      |                                  ^
  270 |         expect(resOgEdge.headers.get('content-type')).toBe('image/png')
  271 |         expect(resOgNodejs.status).toBe(200)
  272 |         expect(resOgNodejs.headers.get('content-type')).toBe('image/png')

  at Object.toBe (e2e/app-dir/metadata-dynamic-routes/index.test.ts:269:34)

● app dir - metadata dynamic routes › should generate unique path for image routes under group routes

FetchError: request to http://localhost:33217/twitter-image-1ow20b failed, reason: socket hang up

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7/node_modules/node-fetch/lib/index.js:1491:11)

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

pnpm test-dev test/e2e/app-dir/ppr/ppr.test.ts

  • ppr > /no-suspense/node/gsp/[slug] > should serve the static & dynamic parts
Expand output

● ppr › /no-suspense/node/gsp/[slug] › should serve the static & dynamic parts

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

Expected: 1
Received: 0

  180 |       it('should serve the static & dynamic parts', async () => {
  181 |         const $ = await next.render$('/no-suspense/node/gsp/foo')
> 182 |         expect($('#page').length).toBe(1)
      |                                   ^
  183 |         expect($('#container > #dynamic > #state').length).toBe(1)
  184 |       })
  185 |     })

  at Object.toBe (e2e/app-dir/ppr/ppr.test.ts:182:35)

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

@ijjk
Copy link
Member

ijjk commented Dec 4, 2024

Stats from current PR

Default Build (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js 14-2-1 vercel/next.js fix/dedupe-fetch-clone Change
buildDuration 15.5s 13.8s N/A
buildDurationCached 7.7s 6.7s N/A
nodeModulesSize 200 MB 201 MB ⚠️ +224 kB
nextStartRea..uration (ms) 408ms 411ms N/A
Client Bundles (main, webpack)
vercel/next.js 14-2-1 vercel/next.js fix/dedupe-fetch-clone Change
1a9f679d-HASH.js gzip 53.7 kB 53.7 kB N/A
5428.HASH.js gzip 181 B 180 B N/A
6067-HASH.js gzip 5.06 kB 5.06 kB N/A
6428-HASH.js gzip 31.6 kB 31.6 kB N/A
framework-HASH.js gzip 44.9 kB 44.9 kB
main-app-HASH.js gzip 242 B 244 B N/A
main-HASH.js gzip 32.3 kB 32.3 kB N/A
webpack-HASH.js gzip 1.68 kB 1.68 kB N/A
Overall change 44.9 kB 44.9 kB
Legacy Client Bundles (polyfills)
vercel/next.js 14-2-1 vercel/next.js fix/dedupe-fetch-clone Change
polyfills-HASH.js gzip 39.4 kB 39.4 kB
Overall change 39.4 kB 39.4 kB
Client Pages
vercel/next.js 14-2-1 vercel/next.js fix/dedupe-fetch-clone Change
_app-HASH.js gzip 196 B 196 B
_error-HASH.js gzip 184 B 185 B N/A
amp-HASH.js gzip 502 B 504 B N/A
css-HASH.js gzip 321 B 324 B N/A
dynamic-HASH.js gzip 1.82 kB 1.82 kB N/A
edge-ssr-HASH.js gzip 258 B 257 B N/A
head-HASH.js gzip 352 B 352 B
hooks-HASH.js gzip 371 B 372 B N/A
image-HASH.js gzip 4.23 kB 4.23 kB N/A
index-HASH.js gzip 259 B 257 B N/A
link-HASH.js gzip 2.67 kB 2.68 kB N/A
routerDirect..HASH.js gzip 316 B 314 B N/A
script-HASH.js gzip 385 B 386 B N/A
withRouter-HASH.js gzip 311 B 310 B N/A
1afbb74e6ecf..834.css gzip 106 B 106 B
Overall change 654 B 654 B
Client Build Manifests
vercel/next.js 14-2-1 vercel/next.js fix/dedupe-fetch-clone Change
_buildManifest.js gzip 483 B 481 B N/A
Overall change 0 B 0 B
Rendered Page Sizes
vercel/next.js 14-2-1 vercel/next.js fix/dedupe-fetch-clone Change
index.html gzip 529 B 527 B N/A
link.html gzip 542 B 539 B N/A
withRouter.html gzip 524 B 523 B N/A
Overall change 0 B 0 B
Edge SSR bundle Size
vercel/next.js 14-2-1 vercel/next.js fix/dedupe-fetch-clone Change
edge-ssr.js gzip 95.5 kB 95.5 kB N/A
page.js gzip 3.06 kB 3.07 kB N/A
Overall change 0 B 0 B
Middleware size
vercel/next.js 14-2-1 vercel/next.js fix/dedupe-fetch-clone Change
middleware-b..fest.js gzip 656 B 656 B
middleware-r..fest.js gzip 156 B 154 B N/A
middleware.js gzip 25.5 kB 25.5 kB N/A
edge-runtime..pack.js gzip 839 B 839 B
Overall change 1.5 kB 1.5 kB
Next Runtimes Overall increase ⚠️
vercel/next.js 14-2-1 vercel/next.js fix/dedupe-fetch-clone Change
app-page-exp...dev.js gzip 171 kB 171 kB
app-page-exp..prod.js gzip 98.3 kB 98.3 kB
app-page-tur..prod.js gzip 100 kB 100 kB
app-page-tur..prod.js gzip 94.3 kB 94.3 kB
app-page.run...dev.js gzip 145 kB 145 kB
app-page.run..prod.js gzip 92.8 kB 92.8 kB
app-route-ex...dev.js gzip 22.1 kB 22.5 kB ⚠️ +404 B
app-route-ex..prod.js gzip 15.5 kB 15.9 kB ⚠️ +408 B
app-route-tu..prod.js gzip 15.5 kB 15.9 kB ⚠️ +408 B
app-route-tu..prod.js gzip 15.2 kB 15.6 kB ⚠️ +414 B
app-route.ru...dev.js gzip 21.7 kB 22.2 kB ⚠️ +421 B
app-route.ru..prod.js gzip 15.2 kB 15.6 kB ⚠️ +414 B
pages-api-tu..prod.js gzip 9.58 kB 9.58 kB
pages-api.ru...dev.js gzip 9.85 kB 9.85 kB
pages-api.ru..prod.js gzip 9.57 kB 9.57 kB
pages-turbo...prod.js gzip 22.5 kB 22.5 kB
pages.runtim...dev.js gzip 23.2 kB 23.2 kB
pages.runtim..prod.js gzip 22.5 kB 22.5 kB
server.runti..prod.js gzip 51.6 kB 51.6 kB
Overall change 956 kB 959 kB ⚠️ +2.47 kB
build cache Overall increase ⚠️
vercel/next.js 14-2-1 vercel/next.js fix/dedupe-fetch-clone Change
0.pack gzip 1.61 MB 1.63 MB ⚠️ +24.8 kB
index.pack gzip 113 kB 114 kB ⚠️ +1.33 kB
Overall change 1.72 MB 1.74 MB ⚠️ +26.2 kB
Diff details
Diff for middleware.js

Diff too large to display

Diff for edge-ssr.js

Diff too large to display

Diff for app-route-ex..ntime.dev.js

Diff too large to display

Diff for app-route-ex..time.prod.js

Diff too large to display

Diff for app-route-tu..time.prod.js

Diff too large to display

Diff for app-route-tu..time.prod.js

Diff too large to display

Diff for app-route.runtime.dev.js

Diff too large to display

Diff for app-route.ru..time.prod.js

Diff too large to display

Commit: ec1f16e

@wyattjoh wyattjoh marked this pull request as ready for review December 4, 2024 20:45
@wyattjoh wyattjoh merged commit 530421d into 14-2-1 Dec 4, 2024
50 of 56 checks passed
@wyattjoh wyattjoh deleted the fix/dedupe-fetch-clone branch December 4, 2024 20:56
@Alm0stEthical
Copy link

Amazing needed this, it was very annoying! And kept rate limiting

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Dec 19, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants