Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upGitHub is where the world builds software
Millions of developers and companies build, ship, and maintain their software on GitHub — the largest and most advanced development platform in the world.
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 |
@typescript-bot bump release-4.1 |
Heya @DanielRosenwasser, I've started to update the version number on |
@typescript-bot sync release-4.1 |
Heya @DanielRosenwasser, I've started to sync |
I think I'm running into this issue which is affecting a number of packages, in our case it began with 4.1.0-dev.20201029 (my comment here). Prior to that all of our code was building ok with 4.1.0-beta. |
You'll have to be more specific - that is just an automated test run. |
I linked to my comment on that Issue which has playground links with a specific before and after example that fails in 4.1.0-dev.20201029 and succeeds in 4.1.0-dev.20201028. Comment link: #41359 (comment) The selection of type overloads for node's I might be falsely associating it with the Issue in question, but the timing and the nature of some of the error messages makes me think they are related. Let me know if you'd like a fresh Issue. |
The Breaking Changes section should probably include #38967. |
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. |
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