cronvel / terminal-kit

Terminal utilities for node.js
MIT License
3.09k stars 200 forks source link

Enforcing node 14 #156

Closed brodeynewman closed 3 years ago

brodeynewman commented 3 years ago

Hey!

It looks like you guys are now enforcing node v14 in your package file.

We are still on version 1.x of terminal-kit and this new node 14 enforcement is breaking our installs (we are still on v12).

I may be wrong, but I feel like you guys should probably update to a new major version before enforcing users to update to node 14 😄

If i'm wrong, ignore me.

Regardless, thanks for the helpful module 😃

bargangilo commented 3 years ago

I just encountered this as well. This really should be a major version upgrade.

cronvel commented 3 years ago

@brodeynewman @bargangilo Hello,

I have searched for the answer of that question for a long time: how does semver and engine version relate each other. Never found that answer. When I changed the required engine version to Node 14, I made it a minor version, because usually a dependency is supposed to only upgrade patch, it seems to me that upgrading the minor version was correct.

The official semver document only talks about API, nothing about engine.

If you have some solid resource (from an authoritative source) on that matter, I would gladly made the project in line with that policy.

As for the choice of engine, it's because I'm starting to use new syntax like optional chaining and null coalescing everywhere, so all my packages will soon or later depend on Node 14.

In the meantime, you may depends on a minor version instead of a major.

cronvel commented 3 years ago

@brodeynewman @bargangilo Isaac, author of the Node.js semver package and founder of npm answered this on Twitter:

I've always considered SemVer Major to mean "you will have to change something on your end to start using this update".

If the previous version worked on platform version X, and the new version requires platform version X+n, then that qualifies, yes.

So it's seems that your are right.

However there is nothing about such a thing on the semver spec, but there is that issue. I also opened a Stack Overflow question, but I am a bit alone at the moment! :)

cronvel commented 3 years ago

@brodeynewman @bargangilo v1.49.3 reverts engine change, v2.0.0 re-introduce it.

brodeynewman commented 3 years ago

Thank you @cronvel ! 😄