-
Notifications
You must be signed in to change notification settings - Fork 12.5k
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
TypeScript 4.1 Iteration Plan #40124
Comments
NIT: |
Fixed, thanks! |
I want to give a huge shout out to the TypeScript team. You've just released an amazing 4.0.2 and you're already getting us excited for the next thing around the corner. As a burgeoning open-source developer it's inspiring, and you deserve all the success and praise. I'm most excited about the potential introductions of |
@ifiokjr You can see It here: #39669 (comment) |
How about some basics? |
Hi, another missing feature I have been awaiting for a long time is the typed errors. As I wrote in a comment
The issue is still labeled "Awaiting More Feedback", in my opinion there is not need to reinvent the wheel, if we can get some interest from the TS team I would with pleasure clarify possible use case scenario. |
Can someone add the Iteration link to the Roadmap? Thank You.... TypeScript is getting more awesome every iteration 😃 |
@ghiscoding done! |
@typescript-bot create release-4.1 |
Heya @DanielRosenwasser, I've started to create the |
@typescript-bot sync release-4.1 |
Heya @DanielRosenwasser, I've started to sync |
@typescript-bot sync release-4.1 |
Heya @weswigham, I've started to sync |
@typescript-bot sync release-4.1 |
Heya @weswigham, I've started to sync |
@typescript-bot sync release-4.1 |
Heya @DanielRosenwasser, I've started to sync |
Sad to see the wording on the post has not changed 😞 |
@Skillz4Killz
to:
|
@ExE-Boss That changes nothing of the tone and understanding of this property. |
To add some data to this conversation, we tried 4.1 and Our takeaway is that this flag might be interesting, but currently the signal/noise ratio (i.e. the number of genuine issues caught as opposed to false positives) does not warrant the effort it'd take to roll this out, nor the ongoing effort for programmers to handle the false positives. |
@mprobst That is some amazing info! Out of curiosity how much more info can you extrapolate from your use. For example, if I took a large-sized code base in non-strict TS and enabled the "strict" flag a lot of % of targets would break as well. That should not discourage users from being encouraged to be more type-safe? Breaking older code without this flag is expected, the main concern IMO is how many are actually false positives? What was the signal/noise ratio? How was this calculated and determined whether each one is a signal or a noise? |
@Skillz4Killz I manually sampled some of the results. Among 10 randomly chosen targets, I found 10 false positives, i.e. the code was either obviously correct (e.g. access within for loop, guarded by length check, generally reasonable array operations, etc) or it was covered by a test and working as expected (such as getting element #3 on a page that in practice is guaranteed to have 3 elements on it). I'm sure there are positive positives, they might just be very hard to find amongst the large number of false positives. The code repository this runs on is google3, see here for some more background on the size and scale. Meaning we have a very large sample of code, and most of it is well tested and running in production (i.e. works in practice). The number of occurrences is difficult to compare with other checks given the prevalence of array indexing in code in general, but 15% of targets broken is at least two orders of magnitude more frequent than I'd expect for a high precision check. |
@Skillz4Killz A couple points on this First is that we want to manage expectations appropriately. For Second, your own willingness to do the work to turn this on in your codebase is admirable! The general upgrade philosophy of TypeScript, though, is that medium-to-large efforts like that should not be part of the "normal" upgrade process. This informs how we choose our default options and how we roll out new behaviors that might conflict with that philosophy. We are not discouraging anyone from turning this on, we're just being honest about the limitations we think most people are likely to encounter. I would hope people would find that attitude laudable. The fact that we added the feature at all is a testament to the value we see in it! |
@mprobst that's some great context. I'm currently sweating bullets on the |
@RyanCavanaugh the Promise change is not so bad actually, we can fix that with automated machinery by inserting appropriate |
Very interesting points. I didn't think there would be that many false positives. Hmmm, that makes me think you guys are correct on the wording to set expectations. I will continue trying to advocate enabling this in my work but i 100% can understand now why it's worded as is now. |
Thanks for understanding! |
@typescript-bot bump release-4.1 |
Heya @DanielRosenwasser, I've started to update the version number on |
Hey all, we're going to retarget to Thursday (11/19) just to ensure that everything is working as optimally as possible and documented. |
@typescript-bot bump release-4.1 |
Heya @DanielRosenwasser, I've started to update the version number on |
@typescript-bot bump release-4.0 |
Heya @DanielRosenwasser, I've started to update the version number on |
🤦♂️ @typescript-bot bump release-4.1 |
Heya @DanielRosenwasser, I've started to update the version number on |
@typescript-bot bump release-4.1 |
Heya @DanielRosenwasser, I've started to update the version number on |
This document outlines our focused tasks for TypeScript 4.1. Nothing is set in stone, but we will strive to complete them in a reasonable timeframe.
Language Features
undefined
in index signatures--noImplicitOverride
export * as default
///
CommentsEditor Productivity
@see
and@link
TagsPerformance
tsc
Profiling Output SupportInfrastructure
The text was updated successfully, but these errors were encountered: