I'm a seasoned Javascript dev. I started using ClojureScript in January 2015 (switched from CoffeeScript). I have almost no experience with Java and JVM. Also I have not done anything in Clojure yet and nothing meaningful in Node.js.
Did one SPA to learn ClojureScript and explore the landscape of ClojureScript libraries and web frameworks, Om in particular:
https://github.com/darwin/faceboard
I love the language. Its minimalism especially. I can use it everywhere where Javascript can be considered. For me this is another JavaScript language upgrade - much more significant than going from plain Javascript to CoffeeScript. I feel sorry that I have not discovered power of lisp earlier in my career.
The community around ClojureScript is still pretty small, but it is a fruitful ground for new ideas. Over last few months I've learned a lot. The value of immutability, many functional patterns, thinking in pure functions (that includes designing idempotent UI components thanks to React.js). The language is easy, but exploring and practicing those thinking patterns takes time. I feel that I'm still pretty much at the beginning, but I think it was worth it for me.
If I'm going to use this language for next few years I want to invest into improving tooling around it. Beside cljs-devtools also started working on structural code editor in ClojureScript, it is an experiment right now, but in the long term it has an ambition to compete with LightTable:
https://github.com/darwin/plastic
The switch was pretty easy for me. I don't work in a team and I tend to work on experimental projects, so I don't have to persuade coworkers to try something new and I can take risks. And btw. I hack on Objective-C stuff for living. Made TotalFinder and TotalTerminal.
And to finally answer your question:
> How sane would it be to go full nodejs/CLJS instead of nodejs/JS?
This is the default route for me now. And I hope it is sane. I see CLJS as an upgraded Javascript. Interoperability is not an issue. It is no problem to use existing JS libraries from ClojureScript and/or expose ClojureScript functions back to JavaScript. The issue could be that you don't get many contributions from JS devs in case of open-source. Also there could be performance implications. But you can always drop back to Javascript for performance critical code if needed. It would be just more work and dirty experience :) Also tooling and community support can be a consideration. If you are experienced in Javascript, in case of troubles you can definitely help yourself. But for beginners or intermediate people I can imagine looking for help could be a struggle. Javascript community is much bigger and had time to evolve tools or there is good incentive for other people to build good tools for this large community. With ClojureScript we have to wait few more years or better help make it happen.
So I have been curious about cljs in particular, and another transpile-to-Javascript languages: what is the state of plugin development for Chrome and Firefox using these languages? Is anyone doing this in a deep way?
I was taking a Typescript course with Coursera IIRC correctly and one day I looked for this out of curiosity. I found lik one person doing this.
It seems like it would be a pain because the JS runtimes in the browsers have minor syntax changes that would be frustrating.
Well, technically speaking cljs-devtools is not a Chrome extension. It is just a piece of javascript you include in your javascript project running on client side in the browser.
I don't follow development of Chrome or Firefox extensions to really tell, but I think writing extension in some transpile-to-javascript language should be transparent to us users. It might be even not advertised.
I think developing extensions is not difficult, the difficult part is developing extension for multiple browsers. Not javascript, but the browser APIs differ.
I follow just development of Blink/Chrome DevTools. One notable recent development is an attempt of TypeScript community to extend DevTools to support transpile-to-javascript language extension points: https://codereview.chromium.org/1264133002. See the video here: http://ham.io/files/dt.mp4
This would help cljs-devtools to offer better development experience for ClojureScript as well.