I've run the gamut recently trying to find one that was suitable for a project of mine—nothing crazy, just a server-rendered front end for a CMS/other data source.
It was a mind-numbing exercise I wouldn't recommend. There are a lot of strong tools out there, but they're often billed as 'general-purpose' when they're most certainly not.
For my project in question I ended up getting frustrated with either issues with SSR-rendered stylesheets or runtime access to browser API's and so on so I just wrote a simple server with Express that just renders static pages using EJS as a view engine.
I keep my client in the same source folder, with a different config for the build that drops the artifact in the public.
Since I personally like TypeScript over not using it, there was some build setup—but just `tsc` for the server code and `parcel` for the client code.
There's little configuration, and I had it up and running with hot reloading of both the server and client code in no time—made me regret my decision to audit so many other options.
TDLR:
The client code I decided to stick with "vanilla" JS via TypeScript using parcel to build and bundle deps.
The CSS is just css, but I might replace that with SASS because it can be a touch easier to organize and namespace things.
FWIW, if I didn't want the TypeScript or dependency bundling (via NPM for fetching the code to host locally), it would be just JS and CSS with server-rendered HTML... if I need something fancy I have the option of plugging in a framework or something later. Starting light feels so good...