vercel / next.js

The React Framework
https://nextjs.org
MIT License
121.29k stars 25.95k forks source link

Apply react 19 stack and diff #65276

Closed huozhi closed 2 weeks ago

huozhi commented 2 weeks ago

What

Apply react 19 built-in hydration diff to hydration error diff view

Screenshot After ![image](https://github.com/vercel/next.js/assets/4800338/fa0d99c0-94a9-4298-b74c-c5168dfa62f8)
Screenshot Before ![image](https://github.com/vercel/next.js/assets/4800338/ad105445-f7d2-4363-b1c5-2932c302754c)
Code Sample ```js 'use client' function handleClick() { console.log('click') } export default function Page() { return (
{typeof window === 'undefined' ? 'server-text' :

client-text

}
) } ```

Closes NEXT-3281 Closes NEXT-2999

ijjk commented 2 weeks ago

Failing test suites

Commit: 94855227d5d24e8ebf34a71bee8e394d43c07dfd

TURBOPACK=1 pnpm test test/integration/auto-export/test/index.test.js (turbopack)

Expand output ● Auto Export › dev › should include error link when hydration error does occur expect(received).toEqual(expected) // deep equality Expected: ArrayContaining [{"message": StringContaining "See more info here: https://nextjs.org/docs/messages/react-hydration-error"}] Received: [{"message": "%cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools font-weight:bold", "source": "info"}, {"message": "[HMR] connected", "source": "log"}, {"message": "[Fast Refresh] rebuilding", "source": "log"}, {"message": "connected to ws at ws://localhost:45071/_next/webpack-hmr", "source": "log"}, {"message": "Next.js page already hydrated", "source": "log"}, {"message": "received ws message {\"action\":\"turbopack-connected\"}", "source": "log"}, {"message": "received ws message {\"action\":\"sync\",\"errors\":[],\"warnings\":[],\"hash\":\"\",\"versionInfo\":{\"staleness\":\"fresh\",\"installed\":\"14.3.0-canary.36\"}}", "source": "log"}, {"message": "received ws message {\"action\":\"building\"}", "source": "log"}, {"message": "[Fast Refresh] rebuilding", "source": "log"}, {"message": "received ws message {\"action\":\"built\",\"hash\":\"7\",\"errors\":[],\"warnings\":[]}", "source": "log"}, …] 94 | const browser = await webdriver(appPort, '/post-1/hydrate-error') 95 | const logs = await browser.log() > 96 | expect(logs).toEqual( | ^ 97 | expect.arrayContaining([ 98 | { 99 | message: expect.stringContaining( at Object.toEqual (integration/auto-export/test/index.test.js:96:20)

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

pnpm test-dev test/development/acceptance/hydration-error.test.ts

Expand output ● Error overlay for hydration errors › should show correct hydration error when client and server render different text expect(received).toMatchInlineSnapshot(snapshot) Snapshot name: `Error overlay for hydration errors should show correct hydration error when client and server render different text 1` - Snapshot - 0 + Received + 0 "Text content did not match. Server: "server" Client: "client"" 61 | `) 62 | } else { > 63 | expect(await session.getRedboxDescription()).toMatchInlineSnapshot(` | ^ 64 | "Text content did not match. Server: "server" Client: "client"" 65 | `) 66 | } at Object.toMatchInlineSnapshot (development/acceptance/hydration-error.test.ts:63:52)

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

TURBOPACK=1 pnpm test-start test/production/eslint-plugin-deps/index.test.ts (turbopack)

Expand output ● eslint plugin deps › should work Command failed with exit code 1 (EPERM): pnpm install --strict-peer-dependencies=false --no-frozen-lockfile --config.cacheDir=/tmp 24 | } 25 | > 26 | await execa('pnpm', args, { | ^ 27 | cwd, 28 | stdio: ['ignore', 'inherit', 'inherit'], 29 | env: process.env, at makeError (../node_modules/.pnpm/execa@2.0.3/node_modules/execa/lib/error.js:58:11) at handlePromise (../node_modules/.pnpm/execa@2.0.3/node_modules/execa/index.js:112:26) at installDependencies (lib/create-next-install.js:26:3) at Span.traceAsyncFn (../packages/next/src/trace/trace.ts:147:14) at lib/create-next-install.js:157:9 at Span.traceAsyncFn (../packages/next/src/trace/trace.ts:147:14) at createNextInstall (lib/create-next-install.js:44:10) at lib/next-modes/base.ts:214:36 at Span.traceAsyncFn (../packages/next/src/trace/trace.ts:147:14) at NextStartInstance.createTestDir (lib/next-modes/base.ts:147:5) at NextStartInstance.setup (lib/next-modes/next-start.ts:22:5) at lib/e2e-utils.ts:201:7 at Span.traceAsyncFn (../packages/next/src/trace/trace.ts:147:14) at createNext (lib/e2e-utils.ts:166:12) at Object. (production/eslint-plugin-deps/index.test.ts:9:12) ● Test suite failed to run TypeError: Cannot read properties of undefined (reading 'destroy') 109 | }) 110 | }) > 111 | afterAll(() => next.destroy()) | ^ 112 | 113 | it('should work', async () => { 114 | const html = await renderViaHTTP(next.url, '/') at Object.destroy (production/eslint-plugin-deps/index.test.ts:111:23)

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

pnpm test-start test/e2e/app-dir/actions-allowed-origins/app-action-allowed-origins.test.ts

Expand output ● app-dir action allowed origins › should pass if localhost is set as a safe origin thrown: "Exceeded timeout of 120000 ms for a hook. Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout." 252 | let next: NextInstance | undefined 253 | if (!skipped) { > 254 | beforeAll(async () => { | ^ 255 | next = await createNext(options) 256 | }) 257 | afterAll(async () => { at beforeAll (lib/e2e-utils.ts:254:5) at e2e/app-dir/actions-allowed-origins/app-action-allowed-origins.test.ts:6:42 at Object.describe (e2e/app-dir/actions-allowed-origins/app-action-allowed-origins.test.ts:5:1) ● Test suite failed to run thrown: "Exceeded timeout of 120000 ms for a hook. Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout." 131 | 132 | if (typeof afterAll === 'function') { > 133 | afterAll(async () => { | ^ 134 | if (nextInstance) { 135 | await nextInstance.destroy() 136 | throw new Error( at Object.afterAll (lib/e2e-utils.ts:133:3) at Object. (e2e/app-dir/actions-allowed-origins/app-action-allowed-origins.test.ts:5:19)

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

TURBOPACK=1 pnpm test-dev test/development/acceptance-app/hydration-error.test.ts (turbopack)

Expand output ● Error overlay for hydration errors › should show correct hydration error when client and server render different text expect(received).toMatchInlineSnapshot(snapshot) Snapshot name: `Error overlay for hydration errors should show correct hydration error when client and server render different text 3` - Snapshot - 8 + Received + 2 ... - - - - -
-
- "server" - "client" + + client + - server 59 | 60 | if (isTurbopack) { > 61 | expect(pseudoHtml).toMatchInlineSnapshot(` | ^ 62 | "... 63 | 64 | at Object.toMatchInlineSnapshot (development/acceptance-app/hydration-error.test.ts:61:26) ● Error overlay for hydration errors › should show correct hydration error when client renders an extra element expect(received).toMatchInlineSnapshot(snapshot) Snapshot name: `Error overlay for hydration errors should show correct hydration error when client renders an extra element 1` - Snapshot - 5 + Received + 1 "... - -
- ^^^^^ -
- ^^^^^^" + +
" 126 | const pseudoHtml = await session.getRedboxComponentStack() 127 | if (isTurbopack) { > 128 | expect(pseudoHtml).toMatchInlineSnapshot(` | ^ 129 | "... 130 | 131 |
at Object.toMatchInlineSnapshot (development/acceptance-app/hydration-error.test.ts:128:26) ● Error overlay for hydration errors › should show correct hydration error when server renders an extra text node expect(received).toMatchInlineSnapshot(snapshot) Snapshot name: `Error overlay for hydration errors should show correct hydration error when server renders an extra text node 2` - Snapshot - 8 + Received + 1 ... - - - - - -
-
- "only" + - only 241 | 242 | if (isTurbopack) { > 243 | expect(pseudoHtml).toMatchInlineSnapshot(` | ^ 244 | "... 245 | 246 | at Object.toMatchInlineSnapshot (development/acceptance-app/hydration-error.test.ts:243:26) ● Error overlay for hydration errors › should collapse and uncollapse properly when there are many frames expect(received).toMatchInlineSnapshot(snapshot) Snapshot name: `Error overlay for hydration errors should collapse and uncollapse properly when there are many frames 1` - Snapshot - 9 + Received + 2 ... -
-
-
-
- -

- - + client - - server + + client + - server 595 | 596 | const pseudoHtml = await session.getRedboxComponentStack() > 597 | expect(pseudoHtml).toMatchInlineSnapshot(` | ^ 598 | "... 599 |

600 |
at Object.toMatchInlineSnapshot (development/acceptance-app/hydration-error.test.ts:597:24) ● Error overlay for hydration errors › should collapse and uncollapse properly when there are many frames expect(received).toMatchInlineSnapshot(snapshot) Snapshot name: `Error overlay for hydration errors should collapse and uncollapse properly when there are many frames 2` - Snapshot - 37 + Received + 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
- -

- - "server" - "client" + ... + + client + - server 612 | const fullPseudoHtml = await session.getRedboxComponentStack() 613 | if (isTurbopack) { > 614 | expect(fullPseudoHtml).toMatchInlineSnapshot(` | ^ 615 | " 616 | 617 | at Object.toMatchInlineSnapshot (development/acceptance-app/hydration-error.test.ts:614:30)

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

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

Expand output ● app dir - basic › known bugs › should support React cache › client component expect(received).resolves.toEqual(expected) // deep equality Expected: "Hydration failed because the server rendered HTML didn't match the client." Received: null 1433 | expect(val1).not.toBe(val2) 1434 | if (isDev) { > 1435 | await expect(getRedboxDescriptionWarning(browser)).resolves.toEqual( | ^ 1436 | "Hydration failed because the server rendered HTML didn't match the client." 1437 | ) 1438 | } at Object.toEqual (../node_modules/.pnpm/expect@29.7.0/node_modules/expect/build/index.js:174:22) at Object.toEqual (e2e/app-dir/app/index.test.ts:1435:71) ● app dir - basic › known bugs › should support React cache › client component client-navigation expect(received).resolves.toEqual(expected) // deep equality Expected: "Hydration failed because the server rendered HTML didn't match the client." Received: null 1451 | expect(val1).not.toBe(val2) 1452 | if (isDev) { > 1453 | await expect(getRedboxDescriptionWarning(browser)).resolves.toEqual( | ^ 1454 | "Hydration failed because the server rendered HTML didn't match the client." 1455 | ) 1456 | } at Object.toEqual (../node_modules/.pnpm/expect@29.7.0/node_modules/expect/build/index.js:174:22) at Object.toEqual (e2e/app-dir/app/index.test.ts:1453:71)

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

ijjk commented 2 weeks ago

Stats from current PR

Default Build (Increase detected ⚠️)
General | | vercel/next.js canary | vercel/next.js huozhi/react-19-hydration-diff | Change | | - | - | - | - | | buildDuration | 19.2s | 17.8s | N/A | | buildDurationCached | 9.9s | 8.6s | N/A | | nodeModulesSize | 369 MB | 345 MB | N/A | | nextStartRea..uration (ms) | 477ms | 475ms | N/A |
Client Bundles (main, webpack) Overall increase ⚠️ | | vercel/next.js canary | vercel/next.js huozhi/react-19-hydration-diff | Change | | - | - | - | - | | 2262-HASH.js gzip | 5.06 kB | 5.05 kB | N/A | | 7522.HASH.js gzip | 169 B | 169 B | ✓ | | 8bfde070-HASH.js gzip | 53.5 kB | N/A | N/A | | 9921-HASH.js gzip | 31.9 kB | 33.6 kB | ⚠️ +1.66 kB | | framework-HASH.js gzip | 55.8 kB | 55.8 kB | N/A | | main-app-HASH.js gzip | 228 B | 229 B | N/A | | main-HASH.js gzip | 32.3 kB | 32.3 kB | N/A | | webpack-HASH.js gzip | 1.71 kB | 1.7 kB | N/A | | f4e28338-HASH.js gzip | N/A | 50.8 kB | N/A | | Overall change | 32.1 kB | 33.7 kB | ⚠️ +1.66 kB |
Legacy Client Bundles (polyfills) | | vercel/next.js canary | vercel/next.js huozhi/react-19-hydration-diff | Change | | - | - | - | - | | polyfills-HASH.js gzip | 31 kB | 31 kB | ✓ | | Overall change | 31 kB | 31 kB | ✓ |
Client Pages | | vercel/next.js canary | vercel/next.js huozhi/react-19-hydration-diff | Change | | - | - | - | - | | _app-HASH.js gzip | 191 B | 193 B | N/A | | _error-HASH.js gzip | 192 B | 192 B | ✓ | | amp-HASH.js gzip | 510 B | 511 B | N/A | | css-HASH.js gzip | 341 B | 342 B | N/A | | dynamic-HASH.js gzip | 2.52 kB | 2.52 kB | N/A | | edge-ssr-HASH.js gzip | 266 B | 265 B | N/A | | head-HASH.js gzip | 365 B | 365 B | ✓ | | hooks-HASH.js gzip | 392 B | 392 B | ✓ | | image-HASH.js gzip | 4.27 kB | 4.27 kB | N/A | | index-HASH.js gzip | 268 B | 268 B | ✓ | | link-HASH.js gzip | 2.69 kB | 2.69 kB | N/A | | routerDirect..HASH.js gzip | 327 B | 329 B | N/A | | script-HASH.js gzip | 392 B | 396 B | N/A | | withRouter-HASH.js gzip | 324 B | 324 B | ✓ | | 1afbb74e6ecf..834.css gzip | 106 B | 106 B | ✓ | | Overall change | 1.65 kB | 1.65 kB | ✓ |
Client Build Manifests | | vercel/next.js canary | vercel/next.js huozhi/react-19-hydration-diff | Change | | - | - | - | - | | _buildManifest.js gzip | 483 B | 485 B | N/A | | Overall change | 0 B | 0 B | ✓ |
Rendered Page Sizes | | vercel/next.js canary | vercel/next.js huozhi/react-19-hydration-diff | Change | | - | - | - | - | | index.html gzip | 527 B | 529 B | N/A | | link.html gzip | 541 B | 542 B | N/A | | withRouter.html gzip | 521 B | 525 B | N/A | | Overall change | 0 B | 0 B | ✓ |
Edge SSR bundle Size | | vercel/next.js canary | vercel/next.js huozhi/react-19-hydration-diff | Change | | - | - | - | - | | edge-ssr.js gzip | 120 kB | 120 kB | N/A | | page.js gzip | 182 kB | 179 kB | N/A | | Overall change | 0 B | 0 B | ✓ |
Middleware size | | vercel/next.js canary | vercel/next.js huozhi/react-19-hydration-diff | Change | | - | - | - | - | | middleware-b..fest.js gzip | 625 B | 624 B | N/A | | middleware-r..fest.js gzip | 156 B | 156 B | ✓ | | middleware.js gzip | 25.7 kB | 25.7 kB | N/A | | edge-runtime..pack.js gzip | 839 B | 839 B | ✓ | | Overall change | 995 B | 995 B | ✓ |
Next Runtimes Overall increase ⚠️ | | vercel/next.js canary | vercel/next.js huozhi/react-19-hydration-diff | Change | | - | - | - | - | | app-page-exp...dev.js gzip | 171 kB | 174 kB | ⚠️ +2.59 kB | | app-page-exp..prod.js gzip | 98.7 kB | 106 kB | ⚠️ +7.38 kB | | app-page-tur..prod.js gzip | 100 kB | 115 kB | ⚠️ +14.9 kB | | app-page-tur..prod.js gzip | 94.5 kB | 94.8 kB | ⚠️ +292 B | | app-page.run...dev.js gzip | 157 kB | 160 kB | ⚠️ +2.72 kB | | app-page.run..prod.js gzip | 93.2 kB | 93.5 kB | ⚠️ +210 B | | app-route-ex...dev.js gzip | 21.5 kB | 20.9 kB | N/A | | app-route-ex..prod.js gzip | 15.2 kB | 14.9 kB | N/A | | app-route-tu..prod.js gzip | 15.2 kB | 14.9 kB | N/A | | app-route-tu..prod.js gzip | 15 kB | 14.8 kB | N/A | | app-route.ru...dev.js gzip | 21.3 kB | 20.7 kB | N/A | | app-route.ru..prod.js gzip | 15 kB | 14.7 kB | N/A | | pages-api-tu..prod.js gzip | 9.55 kB | 9.55 kB | ✓ | | pages-api.ru...dev.js gzip | 9.82 kB | 9.82 kB | ✓ | | pages-api.ru..prod.js gzip | 9.55 kB | 9.55 kB | ✓ | | pages-turbo...prod.js gzip | 21.5 kB | 21.4 kB | N/A | | pages.runtim...dev.js gzip | 22.1 kB | 22 kB | N/A | | pages.runtim..prod.js gzip | 21.5 kB | 21.4 kB | N/A | | server.runti..prod.js gzip | 51.6 kB | 51.6 kB | N/A | | Overall change | 744 kB | 772 kB | ⚠️ +28.1 kB |
build cache | | vercel/next.js canary | vercel/next.js huozhi/react-19-hydration-diff | Change | | - | - | - | - | | 0.pack gzip | 1.63 MB | 1.63 MB | N/A | | index.pack gzip | 118 kB | 117 kB | N/A | | Overall change | 0 B | 0 B | ✓ |
Diff details
Diff for page.js ```diff @@ -15,7 +15,7 @@ /***/ }, - /***/ 46: /***/ ( + /***/ 6748: /***/ ( __unused_webpack_module, __webpack_exports__, __webpack_require__ @@ -30,7 +30,7 @@ default: () => /* binding */ nHandler, }); - // NAMESPACE OBJECT: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fapp-edge-ssr%2Fpage&page=%2Fapp-edge-ssr%2Fpage&pagePath=private-next-app-dir%2Fapp-edge-ssr%2Fpage.js&appDir=%2Ftmp%2Fnext-statsZmNwZ7%2Fstats-app%2Fapp&appPaths=%2Fapp-edge-ssr%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!./app/app-edge-ssr/page.js?__next_edge_ssr_entry__ + // NAMESPACE OBJECT: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fapp-edge-ssr%2Fpage&page=%2Fapp-edge-ssr%2Fpage&pagePath=private-next-app-dir%2Fapp-edge-ssr%2Fpage.js&appDir=%2Ftmp%2Fnext-statsZmNwZ7%2Fstats-app%2Fapp&appPaths=%2Fapp-edge-ssr%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!./app/app-edge-ssr/page.js?__next_edge_ssr_entry__ var page_next_edge_ssr_entry_namespaceObject = {}; __webpack_require__.r(page_next_edge_ssr_entry_namespaceObject); __webpack_require__.d(page_next_edge_ssr_entry_namespaceObject, { @@ -68,24 +68,24 @@ tree: () => tree, }); - // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/esm/server/web/globals.js - var globals = __webpack_require__(9358); - // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/esm/server/web/adapter.js + 3 modules - var adapter = __webpack_require__(5874); - // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/esm/build/webpack/loaders/next-edge-ssr-loader/render.js + 86 modules - var render = __webpack_require__(9387); - // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/esm/server/lib/incremental-cache/index.js + 3 modules - var incremental_cache = __webpack_require__(5260); - // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/esm/server/app-render/app-render.js + 52 modules - var app_render = __webpack_require__(1052); - // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/esm/server/future/route-modules/app-page/module.compiled.js - var module_compiled = __webpack_require__(5209); - // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/esm/server/future/route-kind.js - var route_kind = __webpack_require__(8378); - // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/esm/client/components/error-boundary.js - var error_boundary = __webpack_require__(1295); - // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/esm/server/app-render/entry-base.js + 9 modules - var entry_base = __webpack_require__(6173); // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fapp-edge-ssr%2Fpage&page=%2Fapp-edge-ssr%2Fpage&pagePath=private-next-app-dir%2Fapp-edge-ssr%2Fpage.js&appDir=%2Ftmp%2Fnext-statsZmNwZ7%2Fstats-app%2Fapp&appPaths=%2Fapp-edge-ssr%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!./app/app-edge-ssr/page.js?__next_edge_ssr_entry__ + // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/esm/server/web/globals.js + var globals = __webpack_require__(2780); + // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/esm/server/web/adapter.js + 3 modules + var adapter = __webpack_require__(8175); + // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/esm/build/webpack/loaders/next-edge-ssr-loader/render.js + 86 modules + var render = __webpack_require__(2122); + // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/esm/server/lib/incremental-cache/index.js + 3 modules + var incremental_cache = __webpack_require__(9203); + // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/esm/server/app-render/app-render.js + 52 modules + var app_render = __webpack_require__(69); + // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/esm/server/future/route-modules/app-page/module.compiled.js + var module_compiled = __webpack_require__(7075); + // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/esm/server/future/route-kind.js + var route_kind = __webpack_require__(726); + // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/esm/client/components/error-boundary.js + var error_boundary = __webpack_require__(8977); + // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/esm/server/app-render/entry-base.js + 9 modules + var entry_base = __webpack_require__(8444); // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fapp-edge-ssr%2Fpage&page=%2Fapp-edge-ssr%2Fpage&pagePath=private-next-app-dir%2Fapp-edge-ssr%2Fpage.js&appDir=%2Ftmp%2Fnext-statsZmNwZ7%2Fstats-app%2Fapp&appPaths=%2Fapp-edge-ssr%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!./app/app-edge-ssr/page.js?__next_edge_ssr_entry__ ("TURBOPACK { transition: next-ssr }"); // We inject the tree and pages here so that we can use them in the route @@ -104,7 +104,7 @@ page: [ () => Promise.resolve(/* import() eager */).then( - __webpack_require__.bind(__webpack_require__, 1286) + __webpack_require__.bind(__webpack_require__, 1803) ), "/tmp/next-statsZmNwZ7/stats-app/app/app-edge-ssr/page.js", ], @@ -118,14 +118,14 @@ layout: [ () => Promise.resolve(/* import() eager */).then( - __webpack_require__.bind(__webpack_require__, 6447) + __webpack_require__.bind(__webpack_require__, 4741) ), "/tmp/next-statsZmNwZ7/stats-app/app/layout.js", ], "not-found": [ () => Promise.resolve(/* import() eager */).then( - __webpack_require__.bind(__webpack_require__, 9641) + __webpack_require__.bind(__webpack_require__, 8270) ), "next/dist/client/components/not-found-error", ], @@ -161,12 +161,12 @@ }); //# sourceMappingURL=app-page.js.map - // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/esm/lib/page-types.js - var page_types = __webpack_require__(3470); - // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/esm/server/app-render/encryption-utils.js - var encryption_utils = __webpack_require__(904); - // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/esm/server/app-render/action-utils.js - var action_utils = __webpack_require__(8961); // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/build/webpack/loaders/next-edge-ssr-loader/index.js?{"absolute500Path":"","absoluteAppPath":"next/dist/pages/_app","absoluteDocumentPath":"next/dist/pages/_document","absoluteErrorPath":"next/dist/pages/_error","absolutePagePath":"private-next-app-dir/app-edge-ssr/page.js","buildId":"BUILD_ID","dev":false,"isServerComponent":true,"page":"/app-edge-ssr/page","stringifiedConfig":"eyJlbnYiOnt9LCJlc2xpbnQiOnsiaWdub3JlRHVyaW5nQnVpbGRzIjpmYWxzZX0sInR5cGVzY3JpcHQiOnsiaWdub3JlQnVpbGRFcnJvcnMiOmZhbHNlLCJ0c2NvbmZpZ1BhdGgiOiJ0c2NvbmZpZy5qc29uIn0sImRpc3REaXIiOiIubmV4dCIsImNsZWFuRGlzdERpciI6dHJ1ZSwiYXNzZXRQcmVmaXgiOiIiLCJjYWNoZU1heE1lbW9yeVNpemUiOjUyNDI4ODAwLCJjb25maWdPcmlnaW4iOiJuZXh0LmNvbmZpZy5qcyIsInVzZUZpbGVTeXN0ZW1QdWJsaWNSb3V0ZXMiOnRydWUsImdlbmVyYXRlRXRhZ3MiOnRydWUsInBhZ2VFeHRlbnNpb25zIjpbInRzeCIsInRzIiwianN4IiwianMiXSwicG93ZXJlZEJ5SGVhZGVyIjp0cnVlLCJjb21wcmVzcyI6dHJ1ZSwiaW1hZ2VzIjp7ImRldmljZVNpemVzIjpbNjQwLDc1MCw4MjgsMTA4MCwxMjAwLDE5MjAsMjA0OCwzODQwXSwiaW1hZ2VTaXplcyI6WzE2LDMyLDQ4LDY0LDk2LDEyOCwyNTYsMzg0XSwicGF0aCI6Ii9fbmV4dC9pbWFnZSIsImxvYWRlciI6ImRlZmF1bHQiLCJsb2FkZXJGaWxlIjoiIiwiZG9tYWlucyI6W10sImRpc2FibGVTdGF0aWNJbWFnZXMiOmZhbHNlLCJtaW5pbXVtQ2FjaGVUVEwiOjYwLCJmb3JtYXRzIjpbImltYWdlL3dlYnAiXSwiZGFuZ2Vyb3VzbHlBbGxvd1NWRyI6ZmFsc2UsImNvbnRlbnRTZWN1cml0eVBvbGljeSI6InNjcmlwdC1zcmMgJ25vbmUnOyBmcmFtZS1zcmMgJ25vbmUnOyBzYW5kYm94OyIsImNvbnRlbnREaXNwb3NpdGlvblR5cGUiOiJpbmxpbmUiLCJyZW1vdGVQYXR0ZXJucyI6W10sInVub3B0aW1pemVkIjpmYWxzZX0sImRldkluZGljYXRvcnMiOnsiYnVpbGRBY3Rpdml0eSI6dHJ1ZSwiYnVpbGRBY3Rpdml0eVBvc2l0aW9uIjoiYm90dG9tLXJpZ2h0In0sIm9uRGVtYW5kRW50cmllcyI6eyJtYXhJbmFjdGl2ZUFnZSI6NjAwMDAsInBhZ2VzQnVmZmVyTGVuZ3RoIjo1fSwiYW1wIjp7ImNhbm9uaWNhbEJhc2UiOiIifSwiYmFzZVBhdGgiOiIiLCJzYXNzT3B0aW9ucyI6e30sInRyYWlsaW5nU2xhc2giOmZhbHNlLCJpMThuIjpudWxsLCJwcm9kdWN0aW9uQnJvd3NlclNvdXJjZU1hcHMiOmZhbHNlLCJvcHRpbWl6ZUZvbnRzIjp0cnVlLCJleGNsdWRlRGVmYXVsdE1vbWVudExvY2FsZXMiOnRydWUsInNlcnZlclJ1bnRpbWVDb25maWciOnt9LCJwdWJsaWNSdW50aW1lQ29uZmlnIjp7fSwicmVhY3RQcm9kdWN0aW9uUHJvZmlsaW5nIjpmYWxzZSwicmVhY3RTdHJpY3RNb2RlIjpudWxsLCJodHRwQWdlbnRPcHRpb25zIjp7ImtlZXBBbGl2ZSI6dHJ1ZX0sIm91dHB1dEZpbGVUcmFjaW5nIjp0cnVlLCJzdGF0aWNQYWdlR2VuZXJhdGlvblRpbWVvdXQiOjYwLCJzd2NNaW5pZnkiOnRydWUsIm1vZHVsYXJpemVJbXBvcnRzIjp7IkBtdWkvaWNvbnMtbWF0ZXJpYWwiOnsidHJhbnNmb3JtIjoiQG11aS9pY29ucy1tYXRlcmlhbC97e21lbWJlcn19In0sImxvZGFzaCI6eyJ0cmFuc2Zvcm0iOiJsb2Rhc2gve3ttZW1iZXJ9fSJ9fSwiZXhwZXJpbWVudGFsIjp7ImZseWluZ1NodXR0bGUiOmZhbHNlLCJwcmVyZW5kZXJFYXJseUV4aXQiOmZhbHNlLCJzZXJ2ZXJNaW5pZmljYXRpb24iOnRydWUsInNlcnZlclNvdXJjZU1hcHMiOmZhbHNlLCJsaW5rTm9Ub3VjaFN0YXJ0IjpmYWxzZSwiY2FzZVNlbnNpdGl2ZVJvdXRlcyI6ZmFsc2UsImNsaWVudFJvdXRlckZpbHRlciI6dHJ1ZSwiY2xpZW50Um91dGVyRmlsdGVyUmVkaXJlY3RzIjpmYWxzZSwiZmV0Y2hDYWNoZUtleVByZWZpeCI6IiIsIm1pZGRsZXdhcmVQcmVmZXRjaCI6ImZsZXhpYmxlIiwib3B0aW1pc3RpY0NsaWVudENhY2hlIjp0cnVlLCJtYW51YWxDbGllbnRCYXNlUGF0aCI6ZmFsc2UsImNwdXMiOjE5LCJtZW1vcnlCYXNlZFdvcmtlcnNDb3VudCI6ZmFsc2UsImlzckZsdXNoVG9EaXNrIjp0cnVlLCJ3b3JrZXJUaHJlYWRzIjpmYWxzZSwib3B0aW1pemVDc3MiOmZhbHNlLCJuZXh0U2NyaXB0V29ya2VycyI6ZmFsc2UsInNjcm9sbFJlc3RvcmF0aW9uIjpmYWxzZSwiZXh0ZXJuYWxEaXIiOmZhbHNlLCJkaXNhYmxlT3B0aW1pemVkTG9hZGluZyI6ZmFsc2UsImd6aXBTaXplIjp0cnVlLCJjcmFDb21wYXQiOmZhbHNlLCJlc21FeHRlcm5hbHMiOnRydWUsImZ1bGx5U3BlY2lmaWVkIjpmYWxzZSwib3V0cHV0RmlsZVRyYWNpbmdSb290IjoiL3RtcC9uZXh0LXN0YXRzWm1Od1o3L3N0YXRzLWFwcCIsInN3Y1RyYWNlUHJvZmlsaW5nIjpmYWxzZSwiZm9yY2VTd2NUcmFuc2Zvcm1zIjpmYWxzZSwibGFyZ2VQYWdlRGF0YUJ5dGVzIjoxMjgwMDAsImFkanVzdEZvbnRGYWxsYmFja3MiOmZhbHNlLCJhZGp1c3RGb250RmFsbGJhY2tzV2l0aFNpemVBZGp1c3QiOmZhbHNlLCJ0eXBlZFJvdXRlcyI6ZmFsc2UsImluc3RydW1lbnRhdGlvbkhvb2siOmZhbHNlLCJidW5kbGVQYWdlc0V4dGVybmFscyI6ZmFsc2UsInBhcmFsbGVsU2VydmVyQ29tcGlsZXMiOmZhbHNlLCJwYXJhbGxlbFNlcnZlckJ1aWxkVHJhY2VzIjpmYWxzZSwicHByIjpmYWxzZSwibWlzc2luZ1N1c3BlbnNlV2l0aENTUkJhaWxvdXQiOnRydWUsIm9wdGltaXplU2VydmVyUmVhY3QiOnRydWUsInVzZUVhcmx5SW1wb3J0IjpmYWxzZSwic3RhbGVUaW1lcyI6eyJkeW5hbWljIjozMCwic3RhdGljIjozMDB9LCJvcHRpbWl6ZVBhY2thZ2VJbXBvcnRzIjpbImx1Y2lkZS1yZWFjdCIsImRhdGUtZm5zIiwibG9kYXNoLWVzIiwicmFtZGEiLCJhbnRkIiwicmVhY3QtYm9vdHN0cmFwIiwiYWhvb2tzIiwiQGFudC1kZXNpZ24vaWNvbnMiLCJAaGVhZGxlc3N1aS9yZWFjdCIsIkBoZWFkbGVzc3VpLWZsb2F0L3JlYWN0IiwiQGhlcm9pY29ucy9yZWFjdC8yMC9zb2xpZCIsIkBoZXJvaWNvbnMvcmVhY3QvMjQvc29saWQiLCJAaGVyb2ljb25zL3JlYWN0LzI0L291dGxpbmUiLCJAdmlzeC92aXN4IiwiQHRyZW1vci9yZWFjdCIsInJ4anMiLCJAbXVpL21hdGVyaWFsIiwiQG11aS9pY29ucy1tYXRlcmlhbCIsInJlY2hhcnRzIiwicmVhY3QtdXNlIiwiQG1hdGVyaWFsLXVpL2NvcmUiLCJAbWF0ZXJpYWwtdWkvaWNvbnMiLCJAdGFibGVyL2ljb25zLXJlYWN0IiwibXVpLWNvcmUiLCJyZWFjdC1pY29ucy9haSIsInJlYWN0LWljb25zL2JpIiwicmVhY3QtaWNvbnMvYnMiLCJyZWFjdC1pY29ucy9jZyIsInJlYWN0LWljb25zL2NpIiwicmVhY3QtaWNvbnMvZGkiLCJyZWFjdC1pY29ucy9mYSIsInJlYWN0LWljb25zL2ZhNiIsInJlYWN0LWljb25zL2ZjIiwicmVhY3QtaWNvbnMvZmkiLCJyZWFjdC1pY29ucy9naSIsInJlYWN0LWljb25zL2dvIiwicmVhY3QtaWNvbnMvZ3IiLCJyZWFjdC1pY29ucy9oaSIsInJlYWN0LWljb25zL2hpMiIsInJlYWN0LWljb25zL2ltIiwicmVhY3QtaWNvbnMvaW8iLCJyZWFjdC1pY29ucy9pbzUiLCJyZWFjdC1pY29ucy9saWEiLCJyZWFjdC1pY29ucy9saWIiLCJyZWFjdC1pY29ucy9sdSIsInJlYWN0LWljb25zL21kIiwicmVhY3QtaWNvbnMvcGkiLCJyZWFjdC1pY29ucy9yaSIsInJlYWN0LWljb25zL3J4IiwicmVhY3QtaWNvbnMvc2kiLCJyZWFjdC1pY29ucy9zbCIsInJlYWN0LWljb25zL3RiIiwicmVhY3QtaWNvbnMvdGZpIiwicmVhY3QtaWNvbnMvdGkiLCJyZWFjdC1pY29ucy92c2MiLCJyZWFjdC1pY29ucy93aSJdfSwiY29uZmlnRmlsZSI6Ii90bXAvbmV4dC1zdGF0c1ptTndaNy9zdGF0cy1hcHAvbmV4dC5jb25maWcuanMiLCJjb25maWdGaWxlTmFtZSI6Im5leHQuY29uZmlnLmpzIn0=","pagesType":"app","appDirLoader":"bmV4dC1hcHAtbG9hZGVyP25hbWU9YXBwJTJGYXBwLWVkZ2Utc3NyJTJGcGFnZSZwYWdlPSUyRmFwcC1lZGdlLXNzciUyRnBhZ2UmcGFnZVBhdGg9cHJpdmF0ZS1uZXh0LWFwcC1kaXIlMkZhcHAtZWRnZS1zc3IlMkZwYWdlLmpzJmFwcERpcj0lMkZ0bXAlMkZuZXh0LXN0YXRzWm1Od1o3JTJGc3RhdHMtYXBwJTJGYXBwJmFwcFBhdGhzPSUyRmFwcC1lZGdlLXNzciUyRnBhZ2UmcGFnZUV4dGVuc2lvbnM9dHN4JnBhZ2VFeHRlbnNpb25zPXRzJnBhZ2VFeHRlbnNpb25zPWpzeCZwYWdlRXh0ZW5zaW9ucz1qcyZiYXNlUGF0aD0mYXNzZXRQcmVmaXg9Jm5leHRDb25maWdPdXRwdXQ9JnByZWZlcnJlZFJlZ2lvbj0mbWlkZGxld2FyZUNvbmZpZz1lMzAlM0Qh","sriEnabled":false,"middlewareConfig":"e30="}! + // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/esm/lib/page-types.js + var page_types = __webpack_require__(3914); + // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/esm/server/app-render/encryption-utils.js + var encryption_utils = __webpack_require__(7356); + // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/esm/server/app-render/action-utils.js + var action_utils = __webpack_require__(7214); // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/build/webpack/loaders/next-edge-ssr-loader/index.js?{"absolute500Path":"","absoluteAppPath":"next/dist/pages/_app","absoluteDocumentPath":"next/dist/pages/_document","absoluteErrorPath":"next/dist/pages/_error","absolutePagePath":"private-next-app-dir/app-edge-ssr/page.js","buildId":"BUILD_ID","dev":false,"isServerComponent":true,"page":"/app-edge-ssr/page","stringifiedConfig":"eyJlbnYiOnt9LCJlc2xpbnQiOnsiaWdub3JlRHVyaW5nQnVpbGRzIjpmYWxzZX0sInR5cGVzY3JpcHQiOnsiaWdub3JlQnVpbGRFcnJvcnMiOmZhbHNlLCJ0c2NvbmZpZ1BhdGgiOiJ0c2NvbmZpZy5qc29uIn0sImRpc3REaXIiOiIubmV4dCIsImNsZWFuRGlzdERpciI6dHJ1ZSwiYXNzZXRQcmVmaXgiOiIiLCJjYWNoZU1heE1lbW9yeVNpemUiOjUyNDI4ODAwLCJjb25maWdPcmlnaW4iOiJuZXh0LmNvbmZpZy5qcyIsInVzZUZpbGVTeXN0ZW1QdWJsaWNSb3V0ZXMiOnRydWUsImdlbmVyYXRlRXRhZ3MiOnRydWUsInBhZ2VFeHRlbnNpb25zIjpbInRzeCIsInRzIiwianN4IiwianMiXSwicG93ZXJlZEJ5SGVhZGVyIjp0cnVlLCJjb21wcmVzcyI6dHJ1ZSwiaW1hZ2VzIjp7ImRldmljZVNpemVzIjpbNjQwLDc1MCw4MjgsMTA4MCwxMjAwLDE5MjAsMjA0OCwzODQwXSwiaW1hZ2VTaXplcyI6WzE2LDMyLDQ4LDY0LDk2LDEyOCwyNTYsMzg0XSwicGF0aCI6Ii9fbmV4dC9pbWFnZSIsImxvYWRlciI6ImRlZmF1bHQiLCJsb2FkZXJGaWxlIjoiIiwiZG9tYWlucyI6W10sImRpc2FibGVTdGF0aWNJbWFnZXMiOmZhbHNlLCJtaW5pbXVtQ2FjaGVUVEwiOjYwLCJmb3JtYXRzIjpbImltYWdlL3dlYnAiXSwiZGFuZ2Vyb3VzbHlBbGxvd1NWRyI6ZmFsc2UsImNvbnRlbnRTZWN1cml0eVBvbGljeSI6InNjcmlwdC1zcmMgJ25vbmUnOyBmcmFtZS1zcmMgJ25vbmUnOyBzYW5kYm94OyIsImNvbnRlbnREaXNwb3NpdGlvblR5cGUiOiJpbmxpbmUiLCJyZW1vdGVQYXR0ZXJucyI6W10sInVub3B0aW1pemVkIjpmYWxzZX0sImRldkluZGljYXRvcnMiOnsiYnVpbGRBY3Rpdml0eSI6dHJ1ZSwiYnVpbGRBY3Rpdml0eVBvc2l0aW9uIjoiYm90dG9tLXJpZ2h0In0sIm9uRGVtYW5kRW50cmllcyI6eyJtYXhJbmFjdGl2ZUFnZSI6NjAwMDAsInBhZ2VzQnVmZmVyTGVuZ3RoIjo1fSwiYW1wIjp7ImNhbm9uaWNhbEJhc2UiOiIifSwiYmFzZVBhdGgiOiIiLCJzYXNzT3B0aW9ucyI6e30sInRyYWlsaW5nU2xhc2giOmZhbHNlLCJpMThuIjpudWxsLCJwcm9kdWN0aW9uQnJvd3NlclNvdXJjZU1hcHMiOmZhbHNlLCJvcHRpbWl6ZUZvbnRzIjp0cnVlLCJleGNsdWRlRGVmYXVsdE1vbWVudExvY2FsZXMiOnRydWUsInNlcnZlclJ1bnRpbWVDb25maWciOnt9LCJwdWJsaWNSdW50aW1lQ29uZmlnIjp7fSwicmVhY3RQcm9kdWN0aW9uUHJvZmlsaW5nIjpmYWxzZSwicmVhY3RTdHJpY3RNb2RlIjpudWxsLCJodHRwQWdlbnRPcHRpb25zIjp7ImtlZXBBbGl2ZSI6dHJ1ZX0sIm91dHB1dEZpbGVUcmFjaW5nIjp0cnVlLCJzdGF0aWNQYWdlR2VuZXJhdGlvblRpbWVvdXQiOjYwLCJzd2NNaW5pZnkiOnRydWUsIm1vZHVsYXJpemVJbXBvcnRzIjp7IkBtdWkvaWNvbnMtbWF0ZXJpYWwiOnsidHJhbnNmb3JtIjoiQG11aS9pY29ucy1tYXRlcmlhbC97e21lbWJlcn19In0sImxvZGFzaCI6eyJ0cmFuc2Zvcm0iOiJsb2Rhc2gve3ttZW1iZXJ9fSJ9fSwiZXhwZXJpbWVudGFsIjp7ImZseWluZ1NodXR0bGUiOmZhbHNlLCJwcmVyZW5kZXJFYXJseUV4aXQiOmZhbHNlLCJzZXJ2ZXJNaW5pZmljYXRpb24iOnRydWUsInNlcnZlclNvdXJjZU1hcHMiOmZhbHNlLCJsaW5rTm9Ub3VjaFN0YXJ0IjpmYWxzZSwiY2FzZVNlbnNpdGl2ZVJvdXRlcyI6ZmFsc2UsImNsaWVudFJvdXRlckZpbHRlciI6dHJ1ZSwiY2xpZW50Um91dGVyRmlsdGVyUmVkaXJlY3RzIjpmYWxzZSwiZmV0Y2hDYWNoZUtleVByZWZpeCI6IiIsIm1pZGRsZXdhcmVQcmVmZXRjaCI6ImZsZXhpYmxlIiwib3B0aW1pc3RpY0NsaWVudENhY2hlIjp0cnVlLCJtYW51YWxDbGllbnRCYXNlUGF0aCI6ZmFsc2UsImNwdXMiOjE5LCJtZW1vcnlCYXNlZFdvcmtlcnNDb3VudCI6ZmFsc2UsImlzckZsdXNoVG9EaXNrIjp0cnVlLCJ3b3JrZXJUaHJlYWRzIjpmYWxzZSwib3B0aW1pemVDc3MiOmZhbHNlLCJuZXh0U2NyaXB0V29ya2VycyI6ZmFsc2UsInNjcm9sbFJlc3RvcmF0aW9uIjpmYWxzZSwiZXh0ZXJuYWxEaXIiOmZhbHNlLCJkaXNhYmxlT3B0aW1pemVkTG9hZGluZyI6ZmFsc2UsImd6aXBTaXplIjp0cnVlLCJjcmFDb21wYXQiOmZhbHNlLCJlc21FeHRlcm5hbHMiOnRydWUsImZ1bGx5U3BlY2lmaWVkIjpmYWxzZSwib3V0cHV0RmlsZVRyYWNpbmdSb290IjoiL3RtcC9uZXh0LXN0YXRzWm1Od1o3L3N0YXRzLWFwcCIsInN3Y1RyYWNlUHJvZmlsaW5nIjpmYWxzZSwiZm9yY2VTd2NUcmFuc2Zvcm1zIjpmYWxzZSwibGFyZ2VQYWdlRGF0YUJ5dGVzIjoxMjgwMDAsImFkanVzdEZvbnRGYWxsYmFja3MiOmZhbHNlLCJhZGp1c3RGb250RmFsbGJhY2tzV2l0aFNpemVBZGp1c3QiOmZhbHNlLCJ0eXBlZFJvdXRlcyI6ZmFsc2UsImluc3RydW1lbnRhdGlvbkhvb2siOmZhbHNlLCJidW5kbGVQYWdlc0V4dGVybmFscyI6ZmFsc2UsInBhcmFsbGVsU2VydmVyQ29tcGlsZXMiOmZhbHNlLCJwYXJhbGxlbFNlcnZlckJ1aWxkVHJhY2VzIjpmYWxzZSwicHByIjpmYWxzZSwibWlzc2luZ1N1c3BlbnNlV2l0aENTUkJhaWxvdXQiOnRydWUsIm9wdGltaXplU2VydmVyUmVhY3QiOnRydWUsInVzZUVhcmx5SW1wb3J0IjpmYWxzZSwic3RhbGVUaW1lcyI6eyJkeW5hbWljIjozMCwic3RhdGljIjozMDB9LCJvcHRpbWl6ZVBhY2thZ2VJbXBvcnRzIjpbImx1Y2lkZS1yZWFjdCIsImRhdGUtZm5zIiwibG9kYXNoLWVzIiwicmFtZGEiLCJhbnRkIiwicmVhY3QtYm9vdHN0cmFwIiwiYWhvb2tzIiwiQGFudC1kZXNpZ24vaWNvbnMiLCJAaGVhZGxlc3N1aS9yZWFjdCIsIkBoZWFkbGVzc3VpLWZsb2F0L3JlYWN0IiwiQGhlcm9pY29ucy9yZWFjdC8yMC9zb2xpZCIsIkBoZXJvaWNvbnMvcmVhY3QvMjQvc29saWQiLCJAaGVyb2ljb25zL3JlYWN0LzI0L291dGxpbmUiLCJAdmlzeC92aXN4IiwiQHRyZW1vci9yZWFjdCIsInJ4anMiLCJAbXVpL21hdGVyaWFsIiwiQG11aS9pY29ucy1tYXRlcmlhbCIsInJlY2hhcnRzIiwicmVhY3QtdXNlIiwiQG1hdGVyaWFsLXVpL2NvcmUiLCJAbWF0ZXJpYWwtdWkvaWNvbnMiLCJAdGFibGVyL2ljb25zLXJlYWN0IiwibXVpLWNvcmUiLCJyZWFjdC1pY29ucy9haSIsInJlYWN0LWljb25zL2JpIiwicmVhY3QtaWNvbnMvYnMiLCJyZWFjdC1pY29ucy9jZyIsInJlYWN0LWljb25zL2NpIiwicmVhY3QtaWNvbnMvZGkiLCJyZWFjdC1pY29ucy9mYSIsInJlYWN0LWljb25zL2ZhNiIsInJlYWN0LWljb25zL2ZjIiwicmVhY3QtaWNvbnMvZmkiLCJyZWFjdC1pY29ucy9naSIsInJlYWN0LWljb25zL2dvIiwicmVhY3QtaWNvbnMvZ3IiLCJyZWFjdC1pY29ucy9oaSIsInJlYWN0LWljb25zL2hpMiIsInJlYWN0LWljb25zL2ltIiwicmVhY3QtaWNvbnMvaW8iLCJyZWFjdC1pY29ucy9pbzUiLCJyZWFjdC1pY29ucy9saWEiLCJyZWFjdC1pY29ucy9saWIiLCJyZWFjdC1pY29ucy9sdSIsInJlYWN0LWljb25zL21kIiwicmVhY3QtaWNvbnMvcGkiLCJyZWFjdC1pY29ucy9yaSIsInJlYWN0LWljb25zL3J4IiwicmVhY3QtaWNvbnMvc2kiLCJyZWFjdC1pY29ucy9zbCIsInJlYWN0LWljb25zL3RiIiwicmVhY3QtaWNvbnMvdGZpIiwicmVhY3QtaWNvbnMvdGkiLCJyZWFjdC1pY29ucy92c2MiLCJyZWFjdC1pY29ucy93aSJdfSwiY29uZmlnRmlsZSI6Ii90bXAvbmV4dC1zdGF0c1ptTndaNy9zdGF0cy1hcHAvbmV4dC5jb25maWcuanMiLCJjb25maWdGaWxlTmFtZSI6Im5leHQuY29uZmlnLmpzIn0=","pagesType":"app","appDirLoader":"bmV4dC1hcHAtbG9hZGVyP25hbWU9YXBwJTJGYXBwLWVkZ2Utc3NyJTJGcGFnZSZwYWdlPSUyRmFwcC1lZGdlLXNzciUyRnBhZ2UmcGFnZVBhdGg9cHJpdmF0ZS1uZXh0LWFwcC1kaXIlMkZhcHAtZWRnZS1zc3IlMkZwYWdlLmpzJmFwcERpcj0lMkZ0bXAlMkZuZXh0LXN0YXRzWm1Od1o3JTJGc3RhdHMtYXBwJTJGYXBwJmFwcFBhdGhzPSUyRmFwcC1lZGdlLXNzciUyRnBhZ2UmcGFnZUV4dGVuc2lvbnM9dHN4JnBhZ2VFeHRlbnNpb25zPXRzJnBhZ2VFeHRlbnNpb25zPWpzeCZwYWdlRXh0ZW5zaW9ucz1qcyZiYXNlUGF0aD0mYXNzZXRQcmVmaXg9Jm5leHRDb25maWdPdXRwdXQ9JnByZWZlcnJlZFJlZ2lvbj0mbWlkZGxld2FyZUNvbmZpZz1lMzAlM0Qh","sriEnabled":false,"middlewareConfig":"e30="}! var _self___RSC_MANIFEST; const incrementalCacheHandler = null; @@ -406,50 +406,50 @@ /***/ }, - /***/ 287: /***/ ( + /***/ 8844: /***/ ( __unused_webpack_module, __unused_webpack_exports, __webpack_require__ ) => { Promise.resolve(/* import() eager */).then( - __webpack_require__.bind(__webpack_require__, 8448) + __webpack_require__.bind(__webpack_require__, 7360) ); Promise.resolve(/* import() eager */).then( - __webpack_require__.bind(__webpack_require__, 4660) + __webpack_require__.bind(__webpack_require__, 6672) ); Promise.resolve(/* import() eager */).then( - __webpack_require__.bind(__webpack_require__, 2617) + __webpack_require__.bind(__webpack_require__, 6524) ); Promise.resolve(/* import() eager */).then( - __webpack_require__.bind(__webpack_require__, 2311) + __webpack_require__.bind(__webpack_require__, 831) ); Promise.resolve(/* import() eager */).then( - __webpack_require__.bind(__webpack_require__, 8387) + __webpack_require__.bind(__webpack_require__, 1757) ); Promise.resolve(/* import() eager */).then( - __webpack_require__.bind(__webpack_require__, 7949) + __webpack_require__.bind(__webpack_require__, 9922) ); Promise.resolve(/* import() eager */).then( - __webpack_require__.bind(__webpack_require__, 7870) + __webpack_require__.bind(__webpack_require__, 6647) ); Promise.resolve(/* import() eager */).then( - __webpack_require__.bind(__webpack_require__, 8989) + __webpack_require__.bind(__webpack_require__, 9176) ); Promise.resolve(/* import() eager */).then( - __webpack_require__.bind(__webpack_require__, 1337) + __webpack_require__.bind(__webpack_require__, 6053) ); Promise.resolve(/* import() eager */).then( - __webpack_require__.bind(__webpack_require__, 9318) + __webpack_require__.bind(__webpack_require__, 1606) ); /***/ }, - /***/ 7129: /***/ () => { + /***/ 8402: /***/ () => { /***/ }, - /***/ 1286: /***/ ( + /***/ 1803: /***/ ( __unused_webpack_module, __webpack_exports__, __webpack_require__ @@ -469,7 +469,7 @@ /***/ }, - /***/ 6447: /***/ ( + /***/ 4741: /***/ ( __unused_webpack_module, __webpack_exports__, __webpack_require__ @@ -481,7 +481,7 @@ /* harmony export */ }); /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = - __webpack_require__(2746); + __webpack_require__(8742); function RootLayout({ children }) { return /*#__PURE__*/ (0, @@ -500,7 +500,7 @@ // webpackRuntimeModules /******/ var __webpack_exec__ = (moduleId) => __webpack_require__((__webpack_require__.s = moduleId)); - /******/ __webpack_require__.O(0, [871, 50], () => __webpack_exec__(46)); + /******/ __webpack_require__.O(0, [588, 18], () => __webpack_exec__(6748)); /******/ var __webpack_exports__ = __webpack_require__.O(); /******/ (_ENTRIES = typeof _ENTRIES === "undefined" ? {} : _ENTRIES)[ "middleware_app/app-edge-ssr/page" ```
Diff for middleware.js Diff too large to display
Diff for edge-ssr.js Diff too large to display
Diff for image-HASH.js ```diff @@ -1,7 +1,7 @@ (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([ [8358], { - /***/ 5497: /***/ ( + /***/ 2307: /***/ ( __unused_webpack_module, __unused_webpack_exports, __webpack_require__ @@ -9,7 +9,7 @@ (window.__NEXT_P = window.__NEXT_P || []).push([ "/image", function () { - return __webpack_require__(7374); + return __webpack_require__(6812); }, ]); if (false) { @@ -18,7 +18,7 @@ /***/ }, - /***/ 3508: /***/ (module, exports, __webpack_require__) => { + /***/ 6470: /***/ (module, exports, __webpack_require__) => { "use strict"; /* __next_internal_client_entry_do_not_use__ cjs */ Object.defineProperty(exports, "__esModule", { @@ -40,15 +40,15 @@ __webpack_require__(5439) ); const _head = /*#__PURE__*/ _interop_require_default._( - __webpack_require__(8279) + __webpack_require__(5691) ); - const _getimgprops = __webpack_require__(1598); - const _imageconfig = __webpack_require__(134); - const _imageconfigcontextsharedruntime = __webpack_require__(7837); - const _warnonce = __webpack_require__(8099); - const _routercontextsharedruntime = __webpack_require__(7475); + const _getimgprops = __webpack_require__(2069); + const _imageconfig = __webpack_require__(8526); + const _imageconfigcontextsharedruntime = __webpack_require__(2608); + const _warnonce = __webpack_require__(8309); + const _routercontextsharedruntime = __webpack_require__(4990); const _imageloader = /*#__PURE__*/ _interop_require_default._( - __webpack_require__(9190) + __webpack_require__(7291) ); // This is replaced by webpack define plugin const configEnv = { @@ -376,7 +376,7 @@ /***/ }, - /***/ 1598: /***/ ( + /***/ 2069: /***/ ( __unused_webpack_module, exports, __webpack_require__ @@ -392,9 +392,9 @@ return getImgProps; }, }); - const _warnonce = __webpack_require__(8099); - const _imageblursvg = __webpack_require__(6874); - const _imageconfig = __webpack_require__(134); + const _warnonce = __webpack_require__(8309); + const _imageblursvg = __webpack_require__(7976); + const _imageconfig = __webpack_require__(8526); const VALID_LOADING_VALUES = /* unused pure expression or super */ null && [ "lazy", @@ -769,7 +769,7 @@ /***/ }, - /***/ 6874: /***/ (__unused_webpack_module, exports) => { + /***/ 7976: /***/ (__unused_webpack_module, exports) => { "use strict"; /** * A shared function, used on both client and server, to generate a SVG blur placeholder. @@ -824,7 +824,7 @@ /***/ }, - /***/ 2028: /***/ ( + /***/ 4186: /***/ ( __unused_webpack_module, exports, __webpack_require__ @@ -851,10 +851,10 @@ }, }); const _interop_require_default = __webpack_require__(1478); - const _getimgprops = __webpack_require__(1598); - const _imagecomponent = __webpack_require__(3508); + const _getimgprops = __webpack_require__(2069); + const _imagecomponent = __webpack_require__(6470); const _imageloader = /*#__PURE__*/ _interop_require_default._( - __webpack_require__(9190) + __webpack_require__(7291) ); function getImageProps(imgProps) { const { props } = (0, _getimgprops.getImgProps)(imgProps, { @@ -886,7 +886,7 @@ /***/ }, - /***/ 9190: /***/ (__unused_webpack_module, exports) => { + /***/ 7291: /***/ (__unused_webpack_module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { @@ -921,7 +921,7 @@ /***/ }, - /***/ 7374: /***/ ( + /***/ 6812: /***/ ( __unused_webpack_module, __webpack_exports__, __webpack_require__ @@ -938,8 +938,8 @@ // EXTERNAL MODULE: ./node_modules/.pnpm/react@19.0.0-beta-4508873393-20240430/node_modules/react/jsx-runtime.js var jsx_runtime = __webpack_require__(3456); - // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/image.js - var next_image = __webpack_require__(5008); + // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/image.js + var next_image = __webpack_require__(932); var image_default = /*#__PURE__*/ __webpack_require__.n(next_image); // CONCATENATED MODULE: ./pages/nextjs.png /* harmony default export */ const nextjs = { src: "/_next/static/media/nextjs.cae0b805.png", @@ -969,12 +969,12 @@ /***/ }, - /***/ 5008: /***/ ( + /***/ 932: /***/ ( module, __unused_webpack_exports, __webpack_require__ ) => { - module.exports = __webpack_require__(2028); + module.exports = __webpack_require__(4186); /***/ }, @@ -984,7 +984,7 @@ /******/ var __webpack_exec__ = (moduleId) => __webpack_require__((__webpack_require__.s = moduleId)); /******/ __webpack_require__.O(0, [2888, 9774, 179], () => - __webpack_exec__(5497) + __webpack_exec__(2307) ); /******/ var __webpack_exports__ = __webpack_require__.O(); /******/ _N_E = __webpack_exports__; ```
Diff for 8bfde070-HASH.js ```diff deleted ```
Diff for 9921-HASH.js Diff too large to display
Diff for f4e28338-HASH.js Diff too large to display
Diff for main-HASH.js Diff too large to display
Diff for app-page-exp..ntime.dev.js ```diff failed to diff ```
Diff for app-page-exp..time.prod.js Diff too large to display
Diff for app-page-tur..time.prod.js Diff too large to display
Diff for app-page-tur..time.prod.js Diff too large to display
Diff for app-page.runtime.dev.js ```diff failed to diff ```
Diff for app-page.runtime.prod.js Diff too large to display
Diff for app-route-ex..ntime.dev.js Diff too large to display
Diff for app-route-ex..time.prod.js Diff too large to display
Diff for app-route-tu..time.prod.js Diff too large to display
Diff for app-route-tu..time.prod.js Diff too large to display
Diff for app-route.runtime.dev.js Diff too large to display
Diff for app-route.ru..time.prod.js Diff too large to display
Diff for pages-turbo...time.prod.js Diff too large to display
Diff for pages.runtime.dev.js Diff too large to display
Diff for pages.runtime.prod.js Diff too large to display
Diff for server.runtime.prod.js Diff too large to display

Commit: 94855227d5d24e8ebf34a71bee8e394d43c07dfd