Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Render a helpful message for null GS(S)P return #14252

Merged
merged 3 commits into from
Jun 17, 2020

Conversation

Timer
Copy link
Member

@Timer Timer commented Jun 17, 2020

This makes Next.js render a better error message when undefined (or null) is returned from getStaticProps or getServerSideProps.


Fixes #11139

Timer added 2 commits June 17, 2020 01:12
This makes Next.js render a better error message when `undefined` (or null) is returned from `getStaticProps` or `getServerSideProps`.

---

Fixes vercel#11139
@ijjk
Copy link
Member

ijjk commented Jun 17, 2020

Stats from current PR

Default Server Mode (Decrease detected ✓)
General Overall increase ⚠️
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
buildDuration 10.7s 10.7s -7ms
nodeModulesSize 67 MB 67 MB ⚠️ +1.68 kB
Page Load Tests Overall decrease ⚠️
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
/ failed reqs 0 0
/ total time (seconds) 1.862 1.863 0
/ avg req/sec 1342.5 1341.73 -0.77
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.061 1.072 ⚠️ +0.01
/error-in-render avg req/sec 2356.78 2332.91 -23.87
Client Bundles (main, webpack, commons)
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
main-HASH.js gzip 6.51 kB 6.51 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..4dd5.js gzip 10.5 kB 10.5 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 56.9 kB 56.9 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
main-HASH.module.js gzip 5.6 kB 5.6 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.92 kB 6.92 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 52.4 kB 52.4 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
polyfills-HASH.js gzip 26.3 kB 26.3 kB
Overall change 26.3 kB 26.3 kB
Client Pages
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
routerDirect.js gzip 279 B 279 B
withRouter.js gzip 278 B 278 B
_error.js gzip 3.37 kB 3.37 kB
index.js gzip 222 B 222 B
link.js gzip 2.05 kB 2.05 kB
hooks.js gzip 881 B 881 B
_app.js gzip 1.26 kB 1.26 kB
Overall change 8.34 kB 8.34 kB
Client Pages Modern
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
index.module.js gzip 223 B 223 B
routerDirect..dule.js gzip 281 B 281 B
withRouter.m..dule.js gzip 278 B 278 B
hooks.module.js gzip 383 B 383 B
_error.module.js gzip 2.21 kB 2.21 kB
link.module.js gzip 1.52 kB 1.52 kB
_app.module.js gzip 604 B 604 B
Overall change 5.49 kB 5.49 kB
Client Build Manifests
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
_buildManifest.js gzip 270 B 270 B
_buildManife..dule.js gzip 274 B 274 B
Overall change 544 B 544 B
Rendered Page Sizes
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
index.html gzip 954 B 954 B
link.html gzip 961 B 961 B
withRouter.html gzip 947 B 947 B
Overall change 2.86 kB 2.86 kB

Serverless Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
buildDuration 11.7s 11.6s -118ms
nodeModulesSize 67 MB 67 MB ⚠️ +1.68 kB
Client Bundles (main, webpack, commons)
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
main-HASH.js gzip 6.51 kB 6.51 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..4dd5.js gzip 10.5 kB 10.5 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 56.9 kB 56.9 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
main-HASH.module.js gzip 5.6 kB 5.6 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.92 kB 6.92 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 52.4 kB 52.4 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
polyfills-HASH.js gzip 26.3 kB 26.3 kB
Overall change 26.3 kB 26.3 kB
Client Pages
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
routerDirect.js gzip 279 B 279 B
withRouter.js gzip 278 B 278 B
_error.js gzip 3.37 kB 3.37 kB
index.js gzip 222 B 222 B
link.js gzip 2.05 kB 2.05 kB
hooks.js gzip 881 B 881 B
_app.js gzip 1.26 kB 1.26 kB
Overall change 8.34 kB 8.34 kB
Client Pages Modern
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
index.module.js gzip 223 B 223 B
routerDirect..dule.js gzip 281 B 281 B
withRouter.m..dule.js gzip 278 B 278 B
hooks.module.js gzip 383 B 383 B
_error.module.js gzip 2.21 kB 2.21 kB
link.module.js gzip 1.52 kB 1.52 kB
_app.module.js gzip 604 B 604 B
Overall change 5.49 kB 5.49 kB
Client Build Manifests
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
_buildManifest.js gzip 270 B 270 B
_buildManife..dule.js gzip 274 B 274 B
Overall change 544 B 544 B
Serverless bundles Overall increase ⚠️
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
_error.js 875 kB 875 kB ⚠️ +547 B
404.html 4.17 kB 4.17 kB
hooks.html 3.79 kB 3.79 kB
index.js 875 kB 875 kB ⚠️ +547 B
link.js 913 kB 914 kB ⚠️ +547 B
routerDirect.js 906 kB 906 kB ⚠️ +547 B
withRouter.js 906 kB 906 kB ⚠️ +547 B
Overall change 4.48 MB 4.48 MB ⚠️ +2.73 kB

@ijjk
Copy link
Member

ijjk commented Jun 17, 2020

Stats from current PR

Default Server Mode (Decrease detected ✓)
General Overall increase ⚠️
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
buildDuration 12s 12s ⚠️ +12ms
nodeModulesSize 67 MB 67 MB ⚠️ +1.68 kB
Page Load Tests Overall decrease ⚠️
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
/ failed reqs 0 0
/ total time (seconds) 1.998 1.98 -0.02
/ avg req/sec 1250.98 1262.47 ⚠️ +11.49
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.201 1.225 ⚠️ +0.02
/error-in-render avg req/sec 2082.16 2041.5 -40.66
Client Bundles (main, webpack, commons)
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
main-HASH.js gzip 6.51 kB 6.51 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..4dd5.js gzip 10.5 kB 10.5 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 56.9 kB 56.9 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
main-HASH.module.js gzip 5.6 kB 5.6 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.92 kB 6.92 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 52.4 kB 52.4 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
polyfills-HASH.js gzip 26.3 kB 26.3 kB
Overall change 26.3 kB 26.3 kB
Client Pages
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
routerDirect.js gzip 279 B 279 B
withRouter.js gzip 278 B 278 B
_error.js gzip 3.37 kB 3.37 kB
index.js gzip 222 B 222 B
link.js gzip 2.05 kB 2.05 kB
hooks.js gzip 881 B 881 B
_app.js gzip 1.26 kB 1.26 kB
Overall change 8.34 kB 8.34 kB
Client Pages Modern
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
index.module.js gzip 223 B 223 B
routerDirect..dule.js gzip 281 B 281 B
withRouter.m..dule.js gzip 278 B 278 B
hooks.module.js gzip 383 B 383 B
_error.module.js gzip 2.21 kB 2.21 kB
link.module.js gzip 1.52 kB 1.52 kB
_app.module.js gzip 604 B 604 B
Overall change 5.49 kB 5.49 kB
Client Build Manifests
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
_buildManifest.js gzip 270 B 270 B
_buildManife..dule.js gzip 274 B 274 B
Overall change 544 B 544 B
Rendered Page Sizes
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
index.html gzip 954 B 954 B
link.html gzip 961 B 961 B
withRouter.html gzip 947 B 947 B
Overall change 2.86 kB 2.86 kB

Serverless Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
buildDuration 12.8s 12.5s -280ms
nodeModulesSize 67 MB 67 MB ⚠️ +1.68 kB
Client Bundles (main, webpack, commons)
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
main-HASH.js gzip 6.51 kB 6.51 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..4dd5.js gzip 10.5 kB 10.5 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 56.9 kB 56.9 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
main-HASH.module.js gzip 5.6 kB 5.6 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.92 kB 6.92 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 52.4 kB 52.4 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
polyfills-HASH.js gzip 26.3 kB 26.3 kB
Overall change 26.3 kB 26.3 kB
Client Pages
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
routerDirect.js gzip 279 B 279 B
withRouter.js gzip 278 B 278 B
_error.js gzip 3.37 kB 3.37 kB
index.js gzip 222 B 222 B
link.js gzip 2.05 kB 2.05 kB
hooks.js gzip 881 B 881 B
_app.js gzip 1.26 kB 1.26 kB
Overall change 8.34 kB 8.34 kB
Client Pages Modern
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
index.module.js gzip 223 B 223 B
routerDirect..dule.js gzip 281 B 281 B
withRouter.m..dule.js gzip 278 B 278 B
hooks.module.js gzip 383 B 383 B
_error.module.js gzip 2.21 kB 2.21 kB
link.module.js gzip 1.52 kB 1.52 kB
_app.module.js gzip 604 B 604 B
Overall change 5.49 kB 5.49 kB
Client Build Manifests
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
_buildManifest.js gzip 270 B 270 B
_buildManife..dule.js gzip 274 B 274 B
Overall change 544 B 544 B
Serverless bundles Overall increase ⚠️
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
_error.js 875 kB 875 kB ⚠️ +547 B
404.html 4.17 kB 4.17 kB
hooks.html 3.79 kB 3.79 kB
index.js 875 kB 875 kB ⚠️ +547 B
link.js 913 kB 914 kB ⚠️ +547 B
routerDirect.js 906 kB 906 kB ⚠️ +547 B
withRouter.js 906 kB 906 kB ⚠️ +547 B
Overall change 4.48 MB 4.48 MB ⚠️ +2.73 kB

@ijjk
Copy link
Member

ijjk commented Jun 17, 2020

Stats from current PR

Default Server Mode (Decrease detected ✓)
General Overall increase ⚠️
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
buildDuration 11.9s 12s ⚠️ +147ms
nodeModulesSize 67 MB 67 MB ⚠️ +1.68 kB
Page Load Tests Overall decrease ⚠️
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
/ failed reqs 0 0
/ total time (seconds) 1.978 2.11 ⚠️ +0.13
/ avg req/sec 1263.68 1184.84 -78.84
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.271 1.223 -0.05
/error-in-render avg req/sec 1966.58 2044.48 ⚠️ +77.9
Client Bundles (main, webpack, commons)
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
main-HASH.js gzip 6.51 kB 6.51 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..4dd5.js gzip 10.5 kB 10.5 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 56.9 kB 56.9 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
main-HASH.module.js gzip 5.6 kB 5.6 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.92 kB 6.92 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 52.4 kB 52.4 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
polyfills-HASH.js gzip 26.3 kB 26.3 kB
Overall change 26.3 kB 26.3 kB
Client Pages
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
routerDirect.js gzip 279 B 279 B
withRouter.js gzip 278 B 278 B
_error.js gzip 3.37 kB 3.37 kB
index.js gzip 222 B 222 B
link.js gzip 2.05 kB 2.05 kB
hooks.js gzip 881 B 881 B
_app.js gzip 1.26 kB 1.26 kB
Overall change 8.34 kB 8.34 kB
Client Pages Modern
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
index.module.js gzip 223 B 223 B
routerDirect..dule.js gzip 281 B 281 B
withRouter.m..dule.js gzip 278 B 278 B
hooks.module.js gzip 383 B 383 B
_error.module.js gzip 2.21 kB 2.21 kB
link.module.js gzip 1.52 kB 1.52 kB
_app.module.js gzip 604 B 604 B
Overall change 5.49 kB 5.49 kB
Client Build Manifests
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
_buildManifest.js gzip 270 B 270 B
_buildManife..dule.js gzip 274 B 274 B
Overall change 544 B 544 B
Rendered Page Sizes
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
index.html gzip 954 B 954 B
link.html gzip 961 B 961 B
withRouter.html gzip 947 B 947 B
Overall change 2.86 kB 2.86 kB

Serverless Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
buildDuration 13s 13.1s ⚠️ +129ms
nodeModulesSize 67 MB 67 MB ⚠️ +1.68 kB
Client Bundles (main, webpack, commons)
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
main-HASH.js gzip 6.51 kB 6.51 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..4dd5.js gzip 10.5 kB 10.5 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 56.9 kB 56.9 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
main-HASH.module.js gzip 5.6 kB 5.6 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.92 kB 6.92 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 52.4 kB 52.4 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
polyfills-HASH.js gzip 26.3 kB 26.3 kB
Overall change 26.3 kB 26.3 kB
Client Pages
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
routerDirect.js gzip 279 B 279 B
withRouter.js gzip 278 B 278 B
_error.js gzip 3.37 kB 3.37 kB
index.js gzip 222 B 222 B
link.js gzip 2.05 kB 2.05 kB
hooks.js gzip 881 B 881 B
_app.js gzip 1.26 kB 1.26 kB
Overall change 8.34 kB 8.34 kB
Client Pages Modern
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
index.module.js gzip 223 B 223 B
routerDirect..dule.js gzip 281 B 281 B
withRouter.m..dule.js gzip 278 B 278 B
hooks.module.js gzip 383 B 383 B
_error.module.js gzip 2.21 kB 2.21 kB
link.module.js gzip 1.52 kB 1.52 kB
_app.module.js gzip 604 B 604 B
Overall change 5.49 kB 5.49 kB
Client Build Manifests
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
_buildManifest.js gzip 270 B 270 B
_buildManife..dule.js gzip 274 B 274 B
Overall change 544 B 544 B
Serverless bundles Overall increase ⚠️
vercel/next.js canary Timer/next.js hotfix/proper-error-message Change
_error.js 875 kB 875 kB ⚠️ +547 B
404.html 4.17 kB 4.17 kB
hooks.html 3.79 kB 3.79 kB
index.js 875 kB 875 kB ⚠️ +547 B
link.js 913 kB 914 kB ⚠️ +547 B
routerDirect.js 906 kB 906 kB ⚠️ +547 B
withRouter.js 906 kB 906 kB ⚠️ +547 B
Overall change 4.48 MB 4.48 MB ⚠️ +2.73 kB

@kodiakhq kodiakhq bot merged commit 5ed89d3 into vercel:canary Jun 17, 2020
@Timer Timer deleted the hotfix/proper-error-message branch June 17, 2020 12:39
rokinsky pushed a commit to rokinsky/next.js that referenced this pull request Jul 11, 2020
This makes Next.js render a better error message when `undefined` (or null) is returned from `getStaticProps` or `getServerSideProps`.

---

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

Successfully merging this pull request may close these issues.

Forgetting to return from GS(S)P could throw a better error
3 participants