-
Notifications
You must be signed in to change notification settings - Fork 27.5k
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
Remove endpoint.write_to_disk()
in favor of standardized endpoint.output()
#75059
base: canary
Are you sure you want to change the base?
Conversation
Failing test suitesCommit: 192bdc6
Expand output● ReactRefreshRequire › propagates hot update to all inverse dependencies
Read more about building and testing Next.js in contributing.md.
Expand output● ReactRefreshRequire app › re-runs accepted modules
● ReactRefreshRequire app › propagates a hot update to closest accepted module
● ReactRefreshRequire app › propagates hot update to all inverse dependencies
Read more about building and testing Next.js in contributing.md.
Expand output● _app removal HMR › should HMR when _app is removed
Read more about building and testing Next.js in contributing.md.
Expand output● HMR - Error Recovery, nextConfig: { basePath: '', assetPrefix: '' } › should recover after webpack parse error in an imported file
● HMR - Error Recovery, nextConfig: { basePath: '', assetPrefix: '/asset-prefix' } › should recover after webpack parse error in an imported file
● HMR - Error Recovery, nextConfig: { basePath: '/docs', assetPrefix: '' } › should recover after webpack parse error in an imported file
● HMR - Error Recovery, nextConfig: { basePath: '/docs', assetPrefix: '/asset-prefix' } › should recover after webpack parse error in an imported file
Read more about building and testing Next.js in contributing.md. |
Stats from current PRDefault Build (Increase detected
|
vercel/next.js canary | vercel/next.js wbinnssmith/endpoint-output-assets | Change | |
---|---|---|---|
buildDuration | 20.8s | 17.9s | N/A |
buildDurationCached | 16.9s | 14.3s | N/A |
nodeModulesSize | 418 MB | 418 MB | ✓ |
nextStartRea..uration (ms) | 456ms | 434ms | N/A |
Client Bundles (main, webpack)
vercel/next.js canary | vercel/next.js wbinnssmith/endpoint-output-assets | Change | |
---|---|---|---|
5306-HASH.js gzip | 54 kB | 54 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.4 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 wbinnssmith/endpoint-output-assets | 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 wbinnssmith/endpoint-output-assets | 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 wbinnssmith/endpoint-output-assets | 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 wbinnssmith/endpoint-output-assets | Change | |
---|---|---|---|
index.html gzip | 523 B | 523 B | ✓ |
link.html gzip | 538 B | 538 B | ✓ |
withRouter.html gzip | 519 B | 520 B | N/A |
Overall change | 1.06 kB | 1.06 kB | ✓ |
Edge SSR bundle Size
vercel/next.js canary | vercel/next.js wbinnssmith/endpoint-output-assets | Change | |
---|---|---|---|
edge-ssr.js gzip | 129 kB | 129 kB | N/A |
page.js gzip | 208 kB | 208 kB | N/A |
Overall change | 0 B | 0 B | ✓ |
Middleware size
vercel/next.js canary | vercel/next.js wbinnssmith/endpoint-output-assets | Change | |
---|---|---|---|
middleware-b..fest.js gzip | 671 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 wbinnssmith/endpoint-output-assets | 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 | 375 kB | 375 kB | ✓ |
app-page-exp..prod.js gzip | 130 kB | 130 kB | ✓ |
app-page-tur..prod.js gzip | 143 kB | 143 kB | ✓ |
app-page-tur..prod.js gzip | 139 kB | 139 kB | ✓ |
app-page.run...dev.js gzip | 363 kB | 363 kB | ✓ |
app-page.run..prod.js gzip | 126 kB | 126 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.47 MB | 2.47 MB | ✓ |
build cache Overall increase ⚠️
vercel/next.js canary | vercel/next.js wbinnssmith/endpoint-output-assets | Change | |
---|---|---|---|
0.pack gzip | 2.1 MB | 2.1 MB | |
index.pack gzip | 75.5 kB | 75.8 kB | |
Overall change | 2.17 MB | 2.18 MB |
Diff details
Diff for main-HASH.js
Diff too large to display
efad310
to
b7a60c2
Compare
63bd765
to
89fa28f
Compare
b7a60c2
to
f36636b
Compare
89fa28f
to
57af58e
Compare
57af58e
to
029a819
Compare
f36636b
to
af331d2
Compare
…output()` This: - Makes the Endpoint trait not manage any file writing on its own, instead returning a structure containing OutputAssets, the paths where the OutputAssets can be found, and the associated Project. - Allows for OutputAssets to be written at a future point in Turbopack - Implements `endpoint_write_to_disk` for compatibility in dev. This continues to be used for prod builds, but in the future it won’t. In a future PR, production builds will dedupe and unify all output assets, writing them to disk at once, rather than exposing individual endpoint writes to JS to occur sequentially. Test Plan: CI
af331d2
to
192bdc6
Compare
This:
endpoint_write_to_disk
for compatibility in dev. This continues to be used for prod builds, but in the future it won’t.In a future PR, production builds will dedupe and unify all output assets, writing them to disk at once, rather than exposing individual endpoint writes to JS to occur sequentially.
Test Plan: CI