-
Notifications
You must be signed in to change notification settings - Fork 27.6k
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
Configure the Default Revalidate #8880
Conversation
The default revalidate behavior should be configured by Next.js. Otherwise, the behavior might drift or change in non-semver compliant ways between Next.js and the builder (or other 3rd party setups).
Stats from current PRDefault Server Mode (Increase detected
|
zeit/next.js canary | Timer/next.js default-revalidate | Change | |
---|---|---|---|
buildDuration | 16.1s | 16.2s | |
nodeModulesSize | 48.2 MB | 48.2 MB |
Client Bundles (main, webpack, commons)
zeit/next.js canary | Timer/next.js default-revalidate | Change | |
---|---|---|---|
main-HASH.js | 18.3 kB | 18.3 kB | ✓ |
main-HASH.js gzip | 6.64 kB | 6.64 kB | ✓ |
webpack-HASH.js | 1.53 kB | 1.53 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..2b8407376.js | 21.9 kB | 21.9 kB | ✓ |
4952ddcd88e7..7376.js gzip | 7.81 kB | 7.81 kB | ✓ |
de003c3a9d30..2ca0edb75.js | 43.2 kB | 43.2 kB | ✓ |
de003c3a9d30..db75.js gzip | 15.5 kB | 15.5 kB | ✓ |
framework.5b..dbaff70d3.js | 125 kB | 125 kB | ✓ |
framework.5b..70d3.js gzip | 39.4 kB | 39.4 kB | ✓ |
Overall change | 210 kB | 210 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary | Timer/next.js default-revalidate | Change | |
---|---|---|---|
main-HASH.module.js | 16.5 kB | 16.5 kB | ✓ |
main-HASH.module.js gzip | 6.39 kB | 6.39 kB | ✓ |
webpack-HASH.module.js | 1.53 kB | 1.53 kB | ✓ |
webpack-HASH..dule.js gzip | 746 B | 746 B | ✓ |
de003c3a9d30..c0.module.js | 45.6 kB | 45.6 kB | ✓ |
de003c3a9d30..dule.js gzip | 16.5 kB | 16.5 kB | ✓ |
framework.5b..d3.module.js | 125 kB | 125 kB | ✓ |
framework.5b..dule.js gzip | 39.4 kB | 39.4 kB | ✓ |
Overall change | 189 kB | 189 kB | ✓ |
Client Pages
zeit/next.js canary | Timer/next.js default-revalidate | Change | |
---|---|---|---|
_app.js | 1.81 kB | 1.81 kB | ✓ |
_app.js gzip | 873 B | 873 B | ✓ |
_error.js | 12 kB | 12 kB | ✓ |
_error.js gzip | 4.73 kB | 4.73 kB | ✓ |
hooks.js | 12.7 kB | 12.7 kB | ✓ |
hooks.js gzip | 4.79 kB | 4.79 kB | ✓ |
index.js | 318 B | 318 B | ✓ |
index.js gzip | 222 B | 222 B | ✓ |
link.js | 8.14 kB | 8.14 kB | ✓ |
link.js gzip | 3.5 kB | 3.5 kB | ✓ |
routerDirect.js | 408 B | 408 B | ✓ |
routerDirect.js gzip | 281 B | 281 B | ✓ |
withRouter.js | 419 B | 419 B | ✓ |
withRouter.js gzip | 280 B | 280 B | ✓ |
Overall change | 35.8 kB | 35.8 kB | ✓ |
Client Pages Modern
zeit/next.js canary | Timer/next.js default-revalidate | Change | |
---|---|---|---|
_app.module.js | 1.7 kB | 1.7 kB | ✓ |
_app.module.js gzip | 832 B | 832 B | ✓ |
_error.module.js | 23.3 kB | 23.3 kB | ✓ |
_error.module.js gzip | 8.59 kB | 8.59 kB | ✓ |
hooks.module.js | 1.52 kB | 1.52 kB | ✓ |
hooks.module.js gzip | 793 B | 793 B | ✓ |
index.module.js | 294 B | 294 B | ✓ |
index.module.js gzip | 223 B | 223 B | ✓ |
link.module.js | 8.53 kB | 8.53 kB | ✓ |
link.module.js gzip | 3.68 kB | 3.68 kB | ✓ |
routerDirect.module.js | 394 B | 394 B | ✓ |
routerDirect..dule.js gzip | 281 B | 281 B | ✓ |
withRouter.module.js | 404 B | 404 B | ✓ |
withRouter.m..dule.js gzip | 278 B | 278 B | ✓ |
Overall change | 36.1 kB | 36.1 kB | ✓ |
Client Build Manifests
zeit/next.js canary | Timer/next.js default-revalidate | Change | |
---|---|---|---|
_buildManifest.js | 81 B | 81 B | ✓ |
_buildManifest.js gzip | 61 B | 61 B | ✓ |
_buildManifest.module.js | 81 B | 81 B | ✓ |
_buildManife..dule.js gzip | 61 B | 61 B | ✓ |
Overall change | 162 B | 162 B | ✓ |
Rendered Page Sizes
zeit/next.js canary | Timer/next.js default-revalidate | Change | |
---|---|---|---|
index.html | 3.62 kB | 3.62 kB | ✓ |
index.html gzip | 947 B | 947 B | ✓ |
link.html | 3.66 kB | 3.66 kB | ✓ |
link.html gzip | 955 B | 955 B | ✓ |
withRouter.html | 3.67 kB | 3.67 kB | ✓ |
withRouter.html gzip | 943 B | 943 B | ✓ |
Overall change | 10.9 kB | 10.9 kB | ✓ |
Serverless Mode (Increase detected ⚠️ )
General Overall increase ⚠️
zeit/next.js canary | Timer/next.js default-revalidate | Change | |
---|---|---|---|
buildDuration | 17.5s | 16.6s | -862ms |
nodeModulesSize | 48.2 MB | 48.2 MB |
Client Bundles (main, webpack, commons)
zeit/next.js canary | Timer/next.js default-revalidate | Change | |
---|---|---|---|
main-HASH.js | 18.3 kB | 18.3 kB | ✓ |
main-HASH.js gzip | 6.64 kB | 6.64 kB | ✓ |
webpack-HASH.js | 1.53 kB | 1.53 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..2b8407376.js | 21.9 kB | 21.9 kB | ✓ |
4952ddcd88e7..7376.js gzip | 7.81 kB | 7.81 kB | ✓ |
de003c3a9d30..2ca0edb75.js | 43.2 kB | 43.2 kB | ✓ |
de003c3a9d30..db75.js gzip | 15.5 kB | 15.5 kB | ✓ |
framework.5b..dbaff70d3.js | 125 kB | 125 kB | ✓ |
framework.5b..70d3.js gzip | 39.4 kB | 39.4 kB | ✓ |
Overall change | 210 kB | 210 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary | Timer/next.js default-revalidate | Change | |
---|---|---|---|
main-HASH.module.js | 16.5 kB | 16.5 kB | ✓ |
main-HASH.module.js gzip | 6.39 kB | 6.39 kB | ✓ |
webpack-HASH.module.js | 1.53 kB | 1.53 kB | ✓ |
webpack-HASH..dule.js gzip | 746 B | 746 B | ✓ |
de003c3a9d30..c0.module.js | 45.6 kB | 45.6 kB | ✓ |
de003c3a9d30..dule.js gzip | 16.5 kB | 16.5 kB | ✓ |
framework.5b..d3.module.js | 125 kB | 125 kB | ✓ |
framework.5b..dule.js gzip | 39.4 kB | 39.4 kB | ✓ |
Overall change | 189 kB | 189 kB | ✓ |
Client Pages
zeit/next.js canary | Timer/next.js default-revalidate | Change | |
---|---|---|---|
_app.js | 1.81 kB | 1.81 kB | ✓ |
_app.js gzip | 873 B | 873 B | ✓ |
_error.js | 12 kB | 12 kB | ✓ |
_error.js gzip | 4.73 kB | 4.73 kB | ✓ |
hooks.js | 12.7 kB | 12.7 kB | ✓ |
hooks.js gzip | 4.79 kB | 4.79 kB | ✓ |
index.js | 318 B | 318 B | ✓ |
index.js gzip | 222 B | 222 B | ✓ |
link.js | 8.14 kB | 8.14 kB | ✓ |
link.js gzip | 3.5 kB | 3.5 kB | ✓ |
routerDirect.js | 408 B | 408 B | ✓ |
routerDirect.js gzip | 281 B | 281 B | ✓ |
withRouter.js | 419 B | 419 B | ✓ |
withRouter.js gzip | 280 B | 280 B | ✓ |
Overall change | 35.8 kB | 35.8 kB | ✓ |
Client Pages Modern
zeit/next.js canary | Timer/next.js default-revalidate | Change | |
---|---|---|---|
_app.module.js | 1.7 kB | 1.7 kB | ✓ |
_app.module.js gzip | 832 B | 832 B | ✓ |
_error.module.js | 23.3 kB | 23.3 kB | ✓ |
_error.module.js gzip | 8.59 kB | 8.59 kB | ✓ |
hooks.module.js | 1.52 kB | 1.52 kB | ✓ |
hooks.module.js gzip | 793 B | 793 B | ✓ |
index.module.js | 294 B | 294 B | ✓ |
index.module.js gzip | 223 B | 223 B | ✓ |
link.module.js | 8.53 kB | 8.53 kB | ✓ |
link.module.js gzip | 3.68 kB | 3.68 kB | ✓ |
routerDirect.module.js | 394 B | 394 B | ✓ |
routerDirect..dule.js gzip | 281 B | 281 B | ✓ |
withRouter.module.js | 404 B | 404 B | ✓ |
withRouter.m..dule.js gzip | 278 B | 278 B | ✓ |
Overall change | 36.1 kB | 36.1 kB | ✓ |
Client Build Manifests
zeit/next.js canary | Timer/next.js default-revalidate | Change | |
---|---|---|---|
_buildManifest.js | 81 B | 81 B | ✓ |
_buildManifest.js gzip | 61 B | 61 B | ✓ |
_buildManifest.module.js | 81 B | 81 B | ✓ |
_buildManife..dule.js gzip | 61 B | 61 B | ✓ |
Overall change | 162 B | 162 B | ✓ |
Serverless bundles Overall increase ⚠️
zeit/next.js canary | Timer/next.js default-revalidate | Change | |
---|---|---|---|
_error.js | 253 kB | 253 kB | |
_error.js gzip | 67.6 kB | 67.8 kB | |
hooks.html | 3.75 kB | 3.75 kB | ✓ |
hooks.html gzip | 980 B | 980 B | ✓ |
index.js | 253 kB | 254 kB | |
index.js gzip | 68 kB | 68.1 kB | |
link.js | 261 kB | 261 kB | |
link.js gzip | 70 kB | 70.1 kB | |
routerDirect.js | 254 kB | 254 kB | |
routerDirect.js gzip | 68 kB | 68.1 kB | |
withRouter.js | 254 kB | 254 kB | |
withRouter.js gzip | 68.1 kB | 68.2 kB | |
Overall change | 1.28 MB | 1.28 MB |
Commit: 7c8499c
// By default, we revalidate after 1 second. This value is optimal for | ||
// the most up-to-date page possible, but without a 1-to-1 | ||
// request-refresh ratio. | ||
data.revalidate = 1 |
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.
I'm still not sure if this is the best idea
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.
I thought this was the value we settled on after discussion with @rauchg. One second seems to be the best value if we don't want the user to have to configure it -- I think it should "just work" out-of-the-box (not require you specify it), and this value does that.
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.
It's also the biggest "wow factor" 🤔. As in, "wow my website updates so fast and it's always a CDN HIT", 😆.
Stats from current PRDefault Server Mode (Increase detected
|
zeit/next.js canary | Timer/next.js default-revalidate | Change | |
---|---|---|---|
buildDuration | 15.4s | 15.4s | -93ms |
nodeModulesSize | 48.2 MB | 48.2 MB |
Client Bundles (main, webpack, commons)
zeit/next.js canary | Timer/next.js default-revalidate | Change | |
---|---|---|---|
main-HASH.js | 18.3 kB | 18.3 kB | ✓ |
main-HASH.js gzip | 6.64 kB | 6.64 kB | ✓ |
webpack-HASH.js | 1.53 kB | 1.53 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..2b8407376.js | 21.9 kB | 21.9 kB | ✓ |
4952ddcd88e7..7376.js gzip | 7.81 kB | 7.81 kB | ✓ |
de003c3a9d30..2ca0edb75.js | 43.2 kB | 43.2 kB | ✓ |
de003c3a9d30..db75.js gzip | 15.5 kB | 15.5 kB | ✓ |
framework.5b..dbaff70d3.js | 125 kB | 125 kB | ✓ |
framework.5b..70d3.js gzip | 39.4 kB | 39.4 kB | ✓ |
Overall change | 210 kB | 210 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary | Timer/next.js default-revalidate | Change | |
---|---|---|---|
main-HASH.module.js | 16.5 kB | 16.5 kB | ✓ |
main-HASH.module.js gzip | 6.39 kB | 6.39 kB | ✓ |
webpack-HASH.module.js | 1.53 kB | 1.53 kB | ✓ |
webpack-HASH..dule.js gzip | 746 B | 746 B | ✓ |
de003c3a9d30..c0.module.js | 45.6 kB | 45.6 kB | ✓ |
de003c3a9d30..dule.js gzip | 16.5 kB | 16.5 kB | ✓ |
framework.5b..d3.module.js | 125 kB | 125 kB | ✓ |
framework.5b..dule.js gzip | 39.4 kB | 39.4 kB | ✓ |
Overall change | 189 kB | 189 kB | ✓ |
Client Pages
zeit/next.js canary | Timer/next.js default-revalidate | Change | |
---|---|---|---|
_app.js | 1.81 kB | 1.81 kB | ✓ |
_app.js gzip | 873 B | 873 B | ✓ |
_error.js | 12 kB | 12 kB | ✓ |
_error.js gzip | 4.73 kB | 4.73 kB | ✓ |
hooks.js | 12.7 kB | 12.7 kB | ✓ |
hooks.js gzip | 4.79 kB | 4.79 kB | ✓ |
index.js | 318 B | 318 B | ✓ |
index.js gzip | 222 B | 222 B | ✓ |
link.js | 8.14 kB | 8.14 kB | ✓ |
link.js gzip | 3.5 kB | 3.5 kB | ✓ |
routerDirect.js | 408 B | 408 B | ✓ |
routerDirect.js gzip | 281 B | 281 B | ✓ |
withRouter.js | 419 B | 419 B | ✓ |
withRouter.js gzip | 280 B | 280 B | ✓ |
Overall change | 35.8 kB | 35.8 kB | ✓ |
Client Pages Modern
zeit/next.js canary | Timer/next.js default-revalidate | Change | |
---|---|---|---|
_app.module.js | 1.7 kB | 1.7 kB | ✓ |
_app.module.js gzip | 832 B | 832 B | ✓ |
_error.module.js | 23.3 kB | 23.3 kB | ✓ |
_error.module.js gzip | 8.59 kB | 8.59 kB | ✓ |
hooks.module.js | 1.52 kB | 1.52 kB | ✓ |
hooks.module.js gzip | 793 B | 793 B | ✓ |
index.module.js | 294 B | 294 B | ✓ |
index.module.js gzip | 223 B | 223 B | ✓ |
link.module.js | 8.53 kB | 8.53 kB | ✓ |
link.module.js gzip | 3.68 kB | 3.68 kB | ✓ |
routerDirect.module.js | 394 B | 394 B | ✓ |
routerDirect..dule.js gzip | 281 B | 281 B | ✓ |
withRouter.module.js | 404 B | 404 B | ✓ |
withRouter.m..dule.js gzip | 278 B | 278 B | ✓ |
Overall change | 36.1 kB | 36.1 kB | ✓ |
Client Build Manifests
zeit/next.js canary | Timer/next.js default-revalidate | Change | |
---|---|---|---|
_buildManifest.js | 81 B | 81 B | ✓ |
_buildManifest.js gzip | 61 B | 61 B | ✓ |
_buildManifest.module.js | 81 B | 81 B | ✓ |
_buildManife..dule.js gzip | 61 B | 61 B | ✓ |
Overall change | 162 B | 162 B | ✓ |
Rendered Page Sizes
zeit/next.js canary | Timer/next.js default-revalidate | Change | |
---|---|---|---|
index.html | 3.62 kB | 3.62 kB | ✓ |
index.html gzip | 947 B | 947 B | ✓ |
link.html | 3.66 kB | 3.66 kB | ✓ |
link.html gzip | 955 B | 955 B | ✓ |
withRouter.html | 3.67 kB | 3.67 kB | ✓ |
withRouter.html gzip | 943 B | 943 B | ✓ |
Overall change | 10.9 kB | 10.9 kB | ✓ |
Serverless Mode (Increase detected ⚠️ )
General Overall increase ⚠️
zeit/next.js canary | Timer/next.js default-revalidate | Change | |
---|---|---|---|
buildDuration | 15.7s | 15.4s | -260ms |
nodeModulesSize | 48.2 MB | 48.2 MB |
Client Bundles (main, webpack, commons)
zeit/next.js canary | Timer/next.js default-revalidate | Change | |
---|---|---|---|
main-HASH.js | 18.3 kB | 18.3 kB | ✓ |
main-HASH.js gzip | 6.64 kB | 6.64 kB | ✓ |
webpack-HASH.js | 1.53 kB | 1.53 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
4952ddcd88e7..2b8407376.js | 21.9 kB | 21.9 kB | ✓ |
4952ddcd88e7..7376.js gzip | 7.81 kB | 7.81 kB | ✓ |
de003c3a9d30..2ca0edb75.js | 43.2 kB | 43.2 kB | ✓ |
de003c3a9d30..db75.js gzip | 15.5 kB | 15.5 kB | ✓ |
framework.5b..dbaff70d3.js | 125 kB | 125 kB | ✓ |
framework.5b..70d3.js gzip | 39.4 kB | 39.4 kB | ✓ |
Overall change | 210 kB | 210 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary | Timer/next.js default-revalidate | Change | |
---|---|---|---|
main-HASH.module.js | 16.5 kB | 16.5 kB | ✓ |
main-HASH.module.js gzip | 6.39 kB | 6.39 kB | ✓ |
webpack-HASH.module.js | 1.53 kB | 1.53 kB | ✓ |
webpack-HASH..dule.js gzip | 746 B | 746 B | ✓ |
de003c3a9d30..c0.module.js | 45.6 kB | 45.6 kB | ✓ |
de003c3a9d30..dule.js gzip | 16.5 kB | 16.5 kB | ✓ |
framework.5b..d3.module.js | 125 kB | 125 kB | ✓ |
framework.5b..dule.js gzip | 39.4 kB | 39.4 kB | ✓ |
Overall change | 189 kB | 189 kB | ✓ |
Client Pages
zeit/next.js canary | Timer/next.js default-revalidate | Change | |
---|---|---|---|
_app.js | 1.81 kB | 1.81 kB | ✓ |
_app.js gzip | 873 B | 873 B | ✓ |
_error.js | 12 kB | 12 kB | ✓ |
_error.js gzip | 4.73 kB | 4.73 kB | ✓ |
hooks.js | 12.7 kB | 12.7 kB | ✓ |
hooks.js gzip | 4.79 kB | 4.79 kB | ✓ |
index.js | 318 B | 318 B | ✓ |
index.js gzip | 222 B | 222 B | ✓ |
link.js | 8.14 kB | 8.14 kB | ✓ |
link.js gzip | 3.5 kB | 3.5 kB | ✓ |
routerDirect.js | 408 B | 408 B | ✓ |
routerDirect.js gzip | 281 B | 281 B | ✓ |
withRouter.js | 419 B | 419 B | ✓ |
withRouter.js gzip | 280 B | 280 B | ✓ |
Overall change | 35.8 kB | 35.8 kB | ✓ |
Client Pages Modern
zeit/next.js canary | Timer/next.js default-revalidate | Change | |
---|---|---|---|
_app.module.js | 1.7 kB | 1.7 kB | ✓ |
_app.module.js gzip | 832 B | 832 B | ✓ |
_error.module.js | 23.3 kB | 23.3 kB | ✓ |
_error.module.js gzip | 8.59 kB | 8.59 kB | ✓ |
hooks.module.js | 1.52 kB | 1.52 kB | ✓ |
hooks.module.js gzip | 793 B | 793 B | ✓ |
index.module.js | 294 B | 294 B | ✓ |
index.module.js gzip | 223 B | 223 B | ✓ |
link.module.js | 8.53 kB | 8.53 kB | ✓ |
link.module.js gzip | 3.68 kB | 3.68 kB | ✓ |
routerDirect.module.js | 394 B | 394 B | ✓ |
routerDirect..dule.js gzip | 281 B | 281 B | ✓ |
withRouter.module.js | 404 B | 404 B | ✓ |
withRouter.m..dule.js gzip | 278 B | 278 B | ✓ |
Overall change | 36.1 kB | 36.1 kB | ✓ |
Client Build Manifests
zeit/next.js canary | Timer/next.js default-revalidate | Change | |
---|---|---|---|
_buildManifest.js | 81 B | 81 B | ✓ |
_buildManifest.js gzip | 61 B | 61 B | ✓ |
_buildManifest.module.js | 81 B | 81 B | ✓ |
_buildManife..dule.js gzip | 61 B | 61 B | ✓ |
Overall change | 162 B | 162 B | ✓ |
Serverless bundles Overall increase ⚠️
zeit/next.js canary | Timer/next.js default-revalidate | Change | |
---|---|---|---|
_error.js | 253 kB | 253 kB | |
_error.js gzip | 67.8 kB | 67.9 kB | |
hooks.html | 3.75 kB | 3.75 kB | ✓ |
hooks.html gzip | 980 B | 980 B | ✓ |
index.js | 253 kB | 254 kB | |
index.js gzip | 68.1 kB | 68.2 kB | |
link.js | 261 kB | 261 kB | |
link.js gzip | 70.1 kB | 70.2 kB | |
routerDirect.js | 254 kB | 255 kB | |
routerDirect.js gzip | 68.1 kB | 68.3 kB | |
withRouter.js | 254 kB | 255 kB | |
withRouter.js gzip | 68.2 kB | 68.3 kB | |
Overall change | 1.28 MB | 1.28 MB |
Commit: b289dac
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.
After discussion, it sounds like this should be a good default
The default revalidate behavior should be configured by Next.js. Otherwise, the behavior might drift or change in non-semver compliant ways between Next.js and the builder (or other 3rd party setups).