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

Error on query values in exportPathMap for auto export page #9908

Merged
merged 5 commits into from Jan 17, 2020

Conversation

ijjk
Copy link
Member

@ijjk ijjk commented Jan 2, 2020

While investigating #9907 I noticed we don't warn when a user provides query values in their exportPathMap for an auto-exported page.

Providing the query values in exportPathMap for an auto-exported page has no effect since we can't re-render an auto-exported page on the server so we can't provide the different query values

@ijjk ijjk added this to the 9.1.x milestone Jan 2, 2020
@ijjk
Copy link
Member Author

ijjk commented Jan 2, 2020

Stats from current PR

Default Server Mode
General Overall increase ⚠️
zeit/next.js canary ijjk/next.js warn/auto-export-query Change
buildDuration 13.1s 13s -70ms
nodeModulesSize 48.9 MB 48.9 MB ⚠️ +1.27 kB
Client Bundles (main, webpack, commons)
zeit/next.js canary ijjk/next.js warn/auto-export-query Change
main-HASH.js gzip 6.44 kB 6.44 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..6ef5.js gzip 13.8 kB 13.8 kB
framework.HASH.js gzip 39.5 kB 39.5 kB
Overall change 69.2 kB 69.2 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary ijjk/next.js warn/auto-export-query Change
main-HASH.module.js gzip 5.42 kB 5.42 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.6 kB 12.6 kB
framework.HA..dule.js gzip 39.4 kB 39.4 kB
Overall change 63.7 kB 63.7 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary ijjk/next.js warn/auto-export-query 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 warn/auto-export-query 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.93 kB 2.93 kB
routerDirect.js gzip 283 B 283 B
withRouter.js gzip 282 B 282 B
Overall change 9.89 kB 9.89 kB
Client Pages Modern
zeit/next.js canary ijjk/next.js warn/auto-export-query 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.49 kB 2.49 kB
routerDirect..dule.js gzip 273 B 273 B
withRouter.m..dule.js gzip 272 B 272 B
Overall change 7.43 kB 7.43 kB
Client Build Manifests
zeit/next.js canary ijjk/next.js warn/auto-export-query 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 warn/auto-export-query Change
index.html gzip 1.04 kB 1.04 kB
link.html gzip 1.04 kB 1.04 kB
withRouter.html gzip 1.03 kB 1.03 kB
Overall change 3.12 kB 3.12 kB

Serverless Mode
General Overall increase ⚠️
zeit/next.js canary ijjk/next.js warn/auto-export-query Change
buildDuration 13.3s 13.4s ⚠️ +5ms
nodeModulesSize 48.9 MB 48.9 MB ⚠️ +1.27 kB
Client Bundles (main, webpack, commons)
zeit/next.js canary ijjk/next.js warn/auto-export-query Change
main-HASH.js gzip 6.44 kB 6.44 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..6ef5.js gzip 13.8 kB 13.8 kB
framework.HASH.js gzip 39.5 kB 39.5 kB
Overall change 69.2 kB 69.2 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary ijjk/next.js warn/auto-export-query Change
main-HASH.module.js gzip 5.42 kB 5.42 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.6 kB 12.6 kB
framework.HA..dule.js gzip 39.4 kB 39.4 kB
Overall change 63.7 kB 63.7 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary ijjk/next.js warn/auto-export-query 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 warn/auto-export-query 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.93 kB 2.93 kB
routerDirect.js gzip 283 B 283 B
withRouter.js gzip 282 B 282 B
Overall change 9.89 kB 9.89 kB
Client Pages Modern
zeit/next.js canary ijjk/next.js warn/auto-export-query 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.49 kB 2.49 kB
routerDirect..dule.js gzip 273 B 273 B
withRouter.m..dule.js gzip 272 B 272 B
Overall change 7.43 kB 7.43 kB
Client Build Manifests
zeit/next.js canary ijjk/next.js warn/auto-export-query Change
_buildManifest.js gzip 61 B 61 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 122 B 122 B
Serverless bundles
zeit/next.js canary ijjk/next.js warn/auto-export-query Change
_error.js gzip 78.9 kB 78.9 kB
hooks.html gzip 1.07 kB 1.07 kB
index.js gzip 79.1 kB 79.1 kB
link.js gzip 81.3 kB 81.3 kB
routerDirect.js gzip 79.2 kB 79.2 kB
withRouter.js gzip 79.3 kB 79.3 kB
Overall change 399 kB 399 kB

Commit: 75d089c

@Timer Timer modified the milestones: 9.1.x, 9.2.0 Jan 3, 2020
Copy link
Member

@Timer Timer left a comment

Choose a reason for hiding this comment

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

I'm not sure this is the right fix. If the user supplies query values, we should be re-rendering the page. Maybe this is a no-fix until someone complains.

@Timer Timer modified the milestones: 9.2.0, 9.2.x Jan 10, 2020
@ijjk
Copy link
Member Author

ijjk commented Jan 12, 2020

We can't re-render at this point since the page is auto-exported and the server bundle no longer exists. It's not attempting to "fix" it but explain to the user why their query values aren't being applied instead of them being in a confused state

@ijjk ijjk requested a review from Timer January 12, 2020 19:04
Copy link
Member

@Timer Timer left a comment

Choose a reason for hiding this comment

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

We should probably throw a hard error then, and require they create a empty getInitialProps so it doesn't become automatically prerendered. Working with a warning shouldn't be a valid behavior here, IMO—it needs to work, or error; not warn.

@ijjk
Copy link
Member Author

ijjk commented Jan 17, 2020

Stats from current PR

Default Server Mode
General Overall increase ⚠️
zeit/next.js canary ijjk/next.js warn/auto-export-query Change
buildDuration 13s 12.5s -497ms
nodeModulesSize 48.9 MB 48.9 MB ⚠️ +1.27 kB
Client Bundles (main, webpack, commons)
zeit/next.js canary ijjk/next.js warn/auto-export-query 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 warn/auto-export-query 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 warn/auto-export-query 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 warn/auto-export-query 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 warn/auto-export-query 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 warn/auto-export-query 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 warn/auto-export-query 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
General Overall increase ⚠️
zeit/next.js canary ijjk/next.js warn/auto-export-query Change
buildDuration 13.1s 13s -69ms
nodeModulesSize 48.9 MB 48.9 MB ⚠️ +1.27 kB
Client Bundles (main, webpack, commons)
zeit/next.js canary ijjk/next.js warn/auto-export-query 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 warn/auto-export-query 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 warn/auto-export-query 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 warn/auto-export-query 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 warn/auto-export-query 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 warn/auto-export-query Change
_buildManifest.js gzip 61 B 61 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 122 B 122 B
Serverless bundles
zeit/next.js canary ijjk/next.js warn/auto-export-query Change
_error.js gzip 77.9 kB 77.9 kB
hooks.html gzip 1.05 kB 1.05 kB
index.js gzip 78.1 kB 78.1 kB
link.js gzip 80.6 kB 80.6 kB
routerDirect.js gzip 78.2 kB 78.2 kB
withRouter.js gzip 78.3 kB 78.3 kB
Overall change 394 kB 394 kB

Commit: 2faa022

@ijjk ijjk changed the title Warn when providing query values in exportPathMap for auto-exported page Error when providing query values in exportPathMap for auto-exported page Jan 17, 2020
@ijjk ijjk requested a review from Timer January 17, 2020 01:39
packages/next/export/worker.js Outdated Show resolved Hide resolved
@ijjk
Copy link
Member Author

ijjk commented Jan 17, 2020

Stats from current PR

Default Server Mode
General Overall increase ⚠️
zeit/next.js canary ijjk/next.js warn/auto-export-query Change
buildDuration 13.3s 13.2s -157ms
nodeModulesSize 48.9 MB 48.9 MB ⚠️ +1.27 kB
Client Bundles (main, webpack, commons)
zeit/next.js canary ijjk/next.js warn/auto-export-query 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 warn/auto-export-query 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 warn/auto-export-query 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 warn/auto-export-query 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 warn/auto-export-query 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 warn/auto-export-query 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 warn/auto-export-query 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
General Overall increase ⚠️
zeit/next.js canary ijjk/next.js warn/auto-export-query Change
buildDuration 13.9s 13.8s -39ms
nodeModulesSize 48.9 MB 48.9 MB ⚠️ +1.27 kB
Client Bundles (main, webpack, commons)
zeit/next.js canary ijjk/next.js warn/auto-export-query 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 warn/auto-export-query 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 warn/auto-export-query 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 warn/auto-export-query 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 warn/auto-export-query 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 warn/auto-export-query Change
_buildManifest.js gzip 61 B 61 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 122 B 122 B
Serverless bundles
zeit/next.js canary ijjk/next.js warn/auto-export-query Change
_error.js gzip 77.9 kB 77.9 kB
hooks.html gzip 1.05 kB 1.05 kB
index.js gzip 78.1 kB 78.1 kB
link.js gzip 80.6 kB 80.6 kB
routerDirect.js gzip 78.2 kB 78.2 kB
withRouter.js gzip 78.3 kB 78.3 kB
Overall change 394 kB 394 kB

Commit: 1103555

@Timer Timer changed the title Error when providing query values in exportPathMap for auto-exported page Error on query values in exportPathMap for auto export page Jan 17, 2020
@Timer Timer merged commit ee07612 into vercel:canary Jan 17, 2020
@Timer Timer deleted the warn/auto-export-query branch January 17, 2020 02:39
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants