-
-
Notifications
You must be signed in to change notification settings - Fork 6
BREAKING: Update minimum Node.js version to 16 #20
Conversation
Updated dependencies detected. Learn more about Socket for GitHub ↗︎
|
package.json
Outdated
@@ -60,7 +60,7 @@ | |||
}, | |||
"packageManager": "[email protected]", | |||
"engines": { | |||
"node": ">=14.0.0" | |||
"node": "16.20.1 || ^18.16.1 || >=20" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Elsewhere we just use >=16
. Is there a reason to be so specific with the supported version ranges?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To not have to consider support 17 and 19 in the first place (17 went EoL before 16 FWIW, but not by much). A difference in outcome post-merge would be how to treat a hypothetical regression affecting only 17.x or 19.x. On the flip side, what's the upside of maintaining support for past odd-numbered releases?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just noticed now that the leading version was missing the ^
, which was an oversight. Updated, and also dropped the least significant part (it's really the feature-release being relevant to consider for constraining IMO)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah I see, fair enough. I ask because it differs from our template. Perhaps we should migrate this change there as well?
RE: the lack of support for v16 below v16.20, I'm guessing that's just an attempt to disregard older versions as well, and associated bugs? Or is there another reason for that minimum, e.g. a feature we rely on.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reasoning: "We get the latest features for v16 and won't have to consider what's in which minor for future development" (It's happened every now and then that language features get introduced in LTS minors so this aims at limiting that aspect)
Basically devs will spend less time on https://node.green/.
Required by update of `@metamask/json-rpc-engine` (MetaMask#16)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
Required by update of
@metamask/json-rpc-engine
(#16)