You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We've been working with Bloomberg for a while on implementing this proposal, but if you've been following the proposal repo for tc39, there has been mixed feedback about its behavior and syntax. So despite it being stage 3, it seems wise to be conservative in adopting an implementation. We want to validate the proposal with users, and Bloomberg still wants to actually trial a real implementation. In order to get feedback, we'd need something actually published so people can experiment.
It's difficult to maintain things for a long time outside of master, and it'd be useful to run experiments on nightlies. In the past, our problem with experimental flags was that the community took a hard dependency on the feature. Rather than releasing it like experimentalDecorators, what if we introduce a new flag that only works on nightly builds? This emulates how Rust or Chrome run experiments in their nightlies that never hit a public release. We're concerned about this because there are still people with concerns around syntax despite it being stage 3. But stage 3 is where we've said TypeScript will consider implementations for proposals...
If private fields are stage 3, it's stage 3. If the comittee changes it, we change it and it's out of our hands. We've said we'll support stage 3 features, so we should support them. Generally speaking I'd have no problem with implementing it, since if it breaks due to a spec change, it's not our fault.
But I don't think this is an ordinary stage 3 feature.
And it'll be a versioning hazard, since you'll be pinned to the TS version that we support.
Fine, we can have the switch but nothing strange nightly-only stuff. Then at least it can be toggled off/changed for the final version.
[*back and forth about stage 3 support and maintainability issues *]
There are alternate designs to achieve private fields. So we should verify what it is that solves users' issues. Would it make sense to have a different published "nightly" with the experiments? A differently labeled npm tag?
If we want to be impartial maybe we step back and just wait.
If we need an implementation, there's nothing wrong with a temporary fork on npm.
[Out of time]
The text was updated successfully, but these errors were encountered:
In the end we followed up with our colleagues at Bloomberg and we realized that the idea of a separate fork published on npm could be seen negatively (even if it's not at all the intent). We'll continue working on https://github.com/Bloomberg/TypeScript and people can download and LKG'd version from there.
Spread types (
{ re, ...{re, ...{re, ...{re, ...visited}}}}
)#10727
#21316 (comment)
ownkeyof
orownkeysof
operator to distinguish between all properties and what we can sort of model as "own" properties.z.b
an error?b
is going to be, so it seems strange that you'd know how to "do the right thing" withb
.Spread<typeof t, typeof x>["b"]
.In order to work on this, we found that there are some weird behaviors on accessing properties on mapped types:
ownkeyof
?own T
which would allow you to writekeyof own T
?.tsx
files (@urish pls)Private fields in nightly releases
#28152
(Crux of this recorded by @weswigham)
We've been working with Bloomberg for a while on implementing this proposal, but if you've been following the proposal repo for tc39, there has been mixed feedback about its behavior and syntax. So despite it being stage 3, it seems wise to be conservative in adopting an implementation. We want to validate the proposal with users, and Bloomberg still wants to actually trial a real implementation. In order to get feedback, we'd need something actually published so people can experiment.
It's difficult to maintain things for a long time outside of
master
, and it'd be useful to run experiments on nightlies. In the past, our problem with experimental flags was that the community took a hard dependency on the feature. Rather than releasing it likeexperimentalDecorators
, what if we introduce a new flag that only works on nightly builds? This emulates how Rust or Chrome run experiments in their nightlies that never hit a public release. We're concerned about this because there are still people with concerns around syntax despite it being stage 3. But stage 3 is where we've said TypeScript will consider implementations for proposals...[*back and forth about stage 3 support and maintainability issues *]
npm
tag?[Out of time]
The text was updated successfully, but these errors were encountered: