Skip to content
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

Add documentation on next build output. #12034

Merged
merged 1 commit into from
Apr 20, 2020
Merged

Add documentation on next build output. #12034

merged 1 commit into from
Apr 20, 2020

Conversation

leerob
Copy link
Member

@leerob leerob commented Apr 20, 2020

Closes #10565.

This PR adds documentation on next/build to clarify the meaning of "Size" and "First Load JS". Please let me know if more details are necessary.

Related:

@leerob leerob requested a review from Timer as a code owner April 20, 2020 01:57
@ijjk
Copy link
Member

ijjk commented Apr 20, 2020

Stats from current PR

Default Server Mode
General
zeit/next.js canary leerob/next.js patch-4 Change
buildDuration 12.1s 12.2s ⚠️ +140ms
nodeModulesSize 55.6 MB 55.6 MB
Page Load Tests Overall increase ✓
zeit/next.js canary leerob/next.js patch-4 Change
/ failed reqs 0 0
/ total time (seconds) 2.148 2.124 -0.02
/ avg req/sec 1163.95 1176.76 ⚠️ +12.81
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.258 1.265 ⚠️ +0.01
/error-in-render avg req/sec 1987.08 1976.83 -10.25
Client Bundles (main, webpack, commons)
zeit/next.js canary leerob/next.js patch-4 Change
main-HASH.js gzip 6.25 kB 6.25 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..5e5e.js gzip 10.3 kB 10.3 kB
framework.a1..NSE.txt gzip 220 B 220 B
framework.a1..NSE.txt gzip 220 B 220 B
framework.HASH.js gzip 39 kB 39 kB
Overall change 56.7 kB 56.7 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary leerob/next.js patch-4 Change
main-HASH.module.js gzip 4.79 kB 4.79 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.85 kB 6.85 kB
framework.HA..dule.js gzip 39 kB 39 kB
Overall change 51.4 kB 51.4 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary leerob/next.js patch-4 Change
polyfills-HASH.js gzip 26.2 kB 26.2 kB
Overall change 26.2 kB 26.2 kB
Client Pages
zeit/next.js canary leerob/next.js patch-4 Change
_app.js gzip 1.23 kB 1.23 kB
_error.js gzip 3.12 kB 3.12 kB
hooks.js gzip 663 B 663 B
index.js gzip 222 B 222 B
link.js gzip 2.06 kB 2.06 kB
routerDirect.js gzip 280 B 280 B
withRouter.js gzip 278 B 278 B
Overall change 7.85 kB 7.85 kB
Client Pages Modern
zeit/next.js canary leerob/next.js patch-4 Change
_app.module.js gzip 598 B 598 B
_error.module.js gzip 2.09 kB 2.09 kB
hooks.module.js gzip 383 B 383 B
index.module.js gzip 223 B 223 B
link.module.js gzip 1.52 kB 1.52 kB
routerDirect..dule.js gzip 279 B 279 B
withRouter.m..dule.js gzip 278 B 278 B
Overall change 5.37 kB 5.37 kB
Client Build Manifests
zeit/next.js canary leerob/next.js patch-4 Change
_buildManifest.js gzip 61 B 61 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 122 B 122 B
Rendered Page Sizes
zeit/next.js canary leerob/next.js patch-4 Change
index.html gzip 928 B 928 B
link.html gzip 938 B 938 B
withRouter.html gzip 926 B 926 B
Overall change 2.79 kB 2.79 kB

Serverless Mode
General
zeit/next.js canary leerob/next.js patch-4 Change
buildDuration 13s 13.1s ⚠️ +119ms
nodeModulesSize 55.6 MB 55.6 MB
Client Bundles (main, webpack, commons)
zeit/next.js canary leerob/next.js patch-4 Change
main-HASH.js gzip 6.25 kB 6.25 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..5e5e.js gzip 10.3 kB 10.3 kB
framework.a1..NSE.txt gzip 220 B 220 B
framework.a1..NSE.txt gzip 220 B 220 B
framework.HASH.js gzip 39 kB 39 kB
Overall change 56.7 kB 56.7 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary leerob/next.js patch-4 Change
main-HASH.module.js gzip 4.79 kB 4.79 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.85 kB 6.85 kB
framework.HA..dule.js gzip 39 kB 39 kB
Overall change 51.4 kB 51.4 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary leerob/next.js patch-4 Change
polyfills-HASH.js gzip 26.2 kB 26.2 kB
Overall change 26.2 kB 26.2 kB
Client Pages
zeit/next.js canary leerob/next.js patch-4 Change
_app.js gzip 1.23 kB 1.23 kB
_error.js gzip 3.12 kB 3.12 kB
hooks.js gzip 663 B 663 B
index.js gzip 222 B 222 B
link.js gzip 2.06 kB 2.06 kB
routerDirect.js gzip 280 B 280 B
withRouter.js gzip 278 B 278 B
Overall change 7.85 kB 7.85 kB
Client Pages Modern
zeit/next.js canary leerob/next.js patch-4 Change
_app.module.js gzip 598 B 598 B
_error.module.js gzip 2.09 kB 2.09 kB
hooks.module.js gzip 383 B 383 B
index.module.js gzip 223 B 223 B
link.module.js gzip 1.52 kB 1.52 kB
routerDirect..dule.js gzip 279 B 279 B
withRouter.m..dule.js gzip 278 B 278 B
Overall change 5.37 kB 5.37 kB
Client Build Manifests
zeit/next.js canary leerob/next.js patch-4 Change
_buildManifest.js gzip 61 B 61 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 122 B 122 B
Serverless bundles
zeit/next.js canary leerob/next.js patch-4 Change
_error.js 558 kB 558 kB
404.html 4.18 kB 4.18 kB
hooks.html 3.81 kB 3.81 kB
index.js 558 kB 558 kB
link.js 595 kB 595 kB
routerDirect.js 587 kB 587 kB
withRouter.js 587 kB 587 kB
Overall change 2.89 MB 2.89 MB

@timneutkens
Copy link
Member

Awesome!

@timneutkens timneutkens merged commit b52d7ff into vercel:canary Apr 20, 2020
`next build` creates an optimized production build of your application. The output displays information about each route.

- **Size** – The number of assets downloaded when navigating to the page client-side. The size for each route only includes its dependencies.
- **First Load JS** – The number of assets downloaded when visiting the page from the server. The amount of JS shared by all is shown as a separate metric.
Copy link
Contributor

Choose a reason for hiding this comment

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

I'd add: This doesn't include dynamic imported components. #11846

@JonasJW
Copy link

JonasJW commented Sep 30, 2020

Would be great if it would state at what size the number is highlighted as yellow and red. Also links to docs on how to keep this size low would be great.

@vercel vercel locked as resolved and limited conversation to collaborators Jan 29, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

What is first load size in nextjs CLI build output and how is it calculated?
5 participants