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

[Examples] Add SWR to api-routes and api-routes-middleware #11385

Merged
merged 2 commits into from
Apr 7, 2020

Conversation

lfades
Copy link
Member

@lfades lfades commented Mar 26, 2020

The current examples are using getServerSideProps with API Routes, which has the following downsides:

  • The ZEIT Now deployment doesn't work because it uses an absolute URL to localhost. (And relative URLs only work for the browser)
  • It adds SSR to an use case where it's not required

Client side data fetching fixes the above issues, the use case could still be better for SSG, but the idea of this examples is to show the usage of API Routes. We could change them in the future to do actions instead of data loading, but for the moment this is a good fix.

@lfades lfades requested a review from Timer as a code owner March 26, 2020 23:37
@ijjk
Copy link
Member

ijjk commented Mar 26, 2020

Stats from current PR

Default Server Mode
General
zeit/next.js canary lfades/next.js examples/api-routes-swr Change
buildDuration 10.4s 10.2s -251ms
nodeModulesSize 53.1 MB 53.1 MB
Client Bundles (main, webpack, commons)
zeit/next.js canary lfades/next.js examples/api-routes-swr Change
main-HASH.js gzip 6.24 kB 6.24 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..c6c1.js gzip 10.1 kB 10.1 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 56.2 kB 56.2 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary lfades/next.js examples/api-routes-swr Change
main-HASH.module.js gzip 4.77 kB 4.77 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.71 kB 6.71 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 51.4 kB 51.4 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary lfades/next.js examples/api-routes-swr Change
polyfills-HASH.js gzip 26.3 kB 26.3 kB
Overall change 26.3 kB 26.3 kB
Client Pages
zeit/next.js canary lfades/next.js examples/api-routes-swr Change
_app.js gzip 1.24 kB 1.24 kB
_error.js gzip 3.15 kB 3.15 kB
hooks.js gzip 664 B 664 B
index.js gzip 222 B 222 B
link.js gzip 2.03 kB 2.03 kB
routerDirect.js gzip 279 B 279 B
withRouter.js gzip 278 B 278 B
Overall change 7.86 kB 7.86 kB
Client Pages Modern
zeit/next.js canary lfades/next.js examples/api-routes-swr Change
_app.module.js gzip 594 B 594 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.28 kB 5.28 kB
Client Build Manifests
zeit/next.js canary lfades/next.js examples/api-routes-swr 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 lfades/next.js examples/api-routes-swr Change
index.html gzip 917 B 917 B
link.html gzip 925 B 925 B
withRouter.html gzip 915 B 915 B
Overall change 2.76 kB 2.76 kB

Serverless Mode (Decrease detected ✓)
General
zeit/next.js canary lfades/next.js examples/api-routes-swr Change
buildDuration 11.3s 11.3s -10ms
nodeModulesSize 53.1 MB 53.1 MB
Client Bundles (main, webpack, commons)
zeit/next.js canary lfades/next.js examples/api-routes-swr Change
main-HASH.js gzip 6.24 kB 6.24 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..c6c1.js gzip 10.1 kB 10.1 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 56.2 kB 56.2 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary lfades/next.js examples/api-routes-swr Change
main-HASH.module.js gzip 4.77 kB 4.77 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.71 kB 6.71 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 51.4 kB 51.4 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary lfades/next.js examples/api-routes-swr Change
polyfills-HASH.js gzip 26.3 kB 26.3 kB
Overall change 26.3 kB 26.3 kB
Client Pages
zeit/next.js canary lfades/next.js examples/api-routes-swr Change
_app.js gzip 1.24 kB 1.24 kB
_error.js gzip 3.15 kB 3.15 kB
hooks.js gzip 664 B 664 B
index.js gzip 222 B 222 B
link.js gzip 2.03 kB 2.03 kB
routerDirect.js gzip 279 B 279 B
withRouter.js gzip 278 B 278 B
Overall change 7.86 kB 7.86 kB
Client Pages Modern
zeit/next.js canary lfades/next.js examples/api-routes-swr Change
_app.module.js gzip 594 B 594 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.28 kB 5.28 kB
Client Build Manifests
zeit/next.js canary lfades/next.js examples/api-routes-swr 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 decrease ✓
zeit/next.js canary lfades/next.js examples/api-routes-swr Change
_error.js gzip 294 kB 294 kB -901 B
404.html gzip 1.32 kB 1.32 kB
hooks.html gzip 958 B 958 B
index.js gzip 294 kB 293 kB -796 B
link.js gzip 302 kB 302 kB -385 B
routerDirect.js gzip 300 kB 300 kB -79 B
withRouter.js gzip 300 kB 300 kB ⚠️ +659 B
Overall change 1.49 MB 1.49 MB -1.5 kB

@timneutkens timneutkens added the examples Issue/PR related to examples label Apr 6, 2020
@Timer Timer added this to the 9.3.5 milestone Apr 7, 2020
@Timer Timer merged commit 30870b4 into vercel:canary Apr 7, 2020
@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
examples Issue/PR related to examples
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants