The Node.js and TypeScript ecosystem sucks. Most of the bugs I get stuck on involve build errors, tool configuration and import/export issues. The errors returned to the user do not even help most of the time. “Expected ‘,’” does not help me when the fix has nothing to do with adding a ‘,’ where is was “expected”. I rather my bugs be related to actual application code.
Anyways, frustrations related to this ecosystem make me want to tear my hair out and stop programming in TypeScript and switch to anything else with a more opinionated take on tooling and build systems. After all, JavaScript was built to work in a web browser; all the work required to get it to run in server environments (Node.js) and have an actual type system (TypeScript) are an afterthought and in my opinion, has resulted in an absolute mess of options for linters, runtimes, testing packages, with minimal differences from each other with respect to actually delivering application logic to users.