DHH has something specific against types in general which I really don't understand. And that's fine, I'm happy to let him and 37 signals do whatever they want. I probably won't be super duper interested in applying to work on basecamp/hey, but that's his choice and I'm sure there are devs there who do prefer it. It sounds like they've been doing it for a while.
But this is an open source project with users and contributors outside the company. It absolutely can and will impact those people. Types supercharge your IDE with better linking, docs, and error detection. It will be harder to work on and around this project, and many current open PRs now will need to be refactored, and the way people build things will need to change.
And that wouldn't even be so bad if the proposal had come out more than a few hours before the merge. It's clear that no community engagement was even considered.
My biggest beef with TS is you need to compile it, and JS development has enough complexity with module systems and stuff as it is. Compile to JS languages IMO should take the entire burden away like Elm does, otherwise they add a lot of troubleshooting work.
I wonder if type annotations on plain JS could be the way to go. Lint, but don’t compile. This should work seamlessly with NPM modules etc.
Even with such a system I am sure DHH might still want to forego and that is fair enough. But a little sprinkling of simple types such as “this is a string” goes a long way towards documenting the code.