chore: drop support for Node 20 - #1853
Conversation
commit: |
|
Thanks for the pull request! Would be a breaking change. Knip's aim is to be useful also for legacy projects. For instance, it supports CommonJS (while promoting a style that helps migration to ESM) and has plenty of knobs to cater the configuration to any project style/structure. Knip should be helpful in such situations/migrations. I feel this is in conflict with dropping support Node.js v20. Similar case that pops up in my mind now: #1492. In practice, not every project has the luxury to bump Node.js itself (in CI and dev env) in a timely manner. I don't really have a timeline in mind and also don't feel that compelled to do the major bump at this point — comes with more maintenance and work for us, for what benefit exactly? Happy to hear your thoughts on any or all of this! |
|
This makes sense to me. I value it very much that you aim to support older Node versions so Knip can be used more easily in corporate environments. At the same time, I wonder how much benefit it really has, given that not even Node itself supports these EOL versions anymore. To me, the answer lies in the definition of "end of life" as it already means that support is not longer guaranteed because that's just how the lifecycle of big products works. However, I want to clarify that I am by far no expert in this matter and I agree that as long as we are not blocked anywhere because we cannot use modern APIs, it really has no benefit to drop support. So overall, I'm completely fine to just put this one on hold (maybe even close the PR in the meantime) until we have the next major coming up. I think it makes definitely sense to drop support though when the next major is ready feature wise or whatever in maybe 6-12 months because supporting it forever could really hold us back. |
|
We should probably do this within a few months or so. Just too bad we don't seem to have the actual usage data so this is a bit of theoretical exercise. But I don't think supporting Node.js 20 is holding us back at this point. You or anyone please holler if I'm wrong here. Let's keep it open to keep for visibility. |
Description
This PR updates drops support for Node 20 because it has reached EOL on Mar 24, 2026. It does so by updating all
"20"to at least"22.12.0"or for test fixtures, just use*so we do not need to care about it anymore.I think as this is a breaking change, this needs to wait for the next major. I'm not sure how you handle major releases. Is there some time windows? Any plans? Or just when the time is right?
If you want to drop a major, I would be fine with it. I could also help writing the blog post for Knip 7 or a section if you want. Just let me know 👍