Has the unsoundness (will explain in the post) actually become a pitfall in practice?

This page summarizes the projects mentioned and recommended in the original post on /r/typescript

Our great sponsors
  • Klotho - AWS Cloud-aware infrastructure-from-code toolbox [NEW]
  • Appwrite - The Open Source Firebase alternative introduces iOS support
  • InfluxDB - Access the most powerful time series database as a service
  • Sonar - Write Clean JavaScript Code. Always.
  • sum-types

    Safe, ergonomic, non-generic sum types in TypeScript.

    Anywhere that overloads are needed will rely upon type assertions or the unsafety implicit in overloads, for example in fp-ts/function::pipe. It'll come up a lot with objects too when there isn't a preexisting primitive you can compose atop of, as in for example fp-ts-std/Record::pick. Something as generic as @unsplash/sum-types has assertions all over the place, though to be fair that's mostly again a case of struggles interacting with object types.

  • TypeScript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

    I think this feature might finally be coming in the near future! It's mentioned in the 4.6 iteration plan (https://github.com/microsoft/TypeScript/issues/46858) and a few design meeting notes!

  • Klotho

    AWS Cloud-aware infrastructure-from-code toolbox [NEW]. Build cloud backends with Infrastructure-from-Code (IfC), a revolutionary technique for generating and updating cloud infrastructure. Try IfC with AWS and Klotho now (Now open-source)

  • Visual Studio Code

    Visual Studio Code

    As for the strange behavior around type variance, there are some good and some interesting reasons strictFunctionTypes only applies in limited cases. The original release blog post explains these reasons quite well, using relatively simple terms. To oversimplify, TS can't perfectly represent certain JS cases without significantly sacrificing performance and usability or making massive breaking changes. Interestingly, even strictFunctionTypes, which only affects a small subset of functions, caused 800 compile errors when VSCode enabled it.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts