TypeScript 5.4 Beta is available to try! This release has lots of type narrowing improvements, the 'NoInfer' type helper, groupBy, better options for bundlers, and more!
devblogs.microsoft.com/types…
Visual Basic, Prolog, VBScript, PERL, Objective-C, Dart, Julia, AND X++ ALL RANKED HIGHER THAN TypeScript
TIOBE Index is a trusted source for devs everywhere
📜 The Future of TypeScript with @drosenwasser
🔹 Delivered in 2023: Decorators, `using`, IDE delights, TypeChat
🔹 Priority for 2024: Speed
🔹 Biggest change coming: Isolated Declarations for parallel builds
🔹 Prepare for: TS5.5 deprecations
🔹 Most demanded: No build step 👍
🔔 We are currently working on a performance optimisation for StrykerJS. For validation purposes, it must be tested on real-world projects that make use of StrykerJS. If you would like to help us out, please fill out this form: forms.gle/yvyamumLSh4w5Nme7. Thanks in advance!
This makes one wonder: how many libraries will have this problem? Using class properties in JavaScript effectively _breaks_ polymorphism 😣.
I am glad TypeScript 5.3 is smart and catches these edge cases. 👏
Thanks to @jackworks_asref for adding this check! 🎉
I've fixed this problem by manually storing a copy of the 'original' `handleTestEvent` and calling that copy manually from my own `handleTestEvent`, which I now also define as a class property.
It ain't pretty, but it works for both methods and class properties 🤷♂️
TypeScript 5.3 errors here. If the `handleTestEvent` implemented in userland is defined as a class property, it won't be able to be called via `super`, instead creating an infinitely recursive function call. That would be... pretty bad 🤯!
However, the type definitions of a `JestEnvironment` show that the `handleTestEvent` isn't necessarily a _method_, instead, it can be created as a _class property_ 🤯.
This is a mixin helper used in the @stryker-mutator/jest-runner. You provide it with a class representing a @jestjs_ test environment. It overrides the `handleTestEvent` function, adding some additional StrykerJS-specific logic.
It's been a while since I've found an actual _bug_ in my code by upgrading to the latest version of @typescript .
🤓 See this thread for what I've discovered 🧵👇