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 12 #161

Merged
merged 4 commits into from
Feb 2, 2021
Merged

✨ Upgrade to Node 12 #161

merged 4 commits into from
Feb 2, 2021

Conversation

wwilsman
Copy link
Contributor

@wwilsman wwilsman commented Feb 2, 2021

What is this?

Node 10 will be EOL on April 30th. We can prepare early by specifying a minimum Node version and running our tests on the next maintenance LTS version, Node 12.

Questions

Should we update the other CI actions to use the current Active LTS, Node 14? I would also encourage development using the Active LTS so we can be prepared next year when Node 12 is EOL and we repeat this process again. Shall I create an .nvmrc file specifying Node 14? Are there any other formats or universal way I'm forgetting about to convey development should happen using a specific Node version?

@wwilsman wwilsman added the 🧹 maintenance General maintenance label Feb 2, 2021
@wwilsman wwilsman requested a review from Robdel12 February 2, 2021 19:05
@Robdel12
Copy link
Contributor

Robdel12 commented Feb 2, 2021

Shall I create an .nvmrc file specifying Node 14?

I think so, I dig that. I don't know if there are any other standards for enforcing that

@Robdel12
Copy link
Contributor

Robdel12 commented Feb 2, 2021

Can we change anything about our build? (Are there less things polyfilled from 10 to 12?)

Copy link
Contributor

@Robdel12 Robdel12 left a comment

Choose a reason for hiding this comment

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

🏁 Good to get ahead of this now, before we roll this out to everyone. That way they experience one breaking change (and not another in April, when Node 10 is EOL)

Specified with an .nvmrc file

Release and Lint workflows were also updated to reflect a dev environment while the Test and
Typecheck workflows are kept at Node 12 to test Maintenance LTS compatibility.
@wwilsman
Copy link
Contributor Author

wwilsman commented Feb 2, 2021

Can we change anything about our build? (Are there less things polyfilled from 10 to 12?)

Babel config was updated so @babel/env will compile for Node 12 rather than Node 10. After looking at some docs, it looks like the main thing is we'll no longer have to polyfill private class properties. Other updates look to be mostly internal to Node. Once we move to >=14 though, we'll have quite a few other things that will no longer need to be polyfilled.

@wwilsman wwilsman merged commit 269a07a into master Feb 2, 2021
@wwilsman wwilsman deleted the ww/node-12 branch February 2, 2021 19:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🧹 maintenance General maintenance
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants