-
Notifications
You must be signed in to change notification settings - Fork 27.4k
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
Experiment using Bazel for building Next.js core packages #22267
Conversation
This is a WIP, there's a bunch of things we'll have to figure out in order to correctly adopt Bazel (will lay them out later). Related: vercel#14778
@timneutkens If you need any help with this effort don't be afraid to reach out! Happy to help out in any way I can to get more people using Bazel :D |
Just to note: If Next.js upgraded to Yarn v2 then https://yarn.build/ is also an option, or you could write your own plugin to generate the Bazel config on demand |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Stats from current PRDefault Server Mode (Decrease detected ✓)General Overall increase
|
vercel/next.js canary | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
buildDuration | 11.1s | 10.8s | -376ms |
nodeModulesSize | 42.6 MB | 42.6 MB |
Page Load Tests Overall decrease ⚠️
vercel/next.js canary | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
/ failed reqs | 0 | 0 | ✓ |
/ total time (seconds) | 2.211 | 2.349 | |
/ avg req/sec | 1130.53 | 1064.3 | |
/error-in-render failed reqs | 0 | 0 | ✓ |
/error-in-render total time (seconds) | 1.524 | 1.51 | -0.01 |
/error-in-render avg req/sec | 1640.13 | 1655.63 | +15.5 |
Client Bundles (main, webpack, commons)
vercel/next.js canary | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
677f882d2ed8..854c.js gzip | 13.2 kB | 13.2 kB | ✓ |
framework.HASH.js gzip | 39 kB | 39 kB | ✓ |
main-HASH.js gzip | 6.65 kB | 6.65 kB | ✓ |
webpack-HASH.js gzip | 751 B | 751 B | ✓ |
Overall change | 59.6 kB | 59.6 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | timneutkens/next.js add/bazel-build | 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 | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
_app-2a09aa2..4a98.js gzip | 1.28 kB | 1.28 kB | ✓ |
_error-8b758..aef6.js gzip | 3.46 kB | 3.46 kB | ✓ |
amp-e3e9bc99..932c.js gzip | 536 B | 536 B | ✓ |
hooks-5023ef..3670.js gzip | 888 B | 888 B | ✓ |
index-3a2b03..c677.js gzip | 227 B | 227 B | ✓ |
link-177412b..043e.js gzip | 1.67 kB | 1.67 kB | ✓ |
routerDirect..1a66.js gzip | 303 B | 303 B | ✓ |
withRouter-9..1b7d.js gzip | 302 B | 302 B | ✓ |
Overall change | 8.66 kB | 8.66 kB | ✓ |
Client Build Manifests
vercel/next.js canary | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
_buildManifest.js gzip | 347 B | 347 B | ✓ |
Overall change | 347 B | 347 B | ✓ |
Rendered Page Sizes
vercel/next.js canary | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
index.html gzip | 613 B | 613 B | ✓ |
link.html gzip | 620 B | 620 B | ✓ |
withRouter.html gzip | 608 B | 608 B | ✓ |
Overall change | 1.84 kB | 1.84 kB | ✓ |
Serverless Mode
General Overall increase ⚠️
vercel/next.js canary | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
buildDuration | 12.3s | 12s | -280ms |
nodeModulesSize | 42.6 MB | 42.6 MB |
Client Bundles (main, webpack, commons)
vercel/next.js canary | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
677f882d2ed8..854c.js gzip | 13.2 kB | 13.2 kB | ✓ |
framework.HASH.js gzip | 39 kB | 39 kB | ✓ |
main-HASH.js gzip | 6.65 kB | 6.65 kB | ✓ |
webpack-HASH.js gzip | 751 B | 751 B | ✓ |
Overall change | 59.6 kB | 59.6 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | timneutkens/next.js add/bazel-build | 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 | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
_app-2a09aa2..4a98.js gzip | 1.28 kB | 1.28 kB | ✓ |
_error-8b758..aef6.js gzip | 3.46 kB | 3.46 kB | ✓ |
amp-e3e9bc99..932c.js gzip | 536 B | 536 B | ✓ |
hooks-5023ef..3670.js gzip | 888 B | 888 B | ✓ |
index-3a2b03..c677.js gzip | 227 B | 227 B | ✓ |
link-177412b..043e.js gzip | 1.67 kB | 1.67 kB | ✓ |
routerDirect..1a66.js gzip | 303 B | 303 B | ✓ |
withRouter-9..1b7d.js gzip | 302 B | 302 B | ✓ |
Overall change | 8.66 kB | 8.66 kB | ✓ |
Client Build Manifests
vercel/next.js canary | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
_buildManifest.js gzip | 347 B | 347 B | ✓ |
Overall change | 347 B | 347 B | ✓ |
Serverless bundles
vercel/next.js canary | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
_error.js | 1.01 MB | 1.01 MB | ✓ |
404.html | 2.67 kB | 2.67 kB | ✓ |
500.html | 2.65 kB | 2.65 kB | ✓ |
amp.amp.html | 10.4 kB | 10.4 kB | ✓ |
amp.html | 1.86 kB | 1.86 kB | ✓ |
hooks.html | 1.92 kB | 1.92 kB | ✓ |
index.js | 1.01 MB | 1.01 MB | ✓ |
link.js | 1.06 MB | 1.06 MB | ✓ |
routerDirect.js | 1.06 MB | 1.06 MB | ✓ |
withRouter.js | 1.06 MB | 1.06 MB | ✓ |
Overall change | 5.21 MB | 5.21 MB | ✓ |
Webpack 5 Mode (Decrease detected ✓)
General Overall increase ⚠️
vercel/next.js canary | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
buildDuration | 13s | 13.2s | |
nodeModulesSize | 42.6 MB | 42.6 MB |
Page Load Tests Overall decrease ⚠️
vercel/next.js canary | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
/ failed reqs | 0 | 0 | ✓ |
/ total time (seconds) | 2.089 | 2.166 | |
/ avg req/sec | 1196.97 | 1154.47 | |
/error-in-render failed reqs | 0 | 0 | ✓ |
/error-in-render total time (seconds) | 1.507 | 1.639 | |
/error-in-render avg req/sec | 1659.12 | 1524.98 |
Client Bundles (main, webpack, commons)
vercel/next.js canary | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
597-dc8125e2..ef24.js gzip | 13.1 kB | 13.1 kB | ✓ |
framework.HASH.js gzip | 39.3 kB | 39.3 kB | ✓ |
main-HASH.js gzip | 6.59 kB | 6.59 kB | ✓ |
webpack-HASH.js gzip | 954 B | 954 B | ✓ |
Overall change | 60 kB | 60 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | timneutkens/next.js add/bazel-build | 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 | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
_app-aedc815..1421.js gzip | 1.26 kB | 1.26 kB | ✓ |
_error-71ec2..1a96.js gzip | 3.38 kB | 3.38 kB | ✓ |
amp-33a09cb0..6745.js gzip | 536 B | 536 B | ✓ |
hooks-4e968a..f870.js gzip | 902 B | 902 B | ✓ |
index-5c6845..f75c.js gzip | 230 B | 230 B | ✓ |
link-99f0c6c..b84a.js gzip | 1.65 kB | 1.65 kB | ✓ |
routerDirect..bb56.js gzip | 306 B | 306 B | ✓ |
withRouter-7..2133.js gzip | 302 B | 302 B | ✓ |
Overall change | 8.57 kB | 8.57 kB | ✓ |
Client Build Manifests
vercel/next.js canary | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
_buildManifest.js gzip | 326 B | 326 B | ✓ |
Overall change | 326 B | 326 B | ✓ |
Rendered Page Sizes
vercel/next.js canary | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
index.html gzip | 585 B | 585 B | ✓ |
link.html gzip | 591 B | 591 B | ✓ |
withRouter.html gzip | 579 B | 579 B | ✓ |
Overall change | 1.75 kB | 1.75 kB | ✓ |
Diffs
Diff for index.html
@@ -43,7 +43,7 @@
"props": { "pageProps": {} },
"page": "/",
"query": {},
- "buildId": "TNEt-S85YGiXbH6NqfTu0",
+ "buildId": "O7i0VvDA3X0z9Atunhpx2",
"isFallback": false,
"gip": true
}
@@ -77,11 +77,11 @@
async=""
></script>
<script
- src="/_next/static/TNEt-S85YGiXbH6NqfTu0/_buildManifest.js"
+ src="/_next/static/O7i0VvDA3X0z9Atunhpx2/_buildManifest.js"
async=""
></script>
<script
- src="/_next/static/TNEt-S85YGiXbH6NqfTu0/_ssgManifest.js"
+ src="/_next/static/O7i0VvDA3X0z9Atunhpx2/_ssgManifest.js"
async=""
></script>
</body>
Diff for link.html
@@ -48,7 +48,7 @@
"props": { "pageProps": {} },
"page": "/link",
"query": {},
- "buildId": "TNEt-S85YGiXbH6NqfTu0",
+ "buildId": "O7i0VvDA3X0z9Atunhpx2",
"isFallback": false,
"gip": true
}
@@ -82,11 +82,11 @@
async=""
></script>
<script
- src="/_next/static/TNEt-S85YGiXbH6NqfTu0/_buildManifest.js"
+ src="/_next/static/O7i0VvDA3X0z9Atunhpx2/_buildManifest.js"
async=""
></script>
<script
- src="/_next/static/TNEt-S85YGiXbH6NqfTu0/_ssgManifest.js"
+ src="/_next/static/O7i0VvDA3X0z9Atunhpx2/_ssgManifest.js"
async=""
></script>
</body>
Diff for withRouter.html
@@ -43,7 +43,7 @@
"props": { "pageProps": {} },
"page": "/withRouter",
"query": {},
- "buildId": "TNEt-S85YGiXbH6NqfTu0",
+ "buildId": "O7i0VvDA3X0z9Atunhpx2",
"isFallback": false,
"gip": true
}
@@ -77,11 +77,11 @@
async=""
></script>
<script
- src="/_next/static/TNEt-S85YGiXbH6NqfTu0/_buildManifest.js"
+ src="/_next/static/O7i0VvDA3X0z9Atunhpx2/_buildManifest.js"
async=""
></script>
<script
- src="/_next/static/TNEt-S85YGiXbH6NqfTu0/_ssgManifest.js"
+ src="/_next/static/O7i0VvDA3X0z9Atunhpx2/_ssgManifest.js"
async=""
></script>
</body>
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Stats from current PRDefault Server Mode (Decrease detected ✓)General
Page Load Tests Overall decrease
|
vercel/next.js canary | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
/ failed reqs | 0 | 0 | ✓ |
/ total time (seconds) | 2.087 | 2.071 | -0.02 |
/ avg req/sec | 1197.79 | 1207.42 | +9.63 |
/error-in-render failed reqs | 0 | 0 | ✓ |
/error-in-render total time (seconds) | 1.298 | 1.335 | |
/error-in-render avg req/sec | 1925.55 | 1872.16 |
Client Bundles (main, webpack, commons)
vercel/next.js canary | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
677f882d2ed8..e7a0.js gzip | 13.4 kB | 13.4 kB | ✓ |
framework.HASH.js gzip | 39 kB | 39 kB | ✓ |
main-HASH.js gzip | 6.65 kB | 6.65 kB | ✓ |
webpack-HASH.js gzip | 751 B | 751 B | ✓ |
Overall change | 59.7 kB | 59.7 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | timneutkens/next.js add/bazel-build | 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 | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
_app-2a09aa2..4a98.js gzip | 1.28 kB | 1.28 kB | ✓ |
_error-8b758..aef6.js gzip | 3.46 kB | 3.46 kB | ✓ |
amp-e3e9bc99..932c.js gzip | 536 B | 536 B | ✓ |
hooks-5023ef..3670.js gzip | 888 B | 888 B | ✓ |
index-3a2b03..c677.js gzip | 227 B | 227 B | ✓ |
link-177412b..043e.js gzip | 1.67 kB | 1.67 kB | ✓ |
routerDirect..1a66.js gzip | 303 B | 303 B | ✓ |
withRouter-9..1b7d.js gzip | 302 B | 302 B | ✓ |
Overall change | 8.66 kB | 8.66 kB | ✓ |
Client Build Manifests
vercel/next.js canary | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
_buildManifest.js gzip | 347 B | 347 B | ✓ |
Overall change | 347 B | 347 B | ✓ |
Rendered Page Sizes
vercel/next.js canary | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
index.html gzip | 613 B | 613 B | ✓ |
link.html gzip | 619 B | 619 B | ✓ |
withRouter.html gzip | 608 B | 608 B | ✓ |
Overall change | 1.84 kB | 1.84 kB | ✓ |
Serverless Mode
General
vercel/next.js canary | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
buildDuration | 14s | 13.9s | -85ms |
nodeModulesSize | 42.7 MB | 42.7 MB | ✓ |
Client Bundles (main, webpack, commons)
vercel/next.js canary | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
677f882d2ed8..e7a0.js gzip | 13.4 kB | 13.4 kB | ✓ |
framework.HASH.js gzip | 39 kB | 39 kB | ✓ |
main-HASH.js gzip | 6.65 kB | 6.65 kB | ✓ |
webpack-HASH.js gzip | 751 B | 751 B | ✓ |
Overall change | 59.7 kB | 59.7 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | timneutkens/next.js add/bazel-build | 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 | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
_app-2a09aa2..4a98.js gzip | 1.28 kB | 1.28 kB | ✓ |
_error-8b758..aef6.js gzip | 3.46 kB | 3.46 kB | ✓ |
amp-e3e9bc99..932c.js gzip | 536 B | 536 B | ✓ |
hooks-5023ef..3670.js gzip | 888 B | 888 B | ✓ |
index-3a2b03..c677.js gzip | 227 B | 227 B | ✓ |
link-177412b..043e.js gzip | 1.67 kB | 1.67 kB | ✓ |
routerDirect..1a66.js gzip | 303 B | 303 B | ✓ |
withRouter-9..1b7d.js gzip | 302 B | 302 B | ✓ |
Overall change | 8.66 kB | 8.66 kB | ✓ |
Client Build Manifests
vercel/next.js canary | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
_buildManifest.js gzip | 347 B | 347 B | ✓ |
Overall change | 347 B | 347 B | ✓ |
Serverless bundles
vercel/next.js canary | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
_error.js | 1.01 MB | 1.01 MB | ✓ |
404.html | 2.67 kB | 2.67 kB | ✓ |
500.html | 2.65 kB | 2.65 kB | ✓ |
amp.amp.html | 10.4 kB | 10.4 kB | ✓ |
amp.html | 1.86 kB | 1.86 kB | ✓ |
hooks.html | 1.92 kB | 1.92 kB | ✓ |
index.js | 1.01 MB | 1.01 MB | ✓ |
link.js | 1.06 MB | 1.06 MB | ✓ |
routerDirect.js | 1.06 MB | 1.06 MB | ✓ |
withRouter.js | 1.06 MB | 1.06 MB | ✓ |
Overall change | 5.21 MB | 5.21 MB | ✓ |
Webpack 5 Mode (Increase detected ⚠️ )
General
vercel/next.js canary | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
buildDuration | 13.7s | 13.7s | -2ms |
nodeModulesSize | 42.7 MB | 42.7 MB | ✓ |
Page Load Tests Overall increase ✓
vercel/next.js canary | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
/ failed reqs | 0 | 0 | ✓ |
/ total time (seconds) | 2.126 | 2.152 | |
/ avg req/sec | 1175.77 | 1161.69 | |
/error-in-render failed reqs | 0 | 0 | ✓ |
/error-in-render total time (seconds) | 1.38 | 1.321 | -0.06 |
/error-in-render avg req/sec | 1811.74 | 1893 | +81.26 |
Client Bundles (main, webpack, commons)
vercel/next.js canary | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
597-74632e79..1d47.js gzip | 13.3 kB | 13.3 kB | ✓ |
framework.HASH.js gzip | 39.3 kB | 39.3 kB | ✓ |
main-HASH.js gzip | 6.59 kB | 6.59 kB | ✓ |
webpack-HASH.js gzip | 954 B | 954 B | ✓ |
Overall change | 60.1 kB | 60.1 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | timneutkens/next.js add/bazel-build | 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 | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
_app-aedc815..1421.js gzip | 1.26 kB | 1.26 kB | ✓ |
_error-71ec2..1a96.js gzip | 3.38 kB | 3.38 kB | ✓ |
amp-33a09cb0..6745.js gzip | 536 B | 536 B | ✓ |
hooks-4e968a..f870.js gzip | 902 B | 902 B | ✓ |
index-5c6845..f75c.js gzip | 230 B | 230 B | ✓ |
link-99f0c6c..b84a.js gzip | 1.65 kB | 1.65 kB | ✓ |
routerDirect..bb56.js gzip | 306 B | 306 B | ✓ |
withRouter-7..2133.js gzip | 302 B | 302 B | ✓ |
Overall change | 8.57 kB | 8.57 kB | ✓ |
Client Build Manifests
vercel/next.js canary | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
_buildManifest.js gzip | 326 B | 326 B | ✓ |
Overall change | 326 B | 326 B | ✓ |
Rendered Page Sizes
vercel/next.js canary | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
index.html gzip | 587 B | 587 B | ✓ |
link.html gzip | 594 B | 594 B | ✓ |
withRouter.html gzip | 582 B | 582 B | ✓ |
Overall change | 1.76 kB | 1.76 kB | ✓ |
Diffs
Diff for index.html
@@ -43,7 +43,7 @@
"props": { "pageProps": {} },
"page": "/",
"query": {},
- "buildId": "_HbwBtaX5cg88ATqyEvkY",
+ "buildId": "syFFY1i4tnz7i0mQexYXJ",
"isFallback": false,
"gip": true
}
@@ -77,11 +77,11 @@
async=""
></script>
<script
- src="/_next/static/_HbwBtaX5cg88ATqyEvkY/_buildManifest.js"
+ src="/_next/static/syFFY1i4tnz7i0mQexYXJ/_buildManifest.js"
async=""
></script>
<script
- src="/_next/static/_HbwBtaX5cg88ATqyEvkY/_ssgManifest.js"
+ src="/_next/static/syFFY1i4tnz7i0mQexYXJ/_ssgManifest.js"
async=""
></script>
</body>
Diff for link.html
@@ -48,7 +48,7 @@
"props": { "pageProps": {} },
"page": "/link",
"query": {},
- "buildId": "_HbwBtaX5cg88ATqyEvkY",
+ "buildId": "syFFY1i4tnz7i0mQexYXJ",
"isFallback": false,
"gip": true
}
@@ -82,11 +82,11 @@
async=""
></script>
<script
- src="/_next/static/_HbwBtaX5cg88ATqyEvkY/_buildManifest.js"
+ src="/_next/static/syFFY1i4tnz7i0mQexYXJ/_buildManifest.js"
async=""
></script>
<script
- src="/_next/static/_HbwBtaX5cg88ATqyEvkY/_ssgManifest.js"
+ src="/_next/static/syFFY1i4tnz7i0mQexYXJ/_ssgManifest.js"
async=""
></script>
</body>
Diff for withRouter.html
@@ -43,7 +43,7 @@
"props": { "pageProps": {} },
"page": "/withRouter",
"query": {},
- "buildId": "_HbwBtaX5cg88ATqyEvkY",
+ "buildId": "syFFY1i4tnz7i0mQexYXJ",
"isFallback": false,
"gip": true
}
@@ -77,11 +77,11 @@
async=""
></script>
<script
- src="/_next/static/_HbwBtaX5cg88ATqyEvkY/_buildManifest.js"
+ src="/_next/static/syFFY1i4tnz7i0mQexYXJ/_buildManifest.js"
async=""
></script>
<script
- src="/_next/static/_HbwBtaX5cg88ATqyEvkY/_ssgManifest.js"
+ src="/_next/static/syFFY1i4tnz7i0mQexYXJ/_ssgManifest.js"
async=""
></script>
</body>
Stats from current PRDefault Server Mode (Increase detected
|
vercel/next.js canary | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
buildDuration | 11.5s | 11.5s | |
nodeModulesSize | 42.7 MB | 42.7 MB | -4 B |
Page Load Tests Overall increase ✓
vercel/next.js canary | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
/ failed reqs | 0 | 0 | ✓ |
/ total time (seconds) | 2.073 | 2.085 | |
/ avg req/sec | 1205.79 | 1199.18 | |
/error-in-render failed reqs | 0 | 0 | ✓ |
/error-in-render total time (seconds) | 1.363 | 1.333 | -0.03 |
/error-in-render avg req/sec | 1834.29 | 1874.78 | +40.49 |
Client Bundles (main, webpack, commons)
vercel/next.js canary | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
677f882d2ed8..e7a0.js gzip | 13.4 kB | 13.4 kB | ✓ |
framework.HASH.js gzip | 39 kB | 39 kB | ✓ |
main-HASH.js gzip | 6.65 kB | 6.65 kB | ✓ |
webpack-HASH.js gzip | 751 B | 751 B | ✓ |
Overall change | 59.7 kB | 59.7 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | timneutkens/next.js add/bazel-build | 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 | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
_app-2a09aa2..4a98.js gzip | 1.28 kB | 1.28 kB | ✓ |
_error-8b758..aef6.js gzip | 3.46 kB | 3.46 kB | ✓ |
amp-e3e9bc99..932c.js gzip | 536 B | 536 B | ✓ |
hooks-5023ef..3670.js gzip | 888 B | 888 B | ✓ |
index-3a2b03..c677.js gzip | 227 B | 227 B | ✓ |
link-177412b..043e.js gzip | 1.67 kB | 1.67 kB | ✓ |
routerDirect..1a66.js gzip | 303 B | 303 B | ✓ |
withRouter-9..1b7d.js gzip | 302 B | 302 B | ✓ |
Overall change | 8.66 kB | 8.66 kB | ✓ |
Client Build Manifests
vercel/next.js canary | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
_buildManifest.js gzip | 347 B | 347 B | ✓ |
Overall change | 347 B | 347 B | ✓ |
Rendered Page Sizes
vercel/next.js canary | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
index.html gzip | 613 B | 613 B | ✓ |
link.html gzip | 619 B | 619 B | ✓ |
withRouter.html gzip | 608 B | 608 B | ✓ |
Overall change | 1.84 kB | 1.84 kB | ✓ |
Serverless Mode (Decrease detected ✓)
General Overall decrease ✓
vercel/next.js canary | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
buildDuration | 13.4s | 13.4s | -6ms |
nodeModulesSize | 42.7 MB | 42.7 MB | -4 B |
Client Bundles (main, webpack, commons)
vercel/next.js canary | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
677f882d2ed8..e7a0.js gzip | 13.4 kB | 13.4 kB | ✓ |
framework.HASH.js gzip | 39 kB | 39 kB | ✓ |
main-HASH.js gzip | 6.65 kB | 6.65 kB | ✓ |
webpack-HASH.js gzip | 751 B | 751 B | ✓ |
Overall change | 59.7 kB | 59.7 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | timneutkens/next.js add/bazel-build | 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 | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
_app-2a09aa2..4a98.js gzip | 1.28 kB | 1.28 kB | ✓ |
_error-8b758..aef6.js gzip | 3.46 kB | 3.46 kB | ✓ |
amp-e3e9bc99..932c.js gzip | 536 B | 536 B | ✓ |
hooks-5023ef..3670.js gzip | 888 B | 888 B | ✓ |
index-3a2b03..c677.js gzip | 227 B | 227 B | ✓ |
link-177412b..043e.js gzip | 1.67 kB | 1.67 kB | ✓ |
routerDirect..1a66.js gzip | 303 B | 303 B | ✓ |
withRouter-9..1b7d.js gzip | 302 B | 302 B | ✓ |
Overall change | 8.66 kB | 8.66 kB | ✓ |
Client Build Manifests
vercel/next.js canary | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
_buildManifest.js gzip | 347 B | 347 B | ✓ |
Overall change | 347 B | 347 B | ✓ |
Serverless bundles
vercel/next.js canary | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
_error.js | 1.01 MB | 1.01 MB | ✓ |
404.html | 2.67 kB | 2.67 kB | ✓ |
500.html | 2.65 kB | 2.65 kB | ✓ |
amp.amp.html | 10.4 kB | 10.4 kB | ✓ |
amp.html | 1.86 kB | 1.86 kB | ✓ |
hooks.html | 1.92 kB | 1.92 kB | ✓ |
index.js | 1.01 MB | 1.01 MB | ✓ |
link.js | 1.06 MB | 1.06 MB | ✓ |
routerDirect.js | 1.06 MB | 1.06 MB | ✓ |
withRouter.js | 1.06 MB | 1.06 MB | ✓ |
Overall change | 5.21 MB | 5.21 MB | ✓ |
Webpack 5 Mode (Increase detected ⚠️ )
General Overall decrease ✓
vercel/next.js canary | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
buildDuration | 13.6s | 13.5s | -120ms |
nodeModulesSize | 42.7 MB | 42.7 MB | -4 B |
Page Load Tests Overall increase ✓
vercel/next.js canary | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
/ failed reqs | 0 | 0 | ✓ |
/ total time (seconds) | 2.057 | 2.1 | |
/ avg req/sec | 1215.51 | 1190.36 | |
/error-in-render failed reqs | 0 | 0 | ✓ |
/error-in-render total time (seconds) | 1.312 | 1.291 | -0.02 |
/error-in-render avg req/sec | 1905.98 | 1936.78 | +30.8 |
Client Bundles (main, webpack, commons)
vercel/next.js canary | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
597-74632e79..1d47.js gzip | 13.3 kB | 13.3 kB | ✓ |
framework.HASH.js gzip | 39.3 kB | 39.3 kB | ✓ |
main-HASH.js gzip | 6.59 kB | 6.59 kB | ✓ |
webpack-HASH.js gzip | 954 B | 954 B | ✓ |
Overall change | 60.1 kB | 60.1 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | timneutkens/next.js add/bazel-build | 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 | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
_app-aedc815..1421.js gzip | 1.26 kB | 1.26 kB | ✓ |
_error-71ec2..1a96.js gzip | 3.38 kB | 3.38 kB | ✓ |
amp-33a09cb0..6745.js gzip | 536 B | 536 B | ✓ |
hooks-4e968a..f870.js gzip | 902 B | 902 B | ✓ |
index-5c6845..f75c.js gzip | 230 B | 230 B | ✓ |
link-99f0c6c..b84a.js gzip | 1.65 kB | 1.65 kB | ✓ |
routerDirect..bb56.js gzip | 306 B | 306 B | ✓ |
withRouter-7..2133.js gzip | 302 B | 302 B | ✓ |
Overall change | 8.57 kB | 8.57 kB | ✓ |
Client Build Manifests
vercel/next.js canary | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
_buildManifest.js gzip | 326 B | 326 B | ✓ |
Overall change | 326 B | 326 B | ✓ |
Rendered Page Sizes
vercel/next.js canary | timneutkens/next.js add/bazel-build | Change | |
---|---|---|---|
index.html gzip | 587 B | 587 B | ✓ |
link.html gzip | 594 B | 594 B | ✓ |
withRouter.html gzip | 582 B | 582 B | ✓ |
Overall change | 1.76 kB | 1.76 kB | ✓ |
Diffs
Diff for index.html
@@ -43,7 +43,7 @@
"props": { "pageProps": {} },
"page": "/",
"query": {},
- "buildId": "s0e3QyB3DEWRSWQPHj0ru",
+ "buildId": "_NtFEeL7aKachEpLIXYsw",
"isFallback": false,
"gip": true
}
@@ -77,11 +77,11 @@
async=""
></script>
<script
- src="/_next/static/s0e3QyB3DEWRSWQPHj0ru/_buildManifest.js"
+ src="/_next/static/_NtFEeL7aKachEpLIXYsw/_buildManifest.js"
async=""
></script>
<script
- src="/_next/static/s0e3QyB3DEWRSWQPHj0ru/_ssgManifest.js"
+ src="/_next/static/_NtFEeL7aKachEpLIXYsw/_ssgManifest.js"
async=""
></script>
</body>
Diff for link.html
@@ -48,7 +48,7 @@
"props": { "pageProps": {} },
"page": "/link",
"query": {},
- "buildId": "s0e3QyB3DEWRSWQPHj0ru",
+ "buildId": "_NtFEeL7aKachEpLIXYsw",
"isFallback": false,
"gip": true
}
@@ -82,11 +82,11 @@
async=""
></script>
<script
- src="/_next/static/s0e3QyB3DEWRSWQPHj0ru/_buildManifest.js"
+ src="/_next/static/_NtFEeL7aKachEpLIXYsw/_buildManifest.js"
async=""
></script>
<script
- src="/_next/static/s0e3QyB3DEWRSWQPHj0ru/_ssgManifest.js"
+ src="/_next/static/_NtFEeL7aKachEpLIXYsw/_ssgManifest.js"
async=""
></script>
</body>
Diff for withRouter.html
@@ -43,7 +43,7 @@
"props": { "pageProps": {} },
"page": "/withRouter",
"query": {},
- "buildId": "s0e3QyB3DEWRSWQPHj0ru",
+ "buildId": "_NtFEeL7aKachEpLIXYsw",
"isFallback": false,
"gip": true
}
@@ -77,11 +77,11 @@
async=""
></script>
<script
- src="/_next/static/s0e3QyB3DEWRSWQPHj0ru/_buildManifest.js"
+ src="/_next/static/_NtFEeL7aKachEpLIXYsw/_buildManifest.js"
async=""
></script>
<script
- src="/_next/static/s0e3QyB3DEWRSWQPHj0ru/_ssgManifest.js"
+ src="/_next/static/_NtFEeL7aKachEpLIXYsw/_ssgManifest.js"
async=""
></script>
</body>
Failing test suitesCommit: ce26737 test/integration/link-with-encoding/test/index.test.js
Expand output● Link Component with Encoding › spaces › should have correct query on SSR
|
Will revisit this PR sometime in the future 👍 |
This is a WIP, there's a bunch of things we'll have to figure out in order to adopt Bazel. This only affects core development and does not relate to Next.js applications.
Ideally we'd incrementally adopt Bazel but there's a few challenges in doing so given that we currently rely on yarn workspaces / lerna a bit and Bazel does not support workspaces.
packages/next
BUILD.bazel
instructions that replace the taskr taskspackages/eslint-plugin-next
packages/next-bundle-analyzer
packages/next-codemod
packages/next-mdx
packages/next-plugin-google-analytics
packages/next-plugin-sentry
packages/next-plugin-storybook
packages/create-next-app
packages/next-env
packages/next-polyfill-nomodule
packages/next-polyfill-module
packages/react-dev-overlay
packages/react-refresh-utils
Related: [monorepo tooling] Convert from taskr to Bazel #14778