Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

[Turbopack] setup aggregation number before connecting children #74910

Draft
wants to merge 1 commit into
base: sokra/lazy-connect
Choose a base branch
from

Conversation

sokra
Copy link
Member

@sokra sokra commented Jan 15, 2025

What?

This changes to order of operations to upper aggregation numbers before connecting children, so they can be added based on the new aggregation numbers.

Copy link
Member Author

sokra commented Jan 15, 2025

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

This stack of pull requests is managed by Graphite. Learn more about stacking.

@sokra sokra changed the title setup aggregation number before connecting children [Turbopack] setup aggregation number before connecting children Jan 15, 2025
@sokra sokra force-pushed the sokra/lazy-connect branch from 5902f72 to dd58bc4 Compare January 15, 2025 06:46
@sokra sokra force-pushed the sokra/update-aggregation-before-connect branch from 554adf8 to 2510188 Compare January 15, 2025 06:47
@ijjk
Copy link
Member

ijjk commented Jan 15, 2025

Stats from current PR

Default Build (Increase detected ⚠️)
General
vercel/next.js canary vercel/next.js sokra/update-aggregation-before-connect Change
buildDuration 17.3s 15.4s N/A
buildDurationCached 14.6s 12.3s N/A
nodeModulesSize 419 MB 419 MB
nextStartRea..uration (ms) 396ms 399ms N/A
Client Bundles (main, webpack)
vercel/next.js canary vercel/next.js sokra/update-aggregation-before-connect Change
5306-HASH.js gzip 54.1 kB 54.1 kB N/A
8276.HASH.js gzip 169 B 168 B N/A
8377-HASH.js gzip 5.46 kB 5.46 kB N/A
bccd1874-HASH.js gzip 52.9 kB 52.9 kB N/A
framework-HASH.js gzip 57.5 kB 57.5 kB N/A
main-app-HASH.js gzip 240 B 242 B N/A
main-HASH.js gzip 34.6 kB 34.6 kB N/A
webpack-HASH.js gzip 1.71 kB 1.71 kB N/A
Overall change 0 B 0 B
Legacy Client Bundles (polyfills)
vercel/next.js canary vercel/next.js sokra/update-aggregation-before-connect Change
polyfills-HASH.js gzip 39.4 kB 39.4 kB
Overall change 39.4 kB 39.4 kB
Client Pages
vercel/next.js canary vercel/next.js sokra/update-aggregation-before-connect Change
_app-HASH.js gzip 193 B 193 B
_error-HASH.js gzip 193 B 193 B
amp-HASH.js gzip 512 B 510 B N/A
css-HASH.js gzip 343 B 342 B N/A
dynamic-HASH.js gzip 1.84 kB 1.84 kB
edge-ssr-HASH.js gzip 265 B 265 B
head-HASH.js gzip 363 B 362 B N/A
hooks-HASH.js gzip 393 B 392 B N/A
image-HASH.js gzip 4.59 kB 4.58 kB N/A
index-HASH.js gzip 268 B 268 B
link-HASH.js gzip 2.35 kB 2.35 kB N/A
routerDirect..HASH.js gzip 328 B 328 B
script-HASH.js gzip 397 B 397 B
withRouter-HASH.js gzip 323 B 326 B N/A
1afbb74e6ecf..834.css gzip 106 B 106 B
Overall change 3.59 kB 3.59 kB
Client Build Manifests
vercel/next.js canary vercel/next.js sokra/update-aggregation-before-connect Change
_buildManifest.js gzip 748 B 747 B N/A
Overall change 0 B 0 B
Rendered Page Sizes
vercel/next.js canary vercel/next.js sokra/update-aggregation-before-connect Change
index.html gzip 523 B 523 B
link.html gzip 538 B 539 B N/A
withRouter.html gzip 518 B 521 B N/A
Overall change 523 B 523 B
Edge SSR bundle Size
vercel/next.js canary vercel/next.js sokra/update-aggregation-before-connect Change
edge-ssr.js gzip 129 kB 129 kB N/A
page.js gzip 210 kB 210 kB N/A
Overall change 0 B 0 B
Middleware size
vercel/next.js canary vercel/next.js sokra/update-aggregation-before-connect Change
middleware-b..fest.js gzip 668 B 666 B N/A
middleware-r..fest.js gzip 155 B 156 B N/A
middleware.js gzip 31.3 kB 31.3 kB N/A
edge-runtime..pack.js gzip 844 B 844 B
Overall change 844 B 844 B
Next Runtimes
vercel/next.js canary vercel/next.js sokra/update-aggregation-before-connect Change
274-experime...dev.js gzip 322 B 322 B
274.runtime.dev.js gzip 314 B 314 B
app-page-exp...dev.js gzip 378 kB 378 kB
app-page-exp..prod.js gzip 132 kB 132 kB
app-page-tur..prod.js gzip 145 kB 145 kB
app-page-tur..prod.js gzip 141 kB 141 kB
app-page.run...dev.js gzip 365 kB 365 kB
app-page.run..prod.js gzip 128 kB 128 kB
app-route-ex...dev.js gzip 37.6 kB 37.6 kB
app-route-ex..prod.js gzip 25.6 kB 25.6 kB
app-route-tu..prod.js gzip 25.6 kB 25.6 kB
app-route-tu..prod.js gzip 25.4 kB 25.4 kB
app-route.ru...dev.js gzip 39.2 kB 39.2 kB
app-route.ru..prod.js gzip 25.4 kB 25.4 kB
pages-api-tu..prod.js gzip 9.69 kB 9.69 kB
pages-api.ru...dev.js gzip 11.6 kB 11.6 kB
pages-api.ru..prod.js gzip 9.68 kB 9.68 kB
pages-turbo...prod.js gzip 21.9 kB 21.9 kB
pages.runtim...dev.js gzip 27.7 kB 27.7 kB
pages.runtim..prod.js gzip 21.9 kB 21.9 kB
server.runti..prod.js gzip 916 kB 916 kB
Overall change 2.49 MB 2.49 MB
build cache Overall increase ⚠️
vercel/next.js canary vercel/next.js sokra/update-aggregation-before-connect Change
0.pack gzip 2.1 MB 2.1 MB N/A
index.pack gzip 74.6 kB 75.3 kB ⚠️ +637 B
Overall change 74.6 kB 75.3 kB ⚠️ +637 B
Diff details
Diff for main-HASH.js

Diff too large to display

Commit: a0ae4f6

@sokra sokra force-pushed the sokra/lazy-connect branch 2 times, most recently from e15f24b to 64c5f96 Compare January 15, 2025 07:20
@sokra sokra force-pushed the sokra/update-aggregation-before-connect branch from 2510188 to b36ada1 Compare January 15, 2025 07:20
@ijjk
Copy link
Member

ijjk commented Jan 15, 2025

Failing test suites

Commit: a0ae4f6

pnpm test-dev-turbo test/development/acceptance-app/ReactRefreshModule.test.ts (turbopack)

  • ReactRefreshModule app > should allow any variable names
Expand output

● ReactRefreshModule app › should allow any variable names

Application is in inconsistent state: timeout.

  93 |             }
  94 |             if (status !== 'pending') {
> 95 |               throw new Error(
     |                     ^
  96 |                 `Application is in inconsistent state: ${status}.`
  97 |               )
  98 |             }

  at Object.patch (lib/development-sandbox.ts:95:21)
  at Object.<anonymous> (development/acceptance-app/ReactRefreshModule.test.ts:26:7)

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

pnpm test-dev-turbo test/development/acceptance/server-component-compiler-errors-in-pages.test.ts (turbopack)

  • Error Overlay for server components compiler errors in pages > importing 'next/headers' in pages
Expand output

● Error Overlay for server components compiler errors in pages › importing 'next/headers' in pages

Application is in inconsistent state: timeout.

  93 |             }
  94 |             if (status !== 'pending') {
> 95 |               throw new Error(
     |                     ^
  96 |                 `Application is in inconsistent state: ${status}.`
  97 |               )
  98 |             }

  at Object.patch (lib/development-sandbox.ts:95:21)
  at Object.<anonymous> (development/acceptance/server-component-compiler-errors-in-pages.test.ts:36:5)

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

pnpm test test/integration/amp-export-validation/test/index.test.js

  • AMP Validation on Export > production mode > should have shown errors during build
Expand output

● AMP Validation on Export › production mode › should have shown errors during build

expect(received).toMatch(expected)

Expected pattern: /error.*The mandatory attribute 'height' is missing in tag 'amp-video'\./
Received string:  "   Loading config from /root/actions-runner/_work/next.js/next.js/test/integration/amp-export-validation/next.config.js
   Loading config from /root/actions-runner/_work/next.js/next.js/test/integration/amp-export-validation/next.config.js
   ▲ Next.js 15.2.0-canary.25·
   Checking validity of types ...
   Creating an optimized production build ...
   Loading config from /root/actions-runner/_work/next.js/next.js/test/integration/amp-export-validation/next.config.js
   Loading config from /root/actions-runner/_work/next.js/next.js/test/integration/amp-export-validation/next.config.js
   Loading config from /root/actions-runner/_work/next.js/next.js/test/integration/amp-export-validation/next.config.js
 ✓ Compiled successfully
   Collecting page data ...
   Generating static pages (0/8) ...
   Generating static pages (2/8)··
 ⚠ Linting is disabled.
Error occurred prerendering page \"/third\". Read more: https://nextjs.org/docs/messages/prerender-error
AssertionError: Assertion failed: WebAssembly is uninitialized

  at new module$contents$goog$asserts_AssertionError (../evalmachine.<anonymous>:106:1695)
  at module$contents$goog$asserts_doAssertFailure (../evalmachine.<anonymous>:107:354)
  at goog.asserts.assertExists (../evalmachine.<anonymous>:109:142)
  at Object.module$contents$amp$validator_validateString [as validateString] (../evalmachine.<anonymous>:2663:108)
  at Validator.validateString (../packages/next/dist/compiled/amphtml-validator/index.js:1:20650)
  at validateAmp (../packages/next/dist/export/routes/pages.js:87:34)
  at async exportPagesPage (../packages/next/dist/export/routes/pages.js:121:17)
  at async Span.traceAsyncFn (../packages/next/dist/trace/trace.js:156:20)
  at async exportPage (../packages/next/dist/export/worker.js:344:18)
  Export encountered an error on /third, exiting the build.
   ⨯ Static worker exited with code: 1 and signal: null
  "
  at Object.toMatch (integration/amp-export-validation/test/index.test.js:28:29)

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

pnpm test test/integration/jsconfig-paths/test/index.test.js (turbopack)

  • jsconfig paths > default behavior > should have correct module not found error
  • jsconfig paths without baseurl > default behavior > should resolve the first item in the array first
  • jsconfig paths without baseurl > default behavior > should resolve the second item as fallback
  • jsconfig paths without baseurl > default behavior > should resolve a single matching alias
Expand output

● jsconfig paths › default behavior › should have correct module not found error

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

  63 |     })
  64 |
> 65 |     it('should have correct module not found error', async () => {
     |     ^
  66 |       const basicPage = join(appDir, 'pages/basic-alias.js')
  67 |       const contents = await fs.readFile(basicPage, 'utf8')
  68 |

  at it (integration/jsconfig-paths/test/index.test.js:65:5)
  at describe (integration/jsconfig-paths/test/index.test.js:29:3)
  at runTests (integration/jsconfig-paths/test/index.test.js:137:3)
  at Object.describe (integration/jsconfig-paths/test/index.test.js:136:1)

● jsconfig paths without baseurl › default behavior › should resolve the first item in the array first

expect(received).toMatch(expected)

Expected pattern: /Hello from a/
Received string:  "{\"props\":{\"pageProps\":{\"statusCode\":500,\"hostname\":\"[::]\"}},\"page\":\"/_error\",\"query\":{},\"buildId\":\"development\",\"isFallback\":false,\"err\":{\"name\":\"Error\",\"source\":\"server\",\"message\":\"./test/integration/jsconfig-paths/pages/basic-alias.js:2:1\\nModule not found: Can't resolve '@c/worldd'\\n  1 | import React from 'react'\\n\\u003e 2 | import { World } from '@c/worldd'\\n    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n  3 |\\n  4 | // prevent static generation\\n  5 | export function getServerSideProps() {\\n\\nImport map: aliased to relative './components/worldd' inside of [project]/test/integration/jsconfig-paths\\n\\n\\nhttps://nextjs.org/docs/messages/module-not-found\\n\\n\",\"stack\":\"Error: ./test/integration/jsconfig-paths/pages/basic-alias.js:2:1\\nModule not found: Can't resolve '@c/worldd'\\n\\u001b[0m \\u001b[90m 1 |\\u001b[39m \\u001b[36mimport\\u001b[39m \\u001b[33mReact\\u001b[39m \\u001b[36mfrom\\u001b[39m \\u001b[32m'react'\\u001b[39m\\u001b[0m\\n\\u001b[0m\\u001b[31m\\u001b[1m\\u003e\\u001b[22m\\u001b[39m\\u001b[90m 2 |\\u001b[39m \\u001b[36mimport\\u001b[39m { \\u001b[33mWorld\\u001b[39m } \\u001b[36mfrom\\u001b[39m \\u001b[32m'@c/worldd'\\u001b[39m\\u001b[0m\\n\\u001b[0m \\u001b[90m   |\\u001b[39m \\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[0m\\n\\u001b[0m \\u001b[90m 3 |\\u001b[39m\\u001b[0m\\n\\u001b[0m \\u001b[90m 4 |\\u001b[39m \\u001b[90m// prevent static generation\\u001b[39m\\u001b[0m\\n\\u001b[0m \\u001b[90m 5 |\\u001b[39m \\u001b[36mexport\\u001b[39m \\u001b[36mfunction\\u001b[39m getServerSideProps() {\\u001b[0m\\n\\nImport map: aliased to relative './components/worldd' inside of [project]/test/integration/jsconfig-paths\\n\\n\\nhttps://nextjs.org/docs/messages/module-not-found\\n\\n\\n    at Object.getCompilationErrors (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/dev/hot-reloader-turbopack.js:707:59)\\n    at DevBundlerService.getCompilationError (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/dev-bundler-service.js:39:55)\\n    at DevServer.getCompilationError (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/dev/next-dev-server.js:640:42)\\n    at DevServer.findPageComponents (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/dev/next-dev-server.js:610:43)\\n    at async DevServer.renderErrorToResponseImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/base-server.js:2511:26)\"},\"gip\":true,\"scriptLoader\":[]}"

  50 |     it('should resolve the first item in the array first', async () => {
  51 |       const $ = await get$('/resolve-order')
> 52 |       expect($('body').text()).toMatch(/Hello from a/)
     |                                ^
  53 |     })
  54 |
  55 |     it('should resolve the second item as fallback', async () => {

  at Object.toMatch (integration/jsconfig-paths/test/index.test.js:52:32)

● jsconfig paths without baseurl › default behavior › should resolve the second item as fallback

expect(received).toMatch(expected)

Expected pattern: /Hello from only b/
Received string:  "{\"props\":{\"pageProps\":{\"statusCode\":500,\"hostname\":\"[::]\"}},\"page\":\"/_error\",\"query\":{},\"buildId\":\"development\",\"isFallback\":false,\"err\":{\"name\":\"Error\",\"source\":\"server\",\"message\":\"./test/integration/jsconfig-paths/pages/basic-alias.js:2:1\\nModule not found: Can't resolve '@c/worldd'\\n  1 | import React from 'react'\\n\\u003e 2 | import { World } from '@c/worldd'\\n    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n  3 |\\n  4 | // prevent static generation\\n  5 | export function getServerSideProps() {\\n\\nImport map: aliased to relative './components/worldd' inside of [project]/test/integration/jsconfig-paths\\n\\n\\nhttps://nextjs.org/docs/messages/module-not-found\\n\\n\",\"stack\":\"Error: ./test/integration/jsconfig-paths/pages/basic-alias.js:2:1\\nModule not found: Can't resolve '@c/worldd'\\n\\u001b[0m \\u001b[90m 1 |\\u001b[39m \\u001b[36mimport\\u001b[39m \\u001b[33mReact\\u001b[39m \\u001b[36mfrom\\u001b[39m \\u001b[32m'react'\\u001b[39m\\u001b[0m\\n\\u001b[0m\\u001b[31m\\u001b[1m\\u003e\\u001b[22m\\u001b[39m\\u001b[90m 2 |\\u001b[39m \\u001b[36mimport\\u001b[39m { \\u001b[33mWorld\\u001b[39m } \\u001b[36mfrom\\u001b[39m \\u001b[32m'@c/worldd'\\u001b[39m\\u001b[0m\\n\\u001b[0m \\u001b[90m   |\\u001b[39m \\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[0m\\n\\u001b[0m \\u001b[90m 3 |\\u001b[39m\\u001b[0m\\n\\u001b[0m \\u001b[90m 4 |\\u001b[39m \\u001b[90m// prevent static generation\\u001b[39m\\u001b[0m\\n\\u001b[0m \\u001b[90m 5 |\\u001b[39m \\u001b[36mexport\\u001b[39m \\u001b[36mfunction\\u001b[39m getServerSideProps() {\\u001b[0m\\n\\nImport map: aliased to relative './components/worldd' inside of [project]/test/integration/jsconfig-paths\\n\\n\\nhttps://nextjs.org/docs/messages/module-not-found\\n\\n\\n    at Object.getCompilationErrors (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/dev/hot-reloader-turbopack.js:707:59)\\n    at DevBundlerService.getCompilationError (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/dev-bundler-service.js:39:55)\\n    at DevServer.getCompilationError (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/dev/next-dev-server.js:640:42)\\n    at DevServer.findPageComponents (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/dev/next-dev-server.js:610:43)\\n    at async DevServer.renderErrorToResponseImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/base-server.js:2511:26)\"},\"gip\":true,\"scriptLoader\":[]}"

  55 |     it('should resolve the second item as fallback', async () => {
  56 |       const $ = await get$('/resolve-fallback')
> 57 |       expect($('body').text()).toMatch(/Hello from only b/)
     |                                ^
  58 |     })
  59 |
  60 |     it('should resolve a single matching alias', async () => {

  at Object.toMatch (integration/jsconfig-paths/test/index.test.js:57:32)

● jsconfig paths without baseurl › default behavior › should resolve a single matching alias

expect(received).toMatch(expected)

Expected pattern: /Hello/
Received string:  "{\"props\":{\"pageProps\":{\"statusCode\":500,\"hostname\":\"[::]\"}},\"page\":\"/_error\",\"query\":{},\"buildId\":\"development\",\"isFallback\":false,\"err\":{\"name\":\"Error\",\"source\":\"server\",\"message\":\"./test/integration/jsconfig-paths/pages/basic-alias.js:2:1\\nModule not found: Can't resolve '@c/worldd'\\n  1 | import React from 'react'\\n\\u003e 2 | import { World } from '@c/worldd'\\n    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n  3 |\\n  4 | // prevent static generation\\n  5 | export function getServerSideProps() {\\n\\nImport map: aliased to relative './components/worldd' inside of [project]/test/integration/jsconfig-paths\\n\\n\\nhttps://nextjs.org/docs/messages/module-not-found\\n\\n\",\"stack\":\"Error: ./test/integration/jsconfig-paths/pages/basic-alias.js:2:1\\nModule not found: Can't resolve '@c/worldd'\\n\\u001b[0m \\u001b[90m 1 |\\u001b[39m \\u001b[36mimport\\u001b[39m \\u001b[33mReact\\u001b[39m \\u001b[36mfrom\\u001b[39m \\u001b[32m'react'\\u001b[39m\\u001b[0m\\n\\u001b[0m\\u001b[31m\\u001b[1m\\u003e\\u001b[22m\\u001b[39m\\u001b[90m 2 |\\u001b[39m \\u001b[36mimport\\u001b[39m { \\u001b[33mWorld\\u001b[39m } \\u001b[36mfrom\\u001b[39m \\u001b[32m'@c/worldd'\\u001b[39m\\u001b[0m\\n\\u001b[0m \\u001b[90m   |\\u001b[39m \\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[31m\\u001b[1m^\\u001b[22m\\u001b[39m\\u001b[0m\\n\\u001b[0m \\u001b[90m 3 |\\u001b[39m\\u001b[0m\\n\\u001b[0m \\u001b[90m 4 |\\u001b[39m \\u001b[90m// prevent static generation\\u001b[39m\\u001b[0m\\n\\u001b[0m \\u001b[90m 5 |\\u001b[39m \\u001b[36mexport\\u001b[39m \\u001b[36mfunction\\u001b[39m getServerSideProps() {\\u001b[0m\\n\\nImport map: aliased to relative './components/worldd' inside of [project]/test/integration/jsconfig-paths\\n\\n\\nhttps://nextjs.org/docs/messages/module-not-found\\n\\n\\n    at Object.getCompilationErrors (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/dev/hot-reloader-turbopack.js:707:59)\\n    at DevBundlerService.getCompilationError (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/dev-bundler-service.js:39:55)\\n    at DevServer.getCompilationError (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/dev/next-dev-server.js:640:42)\\n    at DevServer.findPageComponents (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/dev/next-dev-server.js:610:43)\\n    at async DevServer.renderErrorToResponseImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/base-server.js:2511:26)\"},\"gip\":true,\"scriptLoader\":[]}"

  60 |     it('should resolve a single matching alias', async () => {
  61 |       const $ = await get$('/single-alias')
> 62 |       expect($('body').text()).toMatch(/Hello/)
     |                                ^
  63 |     })
  64 |
  65 |     it('should have correct module not found error', async () => {

  at Object.toMatch (integration/jsconfig-paths/test/index.test.js:62:32)

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

pnpm test-dev-turbo test/development/acceptance/ReactRefreshRegression.test.ts (turbopack)

  • ReactRefreshRegression > can fast refresh a page with getStaticProps
  • ReactRefreshRegression > can fast refresh a page with config
  • ReactRefreshRegression > shows an overlay for a server-side error
Expand output

● ReactRefreshRegression › can fast refresh a page with getStaticProps

Application is in inconsistent state: timeout.

  93 |             }
  94 |             if (status !== 'pending') {
> 95 |               throw new Error(
     |                     ^
  96 |                 `Application is in inconsistent state: ${status}.`
  97 |               )
  98 |             }

  at Object.patch (lib/development-sandbox.ts:95:21)
  at Object.<anonymous> (development/acceptance/ReactRefreshRegression.test.ts:87:5)

● ReactRefreshRegression › can fast refresh a page with config

Application is in inconsistent state: timeout.

  93 |             }
  94 |             if (status !== 'pending') {
> 95 |               throw new Error(
     |                     ^
  96 |                 `Application is in inconsistent state: ${status}.`
  97 |               )
  98 |             }

  at Object.patch (lib/development-sandbox.ts:95:21)
  at Object.<anonymous> (development/acceptance/ReactRefreshRegression.test.ts:211:5)

● ReactRefreshRegression › shows an overlay for a server-side error

Application is in inconsistent state: timeout.

  93 |             }
  94 |             if (status !== 'pending') {
> 95 |               throw new Error(
     |                     ^
  96 |                 `Application is in inconsistent state: ${status}.`
  97 |               )
  98 |             }

  at Object.patch (lib/development-sandbox.ts:95:21)
  at Object.<anonymous> (development/acceptance/ReactRefreshRegression.test.ts:273:5)

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

pnpm test-dev-turbo test/development/acceptance-app/ReactRefreshRegression.test.ts (turbopack)

  • ReactRefreshRegression app > can fast refresh a page with static generation
  • ReactRefreshRegression app > can fast refresh a page with config
Expand output

● ReactRefreshRegression app › can fast refresh a page with static generation

Application is in inconsistent state: timeout.

  93 |             }
  94 |             if (status !== 'pending') {
> 95 |               throw new Error(
     |                     ^
  96 |                 `Application is in inconsistent state: ${status}.`
  97 |               )
  98 |             }

  at Object.patch (lib/development-sandbox.ts:95:21)
  at Object.<anonymous> (development/acceptance-app/ReactRefreshRegression.test.ts:87:5)

● ReactRefreshRegression app › can fast refresh a page with config

TIMED OUT: 0

null

undefined

  735 |
  736 |   if (hardError) {
> 737 |     throw new Error('TIMED OUT: ' + regex + '\n\n' + content + '\n\n' + lastErr)
      |           ^
  738 |   }
  739 |   return false
  740 | }

  at check (lib/next-test-utils.ts:737:11)
  at Object.<anonymous> (development/acceptance-app/ReactRefreshRegression.test.ts:259:5)

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

pnpm test-start-turbo test/e2e/persistent-caching/persistent-caching.test.ts (turbopack)

  • persistent-caching > should persistent cache loaders
  • persistent-caching > should allow to change files while stopped
Expand output

● persistent-caching › should persistent cache loaders

thrown: "Exceeded timeout of 120000 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."

  32 |   }
  33 |
> 34 |   it('should persistent cache loaders', async () => {
     |   ^
  35 |     let appTimestamp, pagesTimestamp
  36 |     {
  37 |       const browser = await next.browser('/')

  at it (e2e/persistent-caching/persistent-caching.test.ts:34:3)
  at Object.describe (e2e/persistent-caching/persistent-caching.test.ts:4:1)

● persistent-caching › should allow to change files while stopped

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

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

  at BrowserInterface.goto (lib/browsers/playwright.ts:284:16)
  at webdriver (lib/next-webdriver.ts:136:3)
  at Object.<anonymous> (e2e/persistent-caching/persistent-caching.test.ts:64:23)

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

pnpm test-dev-turbo test/e2e/streaming-ssr/index.test.ts (turbopack)

  • streaming SSR with custom next configs > should work with custom document
Expand output

● streaming SSR with custom next configs › should work with custom document

thrown: "Exceeded timeout of 240000 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."

  58 |
  59 |   if ((global as any).isNextDev) {
> 60 |     it('should work with custom document', async () => {
     |     ^
  61 |       await next.patchFile(
  62 |         'pages/_document.js',
  63 |         `

  at it (e2e/streaming-ssr/index.test.ts:60:5)
  at Object.describe (e2e/streaming-ssr/index.test.ts:15:1)

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

@sokra sokra force-pushed the sokra/lazy-connect branch from 64c5f96 to 4c56daf Compare January 24, 2025 13:25
@sokra sokra force-pushed the sokra/update-aggregation-before-connect branch from b36ada1 to a0ae4f6 Compare January 24, 2025 13:37
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
created-by: Turbopack team PRs by the Turbopack team.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants