-
Notifications
You must be signed in to change notification settings - Fork 29.8k
Add experimental concurrentFeatures option
#24612
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
Conversation
Failing test suitesCommit: cc32469 test/integration/amp-export-validation/test/index.test.js
Expand output● AMP Validation on Export › should have shown errors during build ● AMP Validation on Export › should export AMP pages ● AMP Validation on Export › shows AMP warning without throwing error ● AMP Validation on Export › throws error on AMP error ● AMP Validation on Export › shows warning and error when throwing error test/integration/auto-export-serverless/test/index.test.js
Expand output● Auto Export Serverless › Refreshes query on mount test/integration/conflicting-public-file-page/test/index.test.js
Expand output● Errors on conflict between public file and page file › Throws error during development test/integration/amphtml-custom-optimizer/test/index.test.js
Expand output● AMP Custom Optimizer › should build and start for static page ● AMP Custom Optimizer › should build and start for dynamic page test/integration/absolute-assetprefix/test/index.test.js
Expand output● absolute assetPrefix with path prefix › should not fetch static data from a CDN ● absolute assetPrefix with path prefix › should fetch from cache correctly ● absolute assetPrefix with path prefix › should work with getStaticPaths prerendered ● absolute assetPrefix with path prefix › should work with getStaticPaths fallback ● absolute assetPrefix with path prefix › should work with getServerSideProps ● Test suite failed to run test/integration/api-support/test/index.test.js
Expand output● API routes › dev support › should render page ● API routes › dev support › should return 404 for undefined path ● API routes › dev support › should return 200 on POST on pages ● API routes › dev support › should 404 on optional dynamic api page ● API routes › Server support › should render page ● API routes › Server support › should return 404 for undefined path ● API routes › Server support › should not conflict with /api routes ● API routes › Server support › should set cors headers when adding cors middleware ● API routes › Server support › should work with index api ● API routes › Server support › should return custom error ● API routes › Server support › should throw Internal Server Error ● API routes › Server support › should throw Internal Server Error (async) ● API routes › Server support › should parse JSON body ● API routes › Server support › should special-case empty JSON body ● API routes › Server support › should support boolean for JSON in api page ● API routes › Server support › should support undefined response body ● API routes › Server support › should return error with invalid JSON ● API routes › Server support › should return error exceeded body limit ● API routes › Server support › should parse bigger body then 1mb ● API routes › Server support › should support etag spec ● API routes › Server support › should parse urlencoded body ● API routes › Server support › should parse body in handler ● API routes › Server support › should parse body with config ● API routes › Server support › should show friendly error for invalid redirect ● API routes › Server support › should show friendly error in case of passing null as first argument redirect ● API routes › Server support › should redirect with status code 307 ● API routes › Server support › should redirect to login ● API routes › Server support › should redirect with status code 301 ● API routes › Server support › should return empty query object ● API routes › Server support › should parse query correctly ● API routes › Server support › should return empty cookies object ● API routes › Server support › should return cookies object ● API routes › Server support › should return 200 on POST on pages ● API routes › Server support › should return JSON on post on API ● API routes › Server support › should return data on dynamic route ● API routes › Server support › should work with dynamic params and search string ● API routes › Server support › should work with dynamic params and search string like lambda ● API routes › Server support › should prioritize a non-dynamic page ● API routes › Server support › should return data on dynamic nested route ● API routes › Server support › should 404 on optional dynamic api page ● API routes › Server support › should return data on dynamic optional nested route ● API routes › Server support › should work with child_process correctly ● API routes › Server support › should show warning with next export ● API routes › Server support › should build api routes ● API routes › Serverless support › should render page ● API routes › Serverless support › should return 404 for undefined path ● API routes › Serverless support › should not conflict with /api routes ● API routes › Serverless support › should set cors headers when adding cors middleware ● API routes › Serverless support › should work with index api ● API routes › Serverless support › should return custom error ● API routes › Serverless support › should throw Internal Server Error ● API routes › Serverless support › should throw Internal Server Error (async) ● API routes › Serverless support › should parse JSON body ● API routes › Serverless support › should special-case empty JSON body ● API routes › Serverless support › should support boolean for JSON in api page ● API routes › Serverless support › should support undefined response body ● API routes › Serverless support › should return error with invalid JSON ● API routes › Serverless support › should return error exceeded body limit ● API routes › Serverless support › should parse bigger body then 1mb ● API routes › Serverless support › should support etag spec ● API routes › Serverless support › should parse urlencoded body ● API routes › Serverless support › should parse body in handler ● API routes › Serverless support › should parse body with config ● API routes › Serverless support › should show friendly error for invalid redirect ● API routes › Serverless support › should show friendly error in case of passing null as first argument redirect ● API routes › Serverless support › should redirect with status code 307 ● API routes › Serverless support › should redirect to login ● API routes › Serverless support › should redirect with status code 301 ● API routes › Serverless support › should return empty query object ● API routes › Serverless support › should parse query correctly ● API routes › Serverless support › should return empty cookies object ● API routes › Serverless support › should return cookies object ● API routes › Serverless support › should return 200 on POST on pages ● API routes › Serverless support › should return JSON on post on API ● API routes › Serverless support › should return data on dynamic route ● API routes › Serverless support › should work with dynamic params and search string ● API routes › Serverless support › should work with dynamic params and search string like lambda ● API routes › Serverless support › should prioritize a non-dynamic page ● API routes › Serverless support › should return data on dynamic nested route ● API routes › Serverless support › should 404 on optional dynamic api page ● API routes › Serverless support › should return data on dynamic optional nested route ● API routes › Serverless support › should work with child_process correctly ● API routes › Serverless support › should show warning with next export ● API routes › Serverless support › should build api routes |
Failing test suitesCommit: cd365c0 test/integration/concurrent-document-component-error/test/index.test.js
Expand output● Concurrent Document Component Errors › development mode › errors when document is a class component |
Stats from current PRDefault Server Mode (Decrease detected ✓)General Overall increase
|
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| buildDuration | 14.5s | 14.7s | |
| buildDurationCached | 5s | 4.6s | -380ms |
| nodeModulesSize | 46.6 MB | 46.6 MB |
Page Load Tests Overall decrease ⚠️
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| / failed reqs | 0 | 0 | ✓ |
| / total time (seconds) | 2.464 | 2.524 | |
| / avg req/sec | 1014.54 | 990.37 | |
| /error-in-render failed reqs | 0 | 0 | ✓ |
| /error-in-render total time (seconds) | 1.264 | 1.375 | |
| /error-in-render avg req/sec | 1977.1 | 1817.94 |
Client Bundles (main, webpack, commons)
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| 597-HASH.js gzip | 13.2 kB | 13.2 kB | ✓ |
| 778-HASH.js gzip | 7.12 kB | 7.12 kB | ✓ |
| framework-HASH.js gzip | 39.3 kB | 39.3 kB | ✓ |
| main-HASH.js gzip | 151 B | 151 B | ✓ |
| webpack-HASH.js gzip | 993 B | 993 B | ✓ |
| Overall change | 60.7 kB | 60.7 kB | ✓ |
Legacy Client Bundles (polyfills)
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| polyfills-HASH.js gzip | 31.1 kB | 31.1 kB | ✓ |
| Overall change | 31.1 kB | 31.1 kB | ✓ |
Client Pages
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| _app-HASH.js gzip | 1.3 kB | 1.3 kB | ✓ |
| _error-HASH.js gzip | 3.68 kB | 3.68 kB | ✓ |
| amp-HASH.js gzip | 558 B | 558 B | ✓ |
| css-HASH.js gzip | 363 B | 363 B | ✓ |
| hooks-HASH.js gzip | 924 B | 924 B | ✓ |
| index-HASH.js gzip | 243 B | 243 B | ✓ |
| link-HASH.js gzip | 1.66 kB | 1.66 kB | ✓ |
| routerDirect..HASH.js gzip | 336 B | 336 B | ✓ |
| withRouter-HASH.js gzip | 334 B | 334 B | ✓ |
| 99a142a5cfae..804.css gzip | 125 B | 125 B | ✓ |
| Overall change | 9.52 kB | 9.52 kB | ✓ |
Client Build Manifests
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| _buildManifest.js gzip | 390 B | 390 B | ✓ |
| Overall change | 390 B | 390 B | ✓ |
Rendered Page Sizes
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| index.html gzip | 608 B | 608 B | ✓ |
| link.html gzip | 615 B | 615 B | ✓ |
| withRouter.html gzip | 605 B | 605 B | ✓ |
| Overall change | 1.83 kB | 1.83 kB | ✓ |
Serverless Mode (Increase detected ⚠️ )
General Overall increase ⚠️
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| buildDuration | 17.7s | 18s | |
| buildDurationCached | 6.8s | 6.8s | |
| nodeModulesSize | 46.6 MB | 46.6 MB |
Client Bundles (main, webpack, commons)
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| 597-HASH.js gzip | 13.2 kB | 13.2 kB | ✓ |
| 778-HASH.js gzip | 7.12 kB | 7.12 kB | ✓ |
| framework-HASH.js gzip | 39.3 kB | 39.3 kB | ✓ |
| main-HASH.js gzip | 151 B | 151 B | ✓ |
| webpack-HASH.js gzip | 993 B | 993 B | ✓ |
| Overall change | 60.7 kB | 60.7 kB | ✓ |
Legacy Client Bundles (polyfills)
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| polyfills-HASH.js gzip | 31.1 kB | 31.1 kB | ✓ |
| Overall change | 31.1 kB | 31.1 kB | ✓ |
Client Pages
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| _app-HASH.js gzip | 1.3 kB | 1.3 kB | ✓ |
| _error-HASH.js gzip | 3.68 kB | 3.68 kB | ✓ |
| amp-HASH.js gzip | 558 B | 558 B | ✓ |
| css-HASH.js gzip | 363 B | 363 B | ✓ |
| hooks-HASH.js gzip | 924 B | 924 B | ✓ |
| index-HASH.js gzip | 243 B | 243 B | ✓ |
| link-HASH.js gzip | 1.66 kB | 1.66 kB | ✓ |
| routerDirect..HASH.js gzip | 336 B | 336 B | ✓ |
| withRouter-HASH.js gzip | 334 B | 334 B | ✓ |
| 99a142a5cfae..804.css gzip | 125 B | 125 B | ✓ |
| Overall change | 9.52 kB | 9.52 kB | ✓ |
Client Build Manifests
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| _buildManifest.js gzip | 390 B | 390 B | ✓ |
| Overall change | 390 B | 390 B | ✓ |
Serverless bundles Overall increase ⚠️
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| _error.js | 1.35 MB | 1.35 MB | |
| 404.html | 2.76 kB | 2.76 kB | ✓ |
| 500.html | 2.75 kB | 2.75 kB | ✓ |
| amp.amp.html | 10.8 kB | 10.8 kB | ✓ |
| amp.html | 1.96 kB | 1.96 kB | ✓ |
| css.html | 2.13 kB | 2.13 kB | ✓ |
| hooks.html | 2.01 kB | 2.01 kB | ✓ |
| index.js | 1.35 MB | 1.35 MB | |
| link.js | 1.4 MB | 1.4 MB | |
| routerDirect.js | 1.4 MB | 1.4 MB | |
| withRouter.js | 1.4 MB | 1.4 MB | |
| Overall change | 6.91 MB | 6.91 MB |
Webpack 4 Mode (Decrease detected ✓)
General Overall increase ⚠️
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| buildDuration | 12.7s | 12.5s | -285ms |
| buildDurationCached | 5.2s | 5.1s | -86ms |
| nodeModulesSize | 46.6 MB | 46.6 MB |
Page Load Tests Overall decrease ⚠️
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| / failed reqs | 0 | 0 | ✓ |
| / total time (seconds) | 2.386 | 2.546 | |
| / avg req/sec | 1047.78 | 981.92 | |
| /error-in-render failed reqs | 0 | 0 | ✓ |
| /error-in-render total time (seconds) | 1.272 | 1.351 | |
| /error-in-render avg req/sec | 1966.07 | 1850.18 |
Client Bundles (main, webpack, commons)
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| 677f882d2ed8..HASH.js gzip | 13.3 kB | 13.3 kB | ✓ |
| framework.HASH.js gzip | 39 kB | 39 kB | ✓ |
| main-HASH.js gzip | 7.19 kB | 7.19 kB | ✓ |
| webpack-HASH.js gzip | 751 B | 751 B | ✓ |
| Overall change | 60.2 kB | 60.2 kB | ✓ |
Legacy Client Bundles (polyfills)
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| polyfills-HASH.js gzip | 31.3 kB | 31.3 kB | ✓ |
| Overall change | 31.3 kB | 31.3 kB | ✓ |
Client Pages
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| _app-HASH.js gzip | 1.28 kB | 1.28 kB | ✓ |
| _error-HASH.js gzip | 3.71 kB | 3.71 kB | ✓ |
| amp-HASH.js gzip | 536 B | 536 B | ✓ |
| css-HASH.js gzip | 339 B | 339 B | ✓ |
| hooks-HASH.js gzip | 887 B | 887 B | ✓ |
| index-HASH.js gzip | 227 B | 227 B | ✓ |
| link-HASH.js gzip | 1.65 kB | 1.65 kB | ✓ |
| routerDirect..HASH.js gzip | 303 B | 303 B | ✓ |
| withRouter-HASH.js gzip | 302 B | 302 B | ✓ |
| 21c68fa65a48..217.css gzip | 125 B | 125 B | ✓ |
| Overall change | 9.36 kB | 9.36 kB | ✓ |
Client Build Manifests
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| _buildManifest.js gzip | 419 B | 419 B | ✓ |
| Overall change | 419 B | 419 B | ✓ |
Rendered Page Sizes
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| index.html gzip | 612 B | 612 B | ✓ |
| link.html gzip | 620 B | 620 B | ✓ |
| withRouter.html gzip | 607 B | 607 B | ✓ |
| Overall change | 1.84 kB | 1.84 kB | ✓ |
Failing test suitesCommit: 5ef08bd test/integration/amphtml-custom-optimizer/test/index.test.js
Expand output● AMP Custom Optimizer › should build and start for dynamic page test/integration/404-page-app/test/index.test.js
Expand output● 404 Page Support with _app › production mode › should not output static 404 if _app has getInitialProps ● 404 Page Support with _app › production mode › should still use 404 page ● 404 Page Support with _app › dev mode › should not show pages/404 GIP error if _app has GIP test/integration/app-document-style-fragment/test/index.test.js
Expand output● Custom Document Fragment Styles › correctly adds styles from fragment styles key test/integration/auto-export/test/index.test.js
Expand output● Auto Export › dev › Supports commonjs 1 ● Auto Export › dev › Supports commonjs 2 ● Auto Export › dev › Refreshes query on mount ● Auto Export › dev › should update asPath after mount ● Auto Export › dev › should not replace URL with page name while asPath is delayed ● Auto Export › dev › should not show hydration warning from mismatching asPath test/integration/css-client-nav/test/index.test.js
Expand output● CSS Module client-side navigation › dev › should be able to client-side navigate from red to blue ● CSS Module client-side navigation › dev › should be able to client-side navigate from blue to red ● CSS Module client-side navigation › dev › should be able to client-side navigate from none to red ● CSS Module client-side navigation › dev › should be able to client-side navigate from none to blue test/integration/amphtml-ssg/test/index.test.js
Expand output● AMP SSG Support › dev mode › should load an amp first page correctly ● AMP SSG Support › dev mode › should load a hybrid amp page without query correctly ● AMP SSG Support › dev mode › should load dynamic hybrid SSG/AMP page ● AMP SSG Support › dev mode › should load dynamic hybrid SSG/AMP page with trailing slash ● AMP SSG Support › dev mode › should load dynamic hybrid SSG/AMP page with query ● AMP SSG Support › dev mode › should load a hybrid amp page with query correctly |
Stats from current PRDefault Server Mode (Increase detected
|
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| buildDuration | 16s | 15.2s | -815ms |
| buildDurationCached | 5s | 4.4s | -549ms |
| nodeModulesSize | 46.6 MB | 46.6 MB |
Page Load Tests Overall increase ✓
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| / failed reqs | 0 | 0 | ✓ |
| / total time (seconds) | 2.781 | 2.194 | -0.59 |
| / avg req/sec | 899.04 | 1139.59 | +240.55 |
| /error-in-render failed reqs | 0 | 0 | ✓ |
| /error-in-render total time (seconds) | 1.585 | 1.471 | -0.11 |
| /error-in-render avg req/sec | 1577.18 | 1699.04 | +121.86 |
Client Bundles (main, webpack, commons)
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| 597-HASH.js gzip | 13.2 kB | 13.2 kB | ✓ |
| 778-HASH.js gzip | 7.12 kB | 7.12 kB | ✓ |
| framework-HASH.js gzip | 39.3 kB | 39.3 kB | ✓ |
| main-HASH.js gzip | 151 B | 151 B | ✓ |
| webpack-HASH.js gzip | 993 B | 993 B | ✓ |
| Overall change | 60.7 kB | 60.7 kB | ✓ |
Legacy Client Bundles (polyfills)
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| polyfills-HASH.js gzip | 31.1 kB | 31.1 kB | ✓ |
| Overall change | 31.1 kB | 31.1 kB | ✓ |
Client Pages
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| _app-HASH.js gzip | 1.3 kB | 1.3 kB | ✓ |
| _error-HASH.js gzip | 3.68 kB | 3.68 kB | ✓ |
| amp-HASH.js gzip | 558 B | 558 B | ✓ |
| css-HASH.js gzip | 363 B | 363 B | ✓ |
| hooks-HASH.js gzip | 924 B | 924 B | ✓ |
| index-HASH.js gzip | 243 B | 243 B | ✓ |
| link-HASH.js gzip | 1.66 kB | 1.66 kB | ✓ |
| routerDirect..HASH.js gzip | 336 B | 336 B | ✓ |
| withRouter-HASH.js gzip | 334 B | 334 B | ✓ |
| 99a142a5cfae..804.css gzip | 125 B | 125 B | ✓ |
| Overall change | 9.52 kB | 9.52 kB | ✓ |
Client Build Manifests
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| _buildManifest.js gzip | 390 B | 390 B | ✓ |
| Overall change | 390 B | 390 B | ✓ |
Rendered Page Sizes Overall decrease ✓
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| index.html gzip | 608 B | N/A | N/A |
| link.html gzip | 615 B | N/A | N/A |
| withRouter.html gzip | 605 B | N/A | N/A |
| Overall change | 1.83 kB | 0 B | -1.83 kB |
Diffs
Diff for index.html
deletedDiff for link.html
deletedDiff for withRouter.html
deletedServerless Mode (Increase detected ⚠️ )
General Overall increase ⚠️
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| buildDuration | 18.7s | 19.3s | |
| buildDurationCached | 7s | 7s | -50ms |
| nodeModulesSize | 46.6 MB | 46.6 MB |
Client Bundles (main, webpack, commons)
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| 597-HASH.js gzip | 13.2 kB | 13.2 kB | ✓ |
| 778-HASH.js gzip | 7.12 kB | 7.12 kB | ✓ |
| framework-HASH.js gzip | 39.3 kB | 39.3 kB | ✓ |
| main-HASH.js gzip | 151 B | 151 B | ✓ |
| webpack-HASH.js gzip | 993 B | 993 B | ✓ |
| Overall change | 60.7 kB | 60.7 kB | ✓ |
Legacy Client Bundles (polyfills)
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| polyfills-HASH.js gzip | 31.1 kB | 31.1 kB | ✓ |
| Overall change | 31.1 kB | 31.1 kB | ✓ |
Client Pages
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| _app-HASH.js gzip | 1.3 kB | 1.3 kB | ✓ |
| _error-HASH.js gzip | 3.68 kB | 3.68 kB | ✓ |
| amp-HASH.js gzip | 558 B | 558 B | ✓ |
| css-HASH.js gzip | 363 B | 363 B | ✓ |
| hooks-HASH.js gzip | 924 B | 924 B | ✓ |
| index-HASH.js gzip | 243 B | 243 B | ✓ |
| link-HASH.js gzip | 1.66 kB | 1.66 kB | ✓ |
| routerDirect..HASH.js gzip | 336 B | 336 B | ✓ |
| withRouter-HASH.js gzip | 334 B | 334 B | ✓ |
| 99a142a5cfae..804.css gzip | 125 B | 125 B | ✓ |
| Overall change | 9.52 kB | 9.52 kB | ✓ |
Client Build Manifests
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| _buildManifest.js gzip | 390 B | 390 B | ✓ |
| Overall change | 390 B | 390 B | ✓ |
Serverless bundles Overall increase ⚠️
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| _error.js | 1.35 MB | 1.35 MB | |
| 404.html | 2.76 kB | 2.76 kB | ✓ |
| 500.html | 2.75 kB | 2.75 kB | ✓ |
| amp.amp.html | 10.8 kB | 10.8 kB | ✓ |
| amp.html | 1.96 kB | 1.96 kB | ✓ |
| css.html | 2.13 kB | 2.13 kB | ✓ |
| hooks.html | 2.01 kB | 2.01 kB | ✓ |
| index.js | 1.35 MB | 1.35 MB | |
| link.js | 1.4 MB | 1.4 MB | |
| routerDirect.js | 1.4 MB | 1.4 MB | |
| withRouter.js | 1.4 MB | 1.4 MB | |
| Overall change | 6.91 MB | 6.91 MB |
Webpack 4 Mode (Increase detected ⚠️ )
General Overall increase ⚠️
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| buildDuration | 12.5s | 12.6s | |
| buildDurationCached | 5.3s | 5.3s | |
| nodeModulesSize | 46.6 MB | 46.6 MB |
Page Load Tests Overall increase ✓
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| / failed reqs | 0 | 0 | ✓ |
| / total time (seconds) | 2.622 | 2.147 | -0.48 |
| / avg req/sec | 953.64 | 1164.63 | +210.99 |
| /error-in-render failed reqs | 0 | 0 | ✓ |
| /error-in-render total time (seconds) | 1.541 | 1.426 | -0.11 |
| /error-in-render avg req/sec | 1622.65 | 1753.36 | +130.71 |
Client Bundles (main, webpack, commons)
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| 677f882d2ed8..HASH.js gzip | 13.3 kB | 13.3 kB | ✓ |
| framework.HASH.js gzip | 39 kB | 39 kB | ✓ |
| main-HASH.js gzip | 7.19 kB | 7.19 kB | ✓ |
| webpack-HASH.js gzip | 751 B | 751 B | ✓ |
| Overall change | 60.2 kB | 60.2 kB | ✓ |
Legacy Client Bundles (polyfills)
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| polyfills-HASH.js gzip | 31.3 kB | 31.3 kB | ✓ |
| Overall change | 31.3 kB | 31.3 kB | ✓ |
Client Pages
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| _app-HASH.js gzip | 1.28 kB | 1.28 kB | ✓ |
| _error-HASH.js gzip | 3.71 kB | 3.71 kB | ✓ |
| amp-HASH.js gzip | 536 B | 536 B | ✓ |
| css-HASH.js gzip | 339 B | 339 B | ✓ |
| hooks-HASH.js gzip | 887 B | 887 B | ✓ |
| index-HASH.js gzip | 227 B | 227 B | ✓ |
| link-HASH.js gzip | 1.65 kB | 1.65 kB | ✓ |
| routerDirect..HASH.js gzip | 303 B | 303 B | ✓ |
| withRouter-HASH.js gzip | 302 B | 302 B | ✓ |
| 21c68fa65a48..217.css gzip | 125 B | 125 B | ✓ |
| Overall change | 9.36 kB | 9.36 kB | ✓ |
Client Build Manifests
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| _buildManifest.js gzip | 419 B | 419 B | ✓ |
| Overall change | 419 B | 419 B | ✓ |
Rendered Page Sizes Overall decrease ✓
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| index.html gzip | 612 B | N/A | N/A |
| link.html gzip | 620 B | N/A | N/A |
| withRouter.html gzip | 607 B | N/A | N/A |
| Overall change | 1.84 kB | 0 B | -1.84 kB |
Diffs
Diff for index.html
deletedDiff for link.html
deletedDiff for withRouter.html
deleted
Stats from current PRDefault Server Mode (Decrease detected ✓)General Overall increase
|
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| buildDuration | 14.2s | 13.9s | -279ms |
| buildDurationCached | 4.5s | 4.2s | -302ms |
| nodeModulesSize | 46.6 MB | 46.6 MB |
Page Load Tests Overall decrease ⚠️
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| / failed reqs | 0 | 0 | ✓ |
| / total time (seconds) | 2.523 | 2.452 | -0.07 |
| / avg req/sec | 991.06 | 1019.47 | +28.41 |
| /error-in-render failed reqs | 0 | 0 | ✓ |
| /error-in-render total time (seconds) | 1.421 | 1.451 | |
| /error-in-render avg req/sec | 1759.61 | 1722.63 |
Client Bundles (main, webpack, commons)
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| 597-HASH.js gzip | 13.2 kB | 13.2 kB | ✓ |
| 778-HASH.js gzip | 7.12 kB | 7.12 kB | ✓ |
| framework-HASH.js gzip | 39.3 kB | 39.3 kB | ✓ |
| main-HASH.js gzip | 151 B | 151 B | ✓ |
| webpack-HASH.js gzip | 993 B | 993 B | ✓ |
| Overall change | 60.7 kB | 60.7 kB | ✓ |
Legacy Client Bundles (polyfills)
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| polyfills-HASH.js gzip | 31.1 kB | 31.1 kB | ✓ |
| Overall change | 31.1 kB | 31.1 kB | ✓ |
Client Pages
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| _app-HASH.js gzip | 1.3 kB | 1.3 kB | ✓ |
| _error-HASH.js gzip | 3.68 kB | 3.68 kB | ✓ |
| amp-HASH.js gzip | 558 B | 558 B | ✓ |
| css-HASH.js gzip | 363 B | 363 B | ✓ |
| hooks-HASH.js gzip | 924 B | 924 B | ✓ |
| index-HASH.js gzip | 243 B | 243 B | ✓ |
| link-HASH.js gzip | 1.66 kB | 1.66 kB | ✓ |
| routerDirect..HASH.js gzip | 336 B | 336 B | ✓ |
| withRouter-HASH.js gzip | 334 B | 334 B | ✓ |
| 99a142a5cfae..804.css gzip | 125 B | 125 B | ✓ |
| Overall change | 9.52 kB | 9.52 kB | ✓ |
Client Build Manifests
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| _buildManifest.js gzip | 390 B | 390 B | ✓ |
| Overall change | 390 B | 390 B | ✓ |
Rendered Page Sizes
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| index.html gzip | 608 B | 608 B | ✓ |
| link.html gzip | 615 B | 615 B | ✓ |
| withRouter.html gzip | 605 B | 605 B | ✓ |
| Overall change | 1.83 kB | 1.83 kB | ✓ |
Serverless Mode (Increase detected ⚠️ )
General Overall increase ⚠️
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| buildDuration | 17.5s | 17.3s | -220ms |
| buildDurationCached | 6.4s | 6.4s | |
| nodeModulesSize | 46.6 MB | 46.6 MB |
Client Bundles (main, webpack, commons)
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| 597-HASH.js gzip | 13.2 kB | 13.2 kB | ✓ |
| 778-HASH.js gzip | 7.12 kB | 7.12 kB | ✓ |
| framework-HASH.js gzip | 39.3 kB | 39.3 kB | ✓ |
| main-HASH.js gzip | 151 B | 151 B | ✓ |
| webpack-HASH.js gzip | 993 B | 993 B | ✓ |
| Overall change | 60.7 kB | 60.7 kB | ✓ |
Legacy Client Bundles (polyfills)
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| polyfills-HASH.js gzip | 31.1 kB | 31.1 kB | ✓ |
| Overall change | 31.1 kB | 31.1 kB | ✓ |
Client Pages
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| _app-HASH.js gzip | 1.3 kB | 1.3 kB | ✓ |
| _error-HASH.js gzip | 3.68 kB | 3.68 kB | ✓ |
| amp-HASH.js gzip | 558 B | 558 B | ✓ |
| css-HASH.js gzip | 363 B | 363 B | ✓ |
| hooks-HASH.js gzip | 924 B | 924 B | ✓ |
| index-HASH.js gzip | 243 B | 243 B | ✓ |
| link-HASH.js gzip | 1.66 kB | 1.66 kB | ✓ |
| routerDirect..HASH.js gzip | 336 B | 336 B | ✓ |
| withRouter-HASH.js gzip | 334 B | 334 B | ✓ |
| 99a142a5cfae..804.css gzip | 125 B | 125 B | ✓ |
| Overall change | 9.52 kB | 9.52 kB | ✓ |
Client Build Manifests
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| _buildManifest.js gzip | 390 B | 390 B | ✓ |
| Overall change | 390 B | 390 B | ✓ |
Serverless bundles Overall increase ⚠️
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| _error.js | 1.35 MB | 1.35 MB | |
| 404.html | 2.76 kB | 2.76 kB | ✓ |
| 500.html | 2.75 kB | 2.75 kB | ✓ |
| amp.amp.html | 10.8 kB | 10.8 kB | ✓ |
| amp.html | 1.96 kB | 1.96 kB | ✓ |
| css.html | 2.13 kB | 2.13 kB | ✓ |
| hooks.html | 2.01 kB | 2.01 kB | ✓ |
| index.js | 1.35 MB | 1.35 MB | |
| link.js | 1.4 MB | 1.4 MB | |
| routerDirect.js | 1.4 MB | 1.4 MB | |
| withRouter.js | 1.4 MB | 1.4 MB | |
| Overall change | 6.91 MB | 6.91 MB |
Webpack 4 Mode (Increase detected ⚠️ )
General Overall increase ⚠️
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| buildDuration | 11.6s | 11.8s | |
| buildDurationCached | 4.8s | 4.8s | -6ms |
| nodeModulesSize | 46.6 MB | 46.6 MB |
Page Load Tests Overall increase ✓
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| / failed reqs | 0 | 0 | ✓ |
| / total time (seconds) | 2.546 | 2.538 | -0.01 |
| / avg req/sec | 981.88 | 985.05 | +3.17 |
| /error-in-render failed reqs | 0 | 0 | ✓ |
| /error-in-render total time (seconds) | 1.589 | 1.561 | -0.03 |
| /error-in-render avg req/sec | 1573.49 | 1601.68 | +28.19 |
Client Bundles (main, webpack, commons)
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| 677f882d2ed8..HASH.js gzip | 13.3 kB | 13.3 kB | ✓ |
| framework.HASH.js gzip | 39 kB | 39 kB | ✓ |
| main-HASH.js gzip | 7.19 kB | 7.19 kB | ✓ |
| webpack-HASH.js gzip | 751 B | 751 B | ✓ |
| Overall change | 60.2 kB | 60.2 kB | ✓ |
Legacy Client Bundles (polyfills)
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| polyfills-HASH.js gzip | 31.3 kB | 31.3 kB | ✓ |
| Overall change | 31.3 kB | 31.3 kB | ✓ |
Client Pages
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| _app-HASH.js gzip | 1.28 kB | 1.28 kB | ✓ |
| _error-HASH.js gzip | 3.71 kB | 3.71 kB | ✓ |
| amp-HASH.js gzip | 536 B | 536 B | ✓ |
| css-HASH.js gzip | 339 B | 339 B | ✓ |
| hooks-HASH.js gzip | 887 B | 887 B | ✓ |
| index-HASH.js gzip | 227 B | 227 B | ✓ |
| link-HASH.js gzip | 1.65 kB | 1.65 kB | ✓ |
| routerDirect..HASH.js gzip | 303 B | 303 B | ✓ |
| withRouter-HASH.js gzip | 302 B | 302 B | ✓ |
| 21c68fa65a48..217.css gzip | 125 B | 125 B | ✓ |
| Overall change | 9.36 kB | 9.36 kB | ✓ |
Client Build Manifests
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| _buildManifest.js gzip | 419 B | 419 B | ✓ |
| Overall change | 419 B | 419 B | ✓ |
Rendered Page Sizes
| vercel/next.js canary | azukaru/next.js concurrent-next-x | Change | |
|---|---|---|---|
| index.html gzip | 612 B | 612 B | ✓ |
| link.html gzip | 620 B | 620 B | ✓ |
| withRouter.html gzip | 607 B | 607 B | ✓ |
| Overall change | 1.84 kB | 1.84 kB | ✓ |
|
Closed via #27768 |
WARNING: DO NOT USE THIS
I'm kicking off development on concurrent features. This is highly experimental and unstable. It will change. Please do NOT use it in your apps.
To begin with, this PR adds a highly experimental
concurrentFeatures: booleanconfiguration to gate API changes. Additionally, it adds the start of one such API change: errors + tests to ensurepages/_documentis a functional component, rather than a class. That's because it's eventually going to become a React Server Component.More coming.