@mschwartz one of the issues with migration to TS is the plugin system. NodeBB is using some of the flexibility of CommonJS that becomes a liability when adding server-side builds. Plugins use require.main.require, and I'm honestly not sure how well this works with TypeScript - it definitely doesn't work with IntelliSense (so plugins wouldn't even get the typing by default unfortunately), but I don't remember if I was testing tsc when I looked into using ES6 imports and building server-side code...
It'd be relatively simple to go Svelte way and use JSDoc for type checking with TS but without compilation though, just some work on adding the types and fixing issues found that way π Still, one would need some more work for it to help plugin developers and not just core.