I hate npm so much. I had a situation where I couldn’t work on a project because I couldn’t get the dev environment running locally.
I’ve gotten to the point where I hate even having a build step at all. The benefits are not worth it in the long run.
I feel like I should be able to create a moderately complex website (or even a web app) and it should be able to run for a minimum of five years without needing compatibility updates.
The worst part of this is that the web platform is probably one of the most backward compatible runtimes in the history of computing. You can take some HTML/CSS/JS from 20 years ago and it will probably run just fine in a modern browser now. Build steps ruin this.
If you build a web application with no build steps, you could pick up working on that project a decade from now and not have to worry about not being able to work because of compatibility issues.
There has really never been a better time to ditch build steps. CSS is awesome now. It has variables. It has nesting (maybe not everywhere yet but still).
Code organization? Modern browsers support ES modules, so it’s not like you need one gigantic bundle.
As @jimniels@mastodon.social said, if you are writing JavaScript in VSCode, you are using TypeScript. You get a lot of editor support without actually needing to build anything.
I can’t speak to other frameworks, but Vue works great in the browser without a build step. No, you don’t get to use the official single file component feature, but with ES modules, you can get something kind of close.
There is also Alpine.js which works really great with existing HTML.