Should I still choose plain JavaScript over TypeScript for new projects in 2025?

I recently started working on a contract project that two developers began about three months back. They claimed it was nearly finished but brought me in to help clean up the codebase before launch next week.

The project structure is pretty chaotic. The team pushes directly to the main branch with almost no pull requests in the git history. When I asked about the tech stack, one developer wasn’t even sure what frameworks they were using, despite having React on the frontend and what appears to be Express for the API.

What surprised me most was finding that roughly 80% of the codebase uses vanilla JavaScript instead of TypeScript. Given that this is a brand new project started just a few months ago, I’m wondering if there are still legitimate reasons to choose JavaScript over TypeScript for modern development.

Are there specific scenarios where plain JS might be preferable, or has TypeScript become the standard approach for most new projects by now?

It appears that the decision to stick with plain JavaScript was misguided, likely stemming from a lack of understanding rather than a deliberate choice. The disorganized workflow and the team’s unfamiliarity with frameworks should raise red flags. However, vanilla JavaScript can still be suitable in 2025 for rapid prototyping, static sites, or performance-critical applications where minimizing overhead is essential. Teams might also opt for JavaScript in legacy projects to avoid the complications of integrating TypeScript. Yet, in collaborative environments, TypeScript is increasingly necessary to catch bugs early and facilitate safer refactoring. Given the chaotic state of the project, adopting TypeScript could have mitigated many of the issues you’re encountering.

This sounds like bad project management, not a JavaScript vs TypeScript issue. No pull requests and team confusion about the tech stack? They weren’t following best practices with any language. That said, plain JavaScript still makes sense in 2025 for small scripts, quick prototypes, or when compatibility matters. Some devs prefer it for learning since there’s no compilation overhead. But for teams building real applications? TypeScript’s basically essential now. The type safety catches so many bugs before they hit production. Plus the tooling’s gotten way better - switching isn’t the pain it used to be. With your tight deadline, I wouldn’t switch now - that’ll just create more chaos. But definitely start your next project with TypeScript.

sounds like they didn’t really know typescript well enough. for 2025, typescript’s basically the default unless you’re building something super simple. that chaos you mentioned would’ve been way worse without types catching the obvious bugs. switching halfway through a project always sucks tho.