In the end, there is a cost to type checking. The extent of that cost comes in time and effort to make sure all your interfaces are typed to get the benefit, in some cases this can be a lot of effort. The risk from bugs saved by type checking isn't always offset of that effort. In some cases it is a wash. You do also gain some in refactoring efforts.
It's definitely a mixed bag. There's also the fact that TS doesn't keep up with pending JS changes. For long time if you wanted async functions, you needed TS + Babel, which is often painful to configure well, and then try to get webpack's benefits on top.
Personally, I wish that TS was a babel preset, like flow is. In fact, I really wish that flow would update to use the typescript definitions, which would be a better configuration pairing imho.
The article title is somewhat misleading... "ECMAScript Proposals That Didn't Make It In 2017" would be more accurate... realistically, most of these will likely make it by end of 2018 for whenever the ES2019 cutoff happens.
Cool article... I'm progressively irritated by what AngularJS and Angular 2+ have in the box. I don't get why Angular2+ have half of what it does considering you're in the npm ecosystem, just use modules... such as http, just use fetch.
React is like regular Lego, mindstorm kits are optional... Angular is like a weird Duplo version of mindstorm, and may require a Dremel to get some parts to work with it.
Just realized that this article is pretty old. That said, I find that redux + redux-thunks fills the *VAST* majority of use cases for small to largish applications well. Other extensions to redux allow me to structure reducers and action creators to suit the needs of the application. Growing complexity somewhat organically as needs arise. It's not *THAT* far off the "recommended" SAM approach in TFA, despite the author's statements to the contrary.
Just my $.02
I really wish that TypeScript ran within the Babel space sharing AST, and other features like flow does. It's a significant pain point to get TS+Babel+Webpack to work together well. I'm rankly not a big fan of TS, and feel it detracts as much as it adds. It is really helpful for heavy refactors though.
I'd love to see Node support some similar patterns... not sure what the locking risks are, or where information/scope may leak, but definitely cool... I also *really* like the async streams interfaces.