Skip to content

Fix flaky metadata-static-route-cache test: wrap server lifecycle in try/finally#91916

Draft
sokra wants to merge 1 commit intocanaryfrom
sokra/flaky-test-3
Draft

Fix flaky metadata-static-route-cache test: wrap server lifecycle in try/finally#91916
sokra wants to merge 1 commit intocanaryfrom
sokra/flaky-test-3

Conversation

@sokra
Copy link
Copy Markdown
Member

@sokra sokra commented Mar 25, 2026

Fixing a bug

What?

Fixes the flaky test in test/production/app-dir/metadata-static-route-cache/metadata-static-route-cache.test.ts:

app dir - metadata static routes cache › should generate different content after replace the static metadata file

Why?

The test uses skipStart: true and manually calls next.start() / next.stop() twice within a single it block (once to capture initial hashes, once after swapping static files to verify new hashes). The next.stop() calls only ran on the happy path — if any assertion or network fetch threw between start() and stop(), the server was left running. On a test retry (or Jest's automatic retry), the next next.start() call would fail immediately with Error: next already started.

How?

Wrapped both start()/stop() pairs in try/finally blocks so next.stop() is always called regardless of whether the body throws:

await next.start()
try {
  // ... fetches and assertions ...
} finally {
  await next.stop()
}

No changes to test logic or fixtures — only the server lifecycle safety is improved.

Verified stable: ran the test 3 times consecutively with NEXT_SKIP_ISOLATE=1 NEXT_TEST_MODE=start, all passed.

…le in try/finally

Each next.start() is now paired with a finally block that calls next.stop(),
ensuring the server is stopped even when assertions throw mid-test. Without this,
a failed test left the server running, causing "next already started" on retry.

Co-Authored-By: Claude <noreply@anthropic.com>
@nextjs-bot nextjs-bot added created-by: Turbopack team PRs by the Turbopack team. tests labels Mar 25, 2026
@nextjs-bot
Copy link
Copy Markdown
Contributor

nextjs-bot commented Mar 25, 2026

Failing test suites

Commit: 5a5d6a6 | About building and testing Next.js

pnpm test-dev test/e2e/app-dir/use-cache-without-experimental-flag/use-cache-without-experimental-flag.test.ts (job)

  • use-cache-without-experimental-flag > should recover from the build error if useCache flag is set (DD)
Expand output

● use-cache-without-experimental-flag › should recover from the build error if useCache flag is set

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('p') to be visible
    - waiting for" http://localhost:46299/" navigation to finish...

  545 |
  546 |     return this.startChain(async () => {
> 547 |       const el = await page.waitForSelector(selector, {
      |                             ^
  548 |         timeout,
  549 |         state,
  550 |       })

  at waitForSelector (lib/browsers/playwright.ts:547:29)
  at Playwright._chain (lib/browsers/playwright.ts:677:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:658:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:546:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:431:17)
  at elementByCss (e2e/app-dir/use-cache-without-experimental-flag/use-cache-without-experimental-flag.test.ts:169:34)
  at fn (lib/next-test-utils.ts:861:20)
  at NextDevInstance.patchFile (lib/next-modes/base.ts:758:9)
  at NextDevInstance.patchFile (lib/next-modes/next-dev.ts:304:16)
  at Object.<anonymous> (e2e/app-dir/use-cache-without-experimental-flag/use-cache-without-experimental-flag.test.ts:164:7)
  at Proxy._chain (lib/browsers/playwright.ts:677:23)
  at Proxy._chain (lib/browsers/playwright.ts:653:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:459:17)
  at text (e2e/app-dir/use-cache-without-experimental-flag/use-cache-without-experimental-flag.test.ts:169:52)
  at fn (lib/next-test-utils.ts:861:20)
  at NextDevInstance.patchFile (lib/next-modes/base.ts:758:9)
  at NextDevInstance.patchFile (lib/next-modes/next-dev.ts:304:16)
  at Object.<anonymous> (e2e/app-dir/use-cache-without-experimental-flag/use-cache-without-experimental-flag.test.ts:164:7)

pnpm test-start test/e2e/app-dir/actions/app-action-form-state-node-middleware.test.ts (job)

  • after() in static pages > runs after during build (DD)
Expand output

● after() in static pages › runs after during build

can not run export while server is running, use next.stop() first

  251 |   ) {
  252 |     if (this.childProcess) {
> 253 |       throw new Error(
      |             ^
  254 |         `can not run export while server is running, use next.stop() first`
  255 |       )
  256 |     }

  at NextStartInstance.build (lib/next-modes/next-start.ts:253:13)
  at Object.build (e2e/app-dir/next-after-app-static/build-time/build-time.test.ts:36:36)

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

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

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

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

  1849 |     'production mode',
  1850 |     () => {
> 1851 |       beforeAll(async () => {
       |       ^
  1852 |         await nextBuild(appDir)
  1853 |         appPort = await findPort()
  1854 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1851:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1848:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1833:1)

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

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

  1849 |     'production mode',
  1850 |     () => {
> 1851 |       beforeAll(async () => {
       |       ^
  1852 |         await nextBuild(appDir)
  1853 |         appPort = await findPort()
  1854 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1851:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1848:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1833:1)

● Image Component Default Tests › production mode › should work with preload prop

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

  1849 |     'production mode',
  1850 |     () => {
> 1851 |       beforeAll(async () => {
       |       ^
  1852 |         await nextBuild(appDir)
  1853 |         appPort = await findPort()
  1854 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1851:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1848:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1833:1)

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

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

  1849 |     'production mode',
  1850 |     () => {
> 1851 |       beforeAll(async () => {
       |       ^
  1852 |         await nextBuild(appDir)
  1853 |         appPort = await findPort()
  1854 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1851:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1848:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1833:1)

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

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

  1849 |     'production mode',
  1850 |     () => {
> 1851 |       beforeAll(async () => {
       |       ^
  1852 |         await nextBuild(appDir)
  1853 |         appPort = await findPort()
  1854 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1851:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1848:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1833:1)

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

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

  1849 |     'production mode',
  1850 |     () => {
> 1851 |       beforeAll(async () => {
       |       ^
  1852 |         await nextBuild(appDir)
  1853 |         appPort = await findPort()
  1854 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1851:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1848:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1833:1)

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

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

  1849 |     'production mode',
  1850 |     () => {
> 1851 |       beforeAll(async () => {
       |       ^
  1852 |         await nextBuild(appDir)
  1853 |         appPort = await findPort()
  1854 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1851:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1848:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1833:1)

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

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

  1849 |     'production mode',
  1850 |     () => {
> 1851 |       beforeAll(async () => {
       |       ^
  1852 |         await nextBuild(appDir)
  1853 |         appPort = await findPort()
  1854 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1851:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1848:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1833:1)

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

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

  1849 |     'production mode',
  1850 |     () => {
> 1851 |       beforeAll(async () => {
       |       ^
  1852 |         await nextBuild(appDir)
  1853 |         appPort = await findPort()
  1854 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1851:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1848:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1833:1)

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

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

  1849 |     'production mode',
  1850 |     () => {
> 1851 |       beforeAll(async () => {
       |       ^
  1852 |         await nextBuild(appDir)
  1853 |         appPort = await findPort()
  1854 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1851:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1848:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1833:1)

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

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

  1849 |     'production mode',
  1850 |     () => {
> 1851 |       beforeAll(async () => {
       |       ^
  1852 |         await nextBuild(appDir)
  1853 |         appPort = await findPort()
  1854 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1851:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1848:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1833:1)

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

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

  1849 |     'production mode',
  1850 |     () => {
> 1851 |       beforeAll(async () => {
       |       ^
  1852 |         await nextBuild(appDir)
  1853 |         appPort = await findPort()
  1854 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1851:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1848:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1833:1)

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

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

  1849 |     'production mode',
  1850 |     () => {
> 1851 |       beforeAll(async () => {
       |       ^
  1852 |         await nextBuild(appDir)
  1853 |         appPort = await findPort()
  1854 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1851:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1848:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1833:1)

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

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

  1849 |     'production mode',
  1850 |     () => {
> 1851 |       beforeAll(async () => {
       |       ^
  1852 |         await nextBuild(appDir)
  1853 |         appPort = await findPort()
  1854 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1851:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1848:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1833:1)

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

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

  1849 |     'production mode',
  1850 |     () => {
> 1851 |       beforeAll(async () => {
       |       ^
  1852 |         await nextBuild(appDir)
  1853 |         appPort = await findPort()
  1854 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1851:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1848:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1833:1)

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

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

  1849 |     'production mode',
  1850 |     () => {
> 1851 |       beforeAll(async () => {
       |       ^
  1852 |         await nextBuild(appDir)
  1853 |         appPort = await findPort()
  1854 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1851:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1848:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1833:1)

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

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

  1849 |     'production mode',
  1850 |     () => {
> 1851 |       beforeAll(async () => {
       |       ^
  1852 |         await nextBuild(appDir)
  1853 |         appPort = await findPort()
  1854 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1851:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1848:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1833:1)

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

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

  1849 |     'production mode',
  1850 |     () => {
> 1851 |       beforeAll(async () => {
       |       ^
  1852 |         await nextBuild(appDir)
  1853 |         appPort = await findPort()
  1854 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1851:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1848:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1833:1)

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

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

  1849 |     'production mode',
  1850 |     () => {
> 1851 |       beforeAll(async () => {
       |       ^
  1852 |         await nextBuild(appDir)
  1853 |         appPort = await findPort()
  1854 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1851:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1848:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1833:1)

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

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

  1849 |     'production mode',
  1850 |     () => {
> 1851 |       beforeAll(async () => {
       |       ^
  1852 |         await nextBuild(appDir)
  1853 |         appPort = await findPort()
  1854 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1851:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1848:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1833:1)

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

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

  1849 |     'production mode',
  1850 |     () => {
> 1851 |       beforeAll(async () => {
       |       ^
  1852 |         await nextBuild(appDir)
  1853 |         appPort = await findPort()
  1854 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1851:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1848:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1833:1)

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

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

  1849 |     'production mode',
  1850 |     () => {
> 1851 |       beforeAll(async () => {
       |       ^
  1852 |         await nextBuild(appDir)
  1853 |         appPort = await findPort()
  1854 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1851:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1848:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1833:1)

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

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

  1849 |     'production mode',
  1850 |     () => {
> 1851 |       beforeAll(async () => {
       |       ^
  1852 |         await nextBuild(appDir)
  1853 |         appPort = await findPort()
  1854 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1851:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1848:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1833:1)

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

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

  1849 |     'production mode',
  1850 |     () => {
> 1851 |       beforeAll(async () => {
       |       ^
  1852 |         await nextBuild(appDir)
  1853 |         appPort = await findPort()
  1854 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1851:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1848:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1833:1)

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

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

  1849 |     'production mode',
  1850 |     () => {
> 1851 |       beforeAll(async () => {
       |       ^
  1852 |         await nextBuild(appDir)
  1853 |         appPort = await findPort()
  1854 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1851:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1848:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1833:1)

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

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

  1849 |     'production mode',
  1850 |     () => {
> 1851 |       beforeAll(async () => {
       |       ^
  1852 |         await nextBuild(appDir)
  1853 |         appPort = await findPort()
  1854 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1851:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1848:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1833:1)

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

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

  1849 |     'production mode',
  1850 |     () => {
> 1851 |       beforeAll(async () => {
       |       ^
  1852 |         await nextBuild(appDir)
  1853 |         appPort = await findPort()
  1854 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1851:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1848:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1833:1)

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

page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:40285/fill
Call log:
  - navigating to "http://localhost:40285/fill", waiting until "load"

  369 |     await opts?.beforePageLoad?.(page)
  370 |
> 371 |     await page.goto(url, { waitUntil: opts?.waitUntil ?? 'load' })
      |                ^
  372 |   }
  373 |
  374 |   back(options?: Parameters<Page['goBack']>[0]) {

  at Playwright.goto (lib/browsers/playwright.ts:371:16)
  at webdriver (lib/next-webdriver.ts:160:3)
  at Object.<anonymous> (integration/next-image-new/app-dir/test/index.test.ts:1519:17)

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

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

  1849 |     'production mode',
  1850 |     () => {
> 1851 |       beforeAll(async () => {
       |       ^
  1852 |         await nextBuild(appDir)
  1853 |         appPort = await findPort()
  1854 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1851:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1848:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1833:1)

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

page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:40285/fill
Call log:
  - navigating to "http://localhost:40285/fill", waiting until "load"

  369 |     await opts?.beforePageLoad?.(page)
  370 |
> 371 |     await page.goto(url, { waitUntil: opts?.waitUntil ?? 'load' })
      |                ^
  372 |   }
  373 |
  374 |   back(options?: Parameters<Page['goBack']>[0]) {

  at Playwright.goto (lib/browsers/playwright.ts:371:16)
  at webdriver (lib/next-webdriver.ts:160:3)
  at Object.<anonymous> (integration/next-image-new/app-dir/test/index.test.ts:1519:17)

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

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

  1849 |     'production mode',
  1850 |     () => {
> 1851 |       beforeAll(async () => {
       |       ^
  1852 |         await nextBuild(appDir)
  1853 |         appPort = await findPort()
  1854 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1851:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1848:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1833:1)

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

page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:40285/fill
Call log:
  - navigating to "http://localhost:40285/fill", waiting until "load"

  369 |     await opts?.beforePageLoad?.(page)
  370 |
> 371 |     await page.goto(url, { waitUntil: opts?.waitUntil ?? 'load' })
      |                ^
  372 |   }
  373 |
  374 |   back(options?: Parameters<Page['goBack']>[0]) {

  at Playwright.goto (lib/browsers/playwright.ts:371:16)
  at webdriver (lib/next-webdriver.ts:160:3)
  at Object.<anonymous> (integration/next-image-new/app-dir/test/index.test.ts:1519:17)

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

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

  1849 |     'production mode',
  1850 |     () => {
> 1851 |       beforeAll(async () => {
       |       ^
  1852 |         await nextBuild(appDir)
  1853 |         appPort = await findPort()
  1854 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1851:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1848:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1833:1)

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

page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:40285/fill
Call log:
  - navigating to "http://localhost:40285/fill", waiting until "load"

  369 |     await opts?.beforePageLoad?.(page)
  370 |
> 371 |     await page.goto(url, { waitUntil: opts?.waitUntil ?? 'load' })
      |                ^
  372 |   }
  373 |
  374 |   back(options?: Parameters<Page['goBack']>[0]) {

  at Playwright.goto (lib/browsers/playwright.ts:371:16)
  at webdriver (lib/next-webdriver.ts:160:3)
  at Object.<anonymous> (integration/next-image-new/app-dir/test/index.test.ts:1519:17)

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

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

  1849 |     'production mode',
  1850 |     () => {
> 1851 |       beforeAll(async () => {
       |       ^
  1852 |         await nextBuild(appDir)
  1853 |         appPort = await findPort()
  1854 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1851:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1848:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1833:1)

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

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

  1849 |     'production mode',
  1850 |     () => {
> 1851 |       beforeAll(async () => {
       |       ^
  1852 |         await nextBuild(appDir)
  1853 |         appPort = await findPort()
  1854 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1851:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1848:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1833:1)

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

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

  1849 |     'production mode',
  1850 |     () => {
> 1851 |       beforeAll(async () => {
       |       ^
  1852 |         await nextBuild(appDir)
  1853 |         appPort = await findPort()
  1854 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1851:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1848:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1833:1)

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

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

  1849 |     'production mode',
  1850 |     () => {
> 1851 |       beforeAll(async () => {
       |       ^
  1852 |         await nextBuild(appDir)
  1853 |         appPort = await findPort()
  1854 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1851:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1848:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1833:1)

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

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

  1849 |     'production mode',
  1850 |     () => {
> 1851 |       beforeAll(async () => {
       |       ^
  1852 |         await nextBuild(appDir)
  1853 |         appPort = await findPort()
  1854 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1851:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1848:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1833:1)

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

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

  1849 |     'production mode',
  1850 |     () => {
> 1851 |       beforeAll(async () => {
       |       ^
  1852 |         await nextBuild(appDir)
  1853 |         appPort = await findPort()
  1854 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1851:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1848:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1833:1)

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

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

  1849 |     'production mode',
  1850 |     () => {
> 1851 |       beforeAll(async () => {
       |       ^
  1852 |         await nextBuild(appDir)
  1853 |         appPort = await findPort()
  1854 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1851:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1848:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1833:1)

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

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

  1849 |     'production mode',
  1850 |     () => {
> 1851 |       beforeAll(async () => {
       |       ^
  1852 |         await nextBuild(appDir)
  1853 |         appPort = await findPort()
  1854 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1851:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1848:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1833:1)

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

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

  1849 |     'production mode',
  1850 |     () => {
> 1851 |       beforeAll(async () => {
       |       ^
  1852 |         await nextBuild(appDir)
  1853 |         appPort = await findPort()
  1854 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1851:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1848:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1833:1)

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

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

  1849 |     'production mode',
  1850 |     () => {
> 1851 |       beforeAll(async () => {
       |       ^
  1852 |         await nextBuild(appDir)
  1853 |         appPort = await findPort()
  1854 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-image-new/app-dir/test/index.test.ts:1851:7)
  at integration/next-image-new/app-dir/test/index.test.ts:1848:56
  at Object.describe (integration/next-image-new/app-dir/test/index.test.ts:1833:1)

pnpm test-start-turbo test/e2e/app-dir/segment-cache/vary-params/vary-params.test.ts (turbopack) (job)

  • segment cache - vary params > renders cached loading state instantly with runtime prefetching (DD)
  • segment cache - vary params > tracks vary params per-segment with layout/page split (runtime prefetch) (DD)
Expand output

● segment cache - vary params › renders cached loading state instantly with runtime prefetching

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

  50 |       }
  51 |
> 52 |       const result = Reflect.apply(target, thisArg, args)
     |                              ^
  53 |       return typeof result === 'function' ? wrapJestTestFn(result) : result
  54 |     },
  55 |     get(target, prop, receiver) {

  at Object.apply (lib/e2e-utils/index.ts:52:30)
  at it (e2e/app-dir/segment-cache/vary-params/vary-params.test.ts:86:3)
  at Object.describe (e2e/app-dir/segment-cache/vary-params/vary-params.test.ts:21:1)

● segment cache - vary params › tracks vary params per-segment with layout/page split (runtime prefetch)

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

  50 |       }
  51 |
> 52 |       const result = Reflect.apply(target, thisArg, args)
     |                              ^
  53 |       return typeof result === 'function' ? wrapJestTestFn(result) : result
  54 |     },
  55 |     get(target, prop, receiver) {

  at Object.apply (lib/e2e-utils/index.ts:52:30)
  at it (e2e/app-dir/segment-cache/vary-params/vary-params.test.ts:613:3)
  at Object.describe (e2e/app-dir/segment-cache/vary-params/vary-params.test.ts:21:1)

pnpm test-start test/e2e/app-dir/proxy-missing-export/proxy-missing-export.test.ts (job)

  • proxy-missing-export > should NOT error when proxy file has a default function export (DD)
  • proxy-missing-export > should NOT error when proxy file has a default arrow function export (DD)
  • proxy-missing-export > should NOT error when proxy file has a named declaration function export (DD)
  • proxy-missing-export > should NOT error when proxy file has a named declaration arrow function export (DD)
  • proxy-missing-export > should error when proxy file has a named export with different name alias (DD)
Expand output

● proxy-missing-export › should NOT error when proxy file has a default function export

next already started

  63 |   public async start(options: { skipBuild?: boolean } = {}) {
  64 |     if (this.childProcess) {
> 65 |       throw new Error('next already started')
     |             ^
  66 |     }
  67 |
  68 |     this._cliOutput = ''

  at NextStartInstance.start (lib/next-modes/next-start.ts:65:13)
  at Object.start (e2e/app-dir/proxy-missing-export/proxy-missing-export.test.ts:66:16)

● proxy-missing-export › should NOT error when proxy file has a default arrow function export

next already started

  63 |   public async start(options: { skipBuild?: boolean } = {}) {
  64 |     if (this.childProcess) {
> 65 |       throw new Error('next already started')
     |             ^
  66 |     }
  67 |
  68 |     this._cliOutput = ''

  at NextStartInstance.start (lib/next-modes/next-start.ts:65:13)
  at Object.start (e2e/app-dir/proxy-missing-export/proxy-missing-export.test.ts:77:16)

● proxy-missing-export › should NOT error when proxy file has a named declaration function export

next already started

  63 |   public async start(options: { skipBuild?: boolean } = {}) {
  64 |     if (this.childProcess) {
> 65 |       throw new Error('next already started')
     |             ^
  66 |     }
  67 |
  68 |     this._cliOutput = ''

  at NextStartInstance.start (lib/next-modes/next-start.ts:65:13)
  at Object.start (e2e/app-dir/proxy-missing-export/proxy-missing-export.test.ts:91:16)

● proxy-missing-export › should NOT error when proxy file has a named declaration arrow function export

next already started

  63 |   public async start(options: { skipBuild?: boolean } = {}) {
  64 |     if (this.childProcess) {
> 65 |       throw new Error('next already started')
     |             ^
  66 |     }
  67 |
  68 |     this._cliOutput = ''

  at NextStartInstance.start (lib/next-modes/next-start.ts:65:13)
  at Object.start (e2e/app-dir/proxy-missing-export/proxy-missing-export.test.ts:105:16)

● proxy-missing-export › should error when proxy file has a named export with different name alias

can not run export while server is running, use next.stop() first

  251 |   ) {
  252 |     if (this.childProcess) {
> 253 |       throw new Error(
      |             ^
  254 |         `can not run export while server is running, use next.stop() first`
  255 |       )
  256 |     }

  at NextStartInstance.build (lib/next-modes/next-start.ts:253:13)
  at Object.build (e2e/app-dir/proxy-missing-export/proxy-missing-export.test.ts:127:31)

@nextjs-bot
Copy link
Copy Markdown
Contributor

Stats from current PR

🔴 2 regressions

Metric Canary PR Change Trend
Cold (First Request) 1.501s 1.645s 🔴 +144ms (+10%) ▂▂▇▃▅
Webpack Cold (First Request) 1.858s 4.039s 🔴 +2.181s (+117%) ▅▂▄▄▄
📊 All Metrics
📖 Metrics Glossary

Dev Server Metrics:

  • Listen = TCP port starts accepting connections
  • First Request = HTTP server returns successful response
  • Cold = Fresh build (no cache)
  • Warm = With cached build artifacts

Build Metrics:

  • Fresh = Clean build (no .next directory)
  • Cached = With existing .next directory

Change Thresholds:

  • Time: Changes < 50ms AND < 10%, OR < 2% are insignificant
  • Size: Changes < 1KB AND < 1% are insignificant
  • All other changes are flagged to catch regressions

⚡ Dev Server

Metric Canary PR Change Trend
Cold (Listen) 968ms 965ms ▁▁█▄█
Cold (Ready in log) 953ms 966ms ▁▁█▄█
Cold (First Request) 1.501s 1.645s 🔴 +144ms (+10%) ▂▂▇▃▅
Warm (Listen) 1.014s 965ms ▁▁█▅█
Warm (Ready in log) 996ms 952ms ▁▁█▅█
Warm (First Request) 725ms 677ms ▁▁▇▃▇
📦 Dev Server (Webpack) (Legacy)

📦 Dev Server (Webpack)

Metric Canary PR Change Trend
Cold (Listen) 455ms 455ms ▁▁▁▁▁
Cold (Ready in log) 435ms 436ms ▁▂▁▁▂
Cold (First Request) 1.858s 4.039s 🔴 +2.181s (+117%) ▅▂▄▄▄
Warm (Listen) 456ms 456ms ▁▁▁▁▁
Warm (Ready in log) 436ms 436ms ▁▂▁▂▂
Warm (First Request) 1.861s 1.928s ▃▂▄▃▄

⚡ Production Builds

Metric Canary PR Change Trend
Fresh Build 6.668s 6.956s ▁▁▇▃▆
Cached Build 6.673s 6.682s ▁▁▇▃▆
📦 Production Builds (Webpack) (Legacy)

📦 Production Builds (Webpack)

Metric Canary PR Change Trend
Fresh Build 14.257s 14.288s ▁▃▁▁▂
Cached Build 14.447s 14.500s ▁▃▁▂▂
node_modules Size 484 MB 484 MB ▁▁▁▁▁
📦 Bundle Sizes

Bundle Sizes

⚡ Turbopack

Client

Main Bundles
Canary PR Change
0_7q5cgud.qal.js gzip 167 B N/A -
0.e6mae3n0hg3.js gzip 70.8 kB N/A -
0~lwfcrlb4v_9.css gzip 115 B 115 B
00h0nz7r436~l.js gzip 13.3 kB N/A -
022us4but12aa.js gzip 13 kB N/A -
02ku7edzc_wf7.js gzip 450 B N/A -
03~yq9q893hmn.js gzip 39.4 kB 39.4 kB
05o46y7aix73~.js gzip 159 B N/A -
07wzelge5~ast.js gzip 163 B N/A -
092lcb3fqrrf9.js gzip 8.52 kB N/A -
0aj~xs1l1g8tg.js gzip 8.53 kB N/A -
0eeoc5f.l5k87.js gzip 157 B N/A -
0f.kzw8uz~8qt.js gzip 155 B N/A -
0h35gmp9u328z.js gzip 8.54 kB N/A -
0h6fkavebp.iz.js gzip 8.47 kB N/A -
0ino_yf1k3h6k.js gzip 10.4 kB N/A -
0jdpcykw.hmg9.js gzip 154 B N/A -
0ll.6.~~1_6fh.js gzip 154 B N/A -
0m4k4mj9p4j0_.js gzip 48.9 kB N/A -
0mc16gv2x1bet.js gzip 13.7 kB N/A -
0mebkhb.mgdh..js gzip 158 B N/A -
0mncpry_rfn-y.js gzip 7.61 kB N/A -
0moy~uao4dl.m.js gzip 9.19 kB N/A -
0q50rtpusjy90.js gzip 2.28 kB N/A -
0smgy2grrrlka.js gzip 8.58 kB N/A -
0t1dzhdfh0txh.js gzip 215 B 215 B
0vt7pofxnk8in.js gzip 10.1 kB N/A -
0ww~xsl0glch4.js gzip 65.7 kB N/A -
0x80ctianumz2.js gzip 154 B N/A -
0yf4dx3qxmex2.js gzip 158 B N/A -
0zid7o0-vupvp.js gzip 225 B N/A -
11yo3xfd6b147.js gzip 12.9 kB N/A -
12dkm.1hj6u6l.js gzip 161 B N/A -
12m.vq3n88b98.js gzip 157 B N/A -
13.84hqxl_1p7.js gzip 9.76 kB N/A -
14pe9irskp8.js gzip 159 B N/A -
1554wr-t7p6z-.js gzip 8.55 kB N/A -
15tjst79~qy3_.js gzip 1.46 kB N/A -
15z_v00ne4ud0.js gzip 8.47 kB N/A -
17d_m3p4j9w6r.js gzip 5.62 kB N/A -
17yu~3yiu7d2m.js gzip 8.52 kB N/A -
turbopack-0_..dqeg.js gzip 4.16 kB N/A -
turbopack-0-..qtvh.js gzip 4.16 kB N/A -
turbopack-0~..554q.js gzip 4.16 kB N/A -
turbopack-0~..4wo5.js gzip 4.13 kB N/A -
turbopack-02..72c-.js gzip 4.16 kB N/A -
turbopack-04..scdx.js gzip 4.16 kB N/A -
turbopack-07..x-_1.js gzip 4.16 kB N/A -
turbopack-0b..sql_.js gzip 4.16 kB N/A -
turbopack-0f..p2ab.js gzip 4.16 kB N/A -
turbopack-0h..xt~d.js gzip 4.16 kB N/A -
turbopack-0l..xzgb.js gzip 4.16 kB N/A -
turbopack-12..-lzm.js gzip 4.16 kB N/A -
turbopack-13..pbh3.js gzip 4.16 kB N/A -
turbopack-14..4kmx.js gzip 4.17 kB N/A -
0-sytki_8fnr4.js gzip N/A 13 kB -
0.~bsrow.l9wl.js gzip N/A 156 B -
033p~jjmjyiw7.js gzip N/A 155 B -
03t__~.5lvgeu.js gzip N/A 5.62 kB -
04d6ll75jqx3r.js gzip N/A 9.19 kB -
0583exyh-yhc7.js gzip N/A 9.76 kB -
072lv63r8dcz~.js gzip N/A 8.58 kB -
075t9dxgbf0m8.js gzip N/A 13.7 kB -
08ge-jsspw089.js gzip N/A 168 B -
0ar1~bwpezfgw.js gzip N/A 13.3 kB -
0b1h8c5y05o.k.js gzip N/A 154 B -
0c99mq1ez2bke.js gzip N/A 450 B -
0ckk3xw_ht0d4.js gzip N/A 154 B -
0cq-cmde_ws6u.js gzip N/A 8.47 kB -
0dkl433-s3t3v.js gzip N/A 48.8 kB -
0ek4dse2t6qlo.js gzip N/A 162 B -
0fwf102w10o9~.js gzip N/A 8.52 kB -
0gtmn.q_j1v5r.js gzip N/A 10.4 kB -
0h5~v-tahitcf.js gzip N/A 10.1 kB -
0io9b6fsj3fro.js gzip N/A 65.7 kB -
0k8zeh21ifw.js gzip N/A 157 B -
0m8yz2-y.owhu.js gzip N/A 7.6 kB -
0nclq9z6yzzm5.js gzip N/A 1.46 kB -
0nzumcogektg7.js gzip N/A 8.55 kB -
0pu2e9a1ma0m~.js gzip N/A 156 B -
0qbvhs541o9wt.js gzip N/A 151 B -
0s_itockwswek.js gzip N/A 70.8 kB -
0s.c-cn5eebrx.js gzip N/A 8.47 kB -
0tjy7illf.vj5.js gzip N/A 154 B -
0tna7lg6q4zne.js gzip N/A 12.9 kB -
0votdfxr5fb5u.js gzip N/A 2.28 kB -
0ykl9bs_qj.5..js gzip N/A 8.52 kB -
0ynnl4ltz_mnk.js gzip N/A 156 B -
0zfen0tnxp4gh.js gzip N/A 8.55 kB -
10wkq1h9jzkg..js gzip N/A 225 B -
11n3kdafldvfo.js gzip N/A 154 B -
149ndfh8zfcaz.js gzip N/A 8.53 kB -
173ljcmbu5zdz.js gzip N/A 159 B -
turbopack-0_..w_pg.js gzip N/A 4.16 kB -
turbopack-0_..cnuk.js gzip N/A 4.16 kB -
turbopack-0~..gb4e.js gzip N/A 4.16 kB -
turbopack-05.._2xk.js gzip N/A 4.16 kB -
turbopack-08..anfs.js gzip N/A 4.14 kB -
turbopack-0b..v26w.js gzip N/A 4.16 kB -
turbopack-0q..5i9q.js gzip N/A 4.16 kB -
turbopack-0u..68lq.js gzip N/A 4.16 kB -
turbopack-0z..qjdp.js gzip N/A 4.16 kB -
turbopack-14..n2em.js gzip N/A 4.16 kB -
turbopack-16..9dtn.js gzip N/A 4.17 kB -
turbopack-16..av85.js gzip N/A 4.15 kB -
turbopack-17..xb5..js gzip N/A 4.16 kB -
turbopack-17..72gq.js gzip N/A 4.16 kB -
Total 463 kB 463 kB ✅ -42 B

Server

Middleware
Canary PR Change
middleware-b..fest.js gzip 712 B 711 B
Total 712 B 711 B ✅ -1 B
Build Details
Build Manifests
Canary PR Change
_buildManifest.js gzip 430 B 431 B
Total 430 B 431 B ⚠️ +1 B

📦 Webpack

Client

Main Bundles
Canary PR Change
5528-HASH.js gzip 5.54 kB N/A -
6280-HASH.js gzip 60.6 kB N/A -
6335.HASH.js gzip 169 B N/A -
912-HASH.js gzip 4.59 kB N/A -
e8aec2e4-HASH.js gzip 62.7 kB N/A -
framework-HASH.js gzip 59.7 kB 59.7 kB
main-app-HASH.js gzip 255 B 253 B
main-HASH.js gzip 39.3 kB 39.2 kB
webpack-HASH.js gzip 1.68 kB 1.68 kB
262-HASH.js gzip N/A 4.59 kB -
2889.HASH.js gzip N/A 169 B -
5602-HASH.js gzip N/A 5.55 kB -
6948ada0-HASH.js gzip N/A 62.7 kB -
9544-HASH.js gzip N/A 61.3 kB -
Total 235 kB 235 kB ⚠️ +673 B
Polyfills
Canary PR Change
polyfills-HASH.js gzip 39.4 kB 39.4 kB
Total 39.4 kB 39.4 kB
Pages
Canary PR Change
_app-HASH.js gzip 194 B 194 B
_error-HASH.js gzip 183 B 180 B 🟢 3 B (-2%)
css-HASH.js gzip 331 B 330 B
dynamic-HASH.js gzip 1.81 kB 1.81 kB
edge-ssr-HASH.js gzip 256 B 256 B
head-HASH.js gzip 351 B 352 B
hooks-HASH.js gzip 384 B 383 B
image-HASH.js gzip 580 B 581 B
index-HASH.js gzip 260 B 260 B
link-HASH.js gzip 2.51 kB 2.51 kB
routerDirect..HASH.js gzip 320 B 319 B
script-HASH.js gzip 386 B 386 B
withRouter-HASH.js gzip 315 B 315 B
1afbb74e6ecf..834.css gzip 106 B 106 B
Total 7.98 kB 7.98 kB ✅ -1 B

Server

Edge SSR
Canary PR Change
edge-ssr.js gzip 125 kB 125 kB
page.js gzip 270 kB 270 kB
Total 395 kB 395 kB ⚠️ +453 B
Middleware
Canary PR Change
middleware-b..fest.js gzip 619 B 615 B
middleware-r..fest.js gzip 156 B 155 B
middleware.js gzip 44.1 kB 43.9 kB
edge-runtime..pack.js gzip 842 B 842 B
Total 45.7 kB 45.5 kB ✅ -221 B
Build Details
Build Manifests
Canary PR Change
_buildManifest.js gzip 715 B 718 B
Total 715 B 718 B ⚠️ +3 B
Build Cache
Canary PR Change
0.pack gzip 4.34 MB 4.33 MB 🟢 6.2 kB (0%)
index.pack gzip 109 kB 110 kB
index.pack.old gzip 110 kB 111 kB 🔴 +1.61 kB (+1%)
Total 4.56 MB 4.55 MB ✅ -3.68 kB

🔄 Shared (bundler-independent)

Runtimes
Canary PR Change
app-page-exp...dev.js gzip 334 kB 334 kB
app-page-exp..prod.js gzip 182 kB 182 kB
app-page-tur...dev.js gzip 334 kB 334 kB
app-page-tur..prod.js gzip 181 kB 181 kB
app-page-tur...dev.js gzip 330 kB 330 kB
app-page-tur..prod.js gzip 180 kB 180 kB
app-page.run...dev.js gzip 331 kB 331 kB
app-page.run..prod.js gzip 180 kB 180 kB
app-route-ex...dev.js gzip 76.2 kB 76.2 kB
app-route-ex..prod.js gzip 51.9 kB 51.9 kB
app-route-tu...dev.js gzip 76.3 kB 76.3 kB
app-route-tu..prod.js gzip 51.9 kB 51.9 kB
app-route-tu...dev.js gzip 75.9 kB 75.9 kB
app-route-tu..prod.js gzip 51.6 kB 51.6 kB
app-route.ru...dev.js gzip 75.8 kB 75.8 kB
app-route.ru..prod.js gzip 51.6 kB 51.6 kB
dist_client_...dev.js gzip 324 B 324 B
dist_client_...dev.js gzip 326 B 326 B
dist_client_...dev.js gzip 318 B 318 B
dist_client_...dev.js gzip 317 B 317 B
pages-api-tu...dev.js gzip 43.5 kB 43.5 kB
pages-api-tu..prod.js gzip 33.1 kB 33.1 kB
pages-api.ru...dev.js gzip 43.4 kB 43.4 kB
pages-api.ru..prod.js gzip 33.1 kB 33.1 kB
pages-turbo....dev.js gzip 52.9 kB 52.9 kB
pages-turbo...prod.js gzip 38.7 kB 38.7 kB
pages.runtim...dev.js gzip 52.8 kB 52.8 kB
pages.runtim..prod.js gzip 38.7 kB 38.7 kB
server.runti..prod.js gzip 62.5 kB 62.5 kB
Total 2.96 MB 2.96 MB
📎 Tarball URL
https://vercel-packages.vercel.app/next/commits/2fce900c9266af3f9c161da905d183e5f61359ca/next

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants