-
Notifications
You must be signed in to change notification settings - Fork 30.7k
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
lib: unflag experimental Temporal #57128
base: main
Are you sure you want to change the base?
lib: unflag experimental Temporal #57128
Conversation
Review requested:
|
Marking as blocked until we resolve questions around timing |
ad64f38
to
8516196
Compare
I think we should either:
Since this is semver major, my preference would be landing it experimentally in Node 24. Otherwise, users have to wait until 2028 for it to be available on all supported release lines. We can knock a year off of that by getting it into v24. |
Note that it is already possible to use |
Of course. I should have said unflagged instead of available in my original comment. CLI flags are the biggest hurdle to actually using something. Experimental warnings are annoying but easy to silence/ignore. Experimental documentation might as well be a tag on a mattress 😄. |
|
||
// Test verifying that Temporal is present in the global scope | ||
|
||
ok(globalThis.Temporal); |
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.
Shouldn't the global leak detection in common
be updated to include this global if it is present?
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.
Oh, good catch. Forgot about that.
## `Temporal` | ||
|
||
<!-- YAML | ||
added: REPLACEME | ||
--> | ||
|
||
> Stability: 1 - Experimental. | ||
The `Temporal` global is a new language level API for working with dates and | ||
times. | ||
|
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.
I don't think it makes sense to list it here, since it's not our implementation, it is a built-in object (we do not list JSON
or Atomics
either)
Lines 18 to 20 in d1f8ccb
The objects listed here are specific to Node.js. There are [built-in objects][] | |
that are part of the JavaScript language itself, which are also globally | |
accessible. |
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.
Yep, I wasn't sure how else to indicate that it would still be experimental tho. We don't really have another place to list it.
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.
Yeah I guess we don't really have a precedent for an experimental global that's not implemented by us. What do we think about having an experimental runtime warning instead?
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.
A warning is certainly a possibility here. I'm not sure if that should be in replacement for the documentation tho. Will have to think about it.
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.
How about mentioning the flag (or its inverse, depending on how this is going to be exposed) under cli.md#useful-v8-options
?
We should add it on the list of |
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.
I'm +1 on landing this as experimental on v24
Fixes #57127
However, we might want to let this sit for a bit per @ljharb's comments in #57127. I'm happy to let this one sit for a bit (likely can land in
main
immediately after cutting 24.0.0 in April)Since it adds a new global, this PR must be semver-major