Skip to content

Conversation

@lukesandberg
Copy link
Contributor

@lukesandberg lukesandberg commented Dec 1, 2025

Use our new side effects analysis to statically analyze modules and integrate this into the remove unused imports logic.

If a module and its transitive dependencies have no side effects based on either declarations or static analysis then we can drop all 'ModuleEvaluation' imports. This can enhance tree shaking and bundle optimization.

From a performance perspective this is a regression since we need to perform an extra aggregation pass to compute side effects and then to trim edges

~/projects/front/apps/vercel-site (main  hyperfine -p 'rm -rf .next' -w 2 -r 5  'pnpm next build --turbopack --experimental-build-mode=compile'
Benchmark 1: pnpm next build --turbopack --experimental-build-mode=compile
  Time (mean ± σ):     46.133 s ±  0.526 s    [User: 316.403 s, System: 49.991 s]
  Range (min … max):   45.474 s … 46.737 s    5 runs

~/projects/front/apps/vercel-site (main *)$ TURBOBPACK_REMOVE_UNUSED_SIDE_EFFECTS=1  hyperfine -p 'rm -rf .next' -w 2 -r 5  'pnpm next build --turbopack --experimental-build-mode=compile'
Benchmark 1: pnpm next build --turbopack --experimental-build-mode=compile
  Time (mean ± σ):     46.473 s ±  0.858 s    [User: 319.959 s, System: 49.951 s]
  Range (min … max):   45.705 s … 47.526 s    5 runs

However, in practice the regression appears to be small

But how much does it save?

TODO

@ijjk ijjk added created-by: Turbopack team PRs by the Turbopack team. Turbopack Related to Turbopack with Next.js. labels Dec 1, 2025
Copy link
Contributor Author

lukesandberg commented Dec 1, 2025

@ijjk
Copy link
Member

ijjk commented Dec 1, 2025

Failing test suites

Commit: a5ab831 | About building and testing Next.js

pnpm test-start-turbo test/e2e/app-dir/app-routes-trailing-slash/app-routes-trailing-slash.test.ts (turbopack) (job)

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

pnpm test-start-turbo test/e2e/app-dir/app-simple-routes/app-simple-routes.test.ts (turbopack) (job)

  • app-dir static/dynamic handling > should respond correctly for dynamic route with dynamicParams false in layout (DD)
  • app-dir static/dynamic handling > should respond correctly for partially dynamic route with dynamicParams false in layout (DD)
  • app-dir static/dynamic handling > should use auto no cache when no fetch config (DD)
  • app-dir static/dynamic handling > should correctly handle "default" cache statuses (DD)
  • app-dir static/dynamic handling > should still cache even though the W3C trace context headers traceparent and tracestate were different (DD)
  • app-dir static/dynamic handling > should warn for too many cache tags (DD)
  • app-dir static/dynamic handling > should propagate unstable_cache tags correctly (DD)
  • app-dir static/dynamic handling > should infer a fetchCache of force-no-store when force-dynamic is used (DD)
  • app-dir static/dynamic handling > should infer a fetch cache of "force-cache" when force-dynamic is used on a fetch with revalidate (DD)
  • app-dir static/dynamic handling > force-dynamic should supercede a "default" cache value (DD)
  • app-dir static/dynamic handling > fetchCache config should supercede dynamic config when force-dynamic is used (DD)
  • app-dir static/dynamic handling > fetch cache should supercede dynamic config when force-dynamic is used (DD)
  • app-dir static/dynamic handling > should honor force-static with fetch cache: no-store correctly (DD)
  • app-dir static/dynamic handling > should correctly include headers instance in cache key (DD)
  • app-dir static/dynamic handling > unstable-cache should work in pages/unstable-cache-node (DD)
  • app-dir static/dynamic handling > unstable-cache should work in pages/unstable-cache-edge (DD)
  • app-dir static/dynamic handling > unstable-cache should work in pages/api/unstable-cache-node (DD)
  • app-dir static/dynamic handling > unstable-cache should work in pages/api/unstable-cache-edge (DD)
  • app-dir static/dynamic handling > should not have cache tags header for non-minimal mode (DD)
  • app-dir static/dynamic handling > should correctly skip caching POST fetch for POST handler (DD)
  • app-dir static/dynamic handling > it should revalidate tag correctly with edge route handler (DD)
  • app-dir static/dynamic handling > it should revalidate tag correctly with node route handler (DD)
  • app-dir static/dynamic handling > should not revalidate / when revalidate is not used (DD)
  • app-dir static/dynamic handling > it should revalidate correctly with edge route handler (DD)
  • app-dir static/dynamic handling > it should revalidate correctly with node route handler (DD)
  • app-dir static/dynamic handling > should revalidate all fetches during on-demand revalidate (DD)
  • app-dir static/dynamic handling > should correctly handle fetchCache = "force-no-store" (DD)
  • app-dir static/dynamic handling > should revalidate correctly with config and fetch revalidate (DD)
  • app-dir static/dynamic handling > should not cache non-ok statusCode (DD)
  • app-dir static/dynamic handling > should not encode dynamic parameters as search parameters in RSC data (DD)
  • app-dir static/dynamic handling > should output HTML/RSC files for static paths (DD)
  • app-dir static/dynamic handling > should have correct prerender-manifest entries (DD)
  • app-dir static/dynamic handling > should output debug info for static bailouts (DD)
  • app-dir static/dynamic handling > should log fetch metrics to the diagnostics directory (DD)
  • app-dir static/dynamic handling > should have correct cache tags for prerendered path (DD)
  • app-dir static/dynamic handling > should correctly error and not update cache for ISR (DD)
  • app-dir static/dynamic handling > should stream properly for /stale-cache-serving/app-page (DD)
  • app-dir static/dynamic handling > should stream properly for /stale-cache-serving/route-handler (DD)
  • app-dir static/dynamic handling > should stream properly for /stale-cache-serving-edge/app-page (DD)
  • app-dir static/dynamic handling > should stream properly for /stale-cache-serving-edge/route-handler (DD)
  • app-dir static/dynamic handling > should correctly handle statusCode with notFound + ISR (DD)
  • app-dir static/dynamic handling > should cache correctly for fetchCache = default-cache (DD)
  • app-dir static/dynamic handling > should cache correctly when accessing search params opts into dynamic rendering (DD)
  • app-dir static/dynamic handling > should cache correctly for fetchCache = force-cache (DD)
  • app-dir static/dynamic handling > should cache correctly for cache: "force-cache" and "revalidate" (DD)
  • app-dir static/dynamic handling > should cache correctly for cache: no-store (DD)
  • app-dir static/dynamic handling > should not error with dynamic server usage with force-static (DD)
  • app-dir static/dynamic handling > should produce response with url from fetch (DD)
  • app-dir static/dynamic handling > should properly error when dynamic = "error" page uses dynamic (DD)
  • app-dir static/dynamic handling > should skip cache in draft mode (DD)
  • app-dir static/dynamic handling > should handle partial-gen-params with default dynamicParams correctly (DD)
  • app-dir static/dynamic handling > should handle partial-gen-params with layout dynamicParams = false correctly (DD)
  • app-dir static/dynamic handling > should handle partial-gen-params with page dynamicParams = false correctly (DD)
  • app-dir static/dynamic handling > should honor fetch cache in generateStaticParams (DD)
  • app-dir static/dynamic handling > should honor fetch cache correctly (DD)
  • app-dir static/dynamic handling > should honor fetch cache correctly (edge) (DD)
  • app-dir static/dynamic handling > should cache correctly with authorization header and revalidate (DD)
  • app-dir static/dynamic handling > should skip fetch cache when an authorization header is present after dynamic usage (DD)
  • app-dir static/dynamic handling > should skip fetch cache when accessing request properties (DD)
  • app-dir static/dynamic handling > should not cache correctly with POST method request init (DD)
  • app-dir static/dynamic handling > should cache correctly with post method and revalidate (DD)
  • app-dir static/dynamic handling > should cache correctly with post method and revalidate edge (DD)
  • app-dir static/dynamic handling > should cache correctly with POST method and revalidate (DD)
  • app-dir static/dynamic handling > should cache correctly with cookie header and revalidate (DD)
  • app-dir static/dynamic handling > should cache correctly with utf8 encoding (DD)
  • app-dir static/dynamic handling > should cache correctly with utf8 encoding edge (DD)
  • app-dir static/dynamic handling > should cache correctly handle JSON body (DD)
  • app-dir static/dynamic handling > should not throw Dynamic Server Usage error when using generateStaticParams with draftMode (DD)
  • app-dir static/dynamic handling > should force SSR correctly for headers usage (DD)
  • app-dir static/dynamic handling > should allow dynamic routes to access cookies (DD)
  • app-dir static/dynamic handling > should not error with generateStaticParams and dynamic data (DD)
  • app-dir static/dynamic handling > should not error with force-dynamic and catch-all routes (DD)
  • app-dir static/dynamic handling > should not error with generateStaticParams and authed data on revalidate (DD)
  • app-dir static/dynamic handling > should not filter out catch-all params with repeated segments in generateStaticParams (DD)
  • app-dir static/dynamic handling > should honor dynamic = "force-static" correctly (DD)
  • app-dir static/dynamic handling > should honor dynamic = "force-static" correctly (lazy) (DD)
  • app-dir static/dynamic handling > should handle dynamicParams: false correctly (DD)
  • app-dir static/dynamic handling > should work with forced dynamic path (DD)
  • app-dir static/dynamic handling > should work with dynamic path no generateStaticParams (DD)
  • app-dir static/dynamic handling > should handle dynamicParams: true correctly (DD)
  • app-dir static/dynamic handling > should navigate to static path correctly (DD)
  • app-dir static/dynamic handling > should ssr dynamically when detected automatically with fetch cache option (DD)
  • app-dir static/dynamic handling > should render not found pages correctly and fallback to the default one (DD)
  • app-dir static/dynamic handling > should ssr dynamically when forced via config (DD)
  • app-dir static/dynamic handling > should keep querystring on static page (DD)
  • app-dir static/dynamic handling > should build dynamic param with edge runtime correctly (DD)
  • 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 (DD)
  • app-dir static/dynamic handling > unstable_cache > should retrieve the same value on second request (DD)
  • app-dir static/dynamic handling > unstable_cache > should bypass cache in draft mode (DD)
  • app-dir static/dynamic handling > unstable_cache > should not cache new result in draft mode (DD)
  • app-dir static/dynamic handling > unstable_cache > should be able to read the draft mode status (DD)
  • app-dir static/dynamic handling > unstable_cache > should not error when retrieving the value undefined (DD)
  • app-dir static/dynamic handling > unstable_cache > should not error when calling a fetch no-store (DD)
  • app-dir static/dynamic handling > unstable_cache > should not error when calling a fetch no-cache (DD)
  • app-dir static/dynamic handling > unstable_noStore > should opt-out of static optimization (DD)
  • app-dir static/dynamic handling > unstable_noStore > should not opt-out of static optimization when used in next/cache (DD)
  • app-dir static/dynamic handling > updateTag/revalidateTag > should throw error when updateTag is called in route handler (DD)
  • app-dir static/dynamic handling > updateTag/revalidateTag > should successfully update tag when called from server action (DD)
  • app-dir static/dynamic handling > updateTag/revalidateTag > revalidateTag work with max profile in server actions (DD)
  • app-dir static/dynamic handling > updateTag/revalidateTag > should show deprecation warning for revalidateTag without second argument (DD)
  • app-dir static/dynamic handling > usePathname > should have the correct values (DD)
  • app-dir static/dynamic handling > usePathname > should have values from canonical url on rewrite (DD)
  • app-dir static/dynamic handling > useSearchParams > client > should bailout to client rendering - with suspense boundary (DD)
  • app-dir static/dynamic handling > useSearchParams > client > should have values from canonical url on rewrite (DD)
  • app-dir static/dynamic handling > useSearchParams > server response > should bailout to client rendering - with suspense boundary (DD)
Expand output

● app-dir static/dynamic handling › should respond correctly for dynamic route with dynamicParams false in layout

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-dir static/dynamic handling › should respond correctly for dynamic route with dynamicParams false in layout

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

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

● app-dir static/dynamic handling › should respond correctly for partially dynamic route with dynamicParams false in layout

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-dir static/dynamic handling › should respond correctly for partially dynamic route with dynamicParams false in layout

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

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

● app-dir static/dynamic handling › should use auto no cache when no fetch config

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-dir static/dynamic handling › should use auto no cache when no fetch config

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

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

● app-dir static/dynamic handling › should correctly handle "default" cache statuses

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-dir static/dynamic handling › should correctly handle "default" cache statuses

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

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

● app-dir static/dynamic handling › should still cache even though the W3C trace context headers traceparent and tracestate were different

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-dir static/dynamic handling › should still cache even though the W3C trace context headers traceparent and tracestate were different

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

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

● app-dir static/dynamic handling › should infer a fetchCache of force-no-store when force-dynamic is used

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-dir static/dynamic handling › should infer a fetchCache of force-no-store when force-dynamic is used

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

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

● app-dir static/dynamic handling › should infer a fetch cache of "force-cache" when force-dynamic is used on a fetch with revalidate

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-dir static/dynamic handling › should infer a fetch cache of "force-cache" when force-dynamic is used on a fetch with revalidate

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

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

● app-dir static/dynamic handling › force-dynamic should supercede a "default" cache value

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-dir static/dynamic handling › force-dynamic should supercede a "default" cache value

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

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

● app-dir static/dynamic handling › fetchCache config should supercede dynamic config when force-dynamic is used

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-dir static/dynamic handling › fetchCache config should supercede dynamic config when force-dynamic is used

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

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

● app-dir static/dynamic handling › fetch cache should supercede dynamic config when force-dynamic is used

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-dir static/dynamic handling › fetch cache should supercede dynamic config when force-dynamic is used

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

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

  at Object.get (lib/e2e-utils/index.ts:285:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:37: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

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

  at Object.get (lib/e2e-utils/index.ts:285:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:37: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

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

● app-dir static/dynamic handling › should not encode dynamic parameters as search parameters in RSC data

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-dir static/dynamic handling › should not encode dynamic parameters as search parameters in RSC data

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

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

● app-dir static/dynamic handling › should log fetch metrics to the diagnostics directory

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-dir static/dynamic handling › should log fetch metrics to the diagnostics directory

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

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

● app-dir static/dynamic handling › should have correct cache tags for prerendered path

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-dir static/dynamic handling › should have correct cache tags for prerendered path

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

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

● app-dir static/dynamic handling › should cache correctly when accessing search params opts into dynamic rendering

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-dir static/dynamic handling › should cache correctly when accessing search params opts into dynamic rendering

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

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

● app-dir static/dynamic handling › should cache correctly for cache: "force-cache" and "revalidate"

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-dir static/dynamic handling › should cache correctly for cache: "force-cache" and "revalidate"

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

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

  at Object.get (lib/e2e-utils/index.ts:285:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:37: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

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

  at Object.get (lib/e2e-utils/index.ts:285:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:37: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

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

● app-dir static/dynamic handling › should not filter out catch-all params with repeated segments in generateStaticParams

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-dir static/dynamic handling › should not filter out catch-all params with repeated segments in generateStaticParams

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

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

  at Object.get (lib/e2e-utils/index.ts:285:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:37: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

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

  at Object.get (lib/e2e-utils/index.ts:285:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:37: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

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

● app-dir static/dynamic handling › unstable_cache › should be able to read the draft mode status

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-dir static/dynamic handling › unstable_cache › should be able to read the draft mode status

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

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

● app-dir static/dynamic handling › unstable_cache › should not error when calling a fetch no-store

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-dir static/dynamic handling › unstable_cache › should not error when calling a fetch no-store

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

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

● app-dir static/dynamic handling › unstable_cache › should not error when calling a fetch no-cache

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-dir static/dynamic handling › unstable_cache › should not error when calling a fetch no-cache

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

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

  at Object.get (lib/e2e-utils/index.ts:285:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:37: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

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

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

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● 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.

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

● app-dir static/dynamic handling › updateTag/revalidateTag › should throw error when updateTag is called in route handler

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-dir static/dynamic handling › updateTag/revalidateTag › should throw error when updateTag is called in route handler

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

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

● app-dir static/dynamic handling › updateTag/revalidateTag › should successfully update tag when called from server action

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-dir static/dynamic handling › updateTag/revalidateTag › should successfully update tag when called from server action

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

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

● app-dir static/dynamic handling › updateTag/revalidateTag › revalidateTag work with max profile in server actions

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-dir static/dynamic handling › updateTag/revalidateTag › revalidateTag work with max profile in server actions

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

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

● app-dir static/dynamic handling › updateTag/revalidateTag › should show deprecation warning for revalidateTag without second argument

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-dir static/dynamic handling › updateTag/revalidateTag › should show deprecation warning for revalidateTag without second argument

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

  283 |     get: function (_target, property) {
  284 |       if (!next) {
> 285 |         throw new Error(
      |               ^
  286 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  287 |         )
  288 |       }

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

pnpm test-start-turbo test/e2e/app-dir/app-routes/app-custom-route-base-path.test.ts (turbopack) (job)

  • app-custom-routes > automatic implementations > implements HEAD on routes with GET already implemented (DD)
  • app-custom-routes > automatic implementations > implements OPTIONS on routes (DD)
  • app-custom-routes > basic fetch request with a response > abort via a DELETE request > aborts without error on /basic/endpoint (DD)
  • app-custom-routes > basic fetch request with a response > abort via a DELETE request > aborts without error on /basic/vercel/endpoint (DD)
  • app-custom-routes > basic fetch request with a response > abort via a GET request > aborts without error on /basic/endpoint (DD)
  • app-custom-routes > basic fetch request with a response > abort via a GET request > aborts without error on /basic/vercel/endpoint (DD)
  • app-custom-routes > basic fetch request with a response > abort via a PATCH request > aborts without error on /basic/endpoint (DD)
  • app-custom-routes > basic fetch request with a response > abort via a PATCH request > aborts without error on /basic/vercel/endpoint (DD)
  • app-custom-routes > basic fetch request with a response > abort via a POST request > aborts without error on /basic/endpoint (DD)
  • app-custom-routes > basic fetch request with a response > abort via a POST request > aborts without error on /basic/vercel/endpoint (DD)
  • app-custom-routes > basic fetch request with a response > abort via a PUT request > aborts without error on /basic/endpoint (DD)
  • app-custom-routes > basic fetch request with a response > abort via a PUT request > aborts without error on /basic/vercel/endpoint (DD)
  • app-custom-routes > basic fetch request with a response > made via a DELETE request > responds correctly on /basic/endpoint (DD)
  • app-custom-routes > basic fetch request with a response > made via a DELETE request > responds correctly on /basic/vercel/endpoint (DD)
  • app-custom-routes > basic fetch request with a response > made via a GET request > responds correctly on /basic/endpoint (DD)
  • app-custom-routes > basic fetch request with a response > made via a GET request > responds correctly on /basic/vercel/endpoint (DD)
  • app-custom-routes > basic fetch request with a response > made via a PATCH request > responds correctly on /basic/endpoint (DD)
  • app-custom-routes > basic fetch request with a response > made via a PATCH request > responds correctly on /basic/vercel/endpoint (DD)
  • app-custom-routes > basic fetch request with a response > made via a POST request > responds correctly on /basic/endpoint (DD)
  • app-custom-routes > basic fetch request with a response > made via a POST request > responds correctly on /basic/vercel/endpoint (DD)
  • app-custom-routes > basic fetch request with a response > made via a PUT request > responds correctly on /basic/endpoint (DD)
  • app-custom-routes > basic fetch request with a response > made via a PUT request > responds correctly on /basic/vercel/endpoint (DD)
  • app-custom-routes > basic fetch request with a response > request > can read query parameters (DD)
  • app-custom-routes > basic fetch request with a response > request > can read query parameters (edge) (DD)
  • app-custom-routes > basic fetch request with a response > response > supports the NextResponse.redirect() helper (DD)
  • app-custom-routes > basic fetch request with a response > response > supports the NextResponse.json() helper (DD)
  • app-custom-routes > basic fetch request with a response > route groups > routes to the correct handler (DD)
  • app-custom-routes > body > can handle handle a streaming request and streaming response (DD)
  • app-custom-routes > body > can handle handle a streaming request and streaming response (edge) (DD)
  • app-custom-routes > body > can read a JSON encoded body (DD)
  • app-custom-routes > body > can read a JSON encoded body (edge) (DD)
  • app-custom-routes > body > can read a JSON encoded body for DELETE requests (DD)
  • app-custom-routes > body > can read a JSON encoded body for OPTIONS requests (DD)
  • app-custom-routes > body > can read a streamed JSON encoded body (DD)
  • app-custom-routes > body > can read a streamed JSON encoded body (edge) (DD)
  • app-custom-routes > body > can read the text body (DD)
  • app-custom-routes > body > can read the text body (edge) (DD)
  • app-custom-routes > context > provides params to routes with dynamic parameters (DD)
  • app-custom-routes > context > provides params to routes with catch-all routes (DD)
  • app-custom-routes > context > does not provide params to routes without dynamic parameters (DD)
  • app-custom-routes > customized metadata routes > should work if conflict with metadata routes convention (DD)
  • app-custom-routes > dynamic = "force-static" > strips search, headers, and domain from request (DD)
  • app-custom-routes > edge functions > returns response using edge runtime (DD)
  • app-custom-routes > edge functions > returns a response when headers are accessed (DD)
  • app-custom-routes > error conditions > responds with 400 (Bad Request) when the requested method is not a valid HTTP method (DD)
  • app-custom-routes > error conditions > responds with 405 (Method Not Allowed) when method is not implemented (DD)
  • app-custom-routes > error conditions > responds with 500 (Internal Server Error) when the handler throws an error (DD)
  • app-custom-routes > error conditions > responds with 500 (Internal Server Error) when the handler calls NextResponse.next() (DD)
  • app-custom-routes > hooks > (await cookies()).has() > gets the correct values (DD)
  • app-custom-routes > hooks > cookies > gets the correct values (DD)
  • app-custom-routes > hooks > headers > gets the correct values (DD)
  • app-custom-routes > hooks > notFound > can respond correctly in nodejs (DD)
  • app-custom-routes > hooks > notFound > can respond correctly in edge (DD)
  • app-custom-routes > hooks > permanentRedirect > can respond correctly (DD)
  • app-custom-routes > hooks > redirect > can respond correctly (DD)
  • app-custom-routes > hooks > req.cookies > gets the correct values (DD)
  • app-custom-routes > no bundle error > should not print bundling warning about React (DD)
  • app-custom-routes > no response returned > should print an error when no response is returned (DD)
  • app-custom-routes > works with api prefix correctly > statically generates correctly with no dynamic usage (DD)
  • app-custom-routes > works with api prefix correctly > does not statically generate with dynamic usage (DD)
  • app-custom-routes > works with generateStaticParams correctly > responds correctly on /static/first/data.json (DD)
  • app-custom-routes > works with generateStaticParams correctly > responds correctly on /static/second/data.json (DD)
  • app-custom-routes > works with generateStaticParams correctly > responds correctly on /static/three/data.json (DD)
  • app-custom-routes > works with generateStaticParams correctly > revalidates correctly on /revalidate-1/first/data.json (DD)
  • app-custom-routes > works with generateStaticParams correctly > revalidates correctly on /revalidate-1/second/data.json (DD)
  • app-custom-routes > works with generateStaticParams correctly > revalidates correctly on /revalidate-1/three/data.json (DD)
Expand output

● app-custom-routes › works with api prefix correctly › statically generates correctly with no dynamic usage

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › works with api prefix correctly › does not statically generate with dynamic usage

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › works with generateStaticParams correctly › responds correctly on /static/first/data.json

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › works with generateStaticParams correctly › responds correctly on /static/second/data.json

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › works with generateStaticParams correctly › responds correctly on /static/three/data.json

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › works with generateStaticParams correctly › revalidates correctly on /revalidate-1/first/data.json

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › works with generateStaticParams correctly › revalidates correctly on /revalidate-1/second/data.json

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › works with generateStaticParams correctly › revalidates correctly on /revalidate-1/three/data.json

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › basic fetch request with a response › made via a GET request › responds correctly on /basic/endpoint

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › basic fetch request with a response › made via a GET request › responds correctly on /basic/vercel/endpoint

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › basic fetch request with a response › made via a POST request › responds correctly on /basic/endpoint

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › basic fetch request with a response › made via a POST request › responds correctly on /basic/vercel/endpoint

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › basic fetch request with a response › made via a PUT request › responds correctly on /basic/endpoint

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › basic fetch request with a response › made via a PUT request › responds correctly on /basic/vercel/endpoint

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › basic fetch request with a response › made via a DELETE request › responds correctly on /basic/endpoint

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › basic fetch request with a response › made via a DELETE request › responds correctly on /basic/vercel/endpoint

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › basic fetch request with a response › made via a PATCH request › responds correctly on /basic/endpoint

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › basic fetch request with a response › made via a PATCH request › responds correctly on /basic/vercel/endpoint

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › basic fetch request with a response › abort via a GET request › aborts without error on /basic/endpoint

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › basic fetch request with a response › abort via a GET request › aborts without error on /basic/vercel/endpoint

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › basic fetch request with a response › abort via a POST request › aborts without error on /basic/endpoint

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › basic fetch request with a response › abort via a POST request › aborts without error on /basic/vercel/endpoint

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › basic fetch request with a response › abort via a PUT request › aborts without error on /basic/endpoint

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › basic fetch request with a response › abort via a PUT request › aborts without error on /basic/vercel/endpoint

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › basic fetch request with a response › abort via a DELETE request › aborts without error on /basic/endpoint

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › basic fetch request with a response › abort via a DELETE request › aborts without error on /basic/vercel/endpoint

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › basic fetch request with a response › abort via a PATCH request › aborts without error on /basic/endpoint

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › basic fetch request with a response › abort via a PATCH request › aborts without error on /basic/vercel/endpoint

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › basic fetch request with a response › route groups › routes to the correct handler

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › basic fetch request with a response › request › can read query parameters

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › basic fetch request with a response › request › can read query parameters (edge)

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › basic fetch request with a response › response › supports the NextResponse.rewrite() helper

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › basic fetch request with a response › response › supports the NextResponse.redirect() helper

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › basic fetch request with a response › response › supports the NextResponse.json() helper

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › body › can handle handle a streaming request and streaming response

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › body › can handle handle a streaming request and streaming response (edge)

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › body › can read a JSON encoded body

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › body › can read a JSON encoded body (edge)

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › body › can read a JSON encoded body for DELETE requests

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › body › can read a JSON encoded body for OPTIONS requests

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › body › can read a streamed JSON encoded body

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › body › can read a streamed JSON encoded body (edge)

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › body › can read the text body

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › body › can read the text body (edge)

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › context › provides params to routes with dynamic parameters

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › context › provides params to routes with catch-all routes

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › context › does not provide params to routes without dynamic parameters

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › hooks › headers › gets the correct values

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › hooks › cookies › gets the correct values

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › hooks › req.cookies › gets the correct values

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › hooks › (await cookies()).has() › gets the correct values

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › hooks › redirect › can respond correctly

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › hooks › permanentRedirect › can respond correctly

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › hooks › notFound › can respond correctly in nodejs

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › hooks › notFound › can respond correctly in edge

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › error conditions › responds with 400 (Bad Request) when the requested method is not a valid HTTP method

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › error conditions › responds with 405 (Method Not Allowed) when method is not implemented

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › error conditions › responds with 500 (Internal Server Error) when the handler throws an error

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › error conditions › responds with 500 (Internal Server Error) when the handler calls NextResponse.next()

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › automatic implementations › implements HEAD on routes with GET already implemented

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › automatic implementations › implements OPTIONS on routes

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › edge functions › returns response using edge runtime

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › edge functions › returns a response when headers are accessed

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › dynamic = "force-static" › strips search, headers, and domain from request

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › customized metadata routes › should work if conflict with metadata routes convention

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › no response returned › should print an error when no response is returned

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● app-custom-routes › no bundle error › should not print bundling warning about React

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

pnpm test-start-turbo test/e2e/app-dir/metadata-font/metadata-font.test.ts (turbopack) (job)

  • after() in edge runtime > triggers revalidate from a page (DD)
  • after() in edge runtime > triggers revalidate from a server action (DD)
  • after() in edge runtime > triggers revalidate from a route handler (DD)
  • after() in edge runtime > triggers revalidate from middleware (DD)
  • after() in nodejs runtime > triggers revalidate from a page (DD)
  • after() in nodejs runtime > triggers revalidate from a server action (DD)
  • after() in nodejs runtime > triggers revalidate from a route handler (DD)
  • after() in nodejs runtime > triggers revalidate from middleware (DD)
Expand output

● after() in nodejs runtime › triggers revalidate from a page

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● after() in nodejs runtime › triggers revalidate from a server action

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● after() in nodejs runtime › triggers revalidate from a route handler

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● after() in nodejs runtime › triggers revalidate from middleware

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● after() in edge runtime › triggers revalidate from a page

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● after() in edge runtime › triggers revalidate from a server action

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● after() in edge runtime › triggers revalidate from a route handler

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

● after() in edge runtime › triggers revalidate from middleware

next build failed with code/signal 1

  77 |             if (code || signal)
  78 |               reject(
> 79 |                 new Error(
     |                 ^
  80 |                   `next build failed with code/signal ${code || signal}`
  81 |                 )
  82 |               )

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

pnpm test-start-turbo test/production/standalone-mode/runtimeServerDeploymentId/index.test.ts (turbopack) (job)

  • standalone mode: runtimeServerDeploymentId > it should load app-page (DD)
  • standalone mode: runtimeServerDeploymentId > it should load app-page-edge (DD)
  • standalone mode: runtimeServerDeploymentId > it should load app-route (DD)
  • standalone mode: runtimeServerDeploymentId > it should load app-route-edge (DD)
  • standalone mode: runtimeServerDeploymentId > it should load pages-page (DD)
  • standalone mode: runtimeServerDeploymentId > it should load pages-page-edge (DD)
  • standalone mode: runtimeServerDeploymentId > it should load api/pages-route (DD)
  • standalone mode: runtimeServerDeploymentId > it should load api/pages-route-edge (DD)
Expand output

● standalone mode: runtimeServerDeploymentId › it should load app-page

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

Expected: 0
Received: 1

  27 |     let { exitCode } = await next.build()
  28 |     // eslint-disable-next-line jest/no-standalone-expect
> 29 |     expect(exitCode).toBe(0)
     |                      ^
  30 |
  31 |     await fs.move(
  32 |       join(next.testDir, '.next/standalone'),

  at Object.toBe (production/standalone-mode/runtimeServerDeploymentId/index.test.ts:29:22)

● standalone mode: runtimeServerDeploymentId › it should load app-page-edge

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

Expected: 0
Received: 1

  27 |     let { exitCode } = await next.build()
  28 |     // eslint-disable-next-line jest/no-standalone-expect
> 29 |     expect(exitCode).toBe(0)
     |                      ^
  30 |
  31 |     await fs.move(
  32 |       join(next.testDir, '.next/standalone'),

  at Object.toBe (production/standalone-mode/runtimeServerDeploymentId/index.test.ts:29:22)

● standalone mode: runtimeServerDeploymentId › it should load app-route

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

Expected: 0
Received: 1

  27 |     let { exitCode } = await next.build()
  28 |     // eslint-disable-next-line jest/no-standalone-expect
> 29 |     expect(exitCode).toBe(0)
     |                      ^
  30 |
  31 |     await fs.move(
  32 |       join(next.testDir, '.next/standalone'),

  at Object.toBe (production/standalone-mode/runtimeServerDeploymentId/index.test.ts:29:22)

● standalone mode: runtimeServerDeploymentId › it should load app-route-edge

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

Expected: 0
Received: 1

  27 |     let { exitCode } = await next.build()
  28 |     // eslint-disable-next-line jest/no-standalone-expect
> 29 |     expect(exitCode).toBe(0)
     |                      ^
  30 |
  31 |     await fs.move(
  32 |       join(next.testDir, '.next/standalone'),

  at Object.toBe (production/standalone-mode/runtimeServerDeploymentId/index.test.ts:29:22)

● standalone mode: runtimeServerDeploymentId › it should load pages-page

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

Expected: 0
Received: 1

  27 |     let { exitCode } = await next.build()
  28 |     // eslint-disable-next-line jest/no-standalone-expect
> 29 |     expect(exitCode).toBe(0)
     |                      ^
  30 |
  31 |     await fs.move(
  32 |       join(next.testDir, '.next/standalone'),

  at Object.toBe (production/standalone-mode/runtimeServerDeploymentId/index.test.ts:29:22)

● standalone mode: runtimeServerDeploymentId › it should load pages-page-edge

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

Expected: 0
Received: 1

  27 |     let { exitCode } = await next.build()
  28 |     // eslint-disable-next-line jest/no-standalone-expect
> 29 |     expect(exitCode).toBe(0)
     |                      ^
  30 |
  31 |     await fs.move(
  32 |       join(next.testDir, '.next/standalone'),

  at Object.toBe (production/standalone-mode/runtimeServerDeploymentId/index.test.ts:29:22)

● standalone mode: runtimeServerDeploymentId › it should load api/pages-route

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

Expected: 0
Received: 1

  27 |     let { exitCode } = await next.build()
  28 |     // eslint-disable-next-line jest/no-standalone-expect
> 29 |     expect(exitCode).toBe(0)
     |                      ^
  30 |
  31 |     await fs.move(
  32 |       join(next.testDir, '.next/standalone'),

  at Object.toBe (production/standalone-mode/runtimeServerDeploymentId/index.test.ts:29:22)

● standalone mode: runtimeServerDeploymentId › it should load api/pages-route-edge

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

Expected: 0
Received: 1

  27 |     let { exitCode } = await next.build()
  28 |     // eslint-disable-next-line jest/no-standalone-expect
> 29 |     expect(exitCode).toBe(0)
     |                      ^
  30 |
  31 |     await fs.move(
  32 |       join(next.testDir, '.next/standalone'),

  at Object.toBe (production/standalone-mode/runtimeServerDeploymentId/index.test.ts:29:22)

@ijjk
Copy link
Member

ijjk commented Dec 1, 2025

Stats from current PR

Default Build (Increase detected ⚠️)
General
vercel/next.js canary vercel/next.js use_side_effect_analysis Change
buildDuration 17.4s 14.8s N/A
buildDurationCached 13.8s 10.8s N/A
nodeModulesSize 457 MB 457 MB
nextStartRea..uration (ms) 719ms 721ms N/A
Client Bundles (main, webpack) Overall increase ⚠️
vercel/next.js canary vercel/next.js use_side_effect_analysis Change
4765.HASH.js gzip 169 B 169 B
6566-HASH.js gzip 5.4 kB 5.38 kB N/A
7740-HASH.js gzip 53.2 kB 52.5 kB N/A
8258-HASH.js gzip 4.47 kB 4.48 kB N/A
b0b1acf2-HASH.js gzip 62.3 kB 62.3 kB N/A
framework-HASH.js gzip 59.7 kB 59.7 kB N/A
main-app-HASH.js gzip 255 B 252 B N/A
main-HASH.js gzip 38.5 kB 38.8 kB ⚠️ +260 B
webpack-HASH.js gzip 1.69 kB 1.69 kB
Overall change 40.4 kB 40.6 kB ⚠️ +260 B
Legacy Client Bundles (polyfills)
vercel/next.js canary vercel/next.js use_side_effect_analysis Change
polyfills-HASH.js gzip 39.4 kB 39.4 kB
Overall change 39.4 kB 39.4 kB
Client Pages
vercel/next.js canary vercel/next.js use_side_effect_analysis Change
_app-HASH.js gzip 193 B 192 B N/A
_error-HASH.js gzip 181 B 182 B N/A
css-HASH.js gzip 335 B 336 B N/A
dynamic-HASH.js gzip 1.81 kB 1.8 kB N/A
edge-ssr-HASH.js gzip 254 B 256 B N/A
head-HASH.js gzip 350 B 350 B
hooks-HASH.js gzip 385 B 383 B N/A
image-HASH.js gzip 580 B 580 B
index-HASH.js gzip 259 B 259 B
link-HASH.js gzip 2.5 kB 2.5 kB N/A
routerDirect..HASH.js gzip 320 B 317 B N/A
script-HASH.js gzip 386 B 384 B N/A
withRouter-HASH.js gzip 315 B 314 B N/A
1afbb74e6ecf..834.css gzip 106 B 106 B
Overall change 1.29 kB 1.29 kB
Client Build Manifests
vercel/next.js canary vercel/next.js use_side_effect_analysis Change
_buildManifest.js gzip 737 B 735 B N/A
Overall change 0 B 0 B
Rendered Page Sizes
vercel/next.js canary vercel/next.js use_side_effect_analysis Change
index.html gzip 522 B 524 B N/A
link.html gzip 537 B 538 B N/A
withRouter.html gzip 518 B 520 B N/A
Overall change 0 B 0 B
Edge SSR bundle Size Overall increase ⚠️
vercel/next.js canary vercel/next.js use_side_effect_analysis Change
edge-ssr.js gzip 124 kB 125 kB ⚠️ +385 B
page.js gzip 236 kB 236 kB N/A
Overall change 124 kB 125 kB ⚠️ +385 B
Middleware size
vercel/next.js canary vercel/next.js use_side_effect_analysis Change
middleware-b..fest.js gzip 657 B 657 B
middleware-r..fest.js gzip 155 B 156 B N/A
middleware.js gzip 32.9 kB 32.9 kB N/A
edge-runtime..pack.js gzip 846 B 846 B
Overall change 1.5 kB 1.5 kB
Next Runtimes
vercel/next.js canary vercel/next.js use_side_effect_analysis Change
app-page-exp...dev.js gzip 301 kB 301 kB
app-page-exp..prod.js gzip 155 kB 155 kB
app-page-tur...dev.js gzip 301 kB 301 kB
app-page-tur..prod.js gzip 155 kB 155 kB
app-page-tur...dev.js gzip 298 kB 298 kB N/A
app-page-tur..prod.js gzip 153 kB 153 kB
app-page.run...dev.js gzip 298 kB 298 kB N/A
app-page.run..prod.js gzip 153 kB 153 kB
app-route-ex...dev.js gzip 68.6 kB 68.6 kB
app-route-ex..prod.js gzip 47.5 kB 47.5 kB
app-route-tu...dev.js gzip 68.7 kB 68.7 kB
app-route-tu..prod.js gzip 47.5 kB 47.5 kB
app-route-tu...dev.js gzip 68.3 kB 68.3 kB
app-route-tu..prod.js gzip 47.2 kB 47.2 kB
app-route.ru...dev.js gzip 68.2 kB 68.2 kB
app-route.ru..prod.js gzip 47.2 kB 47.2 kB
dist_client_...dev.js gzip 326 B 326 B
dist_client_...dev.js gzip 328 B 328 B
dist_client_...dev.js gzip 320 B 320 B
dist_client_...dev.js gzip 318 B 318 B
pages-api-tu...dev.js gzip 41 kB 41 kB
pages-api-tu..prod.js gzip 31.1 kB 31.1 kB
pages-api.ru...dev.js gzip 41 kB 41 kB
pages-api.ru..prod.js gzip 31.1 kB 31.1 kB
pages-turbo....dev.js gzip 50.5 kB 50.5 kB
pages-turbo...prod.js gzip 38 kB 38 kB
pages.runtim...dev.js gzip 50.5 kB 50.5 kB
pages.runtim..prod.js gzip 38 kB 38 kB
server.runti..prod.js gzip 59.8 kB 59.8 kB
Overall change 2.07 MB 2.07 MB
build cache Overall increase ⚠️
vercel/next.js canary vercel/next.js use_side_effect_analysis Change
0.pack gzip 3.1 MB 3.11 MB ⚠️ +7.88 kB
index.pack gzip 94.4 kB 93.2 kB N/A
Overall change 3.1 MB 3.11 MB ⚠️ +7.88 kB
Diff details
Diff for page.js

Diff too large to display

Diff for middleware.js

Diff too large to display

Diff for edge-ssr.js

Diff too large to display

Diff for _buildManifest.js
@@ -611,35 +611,35 @@ self.__BUILD_MANIFEST = (function (a, b, c) {
       numHashes: NaN,
       bitArray: [],
     },
-    "/": ["static\u002Fchunks\u002Fpages\u002Findex-8312816003c836ca.js"],
+    "/": ["static\u002Fchunks\u002Fpages\u002Findex-0eb0f30aae464b15.js"],
     "/_error": [
-      "static\u002Fchunks\u002Fpages\u002F_error-108d239ccbd01df3.js",
+      "static\u002Fchunks\u002Fpages\u002F_error-7503b65793aeda9f.js",
     ],
     "/css": [
       "static\u002Fcss\u002Fded6b86ab9cc0a1f.css",
-      "static\u002Fchunks\u002Fpages\u002Fcss-c7999ca7b397642c.js",
+      "static\u002Fchunks\u002Fpages\u002Fcss-14b4ec2febaa617d.js",
     ],
     "/dynamic": [
-      "static\u002Fchunks\u002Fpages\u002Fdynamic-1bf1b522b071e22a.js",
+      "static\u002Fchunks\u002Fpages\u002Fdynamic-24891a28ecfaf61d.js",
     ],
     "/edge-ssr": [
-      "static\u002Fchunks\u002Fpages\u002Fedge-ssr-9f01876339e3437b.js",
+      "static\u002Fchunks\u002Fpages\u002Fedge-ssr-f68757662e8cc4b5.js",
     ],
-    "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-edae0400cfdbe933.js"],
-    "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-c11320a657ec666d.js"],
+    "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-25d6de8fe25c2526.js"],
+    "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-34de3af84d413de3.js"],
     "/image": [
-      "static\u002Fchunks\u002F8258-9768ab794e68b1dc.js",
-      "static\u002Fchunks\u002Fpages\u002Fimage-174112e04c93dfd7.js",
+      "static\u002Fchunks\u002F6316-07d5277e1ed2f1f9.js",
+      "static\u002Fchunks\u002Fpages\u002Fimage-7218f8bad067d350.js",
     ],
-    "/link": ["static\u002Fchunks\u002Fpages\u002Flink-69a06d3260afde67.js"],
+    "/link": ["static\u002Fchunks\u002Fpages\u002Flink-fb9703d62b3bdf85.js"],
     "/routerDirect": [
-      "static\u002Fchunks\u002Fpages\u002FrouterDirect-eab8cdd319b4a9be.js",
+      "static\u002Fchunks\u002Fpages\u002FrouterDirect-7a0b11345ff468cf.js",
     ],
     "/script": [
-      "static\u002Fchunks\u002Fpages\u002Fscript-ae5bd9e9cf17793f.js",
+      "static\u002Fchunks\u002Fpages\u002Fscript-3fa0815377002305.js",
     ],
     "/withRouter": [
-      "static\u002Fchunks\u002Fpages\u002FwithRouter-b277df764694ea2e.js",
+      "static\u002Fchunks\u002Fpages\u002FwithRouter-608a306c0a09e667.js",
     ],
     sortedPages: [
       "\u002F",
Diff for css-HASH.js
@@ -1,31 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [9813],
   {
-    /***/ 4131: /***/ (module) => {
-      // extracted by mini-css-extract-plugin
-      module.exports = { helloWorld: "css_helloWorld__aUdUq" };
-
-      /***/
-    },
-
-    /***/ 6015: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/css",
-        function () {
-          return __webpack_require__(6854);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
-
-    /***/ 6854: /***/ (
+    /***/ 1048: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -39,7 +15,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(1329);
       /* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(4131);
+        __webpack_require__(9541);
       /* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           _css_module_css__WEBPACK_IMPORTED_MODULE_1__
@@ -58,13 +34,37 @@
 
       /***/
     },
+
+    /***/ 4641: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/css",
+        function () {
+          return __webpack_require__(1048);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
+
+    /***/ 9541: /***/ (module) => {
+      // extracted by mini-css-extract-plugin
+      module.exports = { helloWorld: "css_helloWorld__aUdUq" };
+
+      /***/
+    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(6015)
+      __webpack_exec__(4641)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for dynamic-HASH.js
@@ -1,17 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [2291],
   {
-    /***/ 946: /***/ (
-      module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      module.exports = __webpack_require__(5104);
-
-      /***/
-    },
-
-    /***/ 1036: /***/ (
+    /***/ 1266: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -26,7 +16,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(1329);
       /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(946);
+        __webpack_require__(1776);
       /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           next_dynamic__WEBPACK_IMPORTED_MODULE_1__
@@ -35,12 +25,12 @@
       const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
         () =>
           __webpack_require__
-            .e(/* import() */ 4765)
-            .then(__webpack_require__.bind(__webpack_require__, 4765))
+            .e(/* import() */ 9715)
+            .then(__webpack_require__.bind(__webpack_require__, 9715))
             .then((mod) => mod.Hello),
         {
           loadableGenerated: {
-            webpack: () => [/*require.resolve*/ 4765],
+            webpack: () => [/*require.resolve*/ 9715],
           },
         }
       );
@@ -67,7 +57,44 @@
       /***/
     },
 
-    /***/ 3399: /***/ (
+    /***/ 1776: /***/ (
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      module.exports = __webpack_require__(7760);
+
+      /***/
+    },
+
+    /***/ 3749: /***/ (
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) => {
+      "use strict";
+      /* __next_internal_client_entry_do_not_use__  cjs */
+      Object.defineProperty(exports, "__esModule", {
+        value: true,
+      });
+      Object.defineProperty(exports, "LoadableContext", {
+        enumerable: true,
+        get: function () {
+          return LoadableContext;
+        },
+      });
+      const _interop_require_default = __webpack_require__(1532);
+      const _react = /*#__PURE__*/ _interop_require_default._(
+        __webpack_require__(7197)
+      );
+      const LoadableContext = _react.default.createContext(null);
+      if (false) {
+      } //# sourceMappingURL=loadable-context.shared-runtime.js.map
+
+      /***/
+    },
+
+    /***/ 6535: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -109,7 +136,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
       const _react = /*#__PURE__*/ _interop_require_default._(
         __webpack_require__(7197)
       );
-      const _loadablecontextsharedruntime = __webpack_require__(9829);
+      const _loadablecontextsharedruntime = __webpack_require__(3749);
       function resolve(obj) {
         return obj && obj.default ? obj.default : obj;
       }
@@ -342,7 +369,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
       /***/
     },
 
-    /***/ 5104: /***/ (module, exports, __webpack_require__) => {
+    /***/ 7760: /***/ (module, exports, __webpack_require__) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -375,7 +402,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
         __webpack_require__(7197)
       );
       const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(3399)
+        __webpack_require__(6535)
       );
       const isServerSide = "object" === "undefined";
       // Normalize loader to return the module as form { default: Component } for `React.lazy`.
@@ -475,7 +502,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
       /***/
     },
 
-    /***/ 8695: /***/ (
+    /***/ 9585: /***/ (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -483,7 +510,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/dynamic",
         function () {
-          return __webpack_require__(1036);
+          return __webpack_require__(1266);
         },
       ]);
       if (false) {
@@ -491,40 +518,13 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
 
       /***/
     },
-
-    /***/ 9829: /***/ (
-      __unused_webpack_module,
-      exports,
-      __webpack_require__
-    ) => {
-      "use strict";
-      /* __next_internal_client_entry_do_not_use__  cjs */
-      Object.defineProperty(exports, "__esModule", {
-        value: true,
-      });
-      Object.defineProperty(exports, "LoadableContext", {
-        enumerable: true,
-        get: function () {
-          return LoadableContext;
-        },
-      });
-      const _interop_require_default = __webpack_require__(1532);
-      const _react = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(7197)
-      );
-      const LoadableContext = _react.default.createContext(null);
-      if (false) {
-      } //# sourceMappingURL=loadable-context.shared-runtime.js.map
-
-      /***/
-    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(8695)
+      __webpack_exec__(9585)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for head-HASH.js
@@ -1,24 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [5350],
   {
-    /***/ 361: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/head",
-        function () {
-          return __webpack_require__(721);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
-
-    /***/ 721: /***/ (
+    /***/ 5163: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -33,7 +16,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(1329);
       /* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(5051);
+        __webpack_require__(7269);
       /* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           next_head__WEBPACK_IMPORTED_MODULE_1__
@@ -67,12 +50,29 @@
       /***/
     },
 
-    /***/ 5051: /***/ (
+    /***/ 7269: /***/ (
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) => {
-      module.exports = __webpack_require__(4981);
+      module.exports = __webpack_require__(2053);
+
+      /***/
+    },
+
+    /***/ 8563: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/head",
+        function () {
+          return __webpack_require__(5163);
+        },
+      ]);
+      if (false) {
+      }
 
       /***/
     },
@@ -82,7 +82,7 @@
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(361)
+      __webpack_exec__(8563)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for hooks-HASH.js
@@ -1,7 +1,24 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [9804],
   {
-    /***/ 1705: /***/ (
+    /***/ 1271: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/hooks",
+        function () {
+          return __webpack_require__(2631);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
+
+    /***/ 2631: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -59,30 +76,13 @@
 
       /***/
     },
-
-    /***/ 8637: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/hooks",
-        function () {
-          return __webpack_require__(1705);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(8637)
+      __webpack_exec__(1271)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for image-HASH.js
@@ -1,7 +1,24 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [2983],
   {
-    /***/ 798: /***/ (
+    /***/ 565: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/image",
+        function () {
+          return __webpack_require__(7813);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
+
+    /***/ 7813: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -18,8 +35,8 @@
 
       // EXTERNAL MODULE: ./node_modules/.pnpm/[email protected]/node_modules/react/jsx-runtime.js
       var jsx_runtime = __webpack_require__(1329);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@[email protected][email protected][email protected]/node_modules/next/image.js
-      var next_image = __webpack_require__(8258);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@[email protected][email protected][email protected]/node_modules/next/image.js
+      var next_image = __webpack_require__(6316);
       var image_default = /*#__PURE__*/ __webpack_require__.n(next_image); // ./pages/nextjs.png
       /* harmony default export */ const nextjs = {
         src: "/_next/static/media/nextjs.cae0b805.png",
@@ -48,30 +65,13 @@
 
       /***/
     },
-
-    /***/ 7643: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/image",
-        function () {
-          return __webpack_require__(798);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
-    /******/ __webpack_require__.O(0, [8258, 636, 6593, 8792], () =>
-      __webpack_exec__(7643)
+    /******/ __webpack_require__.O(0, [6316, 636, 6593, 8792], () =>
+      __webpack_exec__(565)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for link-HASH.js
@@ -1,43 +1,36 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [4672],
   {
-    /***/ 4183: /***/ (module, exports, __webpack_require__) => {
+    /***/ 443: /***/ (
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      module.exports = __webpack_require__(2457);
+
+      /***/
+    },
+
+    /***/ 2185: /***/ (__unused_webpack_module, exports) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
         value: true,
       });
-      Object.defineProperty(exports, "getDomainLocale", {
+      Object.defineProperty(exports, "errorOnce", {
         enumerable: true,
         get: function () {
-          return getDomainLocale;
+          return errorOnce;
         },
       });
-      const _normalizetrailingslash = __webpack_require__(8887);
-      const basePath =
-        /* unused pure expression or super */ null && (false || "");
-      function getDomainLocale(path, locale, locales, domainLocales) {
-        if (false) {
-        } else {
-          return false;
-        }
-      }
-      if (
-        (typeof exports.default === "function" ||
-          (typeof exports.default === "object" && exports.default !== null)) &&
-        typeof exports.default.__esModule === "undefined"
-      ) {
-        Object.defineProperty(exports.default, "__esModule", {
-          value: true,
-        });
-        Object.assign(exports.default, exports);
-        module.exports = exports.default;
-      } //# sourceMappingURL=get-domain-locale.js.map
+      let errorOnce = (_) => {};
+      if (false) {
+      } //# sourceMappingURL=error-once.js.map
 
       /***/
     },
 
-    /***/ 5049: /***/ (module, exports, __webpack_require__) => {
+    /***/ 2457: /***/ (module, exports, __webpack_require__) => {
       "use strict";
       /* __next_internal_client_entry_do_not_use__  cjs */
       Object.defineProperty(exports, "__esModule", {
@@ -64,17 +57,17 @@
       const _react = /*#__PURE__*/ _interop_require_wildcard._(
         __webpack_require__(7197)
       );
-      const _resolvehref = __webpack_require__(3575);
-      const _islocalurl = __webpack_require__(4135);
-      const _formaturl = __webpack_require__(3050);
-      const _utils = __webpack_require__(6864);
-      const _addlocale = __webpack_require__(1789);
-      const _routercontextsharedruntime = __webpack_require__(1778);
-      const _useintersection = __webpack_require__(7210);
-      const _getdomainlocale = __webpack_require__(4183);
-      const _addbasepath = __webpack_require__(6518);
-      const _usemergedref = __webpack_require__(9011);
-      const _erroronce = __webpack_require__(5193);
+      const _resolvehref = __webpack_require__(5687);
+      const _islocalurl = __webpack_require__(7127);
+      const _formaturl = __webpack_require__(58);
+      const _utils = __webpack_require__(2080);
+      const _addlocale = __webpack_require__(5709);
+      const _routercontextsharedruntime = __webpack_require__(4770);
+      const _useintersection = __webpack_require__(3290);
+      const _getdomainlocale = __webpack_require__(4615);
+      const _addbasepath = __webpack_require__(8422);
+      const _usemergedref = __webpack_require__(9667);
+      const _erroronce = __webpack_require__(2185);
       const prefetched = new Set();
       function prefetch(router, href, as, options) {
         if (false) {
@@ -453,82 +446,7 @@
       /***/
     },
 
-    /***/ 5193: /***/ (__unused_webpack_module, exports) => {
-      "use strict";
-
-      Object.defineProperty(exports, "__esModule", {
-        value: true,
-      });
-      Object.defineProperty(exports, "errorOnce", {
-        enumerable: true,
-        get: function () {
-          return errorOnce;
-        },
-      });
-      let errorOnce = (_) => {};
-      if (false) {
-      } //# sourceMappingURL=error-once.js.map
-
-      /***/
-    },
-
-    /***/ 5529: /***/ (
-      module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      module.exports = __webpack_require__(5049);
-
-      /***/
-    },
-
-    /***/ 6887: /***/ (
-      __unused_webpack_module,
-      __webpack_exports__,
-      __webpack_require__
-    ) => {
-      "use strict";
-      __webpack_require__.r(__webpack_exports__);
-      /* harmony export */ __webpack_require__.d(__webpack_exports__, {
-        /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,
-        /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,
-        /* harmony export */
-      });
-      /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
-        __webpack_require__(1329);
-      /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(5529);
-      /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =
-        /*#__PURE__*/ __webpack_require__.n(
-          next_link__WEBPACK_IMPORTED_MODULE_1__
-        );
-
-      function aLink(props) {
-        return /*#__PURE__*/ (0,
-        react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
-          children: [
-            /*#__PURE__*/ (0,
-            react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h3", {
-              children: "A Link page!",
-            }),
-            /*#__PURE__*/ (0,
-            react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(
-              next_link__WEBPACK_IMPORTED_MODULE_1___default(),
-              {
-                href: "/",
-                children: "Go to /",
-              }
-            ),
-          ],
-        });
-      }
-      var __N_SSP = true;
-      /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = aLink;
-
-      /***/
-    },
-
-    /***/ 7210: /***/ (module, exports, __webpack_require__) => {
+    /***/ 3290: /***/ (module, exports, __webpack_require__) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -541,7 +459,7 @@
         },
       });
       const _react = __webpack_require__(7197);
-      const _requestidlecallback = __webpack_require__(1785);
+      const _requestidlecallback = __webpack_require__(6809);
       const hasIntersectionObserver =
         typeof IntersectionObserver === "function";
       const observers = new Map();
@@ -653,7 +571,106 @@
       /***/
     },
 
-    /***/ 9011: /***/ (module, exports, __webpack_require__) => {
+    /***/ 4615: /***/ (module, exports, __webpack_require__) => {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true,
+      });
+      Object.defineProperty(exports, "getDomainLocale", {
+        enumerable: true,
+        get: function () {
+          return getDomainLocale;
+        },
+      });
+      const _normalizetrailingslash = __webpack_require__(903);
+      const basePath =
+        /* unused pure expression or super */ null && (false || "");
+      function getDomainLocale(path, locale, locales, domainLocales) {
+        if (false) {
+        } else {
+          return false;
+        }
+      }
+      if (
+        (typeof exports.default === "function" ||
+          (typeof exports.default === "object" && exports.default !== null)) &&
+        typeof exports.default.__esModule === "undefined"
+      ) {
+        Object.defineProperty(exports.default, "__esModule", {
+          value: true,
+        });
+        Object.assign(exports.default, exports);
+        module.exports = exports.default;
+      } //# sourceMappingURL=get-domain-locale.js.map
+
+      /***/
+    },
+
+    /***/ 6745: /***/ (
+      __unused_webpack_module,
+      __webpack_exports__,
+      __webpack_require__
+    ) => {
+      "use strict";
+      __webpack_require__.r(__webpack_exports__);
+      /* harmony export */ __webpack_require__.d(__webpack_exports__, {
+        /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,
+        /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,
+        /* harmony export */
+      });
+      /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
+        __webpack_require__(1329);
+      /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =
+        __webpack_require__(443);
+      /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =
+        /*#__PURE__*/ __webpack_require__.n(
+          next_link__WEBPACK_IMPORTED_MODULE_1__
+        );
+
+      function aLink(props) {
+        return /*#__PURE__*/ (0,
+        react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
+          children: [
+            /*#__PURE__*/ (0,
+            react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h3", {
+              children: "A Link page!",
+            }),
+            /*#__PURE__*/ (0,
+            react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(
+              next_link__WEBPACK_IMPORTED_MODULE_1___default(),
+              {
+                href: "/",
+                children: "Go to /",
+              }
+            ),
+          ],
+        });
+      }
+      var __N_SSP = true;
+      /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = aLink;
+
+      /***/
+    },
+
+    /***/ 7595: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/link",
+        function () {
+          return __webpack_require__(6745);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
+
+    /***/ 9667: /***/ (module, exports, __webpack_require__) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -730,30 +747,13 @@
 
       /***/
     },
-
-    /***/ 9297: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/link",
-        function () {
-          return __webpack_require__(6887);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(9297)
+      __webpack_exec__(7595)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for routerDirect-HASH.js
@@ -1,34 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [188],
   {
-    /***/ 1576: /***/ (
-      module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      module.exports = __webpack_require__(5704);
-
-      /***/
-    },
-
-    /***/ 7881: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/routerDirect",
-        function () {
-          return __webpack_require__(9851);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
-
-    /***/ 9851: /***/ (
+    /***/ 3401: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -43,7 +16,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(1329);
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(1576);
+        __webpack_require__(6702);
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -62,13 +35,40 @@
 
       /***/
     },
+
+    /***/ 4787: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/routerDirect",
+        function () {
+          return __webpack_require__(3401);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
+
+    /***/ 6702: /***/ (
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      module.exports = __webpack_require__(728);
+
+      /***/
+    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(7881)
+      __webpack_exec__(4787)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for script-HASH.js
@@ -1,34 +1,17 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [1209],
   {
-    /***/ 2777: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/script",
-        function () {
-          return __webpack_require__(9272);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
-
-    /***/ 8662: /***/ (
+    /***/ 6868: /***/ (
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) => {
-      module.exports = __webpack_require__(4550);
+      module.exports = __webpack_require__(1190);
 
       /***/
     },
 
-    /***/ 9272: /***/ (
+    /***/ 7478: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -43,7 +26,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(1329);
       /* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(8662);
+        __webpack_require__(6868);
       /* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           next_script__WEBPACK_IMPORTED_MODULE_1__
@@ -75,13 +58,30 @@
 
       /***/
     },
+
+    /***/ 7659: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/script",
+        function () {
+          return __webpack_require__(7478);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(2777)
+      __webpack_exec__(7659)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for withRouter-HASH.js
@@ -1,17 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [3263],
   {
-    /***/ 1576: /***/ (
-      module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      module.exports = __webpack_require__(5704);
-
-      /***/
-    },
-
-    /***/ 8478: /***/ (
+    /***/ 2528: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -26,7 +16,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(1329);
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(1576);
+        __webpack_require__(6702);
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -45,7 +35,17 @@
       /***/
     },
 
-    /***/ 9505: /***/ (
+    /***/ 6702: /***/ (
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      module.exports = __webpack_require__(728);
+
+      /***/
+    },
+
+    /***/ 9763: /***/ (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -53,7 +53,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/withRouter",
         function () {
-          return __webpack_require__(8478);
+          return __webpack_require__(2528);
         },
       ]);
       if (false) {
@@ -67,7 +67,7 @@
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(9505)
+      __webpack_exec__(9763)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for 6566-HASH.js

Diff too large to display

Diff for 7740-HASH.js
failed to diff
Diff for 8258-HASH.js

Diff too large to display

Diff for main-HASH.js

Diff too large to display

Diff for main-app-HASH.js
@@ -1,64 +1,64 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [4977],
   {
-    /***/ 2584: /***/ () => {
-      /* (ignored) */
-      /***/
-    },
-
-    /***/ 5132: /***/ (
+    /***/ 1552: /***/ (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
     ) => {
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 6596, 23)
+        __webpack_require__.t.bind(__webpack_require__, 8958, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 6101, 23)
+        __webpack_require__.t.bind(__webpack_require__, 711, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 7719, 23)
+        __webpack_require__.t.bind(__webpack_require__, 7045, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 3524, 23)
+        __webpack_require__.t.bind(__webpack_require__, 266, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 6044, 23)
+        __webpack_require__.t.bind(__webpack_require__, 3438, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 344, 23)
+        __webpack_require__.t.bind(__webpack_require__, 7494, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 6577, 23)
+        __webpack_require__.t.bind(__webpack_require__, 4627, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 7518, 23)
+        __webpack_require__.t.bind(__webpack_require__, 924, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 215, 23)
+        __webpack_require__.t.bind(__webpack_require__, 4766, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 8782, 23)
+        __webpack_require__.t.bind(__webpack_require__, 5564, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 3205, 23)
+        __webpack_require__.t.bind(__webpack_require__, 8095, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 576)
+        __webpack_require__.bind(__webpack_require__, 8350)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 766, 23)
+        __webpack_require__.t.bind(__webpack_require__, 8128, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 2283, 23)
+        __webpack_require__.t.bind(__webpack_require__, 5865, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 1257, 23)
+        __webpack_require__.t.bind(__webpack_require__, 4103, 23)
       );
 
       /***/
     },
+
+    /***/ 6170: /***/ () => {
+      /* (ignored) */
+      /***/
+    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
@@ -66,8 +66,8 @@
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(
       0,
-      [9962, 7740],
-      () => (__webpack_exec__(7620), __webpack_exec__(5132))
+      [4627, 8196],
+      () => (__webpack_exec__(1314), __webpack_exec__(1552))
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Commit: a5ab831

@codspeed-hq
Copy link

codspeed-hq bot commented Dec 1, 2025

CodSpeed Performance Report

Merging #86675 will not alter performance

Comparing use_side_effect_analysis (a5ab831) with canary (92e2cc0)

Summary

✅ 17 untouched
⏩ 3 skipped1

Footnotes

  1. 3 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

@lukesandberg lukesandberg force-pushed the use_side_effect_analysis branch from 1fc4fb8 to f544707 Compare December 1, 2025 21:42
@lukesandberg lukesandberg force-pushed the use_side_effect_analysis branch from f544707 to 102d370 Compare December 3, 2025 01:08
@lukesandberg lukesandberg force-pushed the simple_side_effect_free_analysis branch from f281a83 to f6e85cd Compare December 3, 2025 01:08
@lukesandberg lukesandberg changed the title Rename side_effects and implement it everywhere [turbopack] Compute transitive side effects and use them to trim imports Dec 3, 2025
@lukesandberg lukesandberg force-pushed the simple_side_effect_free_analysis branch from 1be5c4f to e92c3d7 Compare December 5, 2025 22:54
@lukesandberg lukesandberg force-pushed the use_side_effect_analysis branch from 40ade7f to 432b0b8 Compare December 5, 2025 22:54
@lukesandberg lukesandberg force-pushed the use_side_effect_analysis branch from 432b0b8 to fee30ab Compare December 6, 2025 18:30
@lukesandberg lukesandberg force-pushed the simple_side_effect_free_analysis branch from e92c3d7 to e7407a9 Compare December 6, 2025 18:30
@lukesandberg lukesandberg force-pushed the use_side_effect_analysis branch from fee30ab to 89d4529 Compare December 7, 2025 00:24
@lukesandberg lukesandberg force-pushed the use_side_effect_analysis branch from 150bcd6 to de24f72 Compare December 11, 2025 20:54
@lukesandberg lukesandberg force-pushed the simple_side_effect_free_analysis branch from ef939dd to 4227c7f Compare December 11, 2025 20:54
@lukesandberg lukesandberg force-pushed the use_side_effect_analysis branch 3 times, most recently from ff7a80a to 4798500 Compare December 12, 2025 00:54
@lukesandberg lukesandberg force-pushed the simple_side_effect_free_analysis branch from 3d2ae59 to 6b9908f Compare December 12, 2025 00:54
@lukesandberg lukesandberg changed the base branch from simple_side_effect_free_analysis to graphite-base/86675 December 12, 2025 06:22
@lukesandberg lukesandberg force-pushed the use_side_effect_analysis branch from 4798500 to fb7e305 Compare December 12, 2025 06:23
@graphite-app graphite-app bot changed the base branch from graphite-base/86675 to canary December 12, 2025 06:23
@lukesandberg lukesandberg force-pushed the use_side_effect_analysis branch from fb7e305 to dc83467 Compare December 12, 2025 06:23
@lukesandberg lukesandberg changed the base branch from canary to graphite-base/86675 December 12, 2025 06:49
@lukesandberg lukesandberg force-pushed the use_side_effect_analysis branch from dc83467 to 718268e Compare December 12, 2025 06:49
@lukesandberg lukesandberg changed the base branch from graphite-base/86675 to refactor_side_effects_api December 12, 2025 06:49
@lukesandberg lukesandberg force-pushed the use_side_effect_analysis branch 2 times, most recently from 6c78c8f to 0d56058 Compare December 12, 2025 07:14
@lukesandberg lukesandberg force-pushed the use_side_effect_analysis branch from 0d56058 to 6f3358b Compare December 12, 2025 07:20
@lukesandberg lukesandberg changed the base branch from refactor_side_effects_api to graphite-base/86675 December 12, 2025 17:36
This commit adds analysis to remove imports that are only used for side
effects when the target module is proven to be side-effect-free.

Changes:
- Integrate compute_side_effect_free_module_info() into binding_usage_info
- Check ExportUsage::Evaluation to detect side-effect-only imports
- Only remove imports when:
  1. ImportUsage::SideEffects (no export-based tree-shaking)
  2. ExportUsage::Evaluation (no exports used, only side effects)
  3. Target module is in side_effect_free_modules set
- Add debug logging to show which modules are side-effect-free
- Fix typo: ModuleEvalutationIsSideEffectFree -> ModuleEvaluationIsSideEffectFree

This enables more aggressive tree-shaking by removing unnecessary
side-effect imports like 'import "./side-effect-free-module"'.
@lukesandberg lukesandberg force-pushed the use_side_effect_analysis branch from 6f3358b to a3e8303 Compare December 13, 2025 00:15
@lukesandberg lukesandberg changed the base branch from graphite-base/86675 to canary December 13, 2025 00:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

created-by: Turbopack team PRs by the Turbopack team. Turbopack Related to Turbopack with Next.js.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants