-
Notifications
You must be signed in to change notification settings - Fork 29.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
repl: runtime deprecate inputStream
, outputStream
and _builtinLibs
#54750
Conversation
04141
and 04142
0141
and 0142
ea81bf7
to
ced8c95
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #54750 +/- ##
==========================================
+ Coverage 87.60% 87.62% +0.01%
==========================================
Files 650 650
Lines 182829 182934 +105
Branches 35379 35383 +4
==========================================
+ Hits 160173 160292 +119
+ Misses 15928 15910 -18
- Partials 6728 6732 +4
|
0141
and 0142
inputStream
, outputStream
and _builtinLibs
Can you make the commit message clearer? e.g. |
These properties have been pending deprecation for years, so I believe it's finally time to runtime deprecate them. IMO things shouldn't be pending deprecation for as long as these were. |
ced8c95
to
4f4397f
Compare
Why are there deprecated in the first place?
Deprecations can stay at the same stage forever – I don't know about this one, but it is not a valid argument for runtime deprecate something. node/doc/contributing/collaborator-guide.md Lines 492 to 495 in 27f1306
|
Apologies. A better argument for this is that these features have been replaced. |
It is a much better argument, but I'm not sure it's true. Looking at #33294, those already existed when the deprecation was decided.
I don't know if the replacements are better, IIUC it's perfectly equivalent. It will for sure create some friction for our users forcing them to either update the code to use the non-deprecated alias (which may or may not be code that they maintain), or disable/ignore the warnings. As Anna said in #33294 (review), shouldn't we prefer to keep the alias around forever? |
4f4397f
to
f5f2f29
Compare
Ping @nodejs/tsc per the plan for v23 |
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
I'm still not convinced we should runtime deprecate this as I said in #54750 (comment). |
Isn't that the point of deprecations? To encourage users to upgrade to the better maintained code? Runtime deprecating this will encourage users to move to code that is currently supported. Maybe a few versions ago it would be a concern for friction for users, but these have been runtime deprecated for (IMO) long enough that if the users haven't upgraded to non-deprecated features, it's okay to present them with a warning. |
Why though? It seems to be adding friction for.. the sake of it? |
I wouldn’t say it’s just for the "sake" of it. It’s about tying up loose ends. These deprecations are meant to nudge users toward upgrading, and I think it's time to start issuing warnings for this feature. I don’t see it causing much friction—users should have been aware of this since it was documented as deprecated in v14. If they choose not to upgrade, they can stick with V22, but that’s their loss, in my opinion. It’s crucial to keep the codebase current, and by gradually phasing out deprecated features, we encourage users to do the same. I've added |
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.
Each deprecation should be its own PR. Also this shouldn't land without a CITGM run (and probably shouldn't land at all until there's a rational for it).
Got it. I currently have a lot of open PRs, and I'm trying to narrow my focus down to where it's really needed, so I'm closing this until a time where I can find a good rationale to not waste reviewers time |
These features have been doc-only deprecated for years (since v14!), so maybe they should finally be runtime deprecated?