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

Upgrade to Node v12 #3780

Closed
rk-for-zulip opened this issue Jan 9, 2020 · 7 comments · Fixed by #4262
Closed

Upgrade to Node v12 #3780

rk-for-zulip opened this issue Jan 9, 2020 · 7 comments · Fixed by #4262
Labels

Comments

@rk-for-zulip
Copy link
Contributor

At present (2020-01), Node v12 is the latest active LTS. We should probably be ready to move up to v12 before v10 goes into "Maintenance" mode in 2020-04.

@rk-for-zulip
Copy link
Contributor Author

rk-for-zulip commented Jan 9, 2020

Current status (updated):

@gnprice
Copy link
Member

gnprice commented Jan 9, 2020

We should probably be ready to move up to v12 before v10 goes into "Maintenance" mode in 2020-04.

v10 will still be supported (as LTS) up to 2021-04-30. So I think it'd be OK to still be on it up to then, for as long as there's a reason to be.

Definitely it's good to be on current versions of tools when we can, though. So once that blocker on Windows is resolved, we should upgrade unless there's some other blocker in the way.

@gnprice
Copy link
Member

gnprice commented Jan 9, 2020

Also, as you may well know but for concreteness here in the thread: what it means that we're currently on Node v10 is

  • we use Node 10 in CI (see .travis.yml)
  • we tell people to use Node 10 in the setup instructions (docs/howto/build-run.md)
  • if people have build trouble and turn out to be using some other version of Node, we ask them to please use Node 10 instead.

So upgrading is a matter of confirming that everything works on the new version, and then updating those two places.

@gnprice gnprice added the a-tools label Jan 9, 2020
@gnprice
Copy link
Member

gnprice commented Jan 9, 2020

  • but that probably means we'll need to update to React Native 0.62

I went and filed #3782 for that (and #3781 for the upgrade before it), so as to have a central name for it.

Because the comment was labeled "Current status", I took the liberty of updating it accordingly, wiki-style.

@gnprice
Copy link
Member

gnprice commented Jun 5, 2020

We learned today (chat thread) about one major improvement that comes with Node 12: the startup time goes from painful (like 350ms for node -e 1 in my quick testing) to in the range you'd expect (~50ms; vs 40ms python -c 1 or 70ms ruby -e 1.) So that would be very nice -- everything we do from a script will get significantly faster!

Meanwhile, from looking at https://github.com/facebook/metro/releases , I learned that that Metro bug is also fixed in a stable release, Metro v0.56.4 (thanks, Metro maintainers!). And Metro v0.56 in turn will come with RN v0.61, #3781 . So that's a bit closer than v0.62, then, happily.

@gnprice
Copy link
Member

gnprice commented Jul 13, 2020

We're now on RN v0.61! So the known Metro issue on Windows that was blocking this is resolved.

The next step is for us to switch over in local development, and see if anything goes wrong. In particular I don't believe any of us have tested Node 12 on macOS yet.

@gnprice
Copy link
Member

gnprice commented Sep 18, 2020

Both @chrisbobbe and I have been using Node 12 for our local development for a couple of months now (chat thread), and things seem good. So I'll go make this update.

gnprice added a commit to gnprice/zulip-mobile that referenced this issue Sep 18, 2020
We've been using this for local development for a little while,
and all seems well.

The major visible benefit to this upgrade is that startup times are
much improved:
  zulip#3780 (comment)
which means everything we do from a script becomes much faster.

Fixes: zulip#3780
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants