-
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
Production builds: write endpoints all at once #75304
base: canary
Are you sure you want to change the base?
Conversation
16ff469
to
645cba7
Compare
Failing test suitesCommit: 96b5aae
Expand output● app dir - with output export - dynamic missing gsp prod › production mode › should error when dynamic route is missing generateStaticParams
Read more about building and testing Next.js in contributing.md.
Expand output● edge runtime node compatibility › [app] supports node:buffer
● edge runtime node compatibility › [pages/api] supports node:buffer
● edge runtime node compatibility › does not warn when using supported node modules
Read more about building and testing Next.js in contributing.md.
Expand output● app-dir edge SSR › should handle edge only routes
● app-dir edge SSR › should retrieve cookies in a server component in the edge runtime
● app-dir edge SSR › should treat process as object without polyfill in edge runtime
● app-dir edge SSR › should handle /index routes correctly
● app-dir edge SSR › should generate matchers correctly in middleware manifest
Read more about building and testing Next.js in contributing.md.
Expand output● AppTree › production mode › should provide router context in AppTree on SSR
● AppTree › production mode › should provide router context in AppTree on CSR
● AppTree › production mode › should pass AppTree to NextPageContext
Read more about building and testing Next.js in contributing.md.
Expand output● Dynamic Routing › production mode › should have correct cache entries on prefetch
● Dynamic Routing › production mode › should support long URLs for dynamic routes
● Dynamic Routing › production mode › should handle only query on dynamic route
● Dynamic Routing › production mode › should handle only hash on dynamic route
● Dynamic Routing › production mode › should navigate with hash to dynamic route with link
● Dynamic Routing › production mode › should navigate with hash to dynamic route with router
● Dynamic Routing › production mode › should not have any query values when not defined
● Dynamic Routing › production mode › should render normal route
● Dynamic Routing › production mode › should render another normal route
● Dynamic Routing › production mode › should render dynamic page
● Dynamic Routing › production mode › should prioritize a non-dynamic page
● Dynamic Routing › production mode › should render nested dynamic page
● Dynamic Routing › production mode › should render optional dynamic page
● Dynamic Routing › production mode › should render nested optional dynamic page
● Dynamic Routing › production mode › should not error when requesting dynamic page with /api
● Dynamic Routing › production mode › should render dynamic route with query
● Dynamic Routing › production mode › should navigate to a dynamic page successfully
● Dynamic Routing › production mode › should navigate to a dynamic page with href with differing query and as correctly
● Dynamic Routing › production mode › should navigate to a dynamic page successfully no as
● Dynamic Routing › production mode › should navigate to a dynamic page successfully interpolated
● Dynamic Routing › production mode › should navigate to a dynamic page successfully interpolated with additional query values
● Dynamic Routing › production mode › should allow calling Router.push on mount successfully
● Dynamic Routing › production mode › should navigate optional dynamic page
● Dynamic Routing › production mode › should navigate optional dynamic page with value
● Dynamic Routing › production mode › should navigate to a nested dynamic page successfully
● Dynamic Routing › production mode › should navigate to a nested dynamic page successfully no as
● Dynamic Routing › production mode › should navigate to a nested dynamic page successfully interpolated
● Dynamic Routing › production mode › should pass params in getInitialProps during SSR
● Dynamic Routing › production mode › should pass params in getInitialProps during client navigation
● Dynamic Routing › production mode › [catch all] should not match root on SSR
● Dynamic Routing › production mode › [catch all] should pass param in getInitialProps during SSR
● Dynamic Routing › production mode › [catch all] should pass params in getInitialProps during SSR
● Dynamic Routing › production mode › [catch all] should strip trailing slash
● Dynamic Routing › production mode › [catch all] should not decode slashes (start)
● Dynamic Routing › production mode › [catch all] should not decode slashes (end)
● Dynamic Routing › production mode › [catch all] should not decode slashes (middle)
● Dynamic Routing › production mode › [catch-all] should pass params in getInitialProps during client navigation (single)
● Dynamic Routing › production mode › [catch-all] should pass params in getInitialProps during client navigation (multi)
● Dynamic Routing › production mode › [catch-all] should pass params in getInitialProps during client navigation (encoded)
● Dynamic Routing › production mode › [catch-all] shouldn't fail on colon followed by double digits in the path
● Dynamic Routing › production mode › [ssg: catch all] should pass param in getStaticProps during SSR
● Dynamic Routing › production mode › [ssg: catch all] should pass params in getStaticProps during SSR
● Dynamic Routing › production mode › [nested ssg: catch all] should pass param in getStaticProps during SSR
● Dynamic Routing › production mode › [nested ssg: catch all] should pass params in getStaticProps during SSR
● Dynamic Routing › production mode › [predefined ssg: catch all] should pass param in getStaticProps during SSR
● Dynamic Routing › production mode › [predefined ssg: catch all] should pass params in getStaticProps during SSR
● Dynamic Routing › production mode › [predefined ssg: prerendered catch all] should pass param in getStaticProps during SSR
● Dynamic Routing › production mode › [predefined ssg: prerendered catch all] should pass params in getStaticProps during SSR
● Dynamic Routing › production mode › [ssg: catch-all] should pass params in getStaticProps during client navigation (single)
● Dynamic Routing › production mode › [ssg: catch-all] should pass params in getStaticProps during client navigation (single interpolated)
● Dynamic Routing › production mode › [ssg: catch-all] should pass params in getStaticProps during client navigation (multi)
● Dynamic Routing › production mode › [ssg: catch-all] should pass params in getStaticProps during client navigation (multi) no as
● Dynamic Routing › production mode › [ssg: catch-all] should pass params in getStaticProps during client navigation (multi interpolated)
● Dynamic Routing › production mode › [nested ssg: catch-all] should pass params in getStaticProps during client navigation (single)
● Dynamic Routing › production mode › [nested ssg: catch-all] should pass params in getStaticProps during client navigation (multi)
● Dynamic Routing › production mode › should update dynamic values on mount
● Dynamic Routing › production mode › should not have placeholder query values for SSS
● Dynamic Routing › production mode › should update with a hash in the URL
● Dynamic Routing › production mode › should scroll to a hash on mount
● Dynamic Routing › production mode › should scroll to a hash on client-side navigation
● Dynamic Routing › production mode › should prioritize public files over dynamic route
● Dynamic Routing › production mode › should serve file with space from public folder
● Dynamic Routing › production mode › should serve file with plus from public folder
● Dynamic Routing › production mode › should serve file from public folder encoded
● Dynamic Routing › production mode › should serve file with %20 from public folder
● Dynamic Routing › production mode › should serve file with space from static folder
● Dynamic Routing › production mode › should serve file with plus from static folder
● Dynamic Routing › production mode › should serve file from static folder encoded
● Dynamic Routing › production mode › should serve file with %20 from static folder
● Dynamic Routing › production mode › should respond with bad request with invalid encoding
● Dynamic Routing › production mode › should not preload buildManifest for non-auto export dynamic pages
● Dynamic Routing › production mode › should output a routes-manifest correctly
● Dynamic Routing › production mode › should output a pages-manifest correctly
Read more about building and testing Next.js in contributing.md.
Expand output● app dir - with output export - dynamic api route prod › production mode › should work in prod with dynamicApiRoute undefined
● app dir - with output export - dynamic api route prod › production mode › should work in prod with dynamicApiRoute 'error'
● app dir - with output export - dynamic api route prod › production mode › should work in prod with dynamicApiRoute 'force-static'
● app dir - with output export - dynamic api route prod › production mode › should work in prod with dynamicApiRoute 'force-dynamic'
Read more about building and testing Next.js in contributing.md.
Expand output● Dynamic Optional Routing › production mode › should render catch-all top-level route with multiple segments
● Dynamic Optional Routing › production mode › should render catch-all top-level route with single segment
● Dynamic Optional Routing › production mode › should render catch-all top-level route with no segments
● Dynamic Optional Routing › production mode › should render catch-all nested route with multiple segments
● Dynamic Optional Routing › production mode › should render catch-all nested route with single segment
● Dynamic Optional Routing › production mode › should render catch-all nested route with no segments
● Dynamic Optional Routing › production mode › should render catch-all nested route with no segments and leading slash
● Dynamic Optional Routing › production mode › should match catch-all api route with multiple segments
● Dynamic Optional Routing › production mode › should match catch-all api route with single segment
● Dynamic Optional Routing › production mode › should match catch-all api route with no segments
● Dynamic Optional Routing › production mode › should match catch-all api route with no segments and leading slash
● Dynamic Optional Routing › production mode › should handle getStaticPaths no segments
● Dynamic Optional Routing › production mode › should handle getStaticPaths no segments and trailing slash
● Dynamic Optional Routing › production mode › should handle getStaticPaths 1 segment
● Dynamic Optional Routing › production mode › should handle getStaticPaths 1 segment and trailing slash
● Dynamic Optional Routing › production mode › should handle getStaticPaths 2 segments
● Dynamic Optional Routing › production mode › should handle getStaticPaths 2 segments and trailing slash
● Dynamic Optional Routing › production mode › should fall back to top-level catch-all
● Dynamic Optional Routing › production mode › should match root path on undefined param
● Dynamic Optional Routing › production mode › should match root path on false param
● Dynamic Optional Routing › production mode › should match root path on null param
● Dynamic Optional Routing › production mode › should handle getStaticPaths with fallback no segments
● Dynamic Optional Routing › production mode › should handle getStaticPaths with fallback 2 segments
● Dynamic Optional Routing › production mode › should fallback correctly when fallback enabled
● Dynamic Optional Routing › production mode › should fail to build when optional route has index.js at root
● Dynamic Optional Routing › production mode › should fail to build when optional route has same page at root
● Dynamic Optional Routing › production mode › should fail to build when mixed with regular catch-all
● Dynamic Optional Routing › production mode › should fail to build when optional but no catch-all
● Dynamic Optional Routing › production mode › should fail to build when param is not explicitly defined
Read more about building and testing Next.js in contributing.md.
Expand output● Image Component Default Tests › production mode › should load the images
● Image Component Default Tests › production mode › should preload priority images
● Image Component Default Tests › production mode › should not pass through user-provided srcset (causing a flash)
● Image Component Default Tests › production mode › should update the image on src change
● Image Component Default Tests › production mode › should callback onLoadingComplete when image is fully loaded
● Image Component Default Tests › production mode › should callback native onLoad with sythetic event
● Image Component Default Tests › production mode › should callback native onError when error occurred while loading image
● Image Component Default Tests › production mode › should callback native onError even when error before hydration
● Image Component Default Tests › production mode › should work with image with blob src
● Image Component Default Tests › production mode › should work when using flexbox
● Image Component Default Tests › production mode › should work when using overrideSrc prop
● Image Component Default Tests › production mode › should work with sizes and automatically use responsive srcset
● Image Component Default Tests › production mode › should render no wrappers or sizers
● Image Component Default Tests › production mode › should lazy load with placeholder=blur
● Image Component Default Tests › production mode › should handle the styles prop appropriately
● Image Component Default Tests › production mode › should warn when legacy prop layout=fill
● Image Component Default Tests › production mode › should warn when legacy prop layout=responsive
● Image Component Default Tests › production mode › should render picture via getImageProps
● Image Component Default Tests › production mode › should not create an image folder in server/chunks
● Image Component Default Tests › production mode › should render as unoptimized with missing src prop
● Image Component Default Tests › production mode › should render as unoptimized with empty string src prop
● Image Component Default Tests › production mode › should correctly ignore prose styles
● Image Component Default Tests › production mode › should apply style inheritance for img elements but not wrapper elements
● Image Component Default Tests › production mode › should apply filter style after image loads
● Image Component Default Tests › production mode › should emit image for next/dynamic with non ssr case
● Image Component Default Tests › production mode › Fill-mode tests › should include a data-attribute on fill images
● Image Component Default Tests › production mode › Fill-mode tests › should include a data-attribute on fill images
● Image Component Default Tests › production mode › Fill-mode tests › should add position:absolute to fill images
● Image Component Default Tests › production mode › Fill-mode tests › should add position:absolute to fill images
● Image Component Default Tests › production mode › Fill-mode tests › should add 100% width and height to fill images
● Image Component Default Tests › production mode › Fill-mode tests › should add 100% width and height to fill images
● Image Component Default Tests › production mode › Fill-mode tests › should add position styles to fill images
● Image Component Default Tests › production mode › Fill-mode tests › should add position styles to fill images
● Image Component Default Tests › production mode › should correctly rotate image
● Image Component Default Tests › production mode › should have data url placeholder when enabled
● Image Component Default Tests › production mode › should remove data url placeholder after image loads
● Image Component Default Tests › production mode › should render correct objectFit when data url placeholder and fill
● Image Component Default Tests › production mode › should have blurry placeholder when enabled
● Image Component Default Tests › production mode › should remove blurry placeholder after image loads
● Image Component Default Tests › production mode › should render correct objectFit when blurDataURL and fill
● Image Component Default Tests › production mode › should be valid HTML
● Image Component Default Tests › production mode › should call callback ref cleanups when unmounting
● Image Component Default Tests › production mode › should build correct images-manifest.json
Read more about building and testing Next.js in contributing.md.
Expand output● Image Component basePath Tests › production mode › should load the images
● Image Component basePath Tests › production mode › should update the image on src change
● Image Component basePath Tests › production mode › should work when using flexbox
● Image Component basePath Tests › production mode › should work with layout-fixed so resizing window does not resize image
● Image Component basePath Tests › production mode › should work with layout-intrinsic so resizing window maintains image aspect ratio
● Image Component basePath Tests › production mode › should work with layout-responsive so resizing window maintains image aspect ratio
● Image Component basePath Tests › production mode › should work with layout-fill to fill the parent but NOT stretch with viewport
● Image Component basePath Tests › production mode › should work with layout-fill to fill the parent and stretch with viewport
● Image Component basePath Tests › production mode › should work with sizes and automatically use layout-responsive
● Image Component basePath Tests › production mode › should correctly ignore prose styles
● Image Component basePath Tests › production mode › should correctly rotate image
Read more about building and testing Next.js in contributing.md.
Expand output● app dir - css › css support › server layouts › should support global css inside server layouts
● app dir - css › css support › server layouts › should support css modules inside server layouts
● app dir - css › css support › server layouts › should support external css imports
● app dir - css › css support › server pages › should support global css inside server pages
● app dir - css › css support › server pages › should support css modules inside server pages
● app dir - css › css support › server pages › should not contain pages css in app dir page
● app dir - css › css support › server pages › should support css modules shared between server pages
● app dir - css › css support › client layouts › should support css modules inside client layouts
● app dir - css › css support › client layouts › should support global css inside client layouts
● app dir - css › css support › client pages › should support css modules inside client pages
● app dir - css › css support › client pages › should support global css inside client pages
● app dir - css › css support › client components › should support css modules inside client page
● app dir - css › css support › client components › should support css modules inside client components
● app dir - css › css support › special entries › should include css imported in loading.js
● app dir - css › css support › special entries › should include css imported in client template.js
● app dir - css › css support › special entries › should include css imported in server template.js
● app dir - css › css support › special entries › should include css imported in client not-found.js
● app dir - css › css support › special entries › should include css imported in server not-found.js
● app dir - css › css support › special entries › should include root layout css for root not-found.js
● app dir - css › css support › special entries › should include css imported in root not-found.js
● app dir - css › css support › special entries › should include css imported in error.js
● app dir - css › css support › page extensions › should include css imported in MDX pages
● app dir - css › css support › chunks › should bundle css resources into chunks
● app dir - css › css support › css ordering › should have inner layers take precedence over outer layers
● app dir - css › sass support › server layouts › should support global sass/scss inside server layouts
● app dir - css › sass support › server layouts › should support sass/scss modules inside server layouts
● app dir - css › sass support › server pages › should support global sass/scss inside server pages
● app dir - css › sass support › server pages › should support sass/scss modules inside server pages
● app dir - css › sass support › client layouts › should support global sass/scss inside client layouts
● app dir - css › sass support › client layouts › should support sass/scss modules inside client layouts
● app dir - css › sass support › client pages › should support global sass/scss inside client pages
● app dir - css › sass support › client pages › should support sass/scss modules inside client pages
● app dir - css › pages dir › should include css modules and global css after page transition
● Test suite failed to run
Read more about building and testing Next.js in contributing.md.
Expand output● app dir - basepath › should successfully hard navigate from pages -> app
● app dir - basepath › should support
● app dir - basepath › should support Link with basePath prefixed
● app dir - basepath › should prefix metadata og image with basePath
● app dir - basepath › should prefix redirect() with basePath
● app dir - basepath › should render usePathname without the basePath
● app dir - basepath › should handle redirect in dynamic in suspense boundary routes with basePath
● app dir - basepath › should only make a single RSC call to the current page (/base/refresh)
● app dir - basepath › should only make a single RSC call to the current page (/base/refresh?foo=bar)
● app dir - basepath › should properly stream an internal server action redirect() with a relative URL
● app dir - basepath › should properly stream an internal server action redirect() with a absolute URL
● app dir - basepath › should redirect externally when encountering absolute URLs on the same host outside the basePath
● Test suite failed to run
Read more about building and testing Next.js in contributing.md.
Expand output● app-dir assetPrefix handling › should redirect route when requesting it directly
● app-dir assetPrefix handling › should render link
● app-dir assetPrefix handling › should redirect route when requesting it directly by browser
● app-dir assetPrefix handling › should redirect route when clicking link
● app-dir assetPrefix handling › bundles should return 200 on served assetPrefix
● app-dir assetPrefix handling › rewrites › rewrites that do not start with assetPrefix should still work
● app-dir assetPrefix handling › rewrites › should respect rewrites that start with assetPrefix
● Test suite failed to run
Read more about building and testing Next.js in contributing.md.
Expand output● app-dir with middleware › should filter correctly after middleware rewrite
● app-dir with middleware › Mutate request headers for Serverless Functions › Adds new headers
● app-dir with middleware › Mutate request headers for Serverless Functions › Deletes headers
● app-dir with middleware › Mutate request headers for Serverless Functions › Updates headers
● app-dir with middleware › Mutate request headers for Serverless Functions › Supports draft mode
● app-dir with middleware › Mutate request headers for Edge Functions › Adds new headers
● app-dir with middleware › Mutate request headers for Edge Functions › Deletes headers
● app-dir with middleware › Mutate request headers for Edge Functions › Updates headers
● app-dir with middleware › Mutate request headers for Edge Functions › Supports draft mode
● app-dir with middleware › Mutate request headers for next/headers › Adds new headers
● app-dir with middleware › Mutate request headers for next/headers › Deletes headers
● app-dir with middleware › Mutate request headers for next/headers › Updates headers
● app-dir with middleware › Mutate request headers for next/headers › Supports draft mode
● app-dir with middleware › retains a link response header from the middleware
● app-dir with middleware › should be possible to modify cookies & read them in an RSC in a single request
● app-dir with middleware › should respect cookie options of merged middleware cookies
● app-dir with middleware › should omit internal headers for middleware cookies
● app-dir with middleware › should ignore x-middleware-set-cookie as a request header
● app-dir with middleware › should be possible to read cookies that are set during the middleware handling of a server action
● app dir - middleware without pages dir › Updates headers
Read more about building and testing Next.js in contributing.md. |
Stats from current PRDefault BuildGeneral
Client Bundles (main, webpack)
Legacy Client Bundles (polyfills)
Client Pages
Client Build Manifests
Rendered Page Sizes
Edge SSR bundle Size
Middleware size
Next Runtimes
build cache
Diff detailsDiff for main-HASH.jsDiff too large to display |
49e3522
to
a1c8d96
Compare
9b469ad
to
3b504e2
Compare
189743d
to
ace016a
Compare
This stack of pull requests is managed by Graphite. Learn more about stacking. |
ace016a
to
7460cf4
Compare
f096428
to
89b48dd
Compare
7460cf4
to
a2084ef
Compare
a2084ef
to
0fae70f
Compare
89b48dd
to
d2b307c
Compare
0fae70f
to
313f5b7
Compare
This implements a new napi binding,
project.writeAllEndpointsToDisk
which writes chunks for all endpoints.This avoids iterating over each endpoint and calling individual napi bindings, each resulting in a call to
emit()
. While iterating entry points now occurs in Rust,OutputAssets
are collected in anIndexSet
to prevent unnecessaryemit()
calls. This also significantly reduces unnecessary calls to the manifest loader from JS.Test Plan: CI
Commit before removing merge commits: 189743d