Sorry for the new anonymous account, just want to make sure this doesn’t bubble up to anyone I know.
I work at a company with around 30 react developers and my small team manages the architecture for our website.
We hit around 100k lines of typescript and everything started to break. VSCode couldn’t keep up and the TS server would crash.
So we decided to split things up into a mono repo to ease the burden on TypeScript. It’s much better, but we spend a lot of time maintaining the monorepo configs and ts configs to keep it all running smoothly. We also run eslint which is another layer of complexity.
Our website can build (babel and webpack) even if ts types fail and there are eslint errors. This leads to a bad DX loop of building a feature and then hammering on a PR until those pesky TS and eslint errors go away.
These all are issues that go away with a compiled language. The DX when working with a compiler is much better than trying to satisfy PR checks for things that don’t stop you from seeing the new feature locally or on QA.
I’ve been watching reason and rescript for years, and they help solve this problem. We have a small project coming up that uses React and I wrote a lengthy document proposing rescript for this project. It’s small and isolated, probably under 1k lines of code, and it felt like a good place to try out something new.
I’m not interested in trying something just for the sake of new and shiny, but the TS ecosystem is so bloated and slow. It has real issues and it doesn’t have a great feedback loop. I want a compiler to yell at me before I even see results on the screen. I don’t want types to be an after thought. I don’t want handling errors to be an after thought. I want it there up front.
Anyway, I thought I was offering a good solution to a real issue, and it was dismissed rather quickly. Just to be clear I’m an engineering manager and architect, not just some random dev pitching a crazy idea. I had a few thousand words In a doc that included a business impact, a backout plan, and the pros and cons. I have 3 repos set up using typescript and a handful of devs on my team have opened PRs and tried it locally and expressed in interest in continuing to work with it.
I’ve spent probably almost 100 hours on ReScript between personal tike and business time exploring the tech and documenting why it should be considered, and it was shot down in less than 10 minutes. I don’t think anyone considered the arguments or looked at the docs I created. It wasn’t seriously considered. It was just dismissed because “it’s not typescript” and “learning new things would slow down velocity” .
I tried, but the status quo won again today. I’ll keep evangelizing, and maybe someday TypeScript won’t be the default answer to everything.
Not really looking for anything here, just wanted to share with a hopefully sympathetic audience.