shadow-cljs is a friendly ClojureScript compiler which can be installed with npm and configured with a shadow-cljs.edn
file. It can be launched from a CLI.
The author is twitter.com/thheller . I got many advices from him in trying shadow-cljs. At last I finished quite some examples using shadow-cljs.
shadow-cljs supports compiling ClojureScript like other cljs compiler, with features like hot code swapping, on both sides:
- browser https://github.com/minimal-xyz/minimal-shadow-cljs-browser
- nodejs https://github.com/minimal-xyz/minimal-shadow-cljs-nodejs
shadow-cljs can also emit CommonJS code, which is widely supported in JavaScript community:
And since it supports CommonJS, I can bundle code with Webpack and even HMR with Webpack. Here are the examples
- webpack browser https://github.com/minimal-xyz/minimal-shadow-cljs-webpack
- webpack nodejs https://github.com/minimal-xyz/minimal-shadow-cljs-webpack-nodejs
I think currently shadow-cljs is the most friendly solution to JavaScript developers.