Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Turbopack: Move build to separate file #75390

Merged
merged 4 commits into from
Jan 29, 2025

Conversation

timneutkens
Copy link
Member

@timneutkens timneutkens commented Jan 28, 2025

What?

Mirrors the handling for webpack by using NextBuildContext for all needed information.

This will allow for moving the turbopack build to a child process for memory cleanup once the compiler finishes.

This PR is intended to only move the code, will create a PR stacked on this one to add the child process handling.

@ijjk ijjk added created-by: Next.js team PRs by the Next.js team. type: next labels Jan 28, 2025
Copy link
Member Author

timneutkens commented Jan 28, 2025

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

@timneutkens timneutkens marked this pull request as ready for review January 28, 2025 09:43
@timneutkens timneutkens force-pushed the 01-28-turbopack_move_build_to_separate_file branch from 56a0884 to 927d77d Compare January 28, 2025 10:40
@ijjk
Copy link
Member

ijjk commented Jan 28, 2025

Stats from current PR

Default Build (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary vercel/next.js 01-28-turbopack_move_build_to_separate_file Change
buildDuration 17.4s 14.8s N/A
buildDurationCached 13.6s 11.4s N/A
nodeModulesSize 392 MB 392 MB ⚠️ +2.26 kB
nextStartRea..uration (ms) 422ms 435ms N/A
Client Bundles (main, webpack)
vercel/next.js canary vercel/next.js 01-28-turbopack_move_build_to_separate_file Change
5306-HASH.js gzip 54 kB 53.9 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
framework-HASH.js gzip 57.5 kB 57.5 kB N/A
main-app-HASH.js gzip 241 B 242 B N/A
main-HASH.js gzip 34.5 kB 34.4 kB N/A
webpack-HASH.js gzip 1.71 kB 1.71 kB N/A
Overall change 52.9 kB 52.9 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary vercel/next.js 01-28-turbopack_move_build_to_separate_file 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 01-28-turbopack_move_build_to_separate_file 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 01-28-turbopack_move_build_to_separate_file 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 01-28-turbopack_move_build_to_separate_file Change
index.html gzip 523 B 523 B
link.html gzip 537 B 538 B N/A
withRouter.html gzip 518 B 519 B N/A
Overall change 523 B 523 B
Edge SSR bundle Size
vercel/next.js canary vercel/next.js 01-28-turbopack_move_build_to_separate_file 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 01-28-turbopack_move_build_to_separate_file Change
middleware-b..fest.js gzip 670 B 664 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 01-28-turbopack_move_build_to_separate_file Change
app-page-exp...dev.js gzip 386 kB 386 kB N/A
app-page-exp..prod.js gzip 131 kB 131 kB
app-page-tur..prod.js gzip 144 kB 144 kB
app-page-tur..prod.js gzip 140 kB 140 kB
app-page.run...dev.js gzip 373 kB 373 kB N/A
app-page.run..prod.js gzip 128 kB 128 kB
app-route-ex...dev.js gzip 39.4 kB 39.4 kB
app-route-ex..prod.js gzip 25 kB 25 kB
app-route-tu..prod.js gzip 25 kB 25 kB
app-route-tu..prod.js gzip 24.8 kB 24.8 kB
app-route.ru...dev.js gzip 41 kB 41 kB
app-route.ru..prod.js gzip 24.8 kB 24.8 kB
dist_client_...dev.js gzip 326 B 326 B
dist_client_...dev.js gzip 318 B 318 B
pages-api-tu..prod.js gzip 8.81 kB 8.81 kB
pages-api.ru...dev.js gzip 11.5 kB 11.5 kB
pages-api.ru..prod.js gzip 8.8 kB 8.8 kB
pages-turbo...prod.js gzip 21.6 kB 21.6 kB
pages.runtim...dev.js gzip 31.3 kB 31.3 kB N/A
pages.runtim..prod.js gzip 21.6 kB 21.6 kB
server.runti..prod.js gzip 73.7 kB 73.7 kB
Overall change 870 kB 870 kB
build cache Overall increase ⚠️
vercel/next.js canary vercel/next.js 01-28-turbopack_move_build_to_separate_file Change
0.pack gzip 2.1 MB 2.1 MB N/A
index.pack gzip 75.6 kB 76.5 kB ⚠️ +966 B
Overall change 75.6 kB 76.5 kB ⚠️ +966 B
Diff details
Diff for main-HASH.js

Diff too large to display

Diff for app-page-exp..ntime.dev.js
failed to diff
Diff for app-page.runtime.dev.js
failed to diff
Diff for pages.runtime.dev.js

Diff too large to display

Commit: 927d77d

@timneutkens timneutkens merged commit bc9131a into canary Jan 29, 2025
131 checks passed
@timneutkens timneutkens deleted the 01-28-turbopack_move_build_to_separate_file branch January 29, 2025 10:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants