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

Make sure rewrites are handled correctly in serverless mode correctly #10697

Merged
merged 2 commits into from Feb 26, 2020

Conversation

ijjk
Copy link
Member

@ijjk ijjk commented Feb 25, 2020

This adds additional tests to make sure the serverless loader parses params from the URL correctly and fixes API routes not using the handleRewrites method it also updates to re-use the destination preparing logic used in next-server

@ijjk ijjk added this to the 9.3.0 milestone Feb 25, 2020
@ijjk ijjk added the kind: bug Confirmed bug that is on the backlog label Feb 25, 2020
@ijjk
Copy link
Member Author

ijjk commented Feb 25, 2020

Stats from current PR

Default Server Mode (Decrease detected ✓)
General Overall decrease ✓
zeit/next.js canary ijjk/next.js fix/api-rewrite Change
buildDuration 10.2s 10.4s ⚠️ +208ms
nodeModulesSize 56.2 MB 56.2 MB -164 B
Client Bundles (main, webpack, commons)
zeit/next.js canary ijjk/next.js fix/api-rewrite Change
main-HASH.js gzip 5.05 kB 5.05 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..b61f.js gzip 12.3 kB 12.3 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 57.2 kB 57.2 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary ijjk/next.js fix/api-rewrite Change
main-HASH.module.js gzip 4.14 kB 4.14 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 9.22 kB 9.22 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 53.2 kB 53.2 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary ijjk/next.js fix/api-rewrite Change
polyfills-HASH.js gzip 18.9 kB 18.9 kB
Overall change 18.9 kB 18.9 kB
Client Pages
zeit/next.js canary ijjk/next.js fix/api-rewrite Change
_app.js gzip 1.06 kB 1.06 kB
_error.js gzip 2.98 kB 2.98 kB
hooks.js gzip 664 B 664 B
index.js gzip 222 B 222 B
link.js gzip 1.9 kB 1.9 kB
routerDirect.js gzip 279 B 279 B
withRouter.js gzip 278 B 278 B
Overall change 7.38 kB 7.38 kB
Client Pages Modern
zeit/next.js canary ijjk/next.js fix/api-rewrite Change
_app.module.js gzip 577 B 577 B
_error.module.js gzip 2.08 kB 2.08 kB
hooks.module.js gzip 370 B 370 B
index.module.js gzip 212 B 212 B
link.module.js gzip 1.48 kB 1.48 kB
routerDirect..dule.js gzip 271 B 271 B
withRouter.m..dule.js gzip 270 B 270 B
Overall change 5.26 kB 5.26 kB
Client Build Manifests
zeit/next.js canary ijjk/next.js fix/api-rewrite 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 fix/api-rewrite Change
index.html gzip 924 B 924 B
link.html gzip 934 B 934 B
withRouter.html gzip 922 B 922 B
Overall change 2.78 kB 2.78 kB

Serverless Mode (Increase detected ⚠️)
General Overall decrease ✓
zeit/next.js canary ijjk/next.js fix/api-rewrite Change
buildDuration 10.7s 10.9s ⚠️ +170ms
nodeModulesSize 56.2 MB 56.2 MB -164 B
Client Bundles (main, webpack, commons)
zeit/next.js canary ijjk/next.js fix/api-rewrite Change
main-HASH.js gzip 5.05 kB 5.05 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..b61f.js gzip 12.3 kB 12.3 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 57.2 kB 57.2 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary ijjk/next.js fix/api-rewrite Change
main-HASH.module.js gzip 4.14 kB 4.14 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 9.22 kB 9.22 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 53.2 kB 53.2 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary ijjk/next.js fix/api-rewrite Change
polyfills-HASH.js gzip 18.9 kB 18.9 kB
Overall change 18.9 kB 18.9 kB
Client Pages
zeit/next.js canary ijjk/next.js fix/api-rewrite Change
_app.js gzip 1.06 kB 1.06 kB
_error.js gzip 2.98 kB 2.98 kB
hooks.js gzip 664 B 664 B
index.js gzip 222 B 222 B
link.js gzip 1.9 kB 1.9 kB
routerDirect.js gzip 279 B 279 B
withRouter.js gzip 278 B 278 B
Overall change 7.38 kB 7.38 kB
Client Pages Modern
zeit/next.js canary ijjk/next.js fix/api-rewrite Change
_app.module.js gzip 577 B 577 B
_error.module.js gzip 2.08 kB 2.08 kB
hooks.module.js gzip 370 B 370 B
index.module.js gzip 212 B 212 B
link.module.js gzip 1.48 kB 1.48 kB
routerDirect..dule.js gzip 271 B 271 B
withRouter.m..dule.js gzip 270 B 270 B
Overall change 5.26 kB 5.26 kB
Client Build Manifests
zeit/next.js canary ijjk/next.js fix/api-rewrite 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 fix/api-rewrite Change
_error.js gzip 290 kB 292 kB ⚠️ +2.2 kB
404.html gzip 1.33 kB 1.33 kB
hooks.html gzip 963 B 963 B
index.js gzip 290 kB 291 kB ⚠️ +1.78 kB
link.js gzip 299 kB 299 kB -2 B
routerDirect.js gzip 298 kB 299 kB ⚠️ +758 B
withRouter.js gzip 296 kB 298 kB ⚠️ +1.2 kB
Overall change 1.47 MB 1.48 MB ⚠️ +5.93 kB

Commit: e575208

Copy link
Member

@timneutkens timneutkens left a comment

Choose a reason for hiding this comment

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

Looks good to me, but will wait for @Timer to review too

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.

LGTM

@ijjk
Copy link
Member Author

ijjk commented Feb 26, 2020

Stats from current PR

Default Server Mode (Decrease detected ✓)
General Overall decrease ✓
zeit/next.js canary ijjk/next.js fix/api-rewrite Change
buildDuration 9.6s 9.6s -27ms
nodeModulesSize 56.2 MB 56.2 MB -164 B
Client Bundles (main, webpack, commons)
zeit/next.js canary ijjk/next.js fix/api-rewrite Change
main-HASH.js gzip 4.98 kB 4.98 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..b61f.js gzip 12.3 kB 12.3 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 57.1 kB 57.1 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary ijjk/next.js fix/api-rewrite Change
main-HASH.module.js gzip 4.1 kB 4.1 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 9.22 kB 9.22 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 53.2 kB 53.2 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary ijjk/next.js fix/api-rewrite Change
polyfills-HASH.js gzip 18.9 kB 18.9 kB
Overall change 18.9 kB 18.9 kB
Client Pages
zeit/next.js canary ijjk/next.js fix/api-rewrite Change
_app.js gzip 1.06 kB 1.06 kB
_error.js gzip 2.98 kB 2.98 kB
hooks.js gzip 664 B 664 B
index.js gzip 222 B 222 B
link.js gzip 1.9 kB 1.9 kB
routerDirect.js gzip 279 B 279 B
withRouter.js gzip 278 B 278 B
Overall change 7.38 kB 7.38 kB
Client Pages Modern
zeit/next.js canary ijjk/next.js fix/api-rewrite Change
_app.module.js gzip 577 B 577 B
_error.module.js gzip 2.08 kB 2.08 kB
hooks.module.js gzip 370 B 370 B
index.module.js gzip 212 B 212 B
link.module.js gzip 1.48 kB 1.48 kB
routerDirect..dule.js gzip 271 B 271 B
withRouter.m..dule.js gzip 270 B 270 B
Overall change 5.26 kB 5.26 kB
Client Build Manifests
zeit/next.js canary ijjk/next.js fix/api-rewrite 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 fix/api-rewrite Change
index.html gzip 927 B 927 B
link.html gzip 933 B 933 B
withRouter.html gzip 924 B 924 B
Overall change 2.78 kB 2.78 kB

Serverless Mode (Increase detected ⚠️)
General Overall decrease ✓
zeit/next.js canary ijjk/next.js fix/api-rewrite Change
buildDuration 10.4s 10.3s -89ms
nodeModulesSize 56.2 MB 56.2 MB -164 B
Client Bundles (main, webpack, commons)
zeit/next.js canary ijjk/next.js fix/api-rewrite Change
main-HASH.js gzip 4.98 kB 4.98 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..b61f.js gzip 12.3 kB 12.3 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 57.1 kB 57.1 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary ijjk/next.js fix/api-rewrite Change
main-HASH.module.js gzip 4.1 kB 4.1 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 9.22 kB 9.22 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 53.2 kB 53.2 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary ijjk/next.js fix/api-rewrite Change
polyfills-HASH.js gzip 18.9 kB 18.9 kB
Overall change 18.9 kB 18.9 kB
Client Pages
zeit/next.js canary ijjk/next.js fix/api-rewrite Change
_app.js gzip 1.06 kB 1.06 kB
_error.js gzip 2.98 kB 2.98 kB
hooks.js gzip 664 B 664 B
index.js gzip 222 B 222 B
link.js gzip 1.9 kB 1.9 kB
routerDirect.js gzip 279 B 279 B
withRouter.js gzip 278 B 278 B
Overall change 7.38 kB 7.38 kB
Client Pages Modern
zeit/next.js canary ijjk/next.js fix/api-rewrite Change
_app.module.js gzip 577 B 577 B
_error.module.js gzip 2.08 kB 2.08 kB
hooks.module.js gzip 370 B 370 B
index.module.js gzip 212 B 212 B
link.module.js gzip 1.48 kB 1.48 kB
routerDirect..dule.js gzip 271 B 271 B
withRouter.m..dule.js gzip 270 B 270 B
Overall change 5.26 kB 5.26 kB
Client Build Manifests
zeit/next.js canary ijjk/next.js fix/api-rewrite 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 fix/api-rewrite Change
_error.js gzip 290 kB 291 kB ⚠️ +1.19 kB
404.html gzip 1.33 kB 1.33 kB
hooks.html gzip 964 B 964 B
index.js gzip 290 kB 292 kB ⚠️ +2.76 kB
link.js gzip 298 kB 299 kB ⚠️ +868 B
routerDirect.js gzip 296 kB 297 kB ⚠️ +956 B
withRouter.js gzip 296 kB 297 kB ⚠️ +1.04 kB
Overall change 1.47 MB 1.48 MB ⚠️ +6.81 kB

Commit: 39d29f7

@Timer Timer merged commit 364b4fe into vercel:canary Feb 26, 2020
@ijjk ijjk deleted the fix/api-rewrite branch February 26, 2020 18:18
@vercel vercel locked as resolved and limited conversation to collaborators Jan 31, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
kind: bug Confirmed bug that is on the backlog
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants