Skip to content

[turbopack] Inline the chunk group bootstrap in Next.js to drop the per-route runtime#94666

Merged
sampoder merged 1 commit into
sp/turbopack/registration-code-build-manifestfrom
sp/turbopack/inline-registration-code
Jul 16, 2026
Merged

[turbopack] Inline the chunk group bootstrap in Next.js to drop the per-route runtime#94666
sampoder merged 1 commit into
sp/turbopack/registration-code-build-manifestfrom
sp/turbopack/inline-registration-code

Conversation

@sampoder

@sampoder sampoder commented Jun 10, 2026

Copy link
Copy Markdown
Member

This PR builds on top of the other PRs in this stack, it is the PR that switches to inlining the bootstrap code and dropping the runtime file that each route had.

@github-actions

github-actions Bot commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

Stats from current PR

🔴 1 regression

Metric Canary PR Change Trend
node_modules Size 516 MB 516 MB 🔴 +187 kB (+0%) ▁▁▁▁▁
📊 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) 761ms 808ms ▁▂▁▁▁
Cold (Ready in log) 756ms 768ms ▁▂▁▁▁
Cold (First Request) 1.281s 1.265s ▁▂▁▁▁
Warm (Listen) 761ms 813ms ▁▂▁▁▁
Warm (Ready in log) 762ms 784ms ▁▁▁▁▁
Warm (First Request) 1.256s 1.303s ▁▁▁▁▁
📦 Dev Server (Webpack) (Legacy)

📦 Dev Server (Webpack)

Metric Canary PR Change Trend
Cold (Listen) 813ms 814ms ▂▁▁▂▁
Cold (Ready in log) 815ms 816ms ▁▁▁▂▁
Cold (First Request) 3.629s 3.639s ▂▁▁▂▁
Warm (Listen) 815ms 865ms ▂▂▂▂▁
Warm (Ready in log) 814ms 824ms ▁▁▁▂▁
Warm (First Request) 3.571s 3.630s ▁▁▁▁▁

⚡ Production Builds

Metric Canary PR Change Trend
Fresh Build 4.954s 4.932s ▁▃▁▁▁
Cached Build 4.978s 5.027s ▁▃▁▁▁
📦 Production Builds (Webpack) (Legacy)

📦 Production Builds (Webpack)

Metric Canary PR Change Trend
Fresh Build 27.102s 26.717s ▂▁▁▂▁
Cached Build 26.851s 27.226s ▁▁▁▂▁
node_modules Size 516 MB 516 MB 🔴 +187 kB (+0%) ▁▁▁▁▁
📦 Bundle Sizes

Bundle Sizes

⚡ Turbopack

Client

Main Bundles
Canary PR Change
02fwsva46cnsd.js gzip 154 B N/A -
03gmyxr7dukvs.js gzip 10.3 kB N/A -
03gqxoqyjt32f.js gzip 166 B N/A -
040t1q17lo593.js gzip 8.77 kB N/A -
04yn6-hxsbhh9.js gzip 155 B N/A -
0bb0vtp8dwsez.js gzip 450 B N/A -
0cz1d0mv5g_q7.js gzip 39.4 kB 39.4 kB
0l0sr6gau5xjn.js gzip 3.53 kB N/A -
0nxqz3q165m2l.js gzip 220 B N/A -
0qr-1tnb7_hg5.js gzip 5.72 kB N/A -
0uilzvklme4ea.js gzip 8.76 kB N/A -
0umj2po0qo8--.js gzip 151 B N/A -
0wgy8k62lzswt.js gzip 158 B N/A -
0z0y83mfx-l-h.js gzip 10 kB N/A -
1_-g_r52k540c.js gzip 7.4 kB N/A -
15ok8ydf274z0.js gzip 10.6 kB N/A -
16cqqcigykfea.js gzip 13.6 kB N/A -
17h18zxt1915l.js gzip 1.46 kB N/A -
1elt1qium-r2m.css gzip 115 B 115 B
1fq1h7dxad4cv.js gzip 9.44 kB N/A -
1fym-adbk_69_.js gzip 13.1 kB N/A -
1g80-jfls9qyr.js gzip 13.2 kB N/A -
1gav7nfh4y8ln.js gzip 8.76 kB N/A -
1ngcyobfk1zxm.js gzip 153 B N/A -
1ufl-_jc-p-jv.js gzip 65.6 kB N/A -
215pz0dr_p8-l.js gzip 154 B N/A -
2gj21se-1b63n.js gzip 155 B N/A -
2rypqffktcxqh.js gzip 8.69 kB N/A -
2uqsizxtehgqf.js gzip 8.79 kB N/A -
2vzktdqwbijqc.js gzip 8.74 kB N/A -
2wcar9zudlttv.js gzip 44.9 kB N/A -
3-gngtpe4rl0x.js gzip 71.2 kB N/A -
35a66acyid_yb.js gzip 153 B N/A -
35gmp7bjd2zkr.js gzip 153 B N/A -
38b3-cip-8bzs.js gzip 154 B N/A -
38wt4lnp9jabj.js gzip 155 B N/A -
3c244akvx_-be.js gzip 8.74 kB N/A -
3dmlemitx3ef3.js gzip 2.29 kB N/A -
3w-7qnx6dkxe8.js gzip 157 B N/A -
4237vdj6eyslt.js gzip 8.7 kB N/A -
turbopack-0s..3kt_.js gzip 3.77 kB N/A -
turbopack-11..gttf.js gzip 3.79 kB N/A -
turbopack-13..ncy1.js gzip 3.78 kB N/A -
turbopack-1l..ar39.js gzip 3.77 kB N/A -
turbopack-1n..mjf_.js gzip 3.77 kB N/A -
turbopack-1x..5-cr.js gzip 3.78 kB N/A -
turbopack-29..crni.js gzip 3.77 kB N/A -
turbopack-2h..sh6c.js gzip 3.76 kB N/A -
turbopack-3a..fajw.js gzip 3.78 kB N/A -
turbopack-3f..jshs.js gzip 3.77 kB N/A -
turbopack-3p..rjcy.js gzip 3.77 kB N/A -
turbopack-3u..1s99.js gzip 3.78 kB N/A -
turbopack-3x..e0mu.js gzip 3.78 kB N/A -
turbopack-43..lmld.js gzip 3.78 kB N/A -
0_brf1o8xtfgw.js gzip N/A 156 B -
00tc16j5-eos9.js gzip N/A 1.46 kB -
01c60iuf_bpri.js gzip N/A 71.2 kB -
0gaw1gmpwuwkn.js gzip N/A 8.8 kB -
0lfd6n4hnvfus.js gzip N/A 156 B -
0mwo2e6a43qd6.js gzip N/A 154 B -
0oxxm8ra6x40w.js gzip N/A 155 B -
12zyjjmq4oad1.js gzip N/A 5.72 kB -
1b_5lm2rb0cxg.js gzip N/A 65.6 kB -
1k9cc4-gpa2cx.js gzip N/A 13.1 kB -
1kfiwrcr725kl.js gzip N/A 13.2 kB -
1n59uogejo81s.js gzip N/A 10.3 kB -
1npei3hlexdv3.js gzip N/A 9.99 kB -
1q-0qyccjh4q3.js gzip N/A 158 B -
1ssuiwj_rnpc5.js gzip N/A 8.77 kB -
2-phc9obd3nyd.js gzip N/A 8.77 kB -
20z9kb96_57f4.js gzip N/A 164 B -
24utq57r3l1cw.js gzip N/A 8.7 kB -
2aw0kxkhyra0_.js gzip N/A 153 B -
2eemzo7z71a10.js gzip N/A 154 B -
2fhjq6ek3srmr.js gzip N/A 8.69 kB -
2g0t7upz_v-hf.js gzip N/A 10.6 kB -
2ia9qqy99aie9.js gzip N/A 13.6 kB -
2n5fp99a5xt9s.js gzip N/A 7.4 kB -
2oza28kdqvoay.js gzip N/A 8.74 kB -
2s1ku9sx60j5g.js gzip N/A 155 B -
2smk18o7qzte6.js gzip N/A 154 B -
2zh8-mmhujy8o.js gzip N/A 2.29 kB -
30h_m0irj-q6p.js gzip N/A 221 B -
37ejbfx1u9lpo.js gzip N/A 8.75 kB -
38c63ct4i1cy7.js gzip N/A 449 B -
38pfb-vjc58zl.js gzip N/A 160 B -
3jimpal3lvz5e.js gzip N/A 9.44 kB -
3rxda-enqm36a.js gzip N/A 45 kB -
3su6a4l8jbfth.js gzip N/A 3.53 kB -
3vp18tbs9ie7b.js gzip N/A 156 B -
3wb4pe4z4-aim.js gzip N/A 8.77 kB -
43cuc9gzge2dj.js gzip N/A 151 B -
turbopack-0r..o21k.js gzip N/A 3.77 kB -
turbopack-0v..6n4f.js gzip N/A 3.78 kB -
turbopack-12..bfke.js gzip N/A 3.77 kB -
turbopack-1a..ll78.js gzip N/A 3.77 kB -
turbopack-1j..lqtq.js gzip N/A 3.77 kB -
turbopack-1v..tzol.js gzip N/A 3.79 kB -
turbopack-1x..lsi3.js gzip N/A 3.78 kB -
turbopack-2i..bzur.js gzip N/A 3.77 kB -
turbopack-2j..senq.js gzip N/A 3.76 kB -
turbopack-3_..wlef.js gzip N/A 3.77 kB -
turbopack-3-..hdvm.js gzip N/A 3.77 kB -
turbopack-3l..eco6.js gzip N/A 3.77 kB -
turbopack-3m..txtb.js gzip N/A 3.77 kB -
turbopack-3w..c3ex.js gzip N/A 3.78 kB -
Total 447 kB 447 kB ⚠️ +40 B

Server

Middleware
Canary PR Change
middleware-b..fest.js gzip 728 B 748 B 🔴 +20 B (+3%)
Total 728 B 748 B ⚠️ +20 B
Build Details
Build Manifests
Canary PR Change
_buildManifest.js gzip 432 B 436 B
Total 432 B 436 B ⚠️ +4 B

📦 Webpack

Client

Main Bundles
Canary PR Change
2486.HASH.js gzip 169 B N/A -
3146-HASH.js gzip 64.1 kB N/A -
39fcf99b-HASH.js gzip 62.9 kB N/A -
8443-HASH.js gzip 4.68 kB N/A -
9431-HASH.js gzip 5.62 kB N/A -
framework-HASH.js gzip 59.8 kB 59.8 kB
main-app-HASH.js gzip 256 B 252 B 🟢 4 B (-2%)
main-HASH.js gzip 39.7 kB 40.1 kB 🔴 +454 B (+1%)
webpack-HASH.js gzip 1.68 kB 1.68 kB
6105-HASH.js gzip N/A 5.63 kB -
764.HASH.js gzip N/A 169 B -
8898-HASH.js gzip N/A 63.5 kB -
9597-HASH.js gzip N/A 4.65 kB -
e1ccab69-HASH.js gzip N/A 62.9 kB -
Total 239 kB 239 kB ✅ -193 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 182 B
css-HASH.js gzip 335 B 335 B
dynamic-HASH.js gzip 1.8 kB 1.8 kB
edge-ssr-HASH.js gzip 255 B 254 B
head-HASH.js gzip 351 B 349 B
hooks-HASH.js gzip 384 B 384 B
image-HASH.js gzip 580 B 580 B
index-HASH.js gzip 259 B 259 B
link-HASH.js gzip 2.49 kB 2.49 kB
routerDirect..HASH.js gzip 319 B 319 B
script-HASH.js gzip 386 B 386 B
withRouter-HASH.js gzip 315 B 313 B
1afbb74e6ecf..834.css gzip 106 B 106 B
Total 7.96 kB 7.95 kB ✅ -7 B

Server

Edge SSR
Canary PR Change
edge-ssr.js gzip 128 kB 128 kB
page.js gzip 283 kB 285 kB 🔴 +2.25 kB (+1%)
Total 410 kB 412 kB ⚠️ +2.13 kB
Middleware
Canary PR Change
middleware-b..fest.js gzip 618 B 616 B
middleware-r..fest.js gzip 156 B 155 B
middleware.js gzip 45.2 kB 44.9 kB
edge-runtime..pack.js gzip 842 B 842 B
Total 46.8 kB 46.5 kB ✅ -270 B
Build Details
Build Manifests
Canary PR Change
_buildManifest.js gzip 719 B 720 B
Total 719 B 720 B ⚠️ +1 B
Build Cache
Canary PR Change
0.pack gzip 4.79 MB 4.8 MB 🔴 +9.06 kB (+0%)
index.pack gzip 118 kB 120 kB 🔴 +1.48 kB (+1%)
index.pack.old gzip 117 kB 119 kB 🔴 +1.71 kB (+1%)
Total 5.03 MB 5.04 MB ⚠️ +12.2 kB

🔄 Shared (bundler-independent)

Runtimes
Canary PR Change
app-page-exp...dev.js gzip 363 kB 364 kB
app-page-exp..prod.js gzip 201 kB 201 kB
app-page-tur...dev.js gzip 363 kB 363 kB
app-page-tur..prod.js gzip 201 kB 201 kB
app-page-tur...dev.js gzip 360 kB 360 kB
app-page-tur..prod.js gzip 199 kB 199 kB
app-page.run...dev.js gzip 360 kB 360 kB
app-page.run..prod.js gzip 199 kB 199 kB
app-route-ex...dev.js gzip 81.3 kB 81.3 kB
app-route-ex..prod.js gzip 55.3 kB 55.3 kB
app-route-tu...dev.js gzip 81.4 kB 81.4 kB
app-route-tu..prod.js gzip 55.4 kB 55.4 kB
app-route-tu...dev.js gzip 81 kB 81 kB
app-route-tu..prod.js gzip 55.1 kB 55.1 kB
app-route.ru...dev.js gzip 80.9 kB 80.9 kB
app-route.ru..prod.js gzip 55.1 kB 55.1 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 45.2 kB 45.2 kB
pages-api-tu..prod.js gzip 34 kB 34 kB
pages-api.ru...dev.js gzip 45.2 kB 45.2 kB
pages-api.ru..prod.js gzip 33.9 kB 33.9 kB
pages-turbo....dev.js gzip 54.7 kB 54.7 kB
pages-turbo...prod.js gzip 39.6 kB 39.6 kB
pages.runtim...dev.js gzip 54.7 kB 54.7 kB
pages.runtim..prod.js gzip 39.6 kB 39.6 kB
server.runti..prod.js gzip 65.3 kB 65.3 kB
use-cache-pr...dev.js gzip 71.4 kB 71.4 kB
use-cache-pr...dev.js gzip 71.4 kB 71.4 kB
use-cache-pr...dev.js gzip 69.7 kB 69.7 kB
use-cache-pr...dev.js gzip 69.7 kB 69.7 kB
Total 3.49 MB 3.49 MB ⚠️ +2.45 kB
📝 Changed Files (10 files)

Files with changes:

  • app-page-exp..ntime.dev.js
  • app-page-exp..time.prod.js
  • app-page-tur..ntime.dev.js
  • app-page-tur..time.prod.js
  • app-page-tur..ntime.dev.js
  • app-page-tur..time.prod.js
  • app-page.runtime.dev.js
  • app-page.runtime.prod.js
  • pages-api-tu..time.prod.js
  • pages-turbo...time.prod.js
View diffs
app-page-exp..ntime.dev.js
failed to diff
app-page-exp..time.prod.js
failed to diff
app-page-tur..ntime.dev.js
failed to diff
app-page-tur..time.prod.js

Diff too large to display

app-page-tur..ntime.dev.js
failed to diff
app-page-tur..time.prod.js
failed to diff
app-page.runtime.dev.js
failed to diff
app-page.runtime.prod.js
failed to diff
pages-api-tu..time.prod.js

Diff too large to display

pages-turbo...time.prod.js

Diff too large to display

📎 Tarball URL
https://vercel-packages.vercel.app/next/commits/a5aa5a92d1097a5e46695412ad33aeba843a8daf/next

Commit: a5aa5a9

@github-actions

github-actions Bot commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

Tests Passed

Commit: a5aa5a9

Comment thread packages/next/src/server/app-render/app-render.tsx Outdated
@sampoder
sampoder force-pushed the sp/turbopack/inline-registration-code branch from 0fb778a to cd89baf Compare June 10, 2026 18:48
@sampoder
sampoder force-pushed the sp/turbopack/registration-code-build-manifest branch from fb9cb49 to 4d9e156 Compare June 10, 2026 18:48
@sampoder sampoder changed the title sp/turbopack/inline registration code [turbopack] Inline the chunk group bootstrap code in Next.js to drop the per-route runtime Jun 10, 2026
@sampoder
sampoder force-pushed the sp/turbopack/registration-code-build-manifest branch from 4d9e156 to 473a8cb Compare June 10, 2026 19:05
@sampoder
sampoder force-pushed the sp/turbopack/inline-registration-code branch from cd89baf to 9475cf8 Compare June 10, 2026 19:05
@sampoder
sampoder force-pushed the sp/turbopack/registration-code-build-manifest branch from 473a8cb to a9756ee Compare June 10, 2026 20:57
@sampoder
sampoder force-pushed the sp/turbopack/inline-registration-code branch from 9475cf8 to 99feb4c Compare June 10, 2026 20:57
@sampoder
sampoder force-pushed the sp/turbopack/inline-registration-code branch from 99feb4c to 741e40d Compare June 10, 2026 21:40
@sampoder
sampoder force-pushed the sp/turbopack/registration-code-build-manifest branch from a9756ee to 17fcd4e Compare June 10, 2026 21:40
@sampoder sampoder changed the title [turbopack] Inline the chunk group bootstrap code in Next.js to drop the per-route runtime [turbopack] Inline the chunk group bootstrap in Next.js to drop the per-route runtime Jun 10, 2026
@sampoder
sampoder force-pushed the sp/turbopack/inline-registration-code branch from 741e40d to 7a7cec6 Compare June 10, 2026 21:49
@sampoder
sampoder force-pushed the sp/turbopack/registration-code-build-manifest branch from 17fcd4e to 05d9e37 Compare June 10, 2026 22:21
@sampoder
sampoder force-pushed the sp/turbopack/inline-registration-code branch 2 times, most recently from 797e139 to 9a16987 Compare June 16, 2026 18:28
@sampoder
sampoder force-pushed the sp/turbopack/registration-code-build-manifest branch 2 times, most recently from 6c44f9f to b4a40da Compare June 16, 2026 18:33
@sampoder
sampoder force-pushed the sp/turbopack/inline-registration-code branch from 9a16987 to 830c7a0 Compare June 16, 2026 18:33
@sampoder
sampoder force-pushed the sp/turbopack/registration-code-build-manifest branch from b4a40da to 9ea672c Compare June 16, 2026 18:36
@sampoder
sampoder force-pushed the sp/turbopack/inline-registration-code branch 2 times, most recently from 7bde6dd to b266287 Compare June 16, 2026 18:41
@sampoder
sampoder force-pushed the sp/turbopack/registration-code-build-manifest branch from 9ea672c to 9fb9b81 Compare June 16, 2026 18:41
@sampoder
sampoder marked this pull request as ready for review June 16, 2026 18:49
@sampoder
sampoder requested review from bgw and lukesandberg June 16, 2026 18:49
@sampoder
sampoder force-pushed the sp/turbopack/inline-registration-code branch from b266287 to f383bad Compare June 30, 2026 21:46
@sampoder
sampoder force-pushed the sp/turbopack/registration-code-build-manifest branch from 9fb9b81 to 7da768a Compare June 30, 2026 21:46
@sampoder
sampoder force-pushed the sp/turbopack/inline-registration-code branch from f383bad to f4a9fbe Compare June 30, 2026 21:59
@sampoder
sampoder force-pushed the sp/turbopack/registration-code-build-manifest branch 2 times, most recently from a79706e to e11f239 Compare June 30, 2026 22:09
@sampoder
sampoder force-pushed the sp/turbopack/inline-registration-code branch 2 times, most recently from 8a3db7e to 9b8e3dc Compare June 30, 2026 22:10
@sampoder
sampoder force-pushed the sp/turbopack/registration-code-build-manifest branch from e11f239 to 158bce5 Compare June 30, 2026 22:10
@sampoder
sampoder force-pushed the sp/turbopack/inline-registration-code branch 5 times, most recently from 3710e34 to bf07da2 Compare June 30, 2026 22:38
Comment on lines +253 to +254
// Run a navigated route's inlined bootstrap so its entry module executes and
// registers via `window.__NEXT_P`. The initial page is bootstrapped in the document.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this used for navigation? Or initial page load? Or both?

): string | undefined {
const paramsByPage = buildManifest.pagesChunkGroupBootstrapParams
const chunkLoadingGlobal = buildManifest.chunkLoadingGlobal
if (!paramsByPage || !chunkLoadingGlobal) return undefined

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These should never be null?

`(globalThis[${g}] || (globalThis[${g}] = [])).push(${params});`
)

return statements.length > 0 ? statements.join('\n') : undefined

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can statements.length be 0? Should this be able to return undefined?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah, because this is feature flagged now this is possible

'/_app',
__NEXT_DATA__.page,
])
if (!bootstrap) return null

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should it actually be possible for getTurbopackChunkGroupBootstrap to return null or undefined?

if (bootstrappedRoutes.has(route)) return
const params = self.__TURBOPACK_PAGE_BOOTSTRAP?.[route]
const global = self.__TURBOPACK_CHUNK_LOADING_GLOBAL
if (params == null || !global) return

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When would this happen?

Comment on lines +4100 to +4104
const errorBootstrapScriptContent = process.env.__NEXT_DEV_SERVER
? bootstrapScriptContent
: getTurbopackChunkGroupBootstrap(buildManifest, [
UNDERSCORE_NOT_FOUND_ROUTE_ENTRY,
])

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this meaningfully different than bootstrapScriptContent above? Is page !== UNDERSCORE_NOT_FOUND_ROUTE_ENTRY

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes - bootstrapScriptContent would be for the original page you were requesting before the error happened

Comment on lines +595 to +596
const paramsByRoute = m.pagesChunkGroupBootstrapParams
if (!paramsByRoute) continue

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This parameter in SerializedBuildManifest is not nullable?

pub pages_chunk_group_bootstrap_params: FxIndexMap<RcStr, RcStr>,

@sampoder
sampoder force-pushed the sp/turbopack/inline-registration-code branch from bf07da2 to 9a9f1a6 Compare July 15, 2026 18:56
@sampoder
sampoder force-pushed the sp/turbopack/registration-code-build-manifest branch 2 times, most recently from 8baa0f5 to e1517db Compare July 15, 2026 22:25
@sampoder
sampoder force-pushed the sp/turbopack/inline-registration-code branch from 9a9f1a6 to b321f68 Compare July 15, 2026 22:25
@sampoder
sampoder force-pushed the sp/turbopack/registration-code-build-manifest branch from e1517db to 3c77fb8 Compare July 16, 2026 01:03
@sampoder
sampoder force-pushed the sp/turbopack/inline-registration-code branch from b321f68 to a5aa5a9 Compare July 16, 2026 01:03
@sampoder
sampoder merged commit f282e47 into canary Jul 16, 2026
128 checks passed
@sampoder
sampoder deleted the sp/turbopack/inline-registration-code branch July 16, 2026 07:35
sampoder added a commit that referenced this pull request Jul 16, 2026
…text` and `chunk_group_bootstrap_params` to `ChunkGroupResult` (#94661)

We used to generate the runtime file for each `ChunkGroupResult` in
`evaluated_chunk_group()`, I've added `chunk_group_bootstrap_params`
which are the parameters that were unique to each chunk group. These are
inlined into each page's HTML in
#94666. They look like:

```javascript
{"otherChunks":["output/0_9x_turbopack-tests_tests_snapshot_basic-tree-shake_export-namespace_input_1mqgz2-._.js"],
"runtimeModuleIds":["[project]/turbopack/crates/turbopack-tests/tests/snapshot/basic-tree-shake/export-namespace/input/index.js [test] (ecmascript)"]}
```

Whether or not the inline-able code is generated is based on the
`inline_chunk_group_bootstrap` which is still false in all cases at the
moment but will be turned to true in
#94666.
sampoder added a commit that referenced this pull request Jul 16, 2026
…global to the build manifest (#94663)

This PR inserts the bootstrapping parameters into the build manifest so
they can then be inlined in
#94666.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants