We use a library call virtual-jade. Like react compiles jsx to JS, it compiles pug/jade to JS as h(node, attrs, children) calls. With with react, preact and snabdom.
It's been amazing writing templates that are just functions in a clean language like jade/pug. Jsx still has a lot of boiler plate.
https://github.com/tdumitrescu/virtual-jade
Also has a webpack loader
https://github.com/tdumitrescu/virtual-jade-loader
Most of all I love this kind of libs that work well with other libs. It's like Lego programming. Choose bricks you like and stack them.