Just as a quick example how to manage the various steps in your no doubt fairly complicated build process: npm scripts, gulp, grunt, webpack, as well as tools built into IDEs and even Makefiles are all common options
Additionally since the language itself is really not very good for almost anything, and is missing so many things that would be considered "bare basics" in any decent language, you end up with a huge amount of dependencies of varying degrees of quality and with varying degrees of care put into their design and releases. This causes your code to unexpectedly break with updates (unless you use yarn) or just have unexpected behavior or performance characteristics in general.
By the way, on the point of although TypeScript’s typing is more of a recommendation, you should configure your tsconfig.json to not make it a "recommendation" but to make it a requirement.
although TypeScript’s typing is more of a recommendation
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.