-
Notifications
You must be signed in to change notification settings - Fork 27k
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 initial support for unstable_getServerProps #10077
Conversation
Stats from current PRDefault Server ModeGeneral Overall increase
|
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
buildDuration | 14.4s | 14.2s | -167ms |
nodeModulesSize | 49 MB | 49 MB |
Client Bundles (main, webpack, commons)
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.js gzip | 5.11 kB | 5.11 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..54d3.js gzip | 4.68 kB | 4.68 kB | ✓ |
commons.HASH.js gzip | 4.06 kB | 4.06 kB | ✓ |
de003c3a9d30..9881.js gzip | 13.7 kB | 13.7 kB | ✓ |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 67.5 kB | 67.5 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.module.js gzip | 4.18 kB | 4.18 kB | ✓ |
webpack-HASH..dule.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..dule.js gzip | 5.56 kB | 5.56 kB | ✓ |
de003c3a9d30..dule.js gzip | 12.5 kB | 12.5 kB | ✓ |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 62.1 kB | 62.1 kB | ✓ |
Legacy Client Bundles (polyfills)
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 4.76 kB | 4.76 kB | ✓ |
Overall change | 4.76 kB | 4.76 kB | ✓ |
Client Pages
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.js gzip | 1.33 kB | 1.33 kB | ✓ |
_error.js gzip | 4.07 kB | 4.07 kB | ✓ |
hooks.js gzip | 779 B | 779 B | ✓ |
index.js gzip | 222 B | 222 B | ✓ |
link.js gzip | 2.9 kB | 2.9 kB | ✓ |
routerDirect.js gzip | 283 B | 283 B | ✓ |
withRouter.js gzip | 282 B | 282 B | ✓ |
Overall change | 9.87 kB | 9.87 kB | ✓ |
Client Pages Modern
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.module.js gzip | 757 B | 757 B | ✓ |
_error.module.js gzip | 3.06 kB | 3.06 kB | ✓ |
hooks.module.js gzip | 371 B | 371 B | ✓ |
index.module.js gzip | 212 B | 212 B | ✓ |
link.module.js gzip | 2.47 kB | 2.47 kB | ✓ |
routerDirect..dule.js gzip | 273 B | 273 B | ✓ |
withRouter.m..dule.js gzip | 272 B | 272 B | ✓ |
Overall change | 7.41 kB | 7.41 kB | ✓ |
Client Build Manifests
zeit/next.js canary | ijjk/next.js add/getServerProps | 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 | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
index.html gzip | 1.02 kB | 1.02 kB | ✓ |
link.html gzip | 1.03 kB | 1.03 kB | ✓ |
withRouter.html gzip | 1.01 kB | 1.01 kB | ✓ |
Overall change | 3.06 kB | 3.06 kB | ✓ |
Serverless Mode (Increase detected ⚠️ )
General Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
buildDuration | 14.8s | 15s | |
nodeModulesSize | 49 MB | 49 MB |
Client Bundles (main, webpack, commons)
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.js gzip | 5.11 kB | 5.11 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..54d3.js gzip | 4.68 kB | 4.68 kB | ✓ |
commons.HASH.js gzip | 4.06 kB | 4.06 kB | ✓ |
de003c3a9d30..9881.js gzip | 13.7 kB | 13.7 kB | ✓ |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 67.5 kB | 67.5 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.module.js gzip | 4.18 kB | 4.18 kB | ✓ |
webpack-HASH..dule.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..dule.js gzip | 5.56 kB | 5.56 kB | ✓ |
de003c3a9d30..dule.js gzip | 12.5 kB | 12.5 kB | ✓ |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 62.1 kB | 62.1 kB | ✓ |
Legacy Client Bundles (polyfills)
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 4.76 kB | 4.76 kB | ✓ |
Overall change | 4.76 kB | 4.76 kB | ✓ |
Client Pages
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.js gzip | 1.33 kB | 1.33 kB | ✓ |
_error.js gzip | 4.07 kB | 4.07 kB | ✓ |
hooks.js gzip | 779 B | 779 B | ✓ |
index.js gzip | 222 B | 222 B | ✓ |
link.js gzip | 2.9 kB | 2.9 kB | ✓ |
routerDirect.js gzip | 283 B | 283 B | ✓ |
withRouter.js gzip | 282 B | 282 B | ✓ |
Overall change | 9.87 kB | 9.87 kB | ✓ |
Client Pages Modern
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.module.js gzip | 757 B | 757 B | ✓ |
_error.module.js gzip | 3.06 kB | 3.06 kB | ✓ |
hooks.module.js gzip | 371 B | 371 B | ✓ |
index.module.js gzip | 212 B | 212 B | ✓ |
link.module.js gzip | 2.47 kB | 2.47 kB | ✓ |
routerDirect..dule.js gzip | 273 B | 273 B | ✓ |
withRouter.m..dule.js gzip | 272 B | 272 B | ✓ |
Overall change | 7.41 kB | 7.41 kB | ✓ |
Client Build Manifests
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_buildManifest.js gzip | 61 B | 61 B | ✓ |
_buildManife..dule.js gzip | 61 B | 61 B | ✓ |
Overall change | 122 B | 122 B | ✓ |
Serverless bundles Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_error.js gzip | 77.8 kB | 78 kB | |
hooks.html gzip | 1.05 kB | 1.05 kB | ✓ |
index.js gzip | 78 kB | 78.2 kB | |
link.js gzip | 80.4 kB | 80.7 kB | |
routerDirect.js gzip | 78.1 kB | 78.3 kB | |
withRouter.js gzip | 78.1 kB | 78.4 kB | |
Overall change | 393 kB | 395 kB |
Commit: 440d855
Stats from current PRDefault Server ModeGeneral Overall increase
|
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
buildDuration | 10.9s | 11.6s | |
nodeModulesSize | 49 MB | 49 MB |
Client Bundles (main, webpack, commons)
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.js gzip | 5.12 kB | 5.12 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..54d3.js gzip | 4.68 kB | 4.68 kB | ✓ |
commons.HASH.js gzip | 4.06 kB | 4.06 kB | ✓ |
de003c3a9d30..e54b.js gzip | 13.7 kB | 13.7 kB | ✓ |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 67.5 kB | 67.5 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.module.js gzip | 4.18 kB | 4.18 kB | ✓ |
webpack-HASH..dule.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..dule.js gzip | 5.56 kB | 5.56 kB | ✓ |
de003c3a9d30..dule.js gzip | 12.5 kB | 12.5 kB | ✓ |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 62.1 kB | 62.1 kB | ✓ |
Legacy Client Bundles (polyfills)
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 4.76 kB | 4.76 kB | ✓ |
Overall change | 4.76 kB | 4.76 kB | ✓ |
Client Pages
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.js gzip | 1.33 kB | 1.33 kB | ✓ |
_error.js gzip | 4.07 kB | 4.07 kB | ✓ |
hooks.js gzip | 779 B | 779 B | ✓ |
index.js gzip | 222 B | 222 B | ✓ |
link.js gzip | 2.9 kB | 2.9 kB | ✓ |
routerDirect.js gzip | 283 B | 283 B | ✓ |
withRouter.js gzip | 282 B | 282 B | ✓ |
Overall change | 9.87 kB | 9.87 kB | ✓ |
Client Pages Modern
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.module.js gzip | 757 B | 757 B | ✓ |
_error.module.js gzip | 3.06 kB | 3.06 kB | ✓ |
hooks.module.js gzip | 371 B | 371 B | ✓ |
index.module.js gzip | 212 B | 212 B | ✓ |
link.module.js gzip | 2.47 kB | 2.47 kB | ✓ |
routerDirect..dule.js gzip | 273 B | 273 B | ✓ |
withRouter.m..dule.js gzip | 272 B | 272 B | ✓ |
Overall change | 7.41 kB | 7.41 kB | ✓ |
Client Build Manifests
zeit/next.js canary | ijjk/next.js add/getServerProps | 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 | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
index.html gzip | 1.02 kB | 1.02 kB | ✓ |
link.html gzip | 1.03 kB | 1.03 kB | ✓ |
withRouter.html gzip | 1.01 kB | 1.01 kB | ✓ |
Overall change | 3.07 kB | 3.07 kB | ✓ |
Serverless Mode (Increase detected ⚠️ )
General Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
buildDuration | 12.1s | 11.9s | -158ms |
nodeModulesSize | 49 MB | 49 MB |
Client Bundles (main, webpack, commons)
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.js gzip | 5.12 kB | 5.12 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..54d3.js gzip | 4.68 kB | 4.68 kB | ✓ |
commons.HASH.js gzip | 4.06 kB | 4.06 kB | ✓ |
de003c3a9d30..e54b.js gzip | 13.7 kB | 13.7 kB | ✓ |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 67.5 kB | 67.5 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.module.js gzip | 4.18 kB | 4.18 kB | ✓ |
webpack-HASH..dule.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..dule.js gzip | 5.56 kB | 5.56 kB | ✓ |
de003c3a9d30..dule.js gzip | 12.5 kB | 12.5 kB | ✓ |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 62.1 kB | 62.1 kB | ✓ |
Legacy Client Bundles (polyfills)
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 4.76 kB | 4.76 kB | ✓ |
Overall change | 4.76 kB | 4.76 kB | ✓ |
Client Pages
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.js gzip | 1.33 kB | 1.33 kB | ✓ |
_error.js gzip | 4.07 kB | 4.07 kB | ✓ |
hooks.js gzip | 779 B | 779 B | ✓ |
index.js gzip | 222 B | 222 B | ✓ |
link.js gzip | 2.9 kB | 2.9 kB | ✓ |
routerDirect.js gzip | 283 B | 283 B | ✓ |
withRouter.js gzip | 282 B | 282 B | ✓ |
Overall change | 9.87 kB | 9.87 kB | ✓ |
Client Pages Modern
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.module.js gzip | 757 B | 757 B | ✓ |
_error.module.js gzip | 3.06 kB | 3.06 kB | ✓ |
hooks.module.js gzip | 371 B | 371 B | ✓ |
index.module.js gzip | 212 B | 212 B | ✓ |
link.module.js gzip | 2.47 kB | 2.47 kB | ✓ |
routerDirect..dule.js gzip | 273 B | 273 B | ✓ |
withRouter.m..dule.js gzip | 272 B | 272 B | ✓ |
Overall change | 7.41 kB | 7.41 kB | ✓ |
Client Build Manifests
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_buildManifest.js gzip | 61 B | 61 B | ✓ |
_buildManife..dule.js gzip | 61 B | 61 B | ✓ |
Overall change | 122 B | 122 B | ✓ |
Serverless bundles Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_error.js gzip | 77.8 kB | 78.1 kB | |
hooks.html gzip | 1.05 kB | 1.05 kB | ✓ |
index.js gzip | 78 kB | 78.3 kB | |
link.js gzip | 80.4 kB | 80.7 kB | |
routerDirect.js gzip | 78.1 kB | 78.4 kB | |
withRouter.js gzip | 78.1 kB | 78.4 kB | |
Overall change | 393 kB | 395 kB |
Commit: 1ebb040
Stats from current PRDefault Server ModeGeneral Overall increase
|
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
buildDuration | 13.2s | 13s | -188ms |
nodeModulesSize | 49 MB | 49 MB |
Client Bundles (main, webpack, commons)
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.js gzip | 5.12 kB | 5.12 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..54d3.js gzip | 4.68 kB | 4.68 kB | ✓ |
commons.HASH.js gzip | 4.06 kB | 4.06 kB | ✓ |
de003c3a9d30..e54b.js gzip | 13.7 kB | 13.7 kB | ✓ |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 67.5 kB | 67.5 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.module.js gzip | 4.18 kB | 4.18 kB | ✓ |
webpack-HASH..dule.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..dule.js gzip | 5.56 kB | 5.56 kB | ✓ |
de003c3a9d30..dule.js gzip | 12.5 kB | 12.5 kB | ✓ |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 62.1 kB | 62.1 kB | ✓ |
Legacy Client Bundles (polyfills)
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 4.76 kB | 4.76 kB | ✓ |
Overall change | 4.76 kB | 4.76 kB | ✓ |
Client Pages
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.js gzip | 1.33 kB | 1.33 kB | ✓ |
_error.js gzip | 4.07 kB | 4.07 kB | ✓ |
hooks.js gzip | 779 B | 779 B | ✓ |
index.js gzip | 222 B | 222 B | ✓ |
link.js gzip | 2.9 kB | 2.9 kB | ✓ |
routerDirect.js gzip | 283 B | 283 B | ✓ |
withRouter.js gzip | 282 B | 282 B | ✓ |
Overall change | 9.87 kB | 9.87 kB | ✓ |
Client Pages Modern
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.module.js gzip | 757 B | 757 B | ✓ |
_error.module.js gzip | 3.06 kB | 3.06 kB | ✓ |
hooks.module.js gzip | 371 B | 371 B | ✓ |
index.module.js gzip | 212 B | 212 B | ✓ |
link.module.js gzip | 2.47 kB | 2.47 kB | ✓ |
routerDirect..dule.js gzip | 273 B | 273 B | ✓ |
withRouter.m..dule.js gzip | 272 B | 272 B | ✓ |
Overall change | 7.41 kB | 7.41 kB | ✓ |
Client Build Manifests
zeit/next.js canary | ijjk/next.js add/getServerProps | 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 | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
index.html gzip | 1.02 kB | 1.02 kB | ✓ |
link.html gzip | 1.03 kB | 1.03 kB | ✓ |
withRouter.html gzip | 1.01 kB | 1.01 kB | ✓ |
Overall change | 3.07 kB | 3.07 kB | ✓ |
Serverless Mode (Increase detected ⚠️ )
General Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
buildDuration | 13.5s | 13.5s | |
nodeModulesSize | 49 MB | 49 MB |
Client Bundles (main, webpack, commons)
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.js gzip | 5.12 kB | 5.12 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..54d3.js gzip | 4.68 kB | 4.68 kB | ✓ |
commons.HASH.js gzip | 4.06 kB | 4.06 kB | ✓ |
de003c3a9d30..e54b.js gzip | 13.7 kB | 13.7 kB | ✓ |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 67.5 kB | 67.5 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.module.js gzip | 4.18 kB | 4.18 kB | ✓ |
webpack-HASH..dule.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..dule.js gzip | 5.56 kB | 5.56 kB | ✓ |
de003c3a9d30..dule.js gzip | 12.5 kB | 12.5 kB | ✓ |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 62.1 kB | 62.1 kB | ✓ |
Legacy Client Bundles (polyfills)
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 4.76 kB | 4.76 kB | ✓ |
Overall change | 4.76 kB | 4.76 kB | ✓ |
Client Pages
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.js gzip | 1.33 kB | 1.33 kB | ✓ |
_error.js gzip | 4.07 kB | 4.07 kB | ✓ |
hooks.js gzip | 779 B | 779 B | ✓ |
index.js gzip | 222 B | 222 B | ✓ |
link.js gzip | 2.9 kB | 2.9 kB | ✓ |
routerDirect.js gzip | 283 B | 283 B | ✓ |
withRouter.js gzip | 282 B | 282 B | ✓ |
Overall change | 9.87 kB | 9.87 kB | ✓ |
Client Pages Modern
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.module.js gzip | 757 B | 757 B | ✓ |
_error.module.js gzip | 3.06 kB | 3.06 kB | ✓ |
hooks.module.js gzip | 371 B | 371 B | ✓ |
index.module.js gzip | 212 B | 212 B | ✓ |
link.module.js gzip | 2.47 kB | 2.47 kB | ✓ |
routerDirect..dule.js gzip | 273 B | 273 B | ✓ |
withRouter.m..dule.js gzip | 272 B | 272 B | ✓ |
Overall change | 7.41 kB | 7.41 kB | ✓ |
Client Build Manifests
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_buildManifest.js gzip | 61 B | 61 B | ✓ |
_buildManife..dule.js gzip | 61 B | 61 B | ✓ |
Overall change | 122 B | 122 B | ✓ |
Serverless bundles Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_error.js gzip | 77.8 kB | 78.1 kB | |
hooks.html gzip | 1.05 kB | 1.05 kB | ✓ |
index.js gzip | 78 kB | 78.3 kB | |
link.js gzip | 80.4 kB | 80.7 kB | |
routerDirect.js gzip | 78.1 kB | 78.4 kB | |
withRouter.js gzip | 78.1 kB | 78.4 kB | |
Overall change | 393 kB | 395 kB |
Commit: 2cc40cf
Stats from current PRDefault Server ModeGeneral Overall increase
|
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
buildDuration | 14.5s | 14s | -498ms |
nodeModulesSize | 49 MB | 49 MB |
Client Bundles (main, webpack, commons)
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.js gzip | 5.12 kB | 5.12 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..54d3.js gzip | 4.68 kB | 4.68 kB | ✓ |
commons.HASH.js gzip | 4.06 kB | 4.06 kB | ✓ |
de003c3a9d30..e54b.js gzip | 13.7 kB | 13.7 kB | ✓ |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 67.5 kB | 67.5 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.module.js gzip | 4.18 kB | 4.18 kB | ✓ |
webpack-HASH..dule.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..dule.js gzip | 5.56 kB | 5.56 kB | ✓ |
de003c3a9d30..dule.js gzip | 12.5 kB | 12.5 kB | ✓ |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 62.1 kB | 62.1 kB | ✓ |
Legacy Client Bundles (polyfills)
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 4.76 kB | 4.76 kB | ✓ |
Overall change | 4.76 kB | 4.76 kB | ✓ |
Client Pages
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.js gzip | 1.33 kB | 1.33 kB | ✓ |
_error.js gzip | 4.07 kB | 4.07 kB | ✓ |
hooks.js gzip | 779 B | 779 B | ✓ |
index.js gzip | 222 B | 222 B | ✓ |
link.js gzip | 2.9 kB | 2.9 kB | ✓ |
routerDirect.js gzip | 283 B | 283 B | ✓ |
withRouter.js gzip | 282 B | 282 B | ✓ |
Overall change | 9.87 kB | 9.87 kB | ✓ |
Client Pages Modern
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.module.js gzip | 757 B | 757 B | ✓ |
_error.module.js gzip | 3.06 kB | 3.06 kB | ✓ |
hooks.module.js gzip | 371 B | 371 B | ✓ |
index.module.js gzip | 212 B | 212 B | ✓ |
link.module.js gzip | 2.47 kB | 2.47 kB | ✓ |
routerDirect..dule.js gzip | 273 B | 273 B | ✓ |
withRouter.m..dule.js gzip | 272 B | 272 B | ✓ |
Overall change | 7.41 kB | 7.41 kB | ✓ |
Client Build Manifests
zeit/next.js canary | ijjk/next.js add/getServerProps | 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 | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
index.html gzip | 1.02 kB | 1.02 kB | ✓ |
link.html gzip | 1.03 kB | 1.03 kB | ✓ |
withRouter.html gzip | 1.01 kB | 1.01 kB | ✓ |
Overall change | 3.07 kB | 3.07 kB | ✓ |
Serverless Mode (Increase detected ⚠️ )
General Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
buildDuration | 14.7s | 15.2s | |
nodeModulesSize | 49 MB | 49 MB |
Client Bundles (main, webpack, commons)
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.js gzip | 5.12 kB | 5.12 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..54d3.js gzip | 4.68 kB | 4.68 kB | ✓ |
commons.HASH.js gzip | 4.06 kB | 4.06 kB | ✓ |
de003c3a9d30..e54b.js gzip | 13.7 kB | 13.7 kB | ✓ |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 67.5 kB | 67.5 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.module.js gzip | 4.18 kB | 4.18 kB | ✓ |
webpack-HASH..dule.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..dule.js gzip | 5.56 kB | 5.56 kB | ✓ |
de003c3a9d30..dule.js gzip | 12.5 kB | 12.5 kB | ✓ |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 62.1 kB | 62.1 kB | ✓ |
Legacy Client Bundles (polyfills)
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 4.76 kB | 4.76 kB | ✓ |
Overall change | 4.76 kB | 4.76 kB | ✓ |
Client Pages
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.js gzip | 1.33 kB | 1.33 kB | ✓ |
_error.js gzip | 4.07 kB | 4.07 kB | ✓ |
hooks.js gzip | 779 B | 779 B | ✓ |
index.js gzip | 222 B | 222 B | ✓ |
link.js gzip | 2.9 kB | 2.9 kB | ✓ |
routerDirect.js gzip | 283 B | 283 B | ✓ |
withRouter.js gzip | 282 B | 282 B | ✓ |
Overall change | 9.87 kB | 9.87 kB | ✓ |
Client Pages Modern
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.module.js gzip | 757 B | 757 B | ✓ |
_error.module.js gzip | 3.06 kB | 3.06 kB | ✓ |
hooks.module.js gzip | 371 B | 371 B | ✓ |
index.module.js gzip | 212 B | 212 B | ✓ |
link.module.js gzip | 2.47 kB | 2.47 kB | ✓ |
routerDirect..dule.js gzip | 273 B | 273 B | ✓ |
withRouter.m..dule.js gzip | 272 B | 272 B | ✓ |
Overall change | 7.41 kB | 7.41 kB | ✓ |
Client Build Manifests
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_buildManifest.js gzip | 61 B | 61 B | ✓ |
_buildManife..dule.js gzip | 61 B | 61 B | ✓ |
Overall change | 122 B | 122 B | ✓ |
Serverless bundles Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_error.js gzip | 77.8 kB | 78.1 kB | |
hooks.html gzip | 1.05 kB | 1.05 kB | ✓ |
index.js gzip | 78 kB | 78.3 kB | |
link.js gzip | 80.4 kB | 80.7 kB | |
routerDirect.js gzip | 78.1 kB | 78.4 kB | |
withRouter.js gzip | 78.1 kB | 78.4 kB | |
Overall change | 393 kB | 395 kB |
Commit: 576572b
Stats from current PRDefault Server ModeGeneral Overall increase
|
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
buildDuration | 12s | 12.1s | |
nodeModulesSize | 48.9 MB | 48.9 MB |
Client Bundles (main, webpack, commons)
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.js gzip | 5.1 kB | 5.1 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..54d3.js gzip | 4.68 kB | 4.68 kB | ✓ |
commons.HASH.js gzip | 4.06 kB | 4.06 kB | ✓ |
de003c3a9d30..e54b.js gzip | 13.7 kB | 13.7 kB | ✓ |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 67.4 kB | 67.4 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.module.js gzip | 4.16 kB | 4.16 kB | ✓ |
webpack-HASH..dule.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..dule.js gzip | 5.56 kB | 5.56 kB | ✓ |
de003c3a9d30..dule.js gzip | 12.5 kB | 12.5 kB | ✓ |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 62.1 kB | 62.1 kB | ✓ |
Legacy Client Bundles (polyfills)
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 4.76 kB | 4.76 kB | ✓ |
Overall change | 4.76 kB | 4.76 kB | ✓ |
Client Pages
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.js gzip | 1.33 kB | 1.33 kB | ✓ |
_error.js gzip | 4.07 kB | 4.07 kB | ✓ |
hooks.js gzip | 779 B | 779 B | ✓ |
index.js gzip | 222 B | 222 B | ✓ |
link.js gzip | 2.9 kB | 2.9 kB | ✓ |
routerDirect.js gzip | 283 B | 283 B | ✓ |
withRouter.js gzip | 282 B | 282 B | ✓ |
Overall change | 9.87 kB | 9.87 kB | ✓ |
Client Pages Modern
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.module.js gzip | 757 B | 757 B | ✓ |
_error.module.js gzip | 3.06 kB | 3.06 kB | ✓ |
hooks.module.js gzip | 371 B | 371 B | ✓ |
index.module.js gzip | 212 B | 212 B | ✓ |
link.module.js gzip | 2.47 kB | 2.47 kB | ✓ |
routerDirect..dule.js gzip | 273 B | 273 B | ✓ |
withRouter.m..dule.js gzip | 272 B | 272 B | ✓ |
Overall change | 7.41 kB | 7.41 kB | ✓ |
Client Build Manifests
zeit/next.js canary | ijjk/next.js add/getServerProps | 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 | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
index.html gzip | 1.02 kB | 1.02 kB | ✓ |
link.html gzip | 1.03 kB | 1.03 kB | ✓ |
withRouter.html gzip | 1.01 kB | 1.01 kB | ✓ |
Overall change | 3.07 kB | 3.07 kB | ✓ |
Serverless Mode (Increase detected ⚠️ )
General Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
buildDuration | 12.8s | 13.3s | |
nodeModulesSize | 48.9 MB | 48.9 MB |
Client Bundles (main, webpack, commons)
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.js gzip | 5.1 kB | 5.1 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..54d3.js gzip | 4.68 kB | 4.68 kB | ✓ |
commons.HASH.js gzip | 4.06 kB | 4.06 kB | ✓ |
de003c3a9d30..e54b.js gzip | 13.7 kB | 13.7 kB | ✓ |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 67.4 kB | 67.4 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.module.js gzip | 4.16 kB | 4.16 kB | ✓ |
webpack-HASH..dule.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..dule.js gzip | 5.56 kB | 5.56 kB | ✓ |
de003c3a9d30..dule.js gzip | 12.5 kB | 12.5 kB | ✓ |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 62.1 kB | 62.1 kB | ✓ |
Legacy Client Bundles (polyfills)
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 4.76 kB | 4.76 kB | ✓ |
Overall change | 4.76 kB | 4.76 kB | ✓ |
Client Pages
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.js gzip | 1.33 kB | 1.33 kB | ✓ |
_error.js gzip | 4.07 kB | 4.07 kB | ✓ |
hooks.js gzip | 779 B | 779 B | ✓ |
index.js gzip | 222 B | 222 B | ✓ |
link.js gzip | 2.9 kB | 2.9 kB | ✓ |
routerDirect.js gzip | 283 B | 283 B | ✓ |
withRouter.js gzip | 282 B | 282 B | ✓ |
Overall change | 9.87 kB | 9.87 kB | ✓ |
Client Pages Modern
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.module.js gzip | 757 B | 757 B | ✓ |
_error.module.js gzip | 3.06 kB | 3.06 kB | ✓ |
hooks.module.js gzip | 371 B | 371 B | ✓ |
index.module.js gzip | 212 B | 212 B | ✓ |
link.module.js gzip | 2.47 kB | 2.47 kB | ✓ |
routerDirect..dule.js gzip | 273 B | 273 B | ✓ |
withRouter.m..dule.js gzip | 272 B | 272 B | ✓ |
Overall change | 7.41 kB | 7.41 kB | ✓ |
Client Build Manifests
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_buildManifest.js gzip | 61 B | 61 B | ✓ |
_buildManife..dule.js gzip | 61 B | 61 B | ✓ |
Overall change | 122 B | 122 B | ✓ |
Serverless bundles Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_error.js gzip | 77.8 kB | 78.1 kB | |
hooks.html gzip | 1.05 kB | 1.05 kB | ✓ |
index.js gzip | 78 kB | 78.3 kB | |
link.js gzip | 80.4 kB | 80.7 kB | |
routerDirect.js gzip | 78.1 kB | 78.4 kB | |
withRouter.js gzip | 78.1 kB | 78.4 kB | |
Overall change | 393 kB | 395 kB |
Commit: 6c0ac34
Stats from current PRDefault Server ModeGeneral Overall increase
|
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
buildDuration | 12.9s | 12.7s | -136ms |
nodeModulesSize | 48.9 MB | 48.9 MB |
Client Bundles (main, webpack, commons)
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.js gzip | 5.1 kB | 5.1 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..54d3.js gzip | 4.68 kB | 4.68 kB | ✓ |
commons.HASH.js gzip | 4.06 kB | 4.06 kB | ✓ |
de003c3a9d30..e54b.js gzip | 13.7 kB | 13.7 kB | ✓ |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 67.4 kB | 67.4 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.module.js gzip | 4.16 kB | 4.16 kB | ✓ |
webpack-HASH..dule.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..dule.js gzip | 5.56 kB | 5.56 kB | ✓ |
de003c3a9d30..dule.js gzip | 12.5 kB | 12.5 kB | ✓ |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 62.1 kB | 62.1 kB | ✓ |
Legacy Client Bundles (polyfills)
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 4.76 kB | 4.76 kB | ✓ |
Overall change | 4.76 kB | 4.76 kB | ✓ |
Client Pages
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.js gzip | 1.33 kB | 1.33 kB | ✓ |
_error.js gzip | 4.07 kB | 4.07 kB | ✓ |
hooks.js gzip | 779 B | 779 B | ✓ |
index.js gzip | 222 B | 222 B | ✓ |
link.js gzip | 2.9 kB | 2.9 kB | ✓ |
routerDirect.js gzip | 283 B | 283 B | ✓ |
withRouter.js gzip | 282 B | 282 B | ✓ |
Overall change | 9.87 kB | 9.87 kB | ✓ |
Client Pages Modern
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.module.js gzip | 757 B | 757 B | ✓ |
_error.module.js gzip | 3.06 kB | 3.06 kB | ✓ |
hooks.module.js gzip | 371 B | 371 B | ✓ |
index.module.js gzip | 212 B | 212 B | ✓ |
link.module.js gzip | 2.47 kB | 2.47 kB | ✓ |
routerDirect..dule.js gzip | 273 B | 273 B | ✓ |
withRouter.m..dule.js gzip | 272 B | 272 B | ✓ |
Overall change | 7.41 kB | 7.41 kB | ✓ |
Client Build Manifests
zeit/next.js canary | ijjk/next.js add/getServerProps | 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 | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
index.html gzip | 1.02 kB | 1.02 kB | ✓ |
link.html gzip | 1.03 kB | 1.03 kB | ✓ |
withRouter.html gzip | 1.01 kB | 1.01 kB | ✓ |
Overall change | 3.07 kB | 3.07 kB | ✓ |
Serverless Mode (Increase detected ⚠️ )
General Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
buildDuration | 13.2s | 13.4s | |
nodeModulesSize | 48.9 MB | 48.9 MB |
Client Bundles (main, webpack, commons)
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.js gzip | 5.1 kB | 5.1 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..54d3.js gzip | 4.68 kB | 4.68 kB | ✓ |
commons.HASH.js gzip | 4.06 kB | 4.06 kB | ✓ |
de003c3a9d30..e54b.js gzip | 13.7 kB | 13.7 kB | ✓ |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 67.4 kB | 67.4 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.module.js gzip | 4.16 kB | 4.16 kB | ✓ |
webpack-HASH..dule.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..dule.js gzip | 5.56 kB | 5.56 kB | ✓ |
de003c3a9d30..dule.js gzip | 12.5 kB | 12.5 kB | ✓ |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 62.1 kB | 62.1 kB | ✓ |
Legacy Client Bundles (polyfills)
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 4.76 kB | 4.76 kB | ✓ |
Overall change | 4.76 kB | 4.76 kB | ✓ |
Client Pages
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.js gzip | 1.33 kB | 1.33 kB | ✓ |
_error.js gzip | 4.07 kB | 4.07 kB | ✓ |
hooks.js gzip | 779 B | 779 B | ✓ |
index.js gzip | 222 B | 222 B | ✓ |
link.js gzip | 2.9 kB | 2.9 kB | ✓ |
routerDirect.js gzip | 283 B | 283 B | ✓ |
withRouter.js gzip | 282 B | 282 B | ✓ |
Overall change | 9.87 kB | 9.87 kB | ✓ |
Client Pages Modern
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.module.js gzip | 757 B | 757 B | ✓ |
_error.module.js gzip | 3.06 kB | 3.06 kB | ✓ |
hooks.module.js gzip | 371 B | 371 B | ✓ |
index.module.js gzip | 212 B | 212 B | ✓ |
link.module.js gzip | 2.47 kB | 2.47 kB | ✓ |
routerDirect..dule.js gzip | 273 B | 273 B | ✓ |
withRouter.m..dule.js gzip | 272 B | 272 B | ✓ |
Overall change | 7.41 kB | 7.41 kB | ✓ |
Client Build Manifests
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_buildManifest.js gzip | 61 B | 61 B | ✓ |
_buildManife..dule.js gzip | 61 B | 61 B | ✓ |
Overall change | 122 B | 122 B | ✓ |
Serverless bundles Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_error.js gzip | 77.9 kB | 78.2 kB | |
hooks.html gzip | 1.05 kB | 1.05 kB | ✓ |
index.js gzip | 78.1 kB | 78.4 kB | |
link.js gzip | 80.6 kB | 80.9 kB | |
routerDirect.js gzip | 78.2 kB | 78.5 kB | |
withRouter.js gzip | 78.3 kB | 78.6 kB | |
Overall change | 394 kB | 396 kB |
Commit: 30ad22f
Stats from current PRDefault Server ModeGeneral Overall increase
|
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
buildDuration | 13.7s | 13.8s | |
nodeModulesSize | 48.9 MB | 48.9 MB |
Client Bundles (main, webpack, commons)
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.js gzip | 5.1 kB | 5.1 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..54d3.js gzip | 4.68 kB | 4.68 kB | ✓ |
commons.HASH.js gzip | 4.06 kB | 4.06 kB | ✓ |
de003c3a9d30..e54b.js gzip | 13.7 kB | 13.7 kB | ✓ |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 67.4 kB | 67.4 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.module.js gzip | 4.16 kB | 4.16 kB | ✓ |
webpack-HASH..dule.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..dule.js gzip | 5.56 kB | 5.56 kB | ✓ |
de003c3a9d30..dule.js gzip | 12.5 kB | 12.5 kB | ✓ |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 62.1 kB | 62.1 kB | ✓ |
Legacy Client Bundles (polyfills)
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 4.76 kB | 4.76 kB | ✓ |
Overall change | 4.76 kB | 4.76 kB | ✓ |
Client Pages
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.js gzip | 1.33 kB | 1.33 kB | ✓ |
_error.js gzip | 4.07 kB | 4.07 kB | ✓ |
hooks.js gzip | 779 B | 779 B | ✓ |
index.js gzip | 222 B | 222 B | ✓ |
link.js gzip | 2.9 kB | 2.9 kB | ✓ |
routerDirect.js gzip | 283 B | 283 B | ✓ |
withRouter.js gzip | 282 B | 282 B | ✓ |
Overall change | 9.87 kB | 9.87 kB | ✓ |
Client Pages Modern
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.module.js gzip | 757 B | 757 B | ✓ |
_error.module.js gzip | 3.06 kB | 3.06 kB | ✓ |
hooks.module.js gzip | 371 B | 371 B | ✓ |
index.module.js gzip | 212 B | 212 B | ✓ |
link.module.js gzip | 2.47 kB | 2.47 kB | ✓ |
routerDirect..dule.js gzip | 273 B | 273 B | ✓ |
withRouter.m..dule.js gzip | 272 B | 272 B | ✓ |
Overall change | 7.41 kB | 7.41 kB | ✓ |
Client Build Manifests
zeit/next.js canary | ijjk/next.js add/getServerProps | 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 | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
index.html gzip | 1.02 kB | 1.02 kB | ✓ |
link.html gzip | 1.03 kB | 1.03 kB | ✓ |
withRouter.html gzip | 1.01 kB | 1.01 kB | ✓ |
Overall change | 3.07 kB | 3.07 kB | ✓ |
Serverless Mode (Increase detected ⚠️ )
General Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
buildDuration | 14.1s | 14.4s | |
nodeModulesSize | 48.9 MB | 48.9 MB |
Client Bundles (main, webpack, commons)
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.js gzip | 5.1 kB | 5.1 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..54d3.js gzip | 4.68 kB | 4.68 kB | ✓ |
commons.HASH.js gzip | 4.06 kB | 4.06 kB | ✓ |
de003c3a9d30..e54b.js gzip | 13.7 kB | 13.7 kB | ✓ |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 67.4 kB | 67.4 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.module.js gzip | 4.16 kB | 4.16 kB | ✓ |
webpack-HASH..dule.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..dule.js gzip | 5.56 kB | 5.56 kB | ✓ |
de003c3a9d30..dule.js gzip | 12.5 kB | 12.5 kB | ✓ |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 62.1 kB | 62.1 kB | ✓ |
Legacy Client Bundles (polyfills)
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 4.76 kB | 4.76 kB | ✓ |
Overall change | 4.76 kB | 4.76 kB | ✓ |
Client Pages
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.js gzip | 1.33 kB | 1.33 kB | ✓ |
_error.js gzip | 4.07 kB | 4.07 kB | ✓ |
hooks.js gzip | 779 B | 779 B | ✓ |
index.js gzip | 222 B | 222 B | ✓ |
link.js gzip | 2.9 kB | 2.9 kB | ✓ |
routerDirect.js gzip | 283 B | 283 B | ✓ |
withRouter.js gzip | 282 B | 282 B | ✓ |
Overall change | 9.87 kB | 9.87 kB | ✓ |
Client Pages Modern
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.module.js gzip | 757 B | 757 B | ✓ |
_error.module.js gzip | 3.06 kB | 3.06 kB | ✓ |
hooks.module.js gzip | 371 B | 371 B | ✓ |
index.module.js gzip | 212 B | 212 B | ✓ |
link.module.js gzip | 2.47 kB | 2.47 kB | ✓ |
routerDirect..dule.js gzip | 273 B | 273 B | ✓ |
withRouter.m..dule.js gzip | 272 B | 272 B | ✓ |
Overall change | 7.41 kB | 7.41 kB | ✓ |
Client Build Manifests
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_buildManifest.js gzip | 61 B | 61 B | ✓ |
_buildManife..dule.js gzip | 61 B | 61 B | ✓ |
Overall change | 122 B | 122 B | ✓ |
Serverless bundles Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_error.js gzip | 77.9 kB | 78.2 kB | |
hooks.html gzip | 1.05 kB | 1.05 kB | ✓ |
index.js gzip | 78.1 kB | 78.4 kB | |
link.js gzip | 80.6 kB | 80.9 kB | |
routerDirect.js gzip | 78.2 kB | 78.5 kB | |
withRouter.js gzip | 78.3 kB | 78.6 kB | |
Overall change | 394 kB | 396 kB |
Commit: 40b3e68
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we add a test for a catch-all route and its params for getServerProps?
Added test for catchall route and also updated |
Stats from current PRDefault Server ModeGeneral Overall increase
|
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
buildDuration | 12.7s | 12.8s | |
nodeModulesSize | 48.9 MB | 48.9 MB |
Client Bundles (main, webpack, commons)
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.js gzip | 5.1 kB | 5.1 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..54d3.js gzip | 4.68 kB | 4.68 kB | ✓ |
commons.HASH.js gzip | 4.06 kB | 4.06 kB | ✓ |
de003c3a9d30..e54b.js gzip | 13.7 kB | 13.7 kB | ✓ |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 67.4 kB | 67.4 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.module.js gzip | 4.16 kB | 4.16 kB | ✓ |
webpack-HASH..dule.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..dule.js gzip | 5.56 kB | 5.56 kB | ✓ |
de003c3a9d30..dule.js gzip | 12.5 kB | 12.5 kB | ✓ |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 62.1 kB | 62.1 kB | ✓ |
Legacy Client Bundles (polyfills)
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 4.76 kB | 4.76 kB | ✓ |
Overall change | 4.76 kB | 4.76 kB | ✓ |
Client Pages
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.js gzip | 1.33 kB | 1.33 kB | ✓ |
_error.js gzip | 4.07 kB | 4.07 kB | ✓ |
hooks.js gzip | 779 B | 779 B | ✓ |
index.js gzip | 222 B | 222 B | ✓ |
link.js gzip | 2.9 kB | 2.9 kB | ✓ |
routerDirect.js gzip | 283 B | 283 B | ✓ |
withRouter.js gzip | 282 B | 282 B | ✓ |
Overall change | 9.87 kB | 9.87 kB | ✓ |
Client Pages Modern
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.module.js gzip | 757 B | 757 B | ✓ |
_error.module.js gzip | 3.06 kB | 3.06 kB | ✓ |
hooks.module.js gzip | 371 B | 371 B | ✓ |
index.module.js gzip | 212 B | 212 B | ✓ |
link.module.js gzip | 2.47 kB | 2.47 kB | ✓ |
routerDirect..dule.js gzip | 273 B | 273 B | ✓ |
withRouter.m..dule.js gzip | 272 B | 272 B | ✓ |
Overall change | 7.41 kB | 7.41 kB | ✓ |
Client Build Manifests
zeit/next.js canary | ijjk/next.js add/getServerProps | 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 | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
index.html gzip | 1.02 kB | 1.02 kB | ✓ |
link.html gzip | 1.03 kB | 1.03 kB | ✓ |
withRouter.html gzip | 1.01 kB | 1.01 kB | ✓ |
Overall change | 3.07 kB | 3.07 kB | ✓ |
Serverless Mode (Increase detected ⚠️ )
General Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
buildDuration | 13.4s | 13.3s | -170ms |
nodeModulesSize | 48.9 MB | 48.9 MB |
Client Bundles (main, webpack, commons)
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.js gzip | 5.1 kB | 5.1 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..54d3.js gzip | 4.68 kB | 4.68 kB | ✓ |
commons.HASH.js gzip | 4.06 kB | 4.06 kB | ✓ |
de003c3a9d30..e54b.js gzip | 13.7 kB | 13.7 kB | ✓ |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 67.4 kB | 67.4 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.module.js gzip | 4.16 kB | 4.16 kB | ✓ |
webpack-HASH..dule.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..dule.js gzip | 5.56 kB | 5.56 kB | ✓ |
de003c3a9d30..dule.js gzip | 12.5 kB | 12.5 kB | ✓ |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 62.1 kB | 62.1 kB | ✓ |
Legacy Client Bundles (polyfills)
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 4.76 kB | 4.76 kB | ✓ |
Overall change | 4.76 kB | 4.76 kB | ✓ |
Client Pages
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.js gzip | 1.33 kB | 1.33 kB | ✓ |
_error.js gzip | 4.07 kB | 4.07 kB | ✓ |
hooks.js gzip | 779 B | 779 B | ✓ |
index.js gzip | 222 B | 222 B | ✓ |
link.js gzip | 2.9 kB | 2.9 kB | ✓ |
routerDirect.js gzip | 283 B | 283 B | ✓ |
withRouter.js gzip | 282 B | 282 B | ✓ |
Overall change | 9.87 kB | 9.87 kB | ✓ |
Client Pages Modern
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.module.js gzip | 757 B | 757 B | ✓ |
_error.module.js gzip | 3.06 kB | 3.06 kB | ✓ |
hooks.module.js gzip | 371 B | 371 B | ✓ |
index.module.js gzip | 212 B | 212 B | ✓ |
link.module.js gzip | 2.47 kB | 2.47 kB | ✓ |
routerDirect..dule.js gzip | 273 B | 273 B | ✓ |
withRouter.m..dule.js gzip | 272 B | 272 B | ✓ |
Overall change | 7.41 kB | 7.41 kB | ✓ |
Client Build Manifests
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_buildManifest.js gzip | 61 B | 61 B | ✓ |
_buildManife..dule.js gzip | 61 B | 61 B | ✓ |
Overall change | 122 B | 122 B | ✓ |
Serverless bundles Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_error.js gzip | 77.9 kB | 78.2 kB | |
hooks.html gzip | 1.05 kB | 1.05 kB | ✓ |
index.js gzip | 78.1 kB | 78.4 kB | |
link.js gzip | 80.6 kB | 80.9 kB | |
routerDirect.js gzip | 78.2 kB | 78.5 kB | |
withRouter.js gzip | 78.3 kB | 78.6 kB | |
Overall change | 394 kB | 396 kB |
Commit: 7397571
Stats from current PRDefault Server Mode (Increase detected
|
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
buildDuration | 11.8s | 11.7s | -69ms |
nodeModulesSize | 52.1 MB | 52.1 MB |
Client Bundles (main, webpack, commons) Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.js gzip | 5.1 kB | 5.1 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..54d3.js gzip | 4.68 kB | 4.68 kB | ✓ |
commons.HASH.js gzip | 4.06 kB | 4.06 kB | ✓ |
de003c3a9d30..d57b.js gzip | 16.1 kB | 16.2 kB | |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 69.8 kB | 69.9 kB |
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.module.js gzip | 4.09 kB | 4.09 kB | ✓ |
webpack-HASH..dule.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..dule.js gzip | 5.56 kB | 5.56 kB | ✓ |
de003c3a9d30..dule.js gzip | 15 kB | 15.1 kB | |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 64.5 kB | 64.6 kB |
Legacy Client Bundles (polyfills)
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 4.76 kB | 4.76 kB | ✓ |
Overall change | 4.76 kB | 4.76 kB | ✓ |
Client Pages
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.js gzip | 1.15 kB | 1.15 kB | ✓ |
_error.js gzip | 4.07 kB | 4.07 kB | ✓ |
hooks.js gzip | 779 B | 779 B | ✓ |
index.js gzip | 222 B | 222 B | ✓ |
link.js gzip | 2.89 kB | 2.89 kB | ✓ |
routerDirect.js gzip | 283 B | 283 B | ✓ |
withRouter.js gzip | 282 B | 282 B | ✓ |
Overall change | 9.68 kB | 9.68 kB | ✓ |
Client Pages Modern
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.module.js gzip | 576 B | 576 B | ✓ |
_error.module.js gzip | 3.06 kB | 3.06 kB | ✓ |
hooks.module.js gzip | 371 B | 371 B | ✓ |
index.module.js gzip | 212 B | 212 B | ✓ |
link.module.js gzip | 2.46 kB | 2.46 kB | ✓ |
routerDirect..dule.js gzip | 273 B | 273 B | ✓ |
withRouter.m..dule.js gzip | 272 B | 272 B | ✓ |
Overall change | 7.22 kB | 7.22 kB | ✓ |
Client Build Manifests
zeit/next.js canary | ijjk/next.js add/getServerProps | 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 Overall decrease ✓
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
index.html gzip | 1.02 kB | 1.02 kB | -1 B |
link.html gzip | 1.03 kB | 1.03 kB | |
withRouter.html gzip | 1.02 kB | 1.02 kB | -1 B |
Overall change | 3.07 kB | 3.07 kB | -1 B |
Diffs
Diff for de003c3a9d30..e3035c8ae.js
@@ -2592,6 +2592,36 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
return path.replace(/\/$/, '') || '/'
}
+ var prepareRoute = function prepareRoute(path) {
+ return toRoute(!path || path === '/' ? '/index' : path)
+ }
+
+ var fetchNextData = function fetchNextData(pathname, query, cb) {
+ return fetch(
+ utils_1.formatWithValidation({
+ // @ts-ignore __NEXT_DATA__
+ pathname: '/_next/data/'
+ .concat(__NEXT_DATA__.buildId)
+ .concat(pathname, '.json'),
+ query: query,
+ })
+ )
+ .then(function(res) {
+ if (!res.ok) {
+ throw new Error('Failed to load static props')
+ }
+
+ return res.json()
+ })
+ .then(function(data) {
+ return cb ? cb(data) : data
+ })
+ ['catch'](function(err) {
+ err.code = 'PAGE_LOAD_ERROR'
+ throw err
+ })
+ }
+
var Router =
/*#__PURE__*/
(function() {
@@ -2663,34 +2693,22 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
_this.replace(url, as, options)
}
- this._getStaticData = function(asPath, _cachedData) {
- var pathname = url_1.parse(asPath).pathname
- pathname = toRoute(
- !pathname || pathname === '/' ? '/index' : pathname
- )
- return true && (_cachedData = _this.sdc[pathname])
- ? _Promise.resolve(_cachedData)
- : fetch(
- // @ts-ignore __NEXT_DATA__
- '/_next/data/'
- .concat(__NEXT_DATA__.buildId)
- .concat(pathname, '.json')
- )
- .then(function(res) {
- if (!res.ok) {
- throw new Error('Failed to load static props')
- }
+ this._getStaticData = function(asPath) {
+ var pathname = prepareRoute(url_1.parse(asPath).pathname)
+ return true && _this.sdc[pathname]
+ ? _Promise.resolve(_this.sdc[pathname])
+ : fetchNextData(pathname, null, function(data) {
+ return (_this.sdc[pathname] = data)
+ })
+ }
- return res.json()
- })
- .then(function(data) {
- _this.sdc[pathname] = data
- return data
- })
- ['catch'](function(err) {
- err.code = 'PAGE_LOAD_ERROR'
- throw err
- })
+ this._getServerData = function(asPath) {
+ var _url_1$parse = url_1.parse(asPath, true),
+ pathname = _url_1$parse.pathname,
+ query = _url_1$parse.query
+
+ pathname = prepareRoute(pathname)
+ return fetchNextData(pathname, query)
} // represents the current component key
this.route = toRoute(pathname) // set up the component cache (by route keys)
@@ -2878,10 +2896,10 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
return resolve(true)
}
- var _url_1$parse = url_1.parse(url, true),
- pathname = _url_1$parse.pathname,
- query = _url_1$parse.query,
- protocol = _url_1$parse.protocol
+ var _url_1$parse2 = url_1.parse(url, true),
+ pathname = _url_1$parse2.pathname,
+ query = _url_1$parse2.query,
+ protocol = _url_1$parse2.protocol
if (!pathname || protocol) {
if (false) {
@@ -2904,8 +2922,8 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
_options$shallow === void 0 ? false : _options$shallow
if (is_dynamic_1.isDynamicRoute(route)) {
- var _url_1$parse2 = url_1.parse(as),
- asPathname = _url_1$parse2.pathname
+ var _url_1$parse3 = url_1.parse(as),
+ asPathname = _url_1$parse3.pathname
var routeRegex = route_regex_1.getRouteRegex(route)
var routeMatch = route_matcher_1.getRouteMatcher(
@@ -3050,16 +3068,20 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
return _this3
._getData(function() {
- return Component.__N_SSG
- ? _this3._getStaticData(as)
- : _this3.getInitialProps(
- Component, // we provide AppTree later so this needs to be `any`
- {
- pathname: pathname,
- query: query,
- asPath: as,
- }
- )
+ if (Component.__N_SSG) {
+ return _this3._getStaticData(as)
+ } else if (Component.__N_SSP) {
+ return _this3._getServerData(as)
+ }
+
+ return _this3.getInitialProps(
+ Component, // we provide AppTree later so this needs to be `any`
+ {
+ pathname: pathname,
+ query: query,
+ asPath: as,
+ }
+ )
})
.then(function(props) {
routeInfo.props = props
@@ -3227,9 +3249,9 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
var _this4 = this
return new _Promise(function(resolve, reject) {
- var _url_1$parse3 = url_1.parse(url),
- pathname = _url_1$parse3.pathname,
- protocol = _url_1$parse3.protocol
+ var _url_1$parse4 = url_1.parse(url),
+ pathname = _url_1$parse4.pathname,
+ protocol = _url_1$parse4.protocol
if (!pathname || protocol) {
if (false) {
Diff for de003c3a9d30..d3.module.js
@@ -2937,6 +2937,35 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
return path.replace(/\/$/, '') || '/'
}
+ var prepareRoute = path =>
+ toRoute(!path || path === '/' ? '/index' : path)
+
+ var fetchNextData = (pathname, query, cb) => {
+ return fetch(
+ utils_1.formatWithValidation({
+ // @ts-ignore __NEXT_DATA__
+ pathname: '/_next/data/'
+ .concat(__NEXT_DATA__.buildId)
+ .concat(pathname, '.json'),
+ query,
+ })
+ )
+ .then(res => {
+ if (!res.ok) {
+ throw new Error('Failed to load static props')
+ }
+
+ return res.json()
+ })
+ .then(data => {
+ return cb ? cb(data) : data
+ })
+ .catch(err => {
+ err.code = 'PAGE_LOAD_ERROR'
+ throw err
+ })
+ }
+
class Router {
constructor(pathname, query, as, _ref) {
var {
@@ -2997,34 +3026,21 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
this.replace(url, as, options)
}
- this._getStaticData = (asPath, _cachedData) => {
- var pathname = url_1.parse(asPath).pathname
- pathname = toRoute(
- !pathname || pathname === '/' ? '/index' : pathname
- )
- return true && (_cachedData = this.sdc[pathname])
- ? _Promise.resolve(_cachedData)
- : fetch(
- // @ts-ignore __NEXT_DATA__
- '/_next/data/'
- .concat(__NEXT_DATA__.buildId)
- .concat(pathname, '.json')
+ this._getStaticData = asPath => {
+ var pathname = prepareRoute(url_1.parse(asPath).pathname)
+ return true && this.sdc[pathname]
+ ? _Promise.resolve(this.sdc[pathname])
+ : fetchNextData(
+ pathname,
+ null,
+ data => (this.sdc[pathname] = data)
)
- .then(res => {
- if (!res.ok) {
- throw new Error('Failed to load static props')
- }
+ }
- return res.json()
- })
- .then(data => {
- this.sdc[pathname] = data
- return data
- })
- .catch(err => {
- err.code = 'PAGE_LOAD_ERROR'
- throw err
- })
+ this._getServerData = asPath => {
+ var { pathname, query } = url_1.parse(asPath, true)
+ pathname = prepareRoute(pathname)
+ return fetchNextData(pathname, query)
} // represents the current component key
this.route = toRoute(pathname) // set up the component cache (by route keys)
@@ -3347,18 +3363,22 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
var isValidElementType
}
- return this._getData(() =>
- Component.__N_SSG
- ? this._getStaticData(as)
- : this.getInitialProps(
- Component, // we provide AppTree later so this needs to be `any`
- {
- pathname,
- query,
- asPath: as,
- }
- )
- ).then(props => {
+ return this._getData(() => {
+ if (Component.__N_SSG) {
+ return this._getStaticData(as)
+ } else if (Component.__N_SSP) {
+ return this._getServerData(as)
+ }
+
+ return this.getInitialProps(
+ Component, // we provide AppTree later so this needs to be `any`
+ {
+ pathname,
+ query,
+ asPath: as,
+ }
+ )
+ }).then(props => {
routeInfo.props = props
this.components[route] = routeInfo
return routeInfo
Diff for index.html
@@ -39,7 +39,7 @@
/>
<link
rel="preload"
- href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.90fd5fa01287552151d3.module.js"
+ href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.29d0241deb5d75687c65.module.js"
as="script"
crossorigin="anonymous"
/>
@@ -151,13 +151,13 @@
type="module"
></script
><script
- src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.7f8e4c92f1de3035c8ae.js"
+ src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.6216e2ff3d96aefc7db6.js"
async=""
crossorigin="anonymous"
nomodule=""
></script
><script
- src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.90fd5fa01287552151d3.module.js"
+ src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.29d0241deb5d75687c65.module.js"
async=""
crossorigin="anonymous"
type="module"
Diff for link.html
@@ -39,7 +39,7 @@
/>
<link
rel="preload"
- href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.90fd5fa01287552151d3.module.js"
+ href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.29d0241deb5d75687c65.module.js"
as="script"
crossorigin="anonymous"
/>
@@ -156,13 +156,13 @@
type="module"
></script
><script
- src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.7f8e4c92f1de3035c8ae.js"
+ src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.6216e2ff3d96aefc7db6.js"
async=""
crossorigin="anonymous"
nomodule=""
></script
><script
- src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.90fd5fa01287552151d3.module.js"
+ src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.29d0241deb5d75687c65.module.js"
async=""
crossorigin="anonymous"
type="module"
Diff for withRouter.html
@@ -39,7 +39,7 @@
/>
<link
rel="preload"
- href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.90fd5fa01287552151d3.module.js"
+ href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.29d0241deb5d75687c65.module.js"
as="script"
crossorigin="anonymous"
/>
@@ -151,13 +151,13 @@
type="module"
></script
><script
- src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.7f8e4c92f1de3035c8ae.js"
+ src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.6216e2ff3d96aefc7db6.js"
async=""
crossorigin="anonymous"
nomodule=""
></script
><script
- src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.90fd5fa01287552151d3.module.js"
+ src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.29d0241deb5d75687c65.module.js"
async=""
crossorigin="anonymous"
type="module"
Serverless Mode (Increase detected ⚠️ )
General Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
buildDuration | 12s | 12.4s | |
nodeModulesSize | 52.1 MB | 52.1 MB |
Client Bundles (main, webpack, commons) Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.js gzip | 5.1 kB | 5.1 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..54d3.js gzip | 4.68 kB | 4.68 kB | ✓ |
commons.HASH.js gzip | 4.06 kB | 4.06 kB | ✓ |
de003c3a9d30..d57b.js gzip | 16.1 kB | N/A | N/A |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
de003c3a9d30..94e2.js gzip | N/A | 16.2 kB | N/A |
Overall change | 69.8 kB | 69.9 kB |
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.module.js gzip | 4.09 kB | 4.09 kB | ✓ |
webpack-HASH..dule.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..dule.js gzip | 5.56 kB | 5.56 kB | ✓ |
de003c3a9d30..dule.js gzip | 15 kB | N/A | N/A |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
de003c3a9d30..dule.js gzip | N/A | 15.1 kB | N/A |
Overall change | 64.5 kB | 64.6 kB |
Legacy Client Bundles (polyfills)
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 4.76 kB | 4.76 kB | ✓ |
Overall change | 4.76 kB | 4.76 kB | ✓ |
Client Pages
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.js gzip | 1.15 kB | 1.15 kB | ✓ |
_error.js gzip | 4.07 kB | 4.07 kB | ✓ |
hooks.js gzip | 779 B | 779 B | ✓ |
index.js gzip | 222 B | 222 B | ✓ |
link.js gzip | 2.89 kB | 2.89 kB | ✓ |
routerDirect.js gzip | 283 B | 283 B | ✓ |
withRouter.js gzip | 282 B | 282 B | ✓ |
Overall change | 9.68 kB | 9.68 kB | ✓ |
Client Pages Modern
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.module.js gzip | 576 B | 576 B | ✓ |
_error.module.js gzip | 3.06 kB | 3.06 kB | ✓ |
hooks.module.js gzip | 371 B | 371 B | ✓ |
index.module.js gzip | 212 B | 212 B | ✓ |
link.module.js gzip | 2.46 kB | 2.46 kB | ✓ |
routerDirect..dule.js gzip | 273 B | 273 B | ✓ |
withRouter.m..dule.js gzip | 272 B | 272 B | ✓ |
Overall change | 7.22 kB | 7.22 kB | ✓ |
Client Build Manifests
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_buildManifest.js gzip | 61 B | 61 B | ✓ |
_buildManife..dule.js gzip | 61 B | 61 B | ✓ |
Overall change | 122 B | 122 B | ✓ |
Serverless bundles Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_error.js gzip | 46.2 kB | 46.6 kB | |
hooks.html gzip | 1.06 kB | 1.05 kB | -1 B |
index.js gzip | 46.4 kB | 46.8 kB | |
link.js gzip | 71.9 kB | 72.4 kB | |
routerDirect.js gzip | 69.9 kB | 70.4 kB | |
withRouter.js gzip | 69.9 kB | 70.5 kB | |
Overall change | 305 kB | 308 kB |
Commit: 300d354
Stats from current PRDefault Server Mode (Increase detected
|
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
buildDuration | 12.7s | 12.7s | -69ms |
nodeModulesSize | 52.1 MB | 52.1 MB |
Client Bundles (main, webpack, commons) Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.js gzip | 5.1 kB | 5.1 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..54d3.js gzip | 4.68 kB | 4.68 kB | ✓ |
commons.HASH.js gzip | 4.06 kB | 4.06 kB | ✓ |
de003c3a9d30..d57b.js gzip | 16.1 kB | N/A | N/A |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
de003c3a9d30..d6ae.js gzip | N/A | 16.2 kB | N/A |
Overall change | 69.8 kB | 69.9 kB |
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.module.js gzip | 4.09 kB | 4.09 kB | ✓ |
webpack-HASH..dule.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..dule.js gzip | 5.56 kB | 5.56 kB | ✓ |
de003c3a9d30..dule.js gzip | 15 kB | N/A | N/A |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
de003c3a9d30..dule.js gzip | N/A | 15.1 kB | N/A |
Overall change | 64.5 kB | 64.6 kB |
Legacy Client Bundles (polyfills)
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 4.76 kB | 4.76 kB | ✓ |
Overall change | 4.76 kB | 4.76 kB | ✓ |
Client Pages
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.js gzip | 1.15 kB | 1.15 kB | ✓ |
_error.js gzip | 4.07 kB | 4.07 kB | ✓ |
hooks.js gzip | 779 B | 779 B | ✓ |
index.js gzip | 222 B | 222 B | ✓ |
link.js gzip | 2.89 kB | 2.89 kB | ✓ |
routerDirect.js gzip | 283 B | 283 B | ✓ |
withRouter.js gzip | 282 B | 282 B | ✓ |
Overall change | 9.68 kB | 9.68 kB | ✓ |
Client Pages Modern
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.module.js gzip | 576 B | 576 B | ✓ |
_error.module.js gzip | 3.06 kB | 3.06 kB | ✓ |
hooks.module.js gzip | 371 B | 371 B | ✓ |
index.module.js gzip | 212 B | 212 B | ✓ |
link.module.js gzip | 2.46 kB | 2.46 kB | ✓ |
routerDirect..dule.js gzip | 273 B | 273 B | ✓ |
withRouter.m..dule.js gzip | 272 B | 272 B | ✓ |
Overall change | 7.22 kB | 7.22 kB | ✓ |
Client Build Manifests
zeit/next.js canary | ijjk/next.js add/getServerProps | 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 Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
index.html gzip | 1.02 kB | 1.02 kB | ✓ |
link.html gzip | 1.03 kB | 1.03 kB | |
withRouter.html gzip | 1.02 kB | 1.02 kB | ✓ |
Overall change | 3.07 kB | 3.07 kB |
Diffs
Diff for index.html
@@ -1 +1 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/BUILD_ID/pages/index.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/BUILD_ID/pages/_app.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/runtime/webpack-d629b83a65f3e33fa99e.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/framework.5bb7f30f859f5f31359f.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6406830adfd759a39616.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.90fd5fa01287552151d3.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/runtime/main-60eea145a6884288511c.module.js" as="script" crossorigin="anonymous"/></head><body><div id="__next">Hello world 👋</div><script id="__NEXT_DATA__" type="application/json" crossorigin="anonymous">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"BUILD_ID"}</script><script crossorigin="anonymous" nomodule="">!function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();</script><script crossorigin="anonymous" nomodule="" src="/_next/static/runtime/polyfills-355bc4b3077ea9d3fc7a.js"></script><script async="" data-next-page="/" src="/_next/static/BUILD_ID/pages/index.js" crossorigin="anonymous" nomodule=""></script><script async="" data-next-page="/" src="/_next/static/BUILD_ID/pages/index.module.js" crossorigin="anonymous" type="module"></script><script async="" data-next-page="/_app" src="/_next/static/BUILD_ID/pages/_app.js" crossorigin="anonymous" nomodule=""></script><script async="" data-next-page="/_app" src="/_next/static/BUILD_ID/pages/_app.module.js" crossorigin="anonymous" type="module"></script><script src="/_next/static/runtime/webpack-4d739ac7b0d8f888ab18.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/runtime/webpack-d629b83a65f3e33fa99e.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/framework.c07ba8a3b0945b0f6315.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/framework.5bb7f30f859f5f31359f.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/commons.5d483f979b96e9afed5a.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.9a0caf742c992a927903.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6406830adfd759a39616.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.7f8e4c92f1de3035c8ae.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.90fd5fa01287552151d3.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/runtime/main-e786807af576bd92c5e2.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/runtime/main-60eea145a6884288511c.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/BUILD_ID/_buildManifest.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/BUILD_ID/_buildManifest.module.js" async="" crossorigin="anonymous" type="module"></script></body></html>
\ No newline at end of file
+<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/BUILD_ID/pages/index.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/BUILD_ID/pages/_app.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/runtime/webpack-d629b83a65f3e33fa99e.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/framework.5bb7f30f859f5f31359f.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6406830adfd759a39616.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.b80ecbc12a17e3ea0bd0.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/runtime/main-60eea145a6884288511c.module.js" as="script" crossorigin="anonymous"/></head><body><div id="__next">Hello world 👋</div><script id="__NEXT_DATA__" type="application/json" crossorigin="anonymous">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"BUILD_ID"}</script><script crossorigin="anonymous" nomodule="">!function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();</script><script crossorigin="anonymous" nomodule="" src="/_next/static/runtime/polyfills-355bc4b3077ea9d3fc7a.js"></script><script async="" data-next-page="/" src="/_next/static/BUILD_ID/pages/index.js" crossorigin="anonymous" nomodule=""></script><script async="" data-next-page="/" src="/_next/static/BUILD_ID/pages/index.module.js" crossorigin="anonymous" type="module"></script><script async="" data-next-page="/_app" src="/_next/static/BUILD_ID/pages/_app.js" crossorigin="anonymous" nomodule=""></script><script async="" data-next-page="/_app" src="/_next/static/BUILD_ID/pages/_app.module.js" crossorigin="anonymous" type="module"></script><script src="/_next/static/runtime/webpack-4d739ac7b0d8f888ab18.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/runtime/webpack-d629b83a65f3e33fa99e.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/framework.c07ba8a3b0945b0f6315.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/framework.5bb7f30f859f5f31359f.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/commons.5d483f979b96e9afed5a.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.9a0caf742c992a927903.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6406830adfd759a39616.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.316cffaf82e7d78bbb63.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.b80ecbc12a17e3ea0bd0.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/runtime/main-e786807af576bd92c5e2.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/runtime/main-60eea145a6884288511c.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/BUILD_ID/_buildManifest.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/BUILD_ID/_buildManifest.module.js" async="" crossorigin="anonymous" type="module"></script></body></html>
\ No newline at end of file
Diff for de003c3a9d30..d3.module.js
@@ -2782,6 +2782,28 @@ function toRoute(path) {
return path.replace(/\/$/, '') || '/';
}
+var prepareRoute = path => toRoute(!path || path === '/' ? '/index' : path);
+
+var fetchNextData = (pathname, query, cb) => {
+ return fetch(utils_1.formatWithValidation({
+ // @ts-ignore __NEXT_DATA__
+ pathname: "/_next/data/".concat(__NEXT_DATA__.buildId).concat(pathname, ".json"),
+ query
+ })).then(res => {
+ if (!res.ok) {
+ throw new Error("Failed to load static props");
+ }
+
+ return res.json();
+ }).then(data => {
+ return cb ? cb(data) : data;
+ }).catch(err => {
+ ;
+ err.code = 'PAGE_LOAD_ERROR';
+ throw err;
+ });
+};
+
class Router {
constructor(pathname, query, as, _ref) {
var {
@@ -2841,24 +2863,18 @@ class Router {
this.replace(url, as, options);
};
- this._getStaticData = (asPath, _cachedData) => {
- var pathname = url_1.parse(asPath).pathname;
- pathname = toRoute(!pathname || pathname === '/' ? '/index' : pathname);
- return true && (_cachedData = this.sdc[pathname]) ? _Promise.resolve(_cachedData) : fetch( // @ts-ignore __NEXT_DATA__
- "/_next/data/".concat(__NEXT_DATA__.buildId).concat(pathname, ".json")).then(res => {
- if (!res.ok) {
- throw new Error("Failed to load static props");
- }
+ this._getStaticData = asPath => {
+ var pathname = prepareRoute(url_1.parse(asPath).pathname);
+ return true && this.sdc[pathname] ? _Promise.resolve(this.sdc[pathname]) : fetchNextData(pathname, null, data => this.sdc[pathname] = data);
+ };
- return res.json();
- }).then(data => {
- this.sdc[pathname] = data;
- return data;
- }).catch(err => {
- ;
- err.code = 'PAGE_LOAD_ERROR';
- throw err;
- });
+ this._getServerData = asPath => {
+ var {
+ pathname,
+ query
+ } = url_1.parse(asPath, true);
+ pathname = prepareRoute(pathname);
+ return fetchNextData(pathname, query);
}; // represents the current component key
@@ -3132,12 +3148,14 @@ class Router {
if (false) { var isValidElementType; }
- return this._getData(() => Component.__N_SSG ? this._getStaticData(as) : this.getInitialProps(Component, // we provide AppTree later so this needs to be `any`
- {
- pathname,
- query,
- asPath: as
- })).then(props => {
+ return this._getData(() => {
+ return Component.__N_SSG ? this._getStaticData(as) : Component.__N_SSP ? this._getServerData(as) : this.getInitialProps(Component, // we provide AppTree later so this needs to be `any`
+ {
+ pathname,
+ query,
+ asPath: as
+ });
+ }).then(props => {
routeInfo.props = props;
this.components[route] = routeInfo;
return routeInfo;
Diff for de003c3a9d30..e3035c8ae.js
@@ -2500,6 +2500,30 @@ function toRoute(path) {
return path.replace(/\/$/, '') || '/';
}
+var prepareRoute = function prepareRoute(path) {
+ return toRoute(!path || path === '/' ? '/index' : path);
+};
+
+var fetchNextData = function fetchNextData(pathname, query, cb) {
+ return fetch(utils_1.formatWithValidation({
+ // @ts-ignore __NEXT_DATA__
+ pathname: "/_next/data/".concat(__NEXT_DATA__.buildId).concat(pathname, ".json"),
+ query: query
+ })).then(function (res) {
+ if (!res.ok) {
+ throw new Error("Failed to load static props");
+ }
+
+ return res.json();
+ }).then(function (data) {
+ return cb ? cb(data) : data;
+ })["catch"](function (err) {
+ ;
+ err.code = 'PAGE_LOAD_ERROR';
+ throw err;
+ });
+};
+
var Router =
/*#__PURE__*/
function () {
@@ -2563,24 +2587,20 @@ function () {
_this.replace(url, as, options);
};
- this._getStaticData = function (asPath, _cachedData) {
- var pathname = url_1.parse(asPath).pathname;
- pathname = toRoute(!pathname || pathname === '/' ? '/index' : pathname);
- return true && (_cachedData = _this.sdc[pathname]) ? _Promise.resolve(_cachedData) : fetch( // @ts-ignore __NEXT_DATA__
- "/_next/data/".concat(__NEXT_DATA__.buildId).concat(pathname, ".json")).then(function (res) {
- if (!res.ok) {
- throw new Error("Failed to load static props");
- }
-
- return res.json();
- }).then(function (data) {
- _this.sdc[pathname] = data;
- return data;
- })["catch"](function (err) {
- ;
- err.code = 'PAGE_LOAD_ERROR';
- throw err;
+ this._getStaticData = function (asPath) {
+ var pathname = prepareRoute(url_1.parse(asPath).pathname);
+ return true && _this.sdc[pathname] ? _Promise.resolve(_this.sdc[pathname]) : fetchNextData(pathname, null, function (data) {
+ return _this.sdc[pathname] = data;
});
+ };
+
+ this._getServerData = function (asPath) {
+ var _url_1$parse = url_1.parse(asPath, true),
+ pathname = _url_1$parse.pathname,
+ query = _url_1$parse.query;
+
+ pathname = prepareRoute(pathname);
+ return fetchNextData(pathname, query);
}; // represents the current component key
@@ -2740,10 +2760,10 @@ function () {
return resolve(true);
}
- var _url_1$parse = url_1.parse(url, true),
- pathname = _url_1$parse.pathname,
- query = _url_1$parse.query,
- protocol = _url_1$parse.protocol;
+ var _url_1$parse2 = url_1.parse(url, true),
+ pathname = _url_1$parse2.pathname,
+ query = _url_1$parse2.query,
+ protocol = _url_1$parse2.protocol;
if (!pathname || protocol) {
if (false) {}
@@ -2766,8 +2786,8 @@ function () {
shallow = _options$shallow === void 0 ? false : _options$shallow;
if (is_dynamic_1.isDynamicRoute(route)) {
- var _url_1$parse2 = url_1.parse(as),
- asPathname = _url_1$parse2.pathname;
+ var _url_1$parse3 = url_1.parse(as),
+ asPathname = _url_1$parse3.pathname;
var routeRegex = route_regex_1.getRouteRegex(route);
var routeMatch = route_matcher_1.getRouteMatcher(routeRegex)(asPathname);
@@ -2866,7 +2886,7 @@ function () {
if (false) { var _require, isValidElementType; }
return _this3._getData(function () {
- return Component.__N_SSG ? _this3._getStaticData(as) : _this3.getInitialProps(Component, // we provide AppTree later so this needs to be `any`
+ return Component.__N_SSG ? _this3._getStaticData(as) : Component.__N_SSP ? _this3._getServerData(as) : _this3.getInitialProps(Component, // we provide AppTree later so this needs to be `any`
{
pathname: pathname,
query: query,
@@ -3023,9 +3043,9 @@ function () {
var _this4 = this;
return new _Promise(function (resolve, reject) {
- var _url_1$parse3 = url_1.parse(url),
- pathname = _url_1$parse3.pathname,
- protocol = _url_1$parse3.protocol;
+ var _url_1$parse4 = url_1.parse(url),
+ pathname = _url_1$parse4.pathname,
+ protocol = _url_1$parse4.protocol;
if (!pathname || protocol) {
if (false) {}
Diff for link.html
@@ -1 +1 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/BUILD_ID/pages/link.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/BUILD_ID/pages/_app.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/runtime/webpack-d629b83a65f3e33fa99e.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/framework.5bb7f30f859f5f31359f.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6406830adfd759a39616.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.90fd5fa01287552151d3.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/runtime/main-60eea145a6884288511c.module.js" as="script" crossorigin="anonymous"/></head><body><div id="__next"><div><h3>A Link page!</h3><a href="/">Go to /</a></div></div><script id="__NEXT_DATA__" type="application/json" crossorigin="anonymous">{"props":{"pageProps":{}},"page":"/link","query":{},"buildId":"BUILD_ID"}</script><script crossorigin="anonymous" nomodule="">!function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();</script><script crossorigin="anonymous" nomodule="" src="/_next/static/runtime/polyfills-355bc4b3077ea9d3fc7a.js"></script><script async="" data-next-page="/link" src="/_next/static/BUILD_ID/pages/link.js" crossorigin="anonymous" nomodule=""></script><script async="" data-next-page="/link" src="/_next/static/BUILD_ID/pages/link.module.js" crossorigin="anonymous" type="module"></script><script async="" data-next-page="/_app" src="/_next/static/BUILD_ID/pages/_app.js" crossorigin="anonymous" nomodule=""></script><script async="" data-next-page="/_app" src="/_next/static/BUILD_ID/pages/_app.module.js" crossorigin="anonymous" type="module"></script><script src="/_next/static/runtime/webpack-4d739ac7b0d8f888ab18.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/runtime/webpack-d629b83a65f3e33fa99e.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/framework.c07ba8a3b0945b0f6315.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/framework.5bb7f30f859f5f31359f.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/commons.5d483f979b96e9afed5a.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.9a0caf742c992a927903.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6406830adfd759a39616.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.7f8e4c92f1de3035c8ae.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.90fd5fa01287552151d3.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/runtime/main-e786807af576bd92c5e2.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/runtime/main-60eea145a6884288511c.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/BUILD_ID/_buildManifest.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/BUILD_ID/_buildManifest.module.js" async="" crossorigin="anonymous" type="module"></script></body></html>
\ No newline at end of file
+<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/BUILD_ID/pages/link.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/BUILD_ID/pages/_app.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/runtime/webpack-d629b83a65f3e33fa99e.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/framework.5bb7f30f859f5f31359f.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6406830adfd759a39616.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.b80ecbc12a17e3ea0bd0.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/runtime/main-60eea145a6884288511c.module.js" as="script" crossorigin="anonymous"/></head><body><div id="__next"><div><h3>A Link page!</h3><a href="/">Go to /</a></div></div><script id="__NEXT_DATA__" type="application/json" crossorigin="anonymous">{"props":{"pageProps":{}},"page":"/link","query":{},"buildId":"BUILD_ID"}</script><script crossorigin="anonymous" nomodule="">!function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();</script><script crossorigin="anonymous" nomodule="" src="/_next/static/runtime/polyfills-355bc4b3077ea9d3fc7a.js"></script><script async="" data-next-page="/link" src="/_next/static/BUILD_ID/pages/link.js" crossorigin="anonymous" nomodule=""></script><script async="" data-next-page="/link" src="/_next/static/BUILD_ID/pages/link.module.js" crossorigin="anonymous" type="module"></script><script async="" data-next-page="/_app" src="/_next/static/BUILD_ID/pages/_app.js" crossorigin="anonymous" nomodule=""></script><script async="" data-next-page="/_app" src="/_next/static/BUILD_ID/pages/_app.module.js" crossorigin="anonymous" type="module"></script><script src="/_next/static/runtime/webpack-4d739ac7b0d8f888ab18.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/runtime/webpack-d629b83a65f3e33fa99e.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/framework.c07ba8a3b0945b0f6315.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/framework.5bb7f30f859f5f31359f.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/commons.5d483f979b96e9afed5a.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.9a0caf742c992a927903.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6406830adfd759a39616.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.316cffaf82e7d78bbb63.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.b80ecbc12a17e3ea0bd0.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/runtime/main-e786807af576bd92c5e2.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/runtime/main-60eea145a6884288511c.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/BUILD_ID/_buildManifest.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/BUILD_ID/_buildManifest.module.js" async="" crossorigin="anonymous" type="module"></script></body></html>
\ No newline at end of file
Diff for withRouter.html
@@ -1 +1 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/BUILD_ID/pages/withRouter.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/BUILD_ID/pages/_app.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/runtime/webpack-d629b83a65f3e33fa99e.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/framework.5bb7f30f859f5f31359f.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6406830adfd759a39616.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.90fd5fa01287552151d3.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/runtime/main-60eea145a6884288511c.module.js" as="script" crossorigin="anonymous"/></head><body><div id="__next"><div>I use withRouter</div></div><script id="__NEXT_DATA__" type="application/json" crossorigin="anonymous">{"props":{"pageProps":{}},"page":"/withRouter","query":{},"buildId":"BUILD_ID"}</script><script crossorigin="anonymous" nomodule="">!function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();</script><script crossorigin="anonymous" nomodule="" src="/_next/static/runtime/polyfills-355bc4b3077ea9d3fc7a.js"></script><script async="" data-next-page="/withRouter" src="/_next/static/BUILD_ID/pages/withRouter.js" crossorigin="anonymous" nomodule=""></script><script async="" data-next-page="/withRouter" src="/_next/static/BUILD_ID/pages/withRouter.module.js" crossorigin="anonymous" type="module"></script><script async="" data-next-page="/_app" src="/_next/static/BUILD_ID/pages/_app.js" crossorigin="anonymous" nomodule=""></script><script async="" data-next-page="/_app" src="/_next/static/BUILD_ID/pages/_app.module.js" crossorigin="anonymous" type="module"></script><script src="/_next/static/runtime/webpack-4d739ac7b0d8f888ab18.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/runtime/webpack-d629b83a65f3e33fa99e.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/framework.c07ba8a3b0945b0f6315.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/framework.5bb7f30f859f5f31359f.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/commons.5d483f979b96e9afed5a.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.9a0caf742c992a927903.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6406830adfd759a39616.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.7f8e4c92f1de3035c8ae.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.90fd5fa01287552151d3.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/runtime/main-e786807af576bd92c5e2.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/runtime/main-60eea145a6884288511c.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/BUILD_ID/_buildManifest.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/BUILD_ID/_buildManifest.module.js" async="" crossorigin="anonymous" type="module"></script></body></html>
\ No newline at end of file
+<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/BUILD_ID/pages/withRouter.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/BUILD_ID/pages/_app.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/runtime/webpack-d629b83a65f3e33fa99e.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/framework.5bb7f30f859f5f31359f.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6406830adfd759a39616.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.b80ecbc12a17e3ea0bd0.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/runtime/main-60eea145a6884288511c.module.js" as="script" crossorigin="anonymous"/></head><body><div id="__next"><div>I use withRouter</div></div><script id="__NEXT_DATA__" type="application/json" crossorigin="anonymous">{"props":{"pageProps":{}},"page":"/withRouter","query":{},"buildId":"BUILD_ID"}</script><script crossorigin="anonymous" nomodule="">!function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();</script><script crossorigin="anonymous" nomodule="" src="/_next/static/runtime/polyfills-355bc4b3077ea9d3fc7a.js"></script><script async="" data-next-page="/withRouter" src="/_next/static/BUILD_ID/pages/withRouter.js" crossorigin="anonymous" nomodule=""></script><script async="" data-next-page="/withRouter" src="/_next/static/BUILD_ID/pages/withRouter.module.js" crossorigin="anonymous" type="module"></script><script async="" data-next-page="/_app" src="/_next/static/BUILD_ID/pages/_app.js" crossorigin="anonymous" nomodule=""></script><script async="" data-next-page="/_app" src="/_next/static/BUILD_ID/pages/_app.module.js" crossorigin="anonymous" type="module"></script><script src="/_next/static/runtime/webpack-4d739ac7b0d8f888ab18.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/runtime/webpack-d629b83a65f3e33fa99e.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/framework.c07ba8a3b0945b0f6315.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/framework.5bb7f30f859f5f31359f.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/commons.5d483f979b96e9afed5a.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.9a0caf742c992a927903.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6406830adfd759a39616.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.316cffaf82e7d78bbb63.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.b80ecbc12a17e3ea0bd0.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/runtime/main-e786807af576bd92c5e2.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/runtime/main-60eea145a6884288511c.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/BUILD_ID/_buildManifest.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/BUILD_ID/_buildManifest.module.js" async="" crossorigin="anonymous" type="module"></script></body></html>
\ No newline at end of file
Serverless Mode (Increase detected ⚠️ )
General Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
buildDuration | 13.4s | 13.3s | -80ms |
nodeModulesSize | 52.1 MB | 52.1 MB |
Client Bundles (main, webpack, commons) Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.js gzip | 5.1 kB | 5.1 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..54d3.js gzip | 4.68 kB | 4.68 kB | ✓ |
commons.HASH.js gzip | 4.06 kB | 4.06 kB | ✓ |
de003c3a9d30..d57b.js gzip | 16.1 kB | N/A | N/A |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
de003c3a9d30..d6ae.js gzip | N/A | 16.2 kB | N/A |
Overall change | 69.8 kB | 69.9 kB |
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.module.js gzip | 4.09 kB | 4.09 kB | ✓ |
webpack-HASH..dule.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..dule.js gzip | 5.56 kB | 5.56 kB | ✓ |
de003c3a9d30..dule.js gzip | 15 kB | N/A | N/A |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
de003c3a9d30..dule.js gzip | N/A | 15.1 kB | N/A |
Overall change | 64.5 kB | 64.6 kB |
Legacy Client Bundles (polyfills)
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 4.76 kB | 4.76 kB | ✓ |
Overall change | 4.76 kB | 4.76 kB | ✓ |
Client Pages
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.js gzip | 1.15 kB | 1.15 kB | ✓ |
_error.js gzip | 4.07 kB | 4.07 kB | ✓ |
hooks.js gzip | 779 B | 779 B | ✓ |
index.js gzip | 222 B | 222 B | ✓ |
link.js gzip | 2.89 kB | 2.89 kB | ✓ |
routerDirect.js gzip | 283 B | 283 B | ✓ |
withRouter.js gzip | 282 B | 282 B | ✓ |
Overall change | 9.68 kB | 9.68 kB | ✓ |
Client Pages Modern
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.module.js gzip | 576 B | 576 B | ✓ |
_error.module.js gzip | 3.06 kB | 3.06 kB | ✓ |
hooks.module.js gzip | 371 B | 371 B | ✓ |
index.module.js gzip | 212 B | 212 B | ✓ |
link.module.js gzip | 2.46 kB | 2.46 kB | ✓ |
routerDirect..dule.js gzip | 273 B | 273 B | ✓ |
withRouter.m..dule.js gzip | 272 B | 272 B | ✓ |
Overall change | 7.22 kB | 7.22 kB | ✓ |
Client Build Manifests
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_buildManifest.js gzip | 61 B | 61 B | ✓ |
_buildManife..dule.js gzip | 61 B | 61 B | ✓ |
Overall change | 122 B | 122 B | ✓ |
Serverless bundles Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_error.js gzip | 46.2 kB | 46.6 kB | |
hooks.html gzip | 1.06 kB | 1.05 kB | -1 B |
index.js gzip | 46.4 kB | 46.8 kB | |
link.js gzip | 71.9 kB | 72.4 kB | |
routerDirect.js gzip | 69.9 kB | 70.4 kB | |
withRouter.js gzip | 69.9 kB | 70.5 kB | |
Overall change | 305 kB | 308 kB |
Commit: 27bbb2b
Stats from current PRDefault Server Mode (Increase detected
|
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
buildDuration | 10.1s | 10.1s | |
nodeModulesSize | 52.1 MB | 52.1 MB |
Client Bundles (main, webpack, commons) Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.js gzip | 5.1 kB | 5.1 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..54d3.js gzip | 4.68 kB | 4.68 kB | ✓ |
commons.HASH.js gzip | 4.06 kB | 4.06 kB | ✓ |
de003c3a9d30..d57b.js gzip | 16.1 kB | N/A | N/A |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
de003c3a9d30..d6ae.js gzip | N/A | 16.2 kB | N/A |
Overall change | 69.8 kB | 69.9 kB |
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.module.js gzip | 4.09 kB | 4.09 kB | ✓ |
webpack-HASH..dule.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..dule.js gzip | 5.56 kB | 5.56 kB | ✓ |
de003c3a9d30..dule.js gzip | 15 kB | N/A | N/A |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
de003c3a9d30..dule.js gzip | N/A | 15.1 kB | N/A |
Overall change | 64.5 kB | 64.6 kB |
Legacy Client Bundles (polyfills)
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 4.76 kB | 4.76 kB | ✓ |
Overall change | 4.76 kB | 4.76 kB | ✓ |
Client Pages
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.js gzip | 1.15 kB | 1.15 kB | ✓ |
_error.js gzip | 4.07 kB | 4.07 kB | ✓ |
hooks.js gzip | 779 B | 779 B | ✓ |
index.js gzip | 222 B | 222 B | ✓ |
link.js gzip | 2.89 kB | 2.89 kB | ✓ |
routerDirect.js gzip | 283 B | 283 B | ✓ |
withRouter.js gzip | 282 B | 282 B | ✓ |
Overall change | 9.68 kB | 9.68 kB | ✓ |
Client Pages Modern
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.module.js gzip | 576 B | 576 B | ✓ |
_error.module.js gzip | 3.06 kB | 3.06 kB | ✓ |
hooks.module.js gzip | 371 B | 371 B | ✓ |
index.module.js gzip | 212 B | 212 B | ✓ |
link.module.js gzip | 2.46 kB | 2.46 kB | ✓ |
routerDirect..dule.js gzip | 273 B | 273 B | ✓ |
withRouter.m..dule.js gzip | 272 B | 272 B | ✓ |
Overall change | 7.22 kB | 7.22 kB | ✓ |
Client Build Manifests
zeit/next.js canary | ijjk/next.js add/getServerProps | 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 Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
index.html gzip | 1.02 kB | 1.02 kB | |
link.html gzip | 1.03 kB | 1.03 kB | |
withRouter.html gzip | 1.02 kB | 1.02 kB | ✓ |
Overall change | 3.07 kB | 3.07 kB |
Diffs
Diff for link.html
@@ -1 +1 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/BUILD_ID/pages/link.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/BUILD_ID/pages/_app.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/runtime/webpack-d629b83a65f3e33fa99e.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/framework.5bb7f30f859f5f31359f.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6406830adfd759a39616.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.90fd5fa01287552151d3.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/runtime/main-60eea145a6884288511c.module.js" as="script" crossorigin="anonymous"/></head><body><div id="__next"><div><h3>A Link page!</h3><a href="/">Go to /</a></div></div><script id="__NEXT_DATA__" type="application/json" crossorigin="anonymous">{"props":{"pageProps":{}},"page":"/link","query":{},"buildId":"BUILD_ID"}</script><script crossorigin="anonymous" nomodule="">!function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();</script><script crossorigin="anonymous" nomodule="" src="/_next/static/runtime/polyfills-355bc4b3077ea9d3fc7a.js"></script><script async="" data-next-page="/link" src="/_next/static/BUILD_ID/pages/link.js" crossorigin="anonymous" nomodule=""></script><script async="" data-next-page="/link" src="/_next/static/BUILD_ID/pages/link.module.js" crossorigin="anonymous" type="module"></script><script async="" data-next-page="/_app" src="/_next/static/BUILD_ID/pages/_app.js" crossorigin="anonymous" nomodule=""></script><script async="" data-next-page="/_app" src="/_next/static/BUILD_ID/pages/_app.module.js" crossorigin="anonymous" type="module"></script><script src="/_next/static/runtime/webpack-4d739ac7b0d8f888ab18.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/runtime/webpack-d629b83a65f3e33fa99e.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/framework.c07ba8a3b0945b0f6315.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/framework.5bb7f30f859f5f31359f.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/commons.5d483f979b96e9afed5a.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.9a0caf742c992a927903.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6406830adfd759a39616.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.7f8e4c92f1de3035c8ae.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.90fd5fa01287552151d3.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/runtime/main-e786807af576bd92c5e2.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/runtime/main-60eea145a6884288511c.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/BUILD_ID/_buildManifest.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/BUILD_ID/_buildManifest.module.js" async="" crossorigin="anonymous" type="module"></script></body></html>
\ No newline at end of file
+<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/BUILD_ID/pages/link.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/BUILD_ID/pages/_app.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/runtime/webpack-d629b83a65f3e33fa99e.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/framework.5bb7f30f859f5f31359f.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6406830adfd759a39616.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.3e64dc8e6d2834d1522a.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/runtime/main-60eea145a6884288511c.module.js" as="script" crossorigin="anonymous"/></head><body><div id="__next"><div><h3>A Link page!</h3><a href="/">Go to /</a></div></div><script id="__NEXT_DATA__" type="application/json" crossorigin="anonymous">{"props":{"pageProps":{}},"page":"/link","query":{},"buildId":"BUILD_ID"}</script><script crossorigin="anonymous" nomodule="">!function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();</script><script crossorigin="anonymous" nomodule="" src="/_next/static/runtime/polyfills-355bc4b3077ea9d3fc7a.js"></script><script async="" data-next-page="/link" src="/_next/static/BUILD_ID/pages/link.js" crossorigin="anonymous" nomodule=""></script><script async="" data-next-page="/link" src="/_next/static/BUILD_ID/pages/link.module.js" crossorigin="anonymous" type="module"></script><script async="" data-next-page="/_app" src="/_next/static/BUILD_ID/pages/_app.js" crossorigin="anonymous" nomodule=""></script><script async="" data-next-page="/_app" src="/_next/static/BUILD_ID/pages/_app.module.js" crossorigin="anonymous" type="module"></script><script src="/_next/static/runtime/webpack-4d739ac7b0d8f888ab18.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/runtime/webpack-d629b83a65f3e33fa99e.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/framework.c07ba8a3b0945b0f6315.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/framework.5bb7f30f859f5f31359f.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/commons.5d483f979b96e9afed5a.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.9a0caf742c992a927903.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6406830adfd759a39616.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.316cffaf82e7d78bbb63.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.3e64dc8e6d2834d1522a.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/runtime/main-e786807af576bd92c5e2.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/runtime/main-60eea145a6884288511c.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/BUILD_ID/_buildManifest.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/BUILD_ID/_buildManifest.module.js" async="" crossorigin="anonymous" type="module"></script></body></html>
\ No newline at end of file
Diff for index.html
@@ -1 +1 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/BUILD_ID/pages/index.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/BUILD_ID/pages/_app.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/runtime/webpack-d629b83a65f3e33fa99e.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/framework.5bb7f30f859f5f31359f.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6406830adfd759a39616.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.90fd5fa01287552151d3.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/runtime/main-60eea145a6884288511c.module.js" as="script" crossorigin="anonymous"/></head><body><div id="__next">Hello world 👋</div><script id="__NEXT_DATA__" type="application/json" crossorigin="anonymous">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"BUILD_ID"}</script><script crossorigin="anonymous" nomodule="">!function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();</script><script crossorigin="anonymous" nomodule="" src="/_next/static/runtime/polyfills-355bc4b3077ea9d3fc7a.js"></script><script async="" data-next-page="/" src="/_next/static/BUILD_ID/pages/index.js" crossorigin="anonymous" nomodule=""></script><script async="" data-next-page="/" src="/_next/static/BUILD_ID/pages/index.module.js" crossorigin="anonymous" type="module"></script><script async="" data-next-page="/_app" src="/_next/static/BUILD_ID/pages/_app.js" crossorigin="anonymous" nomodule=""></script><script async="" data-next-page="/_app" src="/_next/static/BUILD_ID/pages/_app.module.js" crossorigin="anonymous" type="module"></script><script src="/_next/static/runtime/webpack-4d739ac7b0d8f888ab18.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/runtime/webpack-d629b83a65f3e33fa99e.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/framework.c07ba8a3b0945b0f6315.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/framework.5bb7f30f859f5f31359f.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/commons.5d483f979b96e9afed5a.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.9a0caf742c992a927903.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6406830adfd759a39616.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.7f8e4c92f1de3035c8ae.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.90fd5fa01287552151d3.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/runtime/main-e786807af576bd92c5e2.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/runtime/main-60eea145a6884288511c.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/BUILD_ID/_buildManifest.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/BUILD_ID/_buildManifest.module.js" async="" crossorigin="anonymous" type="module"></script></body></html>
\ No newline at end of file
+<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/BUILD_ID/pages/index.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/BUILD_ID/pages/_app.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/runtime/webpack-d629b83a65f3e33fa99e.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/framework.5bb7f30f859f5f31359f.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6406830adfd759a39616.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.3e64dc8e6d2834d1522a.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/runtime/main-60eea145a6884288511c.module.js" as="script" crossorigin="anonymous"/></head><body><div id="__next">Hello world 👋</div><script id="__NEXT_DATA__" type="application/json" crossorigin="anonymous">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"BUILD_ID"}</script><script crossorigin="anonymous" nomodule="">!function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();</script><script crossorigin="anonymous" nomodule="" src="/_next/static/runtime/polyfills-355bc4b3077ea9d3fc7a.js"></script><script async="" data-next-page="/" src="/_next/static/BUILD_ID/pages/index.js" crossorigin="anonymous" nomodule=""></script><script async="" data-next-page="/" src="/_next/static/BUILD_ID/pages/index.module.js" crossorigin="anonymous" type="module"></script><script async="" data-next-page="/_app" src="/_next/static/BUILD_ID/pages/_app.js" crossorigin="anonymous" nomodule=""></script><script async="" data-next-page="/_app" src="/_next/static/BUILD_ID/pages/_app.module.js" crossorigin="anonymous" type="module"></script><script src="/_next/static/runtime/webpack-4d739ac7b0d8f888ab18.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/runtime/webpack-d629b83a65f3e33fa99e.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/framework.c07ba8a3b0945b0f6315.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/framework.5bb7f30f859f5f31359f.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/commons.5d483f979b96e9afed5a.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.9a0caf742c992a927903.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6406830adfd759a39616.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.316cffaf82e7d78bbb63.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.3e64dc8e6d2834d1522a.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/runtime/main-e786807af576bd92c5e2.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/runtime/main-60eea145a6884288511c.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/BUILD_ID/_buildManifest.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/BUILD_ID/_buildManifest.module.js" async="" crossorigin="anonymous" type="module"></script></body></html>
\ No newline at end of file
Diff for de003c3a9d30..d3.module.js
@@ -2782,6 +2782,28 @@ function toRoute(path) {
return path.replace(/\/$/, '') || '/';
}
+var prepareRoute = path => toRoute(!path || path === '/' ? '/index' : path);
+
+var fetchNextData = (pathname, query, cb) => {
+ return fetch(utils_1.formatWithValidation({
+ // @ts-ignore __NEXT_DATA__
+ pathname: "/_next/data/".concat(__NEXT_DATA__.buildId).concat(pathname, ".json"),
+ query
+ })).then(res => {
+ if (!res.ok) {
+ throw new Error("Failed to load static props");
+ }
+
+ return res.json();
+ }).then(data => {
+ return cb ? cb(data) : data;
+ }).catch(err => {
+ ;
+ err.code = 'PAGE_LOAD_ERROR';
+ throw err;
+ });
+};
+
class Router {
constructor(pathname, query, as, _ref) {
var {
@@ -2841,24 +2863,18 @@ class Router {
this.replace(url, as, options);
};
- this._getStaticData = (asPath, _cachedData) => {
- var pathname = url_1.parse(asPath).pathname;
- pathname = toRoute(!pathname || pathname === '/' ? '/index' : pathname);
- return true && (_cachedData = this.sdc[pathname]) ? _Promise.resolve(_cachedData) : fetch( // @ts-ignore __NEXT_DATA__
- "/_next/data/".concat(__NEXT_DATA__.buildId).concat(pathname, ".json")).then(res => {
- if (!res.ok) {
- throw new Error("Failed to load static props");
- }
+ this._getStaticData = asPath => {
+ var pathname = prepareRoute(url_1.parse(asPath).pathname);
+ return true && this.sdc[pathname] ? _Promise.resolve(this.sdc[pathname]) : fetchNextData(pathname, null, data => this.sdc[pathname] = data);
+ };
- return res.json();
- }).then(data => {
- this.sdc[pathname] = data;
- return data;
- }).catch(err => {
- ;
- err.code = 'PAGE_LOAD_ERROR';
- throw err;
- });
+ this._getServerData = asPath => {
+ var {
+ pathname,
+ query
+ } = url_1.parse(asPath, true);
+ pathname = prepareRoute(pathname);
+ return fetchNextData(pathname, query);
}; // represents the current component key
@@ -3132,7 +3148,7 @@ class Router {
if (false) { var isValidElementType; }
- return this._getData(() => Component.__N_SSG ? this._getStaticData(as) : this.getInitialProps(Component, // we provide AppTree later so this needs to be `any`
+ return this._getData(() => Component.__N_SSG ? this._getStaticData(as) : Component.__N_SSP ? this._getServerData(as) : this.getInitialProps(Component, // we provide AppTree later so this needs to be `any`
{
pathname,
query,
Diff for de003c3a9d30..e3035c8ae.js
@@ -2500,6 +2500,30 @@ function toRoute(path) {
return path.replace(/\/$/, '') || '/';
}
+var prepareRoute = function prepareRoute(path) {
+ return toRoute(!path || path === '/' ? '/index' : path);
+};
+
+var fetchNextData = function fetchNextData(pathname, query, cb) {
+ return fetch(utils_1.formatWithValidation({
+ // @ts-ignore __NEXT_DATA__
+ pathname: "/_next/data/".concat(__NEXT_DATA__.buildId).concat(pathname, ".json"),
+ query: query
+ })).then(function (res) {
+ if (!res.ok) {
+ throw new Error("Failed to load static props");
+ }
+
+ return res.json();
+ }).then(function (data) {
+ return cb ? cb(data) : data;
+ })["catch"](function (err) {
+ ;
+ err.code = 'PAGE_LOAD_ERROR';
+ throw err;
+ });
+};
+
var Router =
/*#__PURE__*/
function () {
@@ -2563,24 +2587,20 @@ function () {
_this.replace(url, as, options);
};
- this._getStaticData = function (asPath, _cachedData) {
- var pathname = url_1.parse(asPath).pathname;
- pathname = toRoute(!pathname || pathname === '/' ? '/index' : pathname);
- return true && (_cachedData = _this.sdc[pathname]) ? _Promise.resolve(_cachedData) : fetch( // @ts-ignore __NEXT_DATA__
- "/_next/data/".concat(__NEXT_DATA__.buildId).concat(pathname, ".json")).then(function (res) {
- if (!res.ok) {
- throw new Error("Failed to load static props");
- }
-
- return res.json();
- }).then(function (data) {
- _this.sdc[pathname] = data;
- return data;
- })["catch"](function (err) {
- ;
- err.code = 'PAGE_LOAD_ERROR';
- throw err;
+ this._getStaticData = function (asPath) {
+ var pathname = prepareRoute(url_1.parse(asPath).pathname);
+ return true && _this.sdc[pathname] ? _Promise.resolve(_this.sdc[pathname]) : fetchNextData(pathname, null, function (data) {
+ return _this.sdc[pathname] = data;
});
+ };
+
+ this._getServerData = function (asPath) {
+ var _url_1$parse = url_1.parse(asPath, true),
+ pathname = _url_1$parse.pathname,
+ query = _url_1$parse.query;
+
+ pathname = prepareRoute(pathname);
+ return fetchNextData(pathname, query);
}; // represents the current component key
@@ -2740,10 +2760,10 @@ function () {
return resolve(true);
}
- var _url_1$parse = url_1.parse(url, true),
- pathname = _url_1$parse.pathname,
- query = _url_1$parse.query,
- protocol = _url_1$parse.protocol;
+ var _url_1$parse2 = url_1.parse(url, true),
+ pathname = _url_1$parse2.pathname,
+ query = _url_1$parse2.query,
+ protocol = _url_1$parse2.protocol;
if (!pathname || protocol) {
if (false) {}
@@ -2766,8 +2786,8 @@ function () {
shallow = _options$shallow === void 0 ? false : _options$shallow;
if (is_dynamic_1.isDynamicRoute(route)) {
- var _url_1$parse2 = url_1.parse(as),
- asPathname = _url_1$parse2.pathname;
+ var _url_1$parse3 = url_1.parse(as),
+ asPathname = _url_1$parse3.pathname;
var routeRegex = route_regex_1.getRouteRegex(route);
var routeMatch = route_matcher_1.getRouteMatcher(routeRegex)(asPathname);
@@ -2866,7 +2886,7 @@ function () {
if (false) { var _require, isValidElementType; }
return _this3._getData(function () {
- return Component.__N_SSG ? _this3._getStaticData(as) : _this3.getInitialProps(Component, // we provide AppTree later so this needs to be `any`
+ return Component.__N_SSG ? _this3._getStaticData(as) : Component.__N_SSP ? _this3._getServerData(as) : _this3.getInitialProps(Component, // we provide AppTree later so this needs to be `any`
{
pathname: pathname,
query: query,
@@ -3023,9 +3043,9 @@ function () {
var _this4 = this;
return new _Promise(function (resolve, reject) {
- var _url_1$parse3 = url_1.parse(url),
- pathname = _url_1$parse3.pathname,
- protocol = _url_1$parse3.protocol;
+ var _url_1$parse4 = url_1.parse(url),
+ pathname = _url_1$parse4.pathname,
+ protocol = _url_1$parse4.protocol;
if (!pathname || protocol) {
if (false) {}
Diff for withRouter.html
@@ -1 +1 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/BUILD_ID/pages/withRouter.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/BUILD_ID/pages/_app.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/runtime/webpack-d629b83a65f3e33fa99e.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/framework.5bb7f30f859f5f31359f.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6406830adfd759a39616.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.90fd5fa01287552151d3.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/runtime/main-60eea145a6884288511c.module.js" as="script" crossorigin="anonymous"/></head><body><div id="__next"><div>I use withRouter</div></div><script id="__NEXT_DATA__" type="application/json" crossorigin="anonymous">{"props":{"pageProps":{}},"page":"/withRouter","query":{},"buildId":"BUILD_ID"}</script><script crossorigin="anonymous" nomodule="">!function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();</script><script crossorigin="anonymous" nomodule="" src="/_next/static/runtime/polyfills-355bc4b3077ea9d3fc7a.js"></script><script async="" data-next-page="/withRouter" src="/_next/static/BUILD_ID/pages/withRouter.js" crossorigin="anonymous" nomodule=""></script><script async="" data-next-page="/withRouter" src="/_next/static/BUILD_ID/pages/withRouter.module.js" crossorigin="anonymous" type="module"></script><script async="" data-next-page="/_app" src="/_next/static/BUILD_ID/pages/_app.js" crossorigin="anonymous" nomodule=""></script><script async="" data-next-page="/_app" src="/_next/static/BUILD_ID/pages/_app.module.js" crossorigin="anonymous" type="module"></script><script src="/_next/static/runtime/webpack-4d739ac7b0d8f888ab18.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/runtime/webpack-d629b83a65f3e33fa99e.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/framework.c07ba8a3b0945b0f6315.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/framework.5bb7f30f859f5f31359f.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/commons.5d483f979b96e9afed5a.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.9a0caf742c992a927903.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6406830adfd759a39616.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.7f8e4c92f1de3035c8ae.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.90fd5fa01287552151d3.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/runtime/main-e786807af576bd92c5e2.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/runtime/main-60eea145a6884288511c.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/BUILD_ID/_buildManifest.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/BUILD_ID/_buildManifest.module.js" async="" crossorigin="anonymous" type="module"></script></body></html>
\ No newline at end of file
+<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/BUILD_ID/pages/withRouter.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/BUILD_ID/pages/_app.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/runtime/webpack-d629b83a65f3e33fa99e.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/framework.5bb7f30f859f5f31359f.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6406830adfd759a39616.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.3e64dc8e6d2834d1522a.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/runtime/main-60eea145a6884288511c.module.js" as="script" crossorigin="anonymous"/></head><body><div id="__next"><div>I use withRouter</div></div><script id="__NEXT_DATA__" type="application/json" crossorigin="anonymous">{"props":{"pageProps":{}},"page":"/withRouter","query":{},"buildId":"BUILD_ID"}</script><script crossorigin="anonymous" nomodule="">!function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();</script><script crossorigin="anonymous" nomodule="" src="/_next/static/runtime/polyfills-355bc4b3077ea9d3fc7a.js"></script><script async="" data-next-page="/withRouter" src="/_next/static/BUILD_ID/pages/withRouter.js" crossorigin="anonymous" nomodule=""></script><script async="" data-next-page="/withRouter" src="/_next/static/BUILD_ID/pages/withRouter.module.js" crossorigin="anonymous" type="module"></script><script async="" data-next-page="/_app" src="/_next/static/BUILD_ID/pages/_app.js" crossorigin="anonymous" nomodule=""></script><script async="" data-next-page="/_app" src="/_next/static/BUILD_ID/pages/_app.module.js" crossorigin="anonymous" type="module"></script><script src="/_next/static/runtime/webpack-4d739ac7b0d8f888ab18.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/runtime/webpack-d629b83a65f3e33fa99e.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/framework.c07ba8a3b0945b0f6315.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/framework.5bb7f30f859f5f31359f.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/commons.5d483f979b96e9afed5a.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.9a0caf742c992a927903.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6406830adfd759a39616.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.316cffaf82e7d78bbb63.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.3e64dc8e6d2834d1522a.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/runtime/main-e786807af576bd92c5e2.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/runtime/main-60eea145a6884288511c.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/BUILD_ID/_buildManifest.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/BUILD_ID/_buildManifest.module.js" async="" crossorigin="anonymous" type="module"></script></body></html>
\ No newline at end of file
Serverless Mode (Increase detected ⚠️ )
General Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
buildDuration | 11.3s | 11s | -253ms |
nodeModulesSize | 52.1 MB | 52.1 MB |
Client Bundles (main, webpack, commons) Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.js gzip | 5.1 kB | 5.1 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..54d3.js gzip | 4.68 kB | 4.68 kB | ✓ |
commons.HASH.js gzip | 4.06 kB | 4.06 kB | ✓ |
de003c3a9d30..d57b.js gzip | 16.1 kB | N/A | N/A |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
de003c3a9d30..d6ae.js gzip | N/A | 16.2 kB | N/A |
Overall change | 69.8 kB | 69.9 kB |
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.module.js gzip | 4.09 kB | 4.09 kB | ✓ |
webpack-HASH..dule.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..dule.js gzip | 5.56 kB | 5.56 kB | ✓ |
de003c3a9d30..dule.js gzip | 15 kB | N/A | N/A |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
de003c3a9d30..dule.js gzip | N/A | 15.1 kB | N/A |
Overall change | 64.5 kB | 64.6 kB |
Legacy Client Bundles (polyfills)
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 4.76 kB | 4.76 kB | ✓ |
Overall change | 4.76 kB | 4.76 kB | ✓ |
Client Pages
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.js gzip | 1.15 kB | 1.15 kB | ✓ |
_error.js gzip | 4.07 kB | 4.07 kB | ✓ |
hooks.js gzip | 779 B | 779 B | ✓ |
index.js gzip | 222 B | 222 B | ✓ |
link.js gzip | 2.89 kB | 2.89 kB | ✓ |
routerDirect.js gzip | 283 B | 283 B | ✓ |
withRouter.js gzip | 282 B | 282 B | ✓ |
Overall change | 9.68 kB | 9.68 kB | ✓ |
Client Pages Modern
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.module.js gzip | 576 B | 576 B | ✓ |
_error.module.js gzip | 3.06 kB | 3.06 kB | ✓ |
hooks.module.js gzip | 371 B | 371 B | ✓ |
index.module.js gzip | 212 B | 212 B | ✓ |
link.module.js gzip | 2.46 kB | 2.46 kB | ✓ |
routerDirect..dule.js gzip | 273 B | 273 B | ✓ |
withRouter.m..dule.js gzip | 272 B | 272 B | ✓ |
Overall change | 7.22 kB | 7.22 kB | ✓ |
Client Build Manifests
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_buildManifest.js gzip | 61 B | 61 B | ✓ |
_buildManife..dule.js gzip | 61 B | 61 B | ✓ |
Overall change | 122 B | 122 B | ✓ |
Serverless bundles Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_error.js gzip | 46.2 kB | 46.6 kB | |
hooks.html gzip | 1.06 kB | 1.06 kB | ✓ |
index.js gzip | 46.4 kB | 46.8 kB | |
link.js gzip | 71.9 kB | 72.4 kB | |
routerDirect.js gzip | 69.9 kB | 70.4 kB | |
withRouter.js gzip | 69.9 kB | 70.5 kB | |
Overall change | 305 kB | 308 kB |
Commit: d9ee71c
Stats from current PRDefault Server Mode (Increase detected
|
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
buildDuration | 11.2s | 11.2s | |
nodeModulesSize | 52.1 MB | 52.1 MB |
Client Bundles (main, webpack, commons) Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.js gzip | 5.1 kB | 5.1 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..54d3.js gzip | 4.68 kB | 4.68 kB | ✓ |
commons.HASH.js gzip | 4.06 kB | 4.06 kB | ✓ |
de003c3a9d30..d57b.js gzip | 16.1 kB | N/A | N/A |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
de003c3a9d30..d6ae.js gzip | N/A | 16.2 kB | N/A |
Overall change | 69.8 kB | 69.9 kB |
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.module.js gzip | 4.09 kB | 4.09 kB | ✓ |
webpack-HASH..dule.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..dule.js gzip | 5.56 kB | 5.56 kB | ✓ |
de003c3a9d30..dule.js gzip | 15 kB | N/A | N/A |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
de003c3a9d30..dule.js gzip | N/A | 15.1 kB | N/A |
Overall change | 64.5 kB | 64.6 kB |
Legacy Client Bundles (polyfills)
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 4.76 kB | 4.76 kB | ✓ |
Overall change | 4.76 kB | 4.76 kB | ✓ |
Client Pages
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.js gzip | 1.15 kB | 1.15 kB | ✓ |
_error.js gzip | 4.07 kB | 4.07 kB | ✓ |
hooks.js gzip | 779 B | 779 B | ✓ |
index.js gzip | 222 B | 222 B | ✓ |
link.js gzip | 2.89 kB | 2.89 kB | ✓ |
routerDirect.js gzip | 283 B | 283 B | ✓ |
withRouter.js gzip | 282 B | 282 B | ✓ |
Overall change | 9.68 kB | 9.68 kB | ✓ |
Client Pages Modern
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.module.js gzip | 576 B | 576 B | ✓ |
_error.module.js gzip | 3.06 kB | 3.06 kB | ✓ |
hooks.module.js gzip | 371 B | 371 B | ✓ |
index.module.js gzip | 212 B | 212 B | ✓ |
link.module.js gzip | 2.46 kB | 2.46 kB | ✓ |
routerDirect..dule.js gzip | 273 B | 273 B | ✓ |
withRouter.m..dule.js gzip | 272 B | 272 B | ✓ |
Overall change | 7.22 kB | 7.22 kB | ✓ |
Client Build Manifests
zeit/next.js canary | ijjk/next.js add/getServerProps | 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 Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
index.html gzip | 1.02 kB | 1.02 kB | |
link.html gzip | 1.03 kB | 1.03 kB | |
withRouter.html gzip | 1.02 kB | 1.02 kB | ✓ |
Overall change | 3.07 kB | 3.07 kB |
Diffs
Diff for link.html
@@ -1 +1 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/BUILD_ID/pages/link.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/BUILD_ID/pages/_app.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/runtime/webpack-d629b83a65f3e33fa99e.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/framework.5bb7f30f859f5f31359f.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6406830adfd759a39616.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.90fd5fa01287552151d3.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/runtime/main-60eea145a6884288511c.module.js" as="script" crossorigin="anonymous"/></head><body><div id="__next"><div><h3>A Link page!</h3><a href="/">Go to /</a></div></div><script id="__NEXT_DATA__" type="application/json" crossorigin="anonymous">{"props":{"pageProps":{}},"page":"/link","query":{},"buildId":"BUILD_ID"}</script><script crossorigin="anonymous" nomodule="">!function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();</script><script crossorigin="anonymous" nomodule="" src="/_next/static/runtime/polyfills-355bc4b3077ea9d3fc7a.js"></script><script async="" data-next-page="/link" src="/_next/static/BUILD_ID/pages/link.js" crossorigin="anonymous" nomodule=""></script><script async="" data-next-page="/link" src="/_next/static/BUILD_ID/pages/link.module.js" crossorigin="anonymous" type="module"></script><script async="" data-next-page="/_app" src="/_next/static/BUILD_ID/pages/_app.js" crossorigin="anonymous" nomodule=""></script><script async="" data-next-page="/_app" src="/_next/static/BUILD_ID/pages/_app.module.js" crossorigin="anonymous" type="module"></script><script src="/_next/static/runtime/webpack-4d739ac7b0d8f888ab18.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/runtime/webpack-d629b83a65f3e33fa99e.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/framework.c07ba8a3b0945b0f6315.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/framework.5bb7f30f859f5f31359f.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/commons.5d483f979b96e9afed5a.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.9a0caf742c992a927903.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6406830adfd759a39616.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.7f8e4c92f1de3035c8ae.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.90fd5fa01287552151d3.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/runtime/main-e786807af576bd92c5e2.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/runtime/main-60eea145a6884288511c.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/BUILD_ID/_buildManifest.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/BUILD_ID/_buildManifest.module.js" async="" crossorigin="anonymous" type="module"></script></body></html>
\ No newline at end of file
+<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/BUILD_ID/pages/link.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/BUILD_ID/pages/_app.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/runtime/webpack-d629b83a65f3e33fa99e.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/framework.5bb7f30f859f5f31359f.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6406830adfd759a39616.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.3e64dc8e6d2834d1522a.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/runtime/main-60eea145a6884288511c.module.js" as="script" crossorigin="anonymous"/></head><body><div id="__next"><div><h3>A Link page!</h3><a href="/">Go to /</a></div></div><script id="__NEXT_DATA__" type="application/json" crossorigin="anonymous">{"props":{"pageProps":{}},"page":"/link","query":{},"buildId":"BUILD_ID"}</script><script crossorigin="anonymous" nomodule="">!function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();</script><script crossorigin="anonymous" nomodule="" src="/_next/static/runtime/polyfills-355bc4b3077ea9d3fc7a.js"></script><script async="" data-next-page="/link" src="/_next/static/BUILD_ID/pages/link.js" crossorigin="anonymous" nomodule=""></script><script async="" data-next-page="/link" src="/_next/static/BUILD_ID/pages/link.module.js" crossorigin="anonymous" type="module"></script><script async="" data-next-page="/_app" src="/_next/static/BUILD_ID/pages/_app.js" crossorigin="anonymous" nomodule=""></script><script async="" data-next-page="/_app" src="/_next/static/BUILD_ID/pages/_app.module.js" crossorigin="anonymous" type="module"></script><script src="/_next/static/runtime/webpack-4d739ac7b0d8f888ab18.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/runtime/webpack-d629b83a65f3e33fa99e.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/framework.c07ba8a3b0945b0f6315.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/framework.5bb7f30f859f5f31359f.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/commons.5d483f979b96e9afed5a.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.9a0caf742c992a927903.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6406830adfd759a39616.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.316cffaf82e7d78bbb63.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.3e64dc8e6d2834d1522a.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/runtime/main-e786807af576bd92c5e2.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/runtime/main-60eea145a6884288511c.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/BUILD_ID/_buildManifest.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/BUILD_ID/_buildManifest.module.js" async="" crossorigin="anonymous" type="module"></script></body></html>
\ No newline at end of file
Diff for index.html
@@ -1 +1 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/BUILD_ID/pages/index.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/BUILD_ID/pages/_app.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/runtime/webpack-d629b83a65f3e33fa99e.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/framework.5bb7f30f859f5f31359f.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6406830adfd759a39616.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.90fd5fa01287552151d3.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/runtime/main-60eea145a6884288511c.module.js" as="script" crossorigin="anonymous"/></head><body><div id="__next">Hello world 👋</div><script id="__NEXT_DATA__" type="application/json" crossorigin="anonymous">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"BUILD_ID"}</script><script crossorigin="anonymous" nomodule="">!function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();</script><script crossorigin="anonymous" nomodule="" src="/_next/static/runtime/polyfills-355bc4b3077ea9d3fc7a.js"></script><script async="" data-next-page="/" src="/_next/static/BUILD_ID/pages/index.js" crossorigin="anonymous" nomodule=""></script><script async="" data-next-page="/" src="/_next/static/BUILD_ID/pages/index.module.js" crossorigin="anonymous" type="module"></script><script async="" data-next-page="/_app" src="/_next/static/BUILD_ID/pages/_app.js" crossorigin="anonymous" nomodule=""></script><script async="" data-next-page="/_app" src="/_next/static/BUILD_ID/pages/_app.module.js" crossorigin="anonymous" type="module"></script><script src="/_next/static/runtime/webpack-4d739ac7b0d8f888ab18.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/runtime/webpack-d629b83a65f3e33fa99e.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/framework.c07ba8a3b0945b0f6315.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/framework.5bb7f30f859f5f31359f.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/commons.5d483f979b96e9afed5a.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.9a0caf742c992a927903.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6406830adfd759a39616.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.7f8e4c92f1de3035c8ae.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.90fd5fa01287552151d3.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/runtime/main-e786807af576bd92c5e2.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/runtime/main-60eea145a6884288511c.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/BUILD_ID/_buildManifest.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/BUILD_ID/_buildManifest.module.js" async="" crossorigin="anonymous" type="module"></script></body></html>
\ No newline at end of file
+<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/BUILD_ID/pages/index.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/BUILD_ID/pages/_app.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/runtime/webpack-d629b83a65f3e33fa99e.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/framework.5bb7f30f859f5f31359f.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6406830adfd759a39616.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.3e64dc8e6d2834d1522a.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/runtime/main-60eea145a6884288511c.module.js" as="script" crossorigin="anonymous"/></head><body><div id="__next">Hello world 👋</div><script id="__NEXT_DATA__" type="application/json" crossorigin="anonymous">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"BUILD_ID"}</script><script crossorigin="anonymous" nomodule="">!function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();</script><script crossorigin="anonymous" nomodule="" src="/_next/static/runtime/polyfills-355bc4b3077ea9d3fc7a.js"></script><script async="" data-next-page="/" src="/_next/static/BUILD_ID/pages/index.js" crossorigin="anonymous" nomodule=""></script><script async="" data-next-page="/" src="/_next/static/BUILD_ID/pages/index.module.js" crossorigin="anonymous" type="module"></script><script async="" data-next-page="/_app" src="/_next/static/BUILD_ID/pages/_app.js" crossorigin="anonymous" nomodule=""></script><script async="" data-next-page="/_app" src="/_next/static/BUILD_ID/pages/_app.module.js" crossorigin="anonymous" type="module"></script><script src="/_next/static/runtime/webpack-4d739ac7b0d8f888ab18.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/runtime/webpack-d629b83a65f3e33fa99e.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/framework.c07ba8a3b0945b0f6315.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/framework.5bb7f30f859f5f31359f.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/commons.5d483f979b96e9afed5a.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.9a0caf742c992a927903.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6406830adfd759a39616.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.316cffaf82e7d78bbb63.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.3e64dc8e6d2834d1522a.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/runtime/main-e786807af576bd92c5e2.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/runtime/main-60eea145a6884288511c.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/BUILD_ID/_buildManifest.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/BUILD_ID/_buildManifest.module.js" async="" crossorigin="anonymous" type="module"></script></body></html>
\ No newline at end of file
Diff for de003c3a9d30..d3.module.js
@@ -2782,6 +2782,28 @@ function toRoute(path) {
return path.replace(/\/$/, '') || '/';
}
+var prepareRoute = path => toRoute(!path || path === '/' ? '/index' : path);
+
+var fetchNextData = (pathname, query, cb) => {
+ return fetch(utils_1.formatWithValidation({
+ // @ts-ignore __NEXT_DATA__
+ pathname: "/_next/data/".concat(__NEXT_DATA__.buildId).concat(pathname, ".json"),
+ query
+ })).then(res => {
+ if (!res.ok) {
+ throw new Error("Failed to load static props");
+ }
+
+ return res.json();
+ }).then(data => {
+ return cb ? cb(data) : data;
+ }).catch(err => {
+ ;
+ err.code = 'PAGE_LOAD_ERROR';
+ throw err;
+ });
+};
+
class Router {
constructor(pathname, query, as, _ref) {
var {
@@ -2841,24 +2863,18 @@ class Router {
this.replace(url, as, options);
};
- this._getStaticData = (asPath, _cachedData) => {
- var pathname = url_1.parse(asPath).pathname;
- pathname = toRoute(!pathname || pathname === '/' ? '/index' : pathname);
- return true && (_cachedData = this.sdc[pathname]) ? _Promise.resolve(_cachedData) : fetch( // @ts-ignore __NEXT_DATA__
- "/_next/data/".concat(__NEXT_DATA__.buildId).concat(pathname, ".json")).then(res => {
- if (!res.ok) {
- throw new Error("Failed to load static props");
- }
+ this._getStaticData = asPath => {
+ var pathname = prepareRoute(url_1.parse(asPath).pathname);
+ return true && this.sdc[pathname] ? _Promise.resolve(this.sdc[pathname]) : fetchNextData(pathname, null, data => this.sdc[pathname] = data);
+ };
- return res.json();
- }).then(data => {
- this.sdc[pathname] = data;
- return data;
- }).catch(err => {
- ;
- err.code = 'PAGE_LOAD_ERROR';
- throw err;
- });
+ this._getServerData = asPath => {
+ var {
+ pathname,
+ query
+ } = url_1.parse(asPath, true);
+ pathname = prepareRoute(pathname);
+ return fetchNextData(pathname, query);
}; // represents the current component key
@@ -3132,7 +3148,7 @@ class Router {
if (false) { var isValidElementType; }
- return this._getData(() => Component.__N_SSG ? this._getStaticData(as) : this.getInitialProps(Component, // we provide AppTree later so this needs to be `any`
+ return this._getData(() => Component.__N_SSG ? this._getStaticData(as) : Component.__N_SSP ? this._getServerData(as) : this.getInitialProps(Component, // we provide AppTree later so this needs to be `any`
{
pathname,
query,
Diff for de003c3a9d30..e3035c8ae.js
@@ -2500,6 +2500,30 @@ function toRoute(path) {
return path.replace(/\/$/, '') || '/';
}
+var prepareRoute = function prepareRoute(path) {
+ return toRoute(!path || path === '/' ? '/index' : path);
+};
+
+var fetchNextData = function fetchNextData(pathname, query, cb) {
+ return fetch(utils_1.formatWithValidation({
+ // @ts-ignore __NEXT_DATA__
+ pathname: "/_next/data/".concat(__NEXT_DATA__.buildId).concat(pathname, ".json"),
+ query: query
+ })).then(function (res) {
+ if (!res.ok) {
+ throw new Error("Failed to load static props");
+ }
+
+ return res.json();
+ }).then(function (data) {
+ return cb ? cb(data) : data;
+ })["catch"](function (err) {
+ ;
+ err.code = 'PAGE_LOAD_ERROR';
+ throw err;
+ });
+};
+
var Router =
/*#__PURE__*/
function () {
@@ -2563,24 +2587,20 @@ function () {
_this.replace(url, as, options);
};
- this._getStaticData = function (asPath, _cachedData) {
- var pathname = url_1.parse(asPath).pathname;
- pathname = toRoute(!pathname || pathname === '/' ? '/index' : pathname);
- return true && (_cachedData = _this.sdc[pathname]) ? _Promise.resolve(_cachedData) : fetch( // @ts-ignore __NEXT_DATA__
- "/_next/data/".concat(__NEXT_DATA__.buildId).concat(pathname, ".json")).then(function (res) {
- if (!res.ok) {
- throw new Error("Failed to load static props");
- }
-
- return res.json();
- }).then(function (data) {
- _this.sdc[pathname] = data;
- return data;
- })["catch"](function (err) {
- ;
- err.code = 'PAGE_LOAD_ERROR';
- throw err;
+ this._getStaticData = function (asPath) {
+ var pathname = prepareRoute(url_1.parse(asPath).pathname);
+ return true && _this.sdc[pathname] ? _Promise.resolve(_this.sdc[pathname]) : fetchNextData(pathname, null, function (data) {
+ return _this.sdc[pathname] = data;
});
+ };
+
+ this._getServerData = function (asPath) {
+ var _url_1$parse = url_1.parse(asPath, true),
+ pathname = _url_1$parse.pathname,
+ query = _url_1$parse.query;
+
+ pathname = prepareRoute(pathname);
+ return fetchNextData(pathname, query);
}; // represents the current component key
@@ -2740,10 +2760,10 @@ function () {
return resolve(true);
}
- var _url_1$parse = url_1.parse(url, true),
- pathname = _url_1$parse.pathname,
- query = _url_1$parse.query,
- protocol = _url_1$parse.protocol;
+ var _url_1$parse2 = url_1.parse(url, true),
+ pathname = _url_1$parse2.pathname,
+ query = _url_1$parse2.query,
+ protocol = _url_1$parse2.protocol;
if (!pathname || protocol) {
if (false) {}
@@ -2766,8 +2786,8 @@ function () {
shallow = _options$shallow === void 0 ? false : _options$shallow;
if (is_dynamic_1.isDynamicRoute(route)) {
- var _url_1$parse2 = url_1.parse(as),
- asPathname = _url_1$parse2.pathname;
+ var _url_1$parse3 = url_1.parse(as),
+ asPathname = _url_1$parse3.pathname;
var routeRegex = route_regex_1.getRouteRegex(route);
var routeMatch = route_matcher_1.getRouteMatcher(routeRegex)(asPathname);
@@ -2866,7 +2886,7 @@ function () {
if (false) { var _require, isValidElementType; }
return _this3._getData(function () {
- return Component.__N_SSG ? _this3._getStaticData(as) : _this3.getInitialProps(Component, // we provide AppTree later so this needs to be `any`
+ return Component.__N_SSG ? _this3._getStaticData(as) : Component.__N_SSP ? _this3._getServerData(as) : _this3.getInitialProps(Component, // we provide AppTree later so this needs to be `any`
{
pathname: pathname,
query: query,
@@ -3023,9 +3043,9 @@ function () {
var _this4 = this;
return new _Promise(function (resolve, reject) {
- var _url_1$parse3 = url_1.parse(url),
- pathname = _url_1$parse3.pathname,
- protocol = _url_1$parse3.protocol;
+ var _url_1$parse4 = url_1.parse(url),
+ pathname = _url_1$parse4.pathname,
+ protocol = _url_1$parse4.protocol;
if (!pathname || protocol) {
if (false) {}
Diff for withRouter.html
@@ -1 +1 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/BUILD_ID/pages/withRouter.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/BUILD_ID/pages/_app.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/runtime/webpack-d629b83a65f3e33fa99e.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/framework.5bb7f30f859f5f31359f.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6406830adfd759a39616.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.90fd5fa01287552151d3.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/runtime/main-60eea145a6884288511c.module.js" as="script" crossorigin="anonymous"/></head><body><div id="__next"><div>I use withRouter</div></div><script id="__NEXT_DATA__" type="application/json" crossorigin="anonymous">{"props":{"pageProps":{}},"page":"/withRouter","query":{},"buildId":"BUILD_ID"}</script><script crossorigin="anonymous" nomodule="">!function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();</script><script crossorigin="anonymous" nomodule="" src="/_next/static/runtime/polyfills-355bc4b3077ea9d3fc7a.js"></script><script async="" data-next-page="/withRouter" src="/_next/static/BUILD_ID/pages/withRouter.js" crossorigin="anonymous" nomodule=""></script><script async="" data-next-page="/withRouter" src="/_next/static/BUILD_ID/pages/withRouter.module.js" crossorigin="anonymous" type="module"></script><script async="" data-next-page="/_app" src="/_next/static/BUILD_ID/pages/_app.js" crossorigin="anonymous" nomodule=""></script><script async="" data-next-page="/_app" src="/_next/static/BUILD_ID/pages/_app.module.js" crossorigin="anonymous" type="module"></script><script src="/_next/static/runtime/webpack-4d739ac7b0d8f888ab18.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/runtime/webpack-d629b83a65f3e33fa99e.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/framework.c07ba8a3b0945b0f6315.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/framework.5bb7f30f859f5f31359f.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/commons.5d483f979b96e9afed5a.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.9a0caf742c992a927903.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6406830adfd759a39616.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.7f8e4c92f1de3035c8ae.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.90fd5fa01287552151d3.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/runtime/main-e786807af576bd92c5e2.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/runtime/main-60eea145a6884288511c.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/BUILD_ID/_buildManifest.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/BUILD_ID/_buildManifest.module.js" async="" crossorigin="anonymous" type="module"></script></body></html>
\ No newline at end of file
+<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"/><meta name="next-head-count" content="2"/><link rel="preload" href="/_next/static/BUILD_ID/pages/withRouter.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/BUILD_ID/pages/_app.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/runtime/webpack-d629b83a65f3e33fa99e.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/framework.5bb7f30f859f5f31359f.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6406830adfd759a39616.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.3e64dc8e6d2834d1522a.module.js" as="script" crossorigin="anonymous"/><link rel="preload" href="/_next/static/runtime/main-60eea145a6884288511c.module.js" as="script" crossorigin="anonymous"/></head><body><div id="__next"><div>I use withRouter</div></div><script id="__NEXT_DATA__" type="application/json" crossorigin="anonymous">{"props":{"pageProps":{}},"page":"/withRouter","query":{},"buildId":"BUILD_ID"}</script><script crossorigin="anonymous" nomodule="">!function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();</script><script crossorigin="anonymous" nomodule="" src="/_next/static/runtime/polyfills-355bc4b3077ea9d3fc7a.js"></script><script async="" data-next-page="/withRouter" src="/_next/static/BUILD_ID/pages/withRouter.js" crossorigin="anonymous" nomodule=""></script><script async="" data-next-page="/withRouter" src="/_next/static/BUILD_ID/pages/withRouter.module.js" crossorigin="anonymous" type="module"></script><script async="" data-next-page="/_app" src="/_next/static/BUILD_ID/pages/_app.js" crossorigin="anonymous" nomodule=""></script><script async="" data-next-page="/_app" src="/_next/static/BUILD_ID/pages/_app.module.js" crossorigin="anonymous" type="module"></script><script src="/_next/static/runtime/webpack-4d739ac7b0d8f888ab18.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/runtime/webpack-d629b83a65f3e33fa99e.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/framework.c07ba8a3b0945b0f6315.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/framework.5bb7f30f859f5f31359f.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/commons.5d483f979b96e9afed5a.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.9a0caf742c992a927903.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6406830adfd759a39616.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.316cffaf82e7d78bbb63.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.3e64dc8e6d2834d1522a.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/runtime/main-e786807af576bd92c5e2.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/runtime/main-60eea145a6884288511c.module.js" async="" crossorigin="anonymous" type="module"></script><script src="/_next/static/BUILD_ID/_buildManifest.js" async="" crossorigin="anonymous" nomodule=""></script><script src="/_next/static/BUILD_ID/_buildManifest.module.js" async="" crossorigin="anonymous" type="module"></script></body></html>
\ No newline at end of file
Serverless Mode (Increase detected ⚠️ )
General Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
buildDuration | 11.6s | 11.9s | |
nodeModulesSize | 52.1 MB | 52.1 MB |
Client Bundles (main, webpack, commons) Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.js gzip | 5.1 kB | 5.1 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..54d3.js gzip | 4.68 kB | 4.68 kB | ✓ |
commons.HASH.js gzip | 4.06 kB | 4.06 kB | ✓ |
de003c3a9d30..d57b.js gzip | 16.1 kB | N/A | N/A |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
de003c3a9d30..d6ae.js gzip | N/A | 16.2 kB | N/A |
Overall change | 69.8 kB | 69.9 kB |
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
main-HASH.module.js gzip | 4.09 kB | 4.09 kB | ✓ |
webpack-HASH..dule.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..dule.js gzip | 5.56 kB | 5.56 kB | ✓ |
de003c3a9d30..dule.js gzip | 15 kB | N/A | N/A |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
de003c3a9d30..dule.js gzip | N/A | 15.1 kB | N/A |
Overall change | 64.5 kB | 64.6 kB |
Legacy Client Bundles (polyfills)
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 4.76 kB | 4.76 kB | ✓ |
Overall change | 4.76 kB | 4.76 kB | ✓ |
Client Pages
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.js gzip | 1.15 kB | 1.15 kB | ✓ |
_error.js gzip | 4.07 kB | 4.07 kB | ✓ |
hooks.js gzip | 779 B | 779 B | ✓ |
index.js gzip | 222 B | 222 B | ✓ |
link.js gzip | 2.89 kB | 2.89 kB | ✓ |
routerDirect.js gzip | 283 B | 283 B | ✓ |
withRouter.js gzip | 282 B | 282 B | ✓ |
Overall change | 9.68 kB | 9.68 kB | ✓ |
Client Pages Modern
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_app.module.js gzip | 576 B | 576 B | ✓ |
_error.module.js gzip | 3.06 kB | 3.06 kB | ✓ |
hooks.module.js gzip | 371 B | 371 B | ✓ |
index.module.js gzip | 212 B | 212 B | ✓ |
link.module.js gzip | 2.46 kB | 2.46 kB | ✓ |
routerDirect..dule.js gzip | 273 B | 273 B | ✓ |
withRouter.m..dule.js gzip | 272 B | 272 B | ✓ |
Overall change | 7.22 kB | 7.22 kB | ✓ |
Client Build Manifests
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_buildManifest.js gzip | 61 B | 61 B | ✓ |
_buildManife..dule.js gzip | 61 B | 61 B | ✓ |
Overall change | 122 B | 122 B | ✓ |
Serverless bundles Overall increase ⚠️
zeit/next.js canary | ijjk/next.js add/getServerProps | Change | |
---|---|---|---|
_error.js gzip | 46.2 kB | 46.6 kB | |
hooks.html gzip | 1.06 kB | 1.06 kB | ✓ |
index.js gzip | 46.4 kB | 46.8 kB | |
link.js gzip | 71.9 kB | 72.4 kB | |
routerDirect.js gzip | 69.9 kB | 70.4 kB | |
withRouter.js gzip | 69.9 kB | 70.5 kB | |
Overall change | 305 kB | 308 kB |
Commit: 4fe847a
This adds the `/_next/data` routes for `getServerProps` pages if they exist x-ref: vercel/next.js#10077 x-ref: vercel/next.js#10622
This adds the `/_next/data` routes for `getServerProps` pages if they exist x-ref: vercel/next.js#10077 x-ref: vercel/next.js#10622
This adds initial support for
unstable_getServerProps
from the SSG RFC