- Home
- Code Transpilers
- ClojureScript
ClojureScript
What it is
ClojureScript is a compiler that converts Clojure code into JavaScript for client and embedded application development wherever JavaScript reaches. It brings Clojure data structures and constructs such as functional programming, macros, destructuring, and polymorphism into JavaScript environments. Its output works with Google Closure Compiler advanced compilation, which can minify code and eliminate dead code. REPL support enables interactive development and testing in a browser or Node.js; browser output is the quick start's default, with Node.js output available by selecting that target. The compiler supports ClojureScript and JavaScript dependencies, and the quick start demonstrates React. Listed build tools include shadow-cljs, Figwheel, Leiningen, and lein-cljsbuild. Editor resources cover Cursive, Emacs, VS Code, Light Table, Sublime Text, Vim, and Atom. The project is open source under the Eclipse Public License 1.0, with CLI and API access, and is listed for Linux, macOS, Windows, web, and self-hosted environments. Documentation covers compiler and REPL options, dependencies, source maps, and related topics.
For and against
For
- Compiles Clojure into JavaScript.
- Supports interactive REPL work in browsers or Node.js.
- Works with Google Closure Compiler advanced compilation.
- Supports ClojureScript and JavaScript dependencies.
- Open source under the Eclipse Public License 1.0.
Against
- Windows prerequisites listed include Java 21 and the standalone JAR.
- The quick start states a minimum stable Node.js version of 0.12.X.
- JavaScript module support is marked Alpha.
The verdict
ClojureScript brings Clojure language features and interactive development to JavaScript output, with documentation and a broad listed editor and build ecosystem. Its prerequisites and the Alpha status of JavaScript module support are worth noting when assessing a setup.
Who it suits
ClojureScript suits developers who want to use Clojure for JavaScript-based client or embedded applications. It may also suit teams seeking interactive browser or Node.js development and a range of listed build and editor resources.
Plans and prices
ClojureScript
Open source software · Eclipse Public License 1.0
Read 3 Oct 2026 · clojurescript.org
On the record
- Build ecosystem
- The maker’s tools page lists shadow-cljs, Figwheel, Leiningen, and lein-cljsbuild as build tools.clojurescript.org · read 3 Oct 2026
- Debugging
- The quick start says source mapped stack traces point to ClojureScript source locations instead of JavaScript locations.clojurescript.org · read 3 Oct 2026
- Development prerequisites
- The quick start specifies a browser and Clojure for its main macOS/Linux tutorial, and Java 21 plus the standalone ClojureScript JAR on Windows.clojurescript.org · read 3 Oct 2026
- Documentation
- The maker provides API and reference documentation, including compiler options, REPL options, dependency handling, advanced compilation, source maps, and JavaScript module support marked Alpha.clojurescript.org · read 3 Oct 2026
- Editor ecosystem
- The tools page lists editor support resources for Cursive, Emacs, VS Code, Light Table, Sublime Text, Vim, and Atom.clojurescript.org · read 3 Oct 2026
- Intended use
- The rationale describes ClojureScript as a way to use Clojure for client and embedded application development wherever JavaScript reaches.clojurescript.org · read 3 Oct 2026
- Interactive development
- The compiler supports REPLs for interactive development and testing in a browser or Node.js.clojurescript.org · read 3 Oct 2026
- JavaScript dependencies
- ClojureScript supports including ClojureScript and JavaScript dependencies, and its quick start demonstrates using React.clojurescript.org · read 3 Oct 2026
- Language features
- It brings Clojure’s rich data structures, functional programming, macros, reader, destructuring, and polymorphism constructs to JavaScript environments.clojurescript.org · read 3 Oct 2026
- License
- Use and distribution are covered by the Eclipse Public License 1.0.clojurescript.org · read 3 Oct 2026
- Node.js version
- The quick start says that only stable Node.js versions at or above 0.12.X are supported at the time described on that page.clojurescript.org · read 3 Oct 2026
- Optimization
- Its JavaScript output is compatible with Google Closure Compiler advanced compilation, which can minify output and eliminate dead code.clojurescript.org · read 3 Oct 2026
- Runtime targets
- The quick start describes browser output by default and Node.js output when the node target is selected.clojurescript.org · read 3 Oct 2026
- What it does
- ClojureScript is a compiler for Clojure that emits JavaScript.clojurescript.org · read 3 Oct 2026