ts-node EOL schedule for TS and Node versions #1700
jhmaster2000
started this conversation in
General
Replies: 1 comment 3 replies
-
See also: #1505 |
Beta Was this translation helpful? Give feedback.
3 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
This is a discussion in a very similar spirit as DefinitelyTyped/DefinitelyTyped#40050
The issue above from DT discusses terminating DT's support for TS 2.7 for several reasons such as the maintenance cost of supporting so many TS versions. They ultimately decided to go forward with it and all went well, and now they have a successful standardized EOL schedule for TS versions as seen here: https://github.com/DefinitelyTyped/DefinitelyTyped#support-window
That happened nearly 2 years ago. Now we look at ts-node and we see it still supporting TS 2.7 (as can be seen by the Github Actions tests with 2.7 as the minimum tested version and the package.json). On top of that, ts-node is also in some way dependent on Node.js v10 still, as seen here, which has reached EOL nearly over a year ago, with Node.js v12 to reach EOL in just a month.
So the question here is, why? Is there an actual technical need for these unwieldly large support ranges, Node v10 to nightly, TS 2.7 all the way to 4.7 and nightly? I have tried to look around for past information on the topic, all I could find was #1316, a closed issue with no real visible resolution, as there is no comment actually answering the question of the reason for it, nor any linked PRs or anything, which leads me to open this discussion in hopes it can be clarified here, and if there is no technical needs, I would find it productive to extend this discussion to establishing a standard EOL schedule for ts-node's TS and Node versions (and possibly versions of ts-node itself by extension?) so that ts-node doesn't fall into the kind of development hell it is in right now by falling 2 years behind of EOLs.
As an initial proposal, based on the statistics provided by this comment on DT's issue, 2 years time range for TS versions support by ts-node also seems more than reasonable, with the benefit of being on sync with DT's schedule, so anyone using DT and ts-node would have to upgrade both anyway even without ts-node having it's own schedule. This would mean immediately dropping support for 2.7 until 3.8 on the next major release (v11), turning the minimum version into 3.9, although considering the time it may take to prepare for this change, it's probably best to just aim straight for 4.0.
A similar case with Node versions, nothing unreasonable with simply following Node's EOL schedule, why support Node versions that Node themselves don't? This means dropping v10 and v12 (in a month, but again, considering the time it may take to prepare these big changes).
Summing it all up, ts-node v11 would have an ideal support range of:
Both far more sane and maintainable support ranges.
Beta Was this translation helpful? Give feedback.
All reactions