Skip to content

Bump minimum nodejs version to 14#398

Merged
legobeat merged 1 commit into
LavaMoat:mainfrom
legobeat:min-node-14
Nov 18, 2022
Merged

Bump minimum nodejs version to 14#398
legobeat merged 1 commit into
LavaMoat:mainfrom
legobeat:min-node-14

Conversation

@legobeat

@legobeat legobeat commented Nov 11, 2022

Copy link
Copy Markdown
Collaborator

The following subpackages are already broken (?./?? usage) on nodejs < 14 as of these commits:

package commit date
node 9a7333e 2022-04-25
core 5977a7b 2022-09-24
lavapack 5977a7b 2022-09-24
tofu (test) 5f0f904 2022-05-25

If nodejs v12 support is still desired to keep around, those few lines could be fixed to move it back.

Otherwise it seems prudent to mark explicit deprecation of EOL node versions. It could also make sense to add a further minor version constraint (as was already present in the root package.json).

@legobeat legobeat marked this pull request as ready for review November 11, 2022 02:32
@legobeat legobeat mentioned this pull request Nov 11, 2022
1 task

@naugtur naugtur left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I've got mixed feelings about this for just one reason: If we don't have to put effort into supporting an older version, someone might benefit from our progress while they're stuck on the old version. On the other hand, if we strive to protect them, we should probably force them to update node and add the minor and patch pointing to a fairly fresh 14 with recent security patches.

These are just theoretical, I don't think we have any users intentionally staying on v12

@legobeat

legobeat commented Nov 15, 2022

Copy link
Copy Markdown
Collaborator Author

Random thoughts on the above, take it for what it is:

I think regardless of which call is made, more important is that version support is explicit and conscious (in this case it looks like breaking nodejs v12 support was not intentional. That nobody's raised an issue on it is indicative like you say it may not have affected anyone this time).

Extending CI to run for at least minimum and maximum major versions (so currently 14 + 18, optionally 16/19) would make this less effort to maintain.

Also prob good for maintainers to at least publicly discuss and set expectations around breaking changes ahead of time (is there a timeline for LM following semver? That'd help in making things clear with little overhead).

It could also help to decide if the intention is to support EoL versions or not moving forward (will v14 be supported after 2023-04?). IMO in absence of demand for support it seems reasonable to follow nodejs project schedule (so no support for EoL versions to not facilitate staying on potentially insecure runtime) but again, it's better to decide something than make the right call IMO :)

The following subpackages are already broken on nodejs <= 14 as of these commits:

| package     | commit     | date       |
| ----------- | ---------- | ---------- |
| node        | 9a7333e | 2022-04-25 |
| core        | 5977a7b | 2022-09-24 |
| lavapack    | 5977a7b | 2022-09-24 |
| tofu (test) | 5f0f904 | 2022-05-25 |
@legobeat legobeat merged commit a014572 into LavaMoat:main Nov 18, 2022
@legobeat legobeat deleted the min-node-14 branch November 18, 2022 11:10
legobeat added a commit that referenced this pull request Jun 2, 2023
- fix: Node.js 18 compatibility (#551)
- deps: lavamoat-core@^12.3.0->^14.1.1
- deps: bump @babel packages to latest (#587)
- deps: bump json-stable-stringify, node-gyp-build, resolve, yargs (#556)
- deps: remove object.fromentries (#555)
- change: BREAKING: Minimum Node.js version 14 (#398)
- fix: Properly add scuttling functionality (#382, #391)
- change: update examples
@legobeat legobeat mentioned this pull request Jun 2, 2023
boneskull pushed a commit to boneskull/LavaMoat that referenced this pull request Feb 6, 2024
- fix: Node.js 18 compatibility (LavaMoat#551)
- deps: lavamoat-core@^12.3.0->^14.1.1
- deps: bump @babel packages to latest (LavaMoat#587)
- deps: bump json-stable-stringify, node-gyp-build, resolve, yargs (LavaMoat#556)
- deps: remove object.fromentries (LavaMoat#555)
- change: BREAKING: Minimum Node.js version 14 (LavaMoat#398)
- fix: Properly add scuttling functionality (LavaMoat#382, LavaMoat#391)
- change: update examples
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants