If you want to do code-CAD for anything substantial and you haven't yet developed a significant dependency on OpenSCAD, do your brain a favour and spend at least some time with CadQuery, Build123D or (if you prefer JS to Python) Replicad. As impressive as NopSCADlib and BOSL2 are (and OMG they are, when you consider what they have to work with!) , OpenSCAD is a one-way, declarative CSG environment that essentially on…
The alternatives you suggest look interesting and worth checking out. I certainly have my annoyances with OpenSCAD, but one reason I keep coming back to it is that many of my models have user adjustable parameters, and as far as I know, OpenSCAD is the only tool supported by the thingiverse customizer. Personally, I rather like the constraint based approach in FreeCAD and miss that a lot in OpenSCAD.
I am sure you are right that this is still the case. This is a big plus for OpenSCAD.
One of the alternatives I mention takes customisation to a different level that makes me hopeful.
Replicad can be used as a library in a web app:
https://replicad.xyz/docs/use-as-a-library
And they have a demo here (a React app):