Closed mhdawson closed 3 months ago
Regarding: lib: Symbol.dispose should be enabled with experimental flag https://github.com/nodejs/node/pull/54329
The ask is more around https://github.com/nodejs/node/pull/54330 - i.e. I don't think we want to add an experimental warning to Symbol.dispose
(though if people will all think otherwise I'll concede) but I think we should decide (as the TSC) that new experimental API implementations that affect globals/standards should have TSC consensus to land.
So the ask here is:
If there is any chance, can we please briefly discuss https://github.com/nodejs/node/pull/54404?
- In the future when someone adds a new API that is either a web standard (e.g. fetch) or a JS API with polyfills (even minimal ones like Symbol.dispose) it would need TSC approval to land.
@benjamingr The problem with that point would be that it's going to hard to automate/enforce – also, I'm very much in favor to try to fit into the existing processes rather than add another one.
My counter proposal would be that adding an API to a global object[^1] should be de facto semver-major
(for which the automation enforces having at least two TSC approvals), and a TSC motion can decide it can be treated as semver-minor
(so it gets discussed/mentioned in a TSC meeting).
[1]: Not sure if process
should be a special-case, since it's a Node.js-only global.
Distinctions regarding different experimental global/standards here are that:
semver-major
versions of Node.js, due to ABI compatibility and maintenance cost.semver-major
to avoid breaking.I'd suggest as a minimal rule, for standards implemented in deps, apply the same policy in deps on the polyfill in Node.js, e.g. V8 requires new JS globals to be hidden behind cli flags. And enable the flag by default once all the standard test suites are passed. This reduces the discrepencies on unfinished features.
Additionally, +1 to @aduh95's suggestion, semver-major
on adding a new experimental global can fit into the existing processes on TSC approval and backports.
Additionally, +1 to @aduh95's suggestion, semver-major on adding a new experimental global can fit into the existing processes on TSC approval and backports.
I'm fine with that, I just think it's not generic enough to have a policy that doesn't involve the TSC since it's a cross-cutting cross-body concern so we should (briefly) discuss it.
If there is any chance, can we please briefly discuss https://github.com/nodejs/node/pull/54404?
SGTM (to discuss)
joining in 5m (kids/summer related)
PR for minutes - https://github.com/nodejs/TSC/pull/1608
Time
UTC Wed 21-Aug-2024 15:00 (03:00 PM):
Or in your local time:
Links
Agenda
Extracted from tsc-agenda labelled issues and pull requests from the nodejs org prior to the meeting.
nodejs/node
nodejs/admin
Invited
Observers/Guests
Notes
The agenda comes from issues labelled with
tsc-agenda
across all of the repositories in the nodejs org. Please label any additional issues that should be on the agenda before the meeting starts.Joining the meeting
Zoom link: https://zoom.us/j/611357642 Regular password
Public participation
We stream our conference call straight to YouTube so anyone can listen to it live, it should start playing at https://www.youtube.com/c/nodejs+foundation/live when we turn it on. There's usually a short cat-herding time at the start of the meeting and then occasionally we have some quick private business to attend to before we can start recording & streaming. So be patient and it should show up.
Invitees
Please use the following emoji reactions in this post to indicate your availability.