VueJS is very lightweight and loads almost instantly. It runs on even very old computers well. Native JS will never be able to compete with frameworks because frameworks have the ability to rapidly innovate and try new things without worrying about having to keep them around forever.
IMO the browser should become something like a CPU where it provides the low level components to do anything and the website provides the framework to make it easy.
It doesn’t “feel wasteful” to use C or Python to print hello world when it could have been done in raw ASM.
Maybe webassembly is the thing that you are looking for?
JS has multiple implementations for date interfaces and they are all flawed in ways. Rust decided that date handling should be the job of 3rd party libraries which have the freedom to drop bad ideas and break compatibility for the goal of a constantly improving implementation.
That said, webpack and jest are bloated messes and easy to break. I'd say just stick to esbuild as your lone dev dependency and get to work writing your framework-less project. Otherwise, take a look at the vanilla Vite template: https://vitejs.dev/guide/#scaffolding-your-first-vite-projec...
If you find that you want a framework (which may be inevitable), give Mithril.js a shot. It's very unopinionated.
These days I tend to only use esbuild. For testing, I use my own homerolled test utility and the built-in Node.js assert module, or uvu.
That's true, so far I've only interacted with these tools in vue-cli-generated projects and the like.
I'm not sure if "framework-less" is the right term even. I'd like to be able whip up quick UIs with a few libraries where needed without too much unnecessary complexity. I find there's little benefit in forcing simple UIs into Vue components, but juggling libraries without npm/yarn is cumbersome, too.
I'll have a look at Vite and Mithril.js, thanks for the pointers!
> In just 4.5kb you get a productive environment with preact and preact-router
https://github.com/preactjs/preact-cli
Edit: On second look, it uses Webpack and Babel, and these days newer tools like ESBuild and Vite are faster and probably lighter.
+1 for esbuild and Vite. Personally, I think esbuild alone is enough for most usecases.
It's not ideal but I don't think it'd be too hard. This would require though a build step which is what you seem to want to avoid.