> I hate html in javascript. I hate JSX.
How about hyperscript? Functionally equivalent to JSX but it's pure JS, with no XML syntax.
header(
h1(Icon({name: icon}, [title]),
p(subTitle)
)
I don't think you can make an argument against building the DOM in JS (instead of using some random DSL to parse HTML template strings) without falling into the fallacy that JS === logic and HTML === presentation. But, you don't seem to be making arguments.