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

Add full-icu package #9286

Merged
merged 2 commits into from
Nov 9, 2019
Merged

Add full-icu package #9286

merged 2 commits into from
Nov 9, 2019

Conversation

lemonCMS
Copy link
Contributor

@lemonCMS lemonCMS commented Nov 2, 2019

As long as node does not ship with fill-icu this will do the trick making FormattedRelativeTime work on nodejs.
Other polyfill like @formatjs/intl-relativetimeformat/polyfill did not work on nodejs and thus giving an error that client did not match server.

This cost me two nights getting it to work after trying all the provided polyfills from formatjs.
Although with the polyfill, the test

  const hasFullICU = (() => {
    try {
      const january = new Date(9e8);
      const spanish = new Intl.DateTimeFormat('es', { month: 'long' });
      return spanish.format(january) === 'enero';
    } catch (err) {
      return false;
    }
  })();

did say full-icu is supported, FormattedRelativeTime did still only return english.

This was the only thing that work for me with node v12.13.0 on OS X Catalina

As long as node does not ship with fill-icu this will do the trick making FormattedRelativeTime work on nodejs.
Other polyfill like @formatjs/intl-relativetimeformat/polyfill did not work on nodejs and thus giving an error that client did not match server.
@lemonCMS lemonCMS requested review from lfades and Timer as code owners November 2, 2019 09:25
@ijjk
Copy link
Member

ijjk commented Nov 2, 2019

Stats from current PR

Default Server Mode
General
zeit/next.js canary lemonCMS/next.js patch-2 Change
buildDuration 11.9s 12.4s ⚠️ +492ms
nodeModulesSize 48.6 MB 48.6 MB
Client Bundles (main, webpack, commons)
zeit/next.js canary lemonCMS/next.js patch-2 Change
main-HASH.js 16.6 kB 16.6 kB
main-HASH.js gzip 5.87 kB 5.87 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
16b1a7225520..7459734ec.js 20.1 kB 20.1 kB
16b1a7225520..34ec.js gzip 7.38 kB 7.38 kB
4952ddcd88e7..bfe360fe6.js 10.5 kB 10.5 kB
4952ddcd88e7..0fe6.js gzip 4.06 kB 4.06 kB
commons.HASH.js 11.3 kB 11.3 kB
commons.HASH.js gzip 4.23 kB 4.23 kB
de003c3a9d30..f81b4213a.js 28.6 kB 28.6 kB
de003c3a9d30..213a.js gzip 10.8 kB 10.8 kB
framework.1b..cdcfe1283.js 125 kB 125 kB
framework.1b..1283.js gzip 39.4 kB 39.4 kB
Overall change 214 kB 214 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary lemonCMS/next.js patch-2 Change
main-HASH.module.js 14.1 kB 14.1 kB
main-HASH.module.js gzip 5.29 kB 5.29 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
16b1a7225520..0d.module.js 16.2 kB 16.2 kB
16b1a7225520..dule.js gzip 6.22 kB 6.22 kB
4952ddcd88e7..4a.module.js 12.8 kB 12.8 kB
4952ddcd88e7..dule.js gzip 4.75 kB 4.75 kB
de003c3a9d30..82.module.js 22.1 kB 22.1 kB
de003c3a9d30..dule.js gzip 8.68 kB 8.68 kB
framework.5b..d3.module.js 125 kB 125 kB
framework.5b..dule.js gzip 39.4 kB 39.4 kB
Overall change 192 kB 192 kB
Client Pages
zeit/next.js canary lemonCMS/next.js patch-2 Change
_app.js 1.63 kB 1.63 kB
_app.js gzip 788 B 788 B
_error.js 12.3 kB 12.3 kB
_error.js gzip 4.79 kB 4.79 kB
hooks.js 1.92 kB 1.92 kB
hooks.js gzip 941 B 941 B
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 5.81 kB 5.81 kB
link.js gzip 2.56 kB 2.56 kB
routerDirect.js 413 B 413 B
routerDirect.js gzip 285 B 285 B
withRouter.js 423 B 423 B
withRouter.js gzip 284 B 284 B
Overall change 22.8 kB 22.8 kB
Client Pages Modern
zeit/next.js canary lemonCMS/next.js patch-2 Change
_app.module.js 1.54 kB 1.54 kB
_app.module.js gzip 759 B 759 B
_error.module.js 10.5 kB 10.5 kB
_error.module.js gzip 4.26 kB 4.26 kB
hooks.module.js 1.52 kB 1.52 kB
hooks.module.js gzip 792 B 792 B
index.module.js 292 B 292 B
index.module.js gzip 223 B 223 B
link.module.js 5.49 kB 5.49 kB
link.module.js gzip 2.47 kB 2.47 kB
routerDirect.module.js 399 B 399 B
routerDirect..dule.js gzip 285 B 285 B
withRouter.module.js 409 B 409 B
withRouter.m..dule.js gzip 282 B 282 B
Overall change 20.2 kB 20.2 kB
Client Build Manifests
zeit/next.js canary lemonCMS/next.js patch-2 Change
_buildManifest.js 244 B 244 B
_buildManifest.js gzip 201 B 201 B
_buildManifest.module.js 251 B 251 B
_buildManife..dule.js gzip 209 B 209 B
Overall change 495 B 495 B
Rendered Page Sizes
zeit/next.js canary lemonCMS/next.js patch-2 Change
index.html 4.06 kB 4.06 kB
index.html gzip 1.04 kB 1.04 kB
link.html 4.58 kB 4.58 kB
link.html gzip 1.12 kB 1.12 kB
withRouter.html 4.59 kB 4.59 kB
withRouter.html gzip 1.1 kB 1.1 kB
Overall change 13.2 kB 13.2 kB

Serverless Mode
General
zeit/next.js canary lemonCMS/next.js patch-2 Change
buildDuration 12.2s 12.4s ⚠️ +285ms
nodeModulesSize 48.6 MB 48.6 MB
Client Bundles (main, webpack, commons)
zeit/next.js canary lemonCMS/next.js patch-2 Change
main-HASH.js 16.6 kB 16.6 kB
main-HASH.js gzip 5.87 kB 5.87 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
16b1a7225520..7459734ec.js 20.1 kB 20.1 kB
16b1a7225520..34ec.js gzip 7.38 kB 7.38 kB
4952ddcd88e7..bfe360fe6.js 10.5 kB 10.5 kB
4952ddcd88e7..0fe6.js gzip 4.06 kB 4.06 kB
commons.HASH.js 11.3 kB 11.3 kB
commons.HASH.js gzip 4.23 kB 4.23 kB
de003c3a9d30..f81b4213a.js 28.6 kB 28.6 kB
de003c3a9d30..213a.js gzip 10.8 kB 10.8 kB
framework.1b..cdcfe1283.js 125 kB 125 kB
framework.1b..1283.js gzip 39.4 kB 39.4 kB
Overall change 214 kB 214 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary lemonCMS/next.js patch-2 Change
main-HASH.module.js 14.1 kB 14.1 kB
main-HASH.module.js gzip 5.29 kB 5.29 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
16b1a7225520..0d.module.js 16.2 kB 16.2 kB
16b1a7225520..dule.js gzip 6.22 kB 6.22 kB
4952ddcd88e7..4a.module.js 12.8 kB 12.8 kB
4952ddcd88e7..dule.js gzip 4.75 kB 4.75 kB
de003c3a9d30..82.module.js 22.1 kB 22.1 kB
de003c3a9d30..dule.js gzip 8.68 kB 8.68 kB
framework.5b..d3.module.js 125 kB 125 kB
framework.5b..dule.js gzip 39.4 kB 39.4 kB
Overall change 192 kB 192 kB
Client Pages
zeit/next.js canary lemonCMS/next.js patch-2 Change
_app.js 1.63 kB 1.63 kB
_app.js gzip 788 B 788 B
_error.js 12.3 kB 12.3 kB
_error.js gzip 4.79 kB 4.79 kB
hooks.js 1.92 kB 1.92 kB
hooks.js gzip 941 B 941 B
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 5.81 kB 5.81 kB
link.js gzip 2.56 kB 2.56 kB
routerDirect.js 413 B 413 B
routerDirect.js gzip 285 B 285 B
withRouter.js 423 B 423 B
withRouter.js gzip 284 B 284 B
Overall change 22.8 kB 22.8 kB
Client Pages Modern
zeit/next.js canary lemonCMS/next.js patch-2 Change
_app.module.js 1.54 kB 1.54 kB
_app.module.js gzip 759 B 759 B
_error.module.js 10.5 kB 10.5 kB
_error.module.js gzip 4.26 kB 4.26 kB
hooks.module.js 1.52 kB 1.52 kB
hooks.module.js gzip 792 B 792 B
index.module.js 292 B 292 B
index.module.js gzip 223 B 223 B
link.module.js 5.49 kB 5.49 kB
link.module.js gzip 2.47 kB 2.47 kB
routerDirect.module.js 399 B 399 B
routerDirect..dule.js gzip 285 B 285 B
withRouter.module.js 409 B 409 B
withRouter.m..dule.js gzip 282 B 282 B
Overall change 20.2 kB 20.2 kB
Client Build Manifests
zeit/next.js canary lemonCMS/next.js patch-2 Change
_buildManifest.js 244 B 244 B
_buildManifest.js gzip 201 B 201 B
_buildManifest.module.js 251 B 251 B
_buildManife..dule.js gzip 209 B 209 B
Overall change 495 B 495 B
Serverless bundles
zeit/next.js canary lemonCMS/next.js patch-2 Change
_error.js 248 kB 248 kB
_error.js gzip 65.6 kB 65.6 kB
hooks.html 4.19 kB 4.19 kB
hooks.html gzip 1.07 kB 1.07 kB
index.js 248 kB 248 kB
index.js gzip 65.7 kB 65.7 kB
link.js 280 kB 280 kB
link.js gzip 74.7 kB 74.7 kB
routerDirect.js 273 kB 273 kB
routerDirect.js gzip 72.7 kB 72.7 kB
withRouter.js 273 kB 273 kB
withRouter.js gzip 72.8 kB 72.8 kB
Overall change 1.33 MB 1.33 MB

Commit: b12eb17

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.

Seems legit, thanks!

@Timer Timer added the examples Issue was opened via the examples template. label Nov 9, 2019
@Timer Timer added this to the 9.1.4 milestone Nov 9, 2019
@ijjk
Copy link
Member

ijjk commented Nov 9, 2019

Stats from current PR

Default Server Mode
General
zeit/next.js canary lemonCMS/next.js patch-2 Change
buildDuration 14.2s 14.1s -92ms
nodeModulesSize 48.9 MB 48.9 MB
Client Bundles (main, webpack, commons)
zeit/next.js canary lemonCMS/next.js patch-2 Change
main-HASH.js 16.6 kB 16.6 kB
main-HASH.js gzip 5.88 kB 5.88 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
16b1a7225520..7459734ec.js 20.1 kB 20.1 kB
16b1a7225520..34ec.js gzip 7.38 kB 7.38 kB
4952ddcd88e7..bfe360fe6.js 10.5 kB 10.5 kB
4952ddcd88e7..0fe6.js gzip 4.06 kB 4.06 kB
commons.HASH.js 11.3 kB 11.3 kB
commons.HASH.js gzip 4.23 kB 4.23 kB
de003c3a9d30..254ddadd9.js 28.7 kB 28.7 kB
de003c3a9d30..add9.js gzip 10.9 kB 10.9 kB
framework.HASH.js 125 kB 125 kB
framework.HASH.js gzip 39.4 kB 39.4 kB
Overall change 214 kB 214 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary lemonCMS/next.js patch-2 Change
main-HASH.module.js 14.1 kB 14.1 kB
main-HASH.module.js gzip 5.3 kB 5.3 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
16b1a7225520..0d.module.js 16.2 kB 16.2 kB
16b1a7225520..dule.js gzip 6.22 kB 6.22 kB
4952ddcd88e7..4a.module.js 12.8 kB 12.8 kB
4952ddcd88e7..dule.js gzip 4.75 kB 4.75 kB
de003c3a9d30..36.module.js 22.2 kB 22.2 kB
de003c3a9d30..dule.js gzip 8.71 kB 8.71 kB
framework.HASH.module.js 125 kB 125 kB
framework.HA..dule.js gzip 39.4 kB 39.4 kB
Overall change 192 kB 192 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary lemonCMS/next.js patch-2 Change
polyfills-HASH.js 8.14 kB 8.14 kB
polyfills-HASH.js gzip 2.76 kB 2.76 kB
Overall change 8.14 kB 8.14 kB
Client Pages
zeit/next.js canary lemonCMS/next.js patch-2 Change
_app.js 1.63 kB 1.63 kB
_app.js gzip 788 B 788 B
_error.js 12.3 kB 12.3 kB
_error.js gzip 4.79 kB 4.79 kB
hooks.js 1.92 kB 1.92 kB
hooks.js gzip 941 B 941 B
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 5.81 kB 5.81 kB
link.js gzip 2.56 kB 2.56 kB
routerDirect.js 413 B 413 B
routerDirect.js gzip 285 B 285 B
withRouter.js 423 B 423 B
withRouter.js gzip 284 B 284 B
Overall change 22.8 kB 22.8 kB
Client Pages Modern
zeit/next.js canary lemonCMS/next.js patch-2 Change
_app.module.js 1.54 kB 1.54 kB
_app.module.js gzip 759 B 759 B
_error.module.js 10.5 kB 10.5 kB
_error.module.js gzip 4.26 kB 4.26 kB
hooks.module.js 1.52 kB 1.52 kB
hooks.module.js gzip 792 B 792 B
index.module.js 292 B 292 B
index.module.js gzip 223 B 223 B
link.module.js 5.49 kB 5.49 kB
link.module.js gzip 2.47 kB 2.47 kB
routerDirect.module.js 399 B 399 B
routerDirect..dule.js gzip 285 B 285 B
withRouter.module.js 409 B 409 B
withRouter.m..dule.js gzip 282 B 282 B
Overall change 20.2 kB 20.2 kB
Client Build Manifests
zeit/next.js canary lemonCMS/next.js patch-2 Change
_buildManifest.js 244 B 244 B
_buildManifest.js gzip 201 B 201 B
_buildManifest.module.js 251 B 251 B
_buildManife..dule.js gzip 209 B 209 B
Overall change 495 B 495 B
Rendered Page Sizes
zeit/next.js canary lemonCMS/next.js patch-2 Change
index.html 4.06 kB 4.06 kB
index.html gzip 1.04 kB 1.04 kB
link.html 4.58 kB 4.58 kB
link.html gzip 1.11 kB 1.11 kB
withRouter.html 4.59 kB 4.59 kB
withRouter.html gzip 1.1 kB 1.1 kB
Overall change 13.2 kB 13.2 kB

Serverless Mode
General
zeit/next.js canary lemonCMS/next.js patch-2 Change
buildDuration 14.6s 14.6s -69ms
nodeModulesSize 48.9 MB 48.9 MB
Client Bundles (main, webpack, commons)
zeit/next.js canary lemonCMS/next.js patch-2 Change
main-HASH.js 16.6 kB 16.6 kB
main-HASH.js gzip 5.88 kB 5.88 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
16b1a7225520..7459734ec.js 20.1 kB 20.1 kB
16b1a7225520..34ec.js gzip 7.38 kB 7.38 kB
4952ddcd88e7..bfe360fe6.js 10.5 kB 10.5 kB
4952ddcd88e7..0fe6.js gzip 4.06 kB 4.06 kB
commons.HASH.js 11.3 kB 11.3 kB
commons.HASH.js gzip 4.23 kB 4.23 kB
de003c3a9d30..254ddadd9.js 28.7 kB 28.7 kB
de003c3a9d30..add9.js gzip 10.9 kB 10.9 kB
framework.HASH.js 125 kB 125 kB
framework.HASH.js gzip 39.4 kB 39.4 kB
Overall change 214 kB 214 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary lemonCMS/next.js patch-2 Change
main-HASH.module.js 14.1 kB 14.1 kB
main-HASH.module.js gzip 5.3 kB 5.3 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
16b1a7225520..0d.module.js 16.2 kB 16.2 kB
16b1a7225520..dule.js gzip 6.22 kB 6.22 kB
4952ddcd88e7..4a.module.js 12.8 kB 12.8 kB
4952ddcd88e7..dule.js gzip 4.75 kB 4.75 kB
de003c3a9d30..36.module.js 22.2 kB 22.2 kB
de003c3a9d30..dule.js gzip 8.71 kB 8.71 kB
framework.HASH.module.js 125 kB 125 kB
framework.HA..dule.js gzip 39.4 kB 39.4 kB
Overall change 192 kB 192 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary lemonCMS/next.js patch-2 Change
polyfills-HASH.js 8.14 kB 8.14 kB
polyfills-HASH.js gzip 2.76 kB 2.76 kB
Overall change 8.14 kB 8.14 kB
Client Pages
zeit/next.js canary lemonCMS/next.js patch-2 Change
_app.js 1.63 kB 1.63 kB
_app.js gzip 788 B 788 B
_error.js 12.3 kB 12.3 kB
_error.js gzip 4.79 kB 4.79 kB
hooks.js 1.92 kB 1.92 kB
hooks.js gzip 941 B 941 B
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 5.81 kB 5.81 kB
link.js gzip 2.56 kB 2.56 kB
routerDirect.js 413 B 413 B
routerDirect.js gzip 285 B 285 B
withRouter.js 423 B 423 B
withRouter.js gzip 284 B 284 B
Overall change 22.8 kB 22.8 kB
Client Pages Modern
zeit/next.js canary lemonCMS/next.js patch-2 Change
_app.module.js 1.54 kB 1.54 kB
_app.module.js gzip 759 B 759 B
_error.module.js 10.5 kB 10.5 kB
_error.module.js gzip 4.26 kB 4.26 kB
hooks.module.js 1.52 kB 1.52 kB
hooks.module.js gzip 792 B 792 B
index.module.js 292 B 292 B
index.module.js gzip 223 B 223 B
link.module.js 5.49 kB 5.49 kB
link.module.js gzip 2.47 kB 2.47 kB
routerDirect.module.js 399 B 399 B
routerDirect..dule.js gzip 285 B 285 B
withRouter.module.js 409 B 409 B
withRouter.m..dule.js gzip 282 B 282 B
Overall change 20.2 kB 20.2 kB
Client Build Manifests
zeit/next.js canary lemonCMS/next.js patch-2 Change
_buildManifest.js 244 B 244 B
_buildManifest.js gzip 201 B 201 B
_buildManifest.module.js 251 B 251 B
_buildManife..dule.js gzip 209 B 209 B
Overall change 495 B 495 B
Serverless bundles
zeit/next.js canary lemonCMS/next.js patch-2 Change
_error.js 243 kB 243 kB
_error.js gzip 64.8 kB 64.8 kB
hooks.html 4.19 kB 4.19 kB
hooks.html gzip 1.07 kB 1.07 kB
index.js 244 kB 244 kB
index.js gzip 64.9 kB 64.9 kB
link.js 276 kB 276 kB
link.js gzip 73.9 kB 73.9 kB
routerDirect.js 269 kB 269 kB
routerDirect.js gzip 71.9 kB 71.9 kB
withRouter.js 269 kB 269 kB
withRouter.js gzip 72 kB 72 kB
Overall change 1.31 MB 1.31 MB

Commit: 3f068d1

@Timer Timer merged commit d5486e5 into vercel:canary Nov 9, 2019
@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 was opened via the examples template.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants