Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP


David Nolen edited this page · 76 revisions

ClojureScript is a dialect of Clojure that targets JavaScript as a deployment platform.

Read These First






Leiningen plugins

  • lein-cljsbuild: Allows you to easily build ClojureScript projects with multiple targets
  • lein-npm: For Node.js based projects, allows you to work with NPM dependencies.
  • figwheel Live coding support
  • cljsasset CSS asset support

Project Templates

  • chestnut Complete application template using Ring, Om, Figwheel and more
  • mies, absolutely minimal ClojureScript project template
  • mies-om, minimal Om project template
  • mies-node, minimal ClojureScript Node.js project template
  • figwheel, minimal ClojureScript and Figwheel project template optionally including Om or Reagent
  • cljs-start, full featured template
  • reagent-template A Leiningen template for projects using Reagent.


Compatible Clojure Contrib libraries


Dom Manipulation

React Wrappers

HTML Templating

  • sablono, Hiccup style HTML generation
  • sablono-tools, Enlive-style selector-based templating and transformations for Sablono
  • kioo, Enlive style HTML generation
  • hipo, Hiccup style templating
  • enfocus, Enlive templating for ClojureScript
  • hickory parses HTML into Hiccup vectors

CSS Generation


  • quil, Processing for Clojure & ClojureScript
  • apogee SVG charting
  • Geometry primitives, mesh operations, SVG & WebGL rendering (CLJX)
  • Color space conversion & manipulation (CLJX)
  • Interpolation of arbitrary nested value maps (CLJX)

Client-side Routing


Data formats


  • datascript, Datomic-like in-memory database
  • konserve, KV store protocol
  • hodgepodge A idiomatic interface to local and session storage
  • Non-RDF triplestores & SPARQL like query engine (CLJX)

Native iOS with embedded JavaScriptCore


  • purnam is a clojurescript library designed to provide better clojurescript/javascript interop, testing and documentation tools to the programmer.
  • cuerdas, string manipulation
  • schema, Validation & contracts
  • bardo, transitions
  • lucuma, WebComponents
  • differ, data structure diffing
  • component-cljs, port of Stuart Sierra's Component library
  • cats, Monads
  • lively, Client-side live programming support
  • patterny, Extract imagine patterns
  • phalanges, Keyboard events
  • keybind, Key bindings
  • cljs-time, Date/time lib (almost) consistent API with clj-time
  • cljs-promises, Promises
  • markdown-clj extensible Clojure/Script Markdown parser
  • json-html generates a DOM node with a human representation of the JSON/EDN encoded data
  • historian a drop-in atom-state-management (UNDOs!!) for your clojurescript projects
  • Schema based validation of nested data (CLJX)
  • clara Rete-based rule engine



ClojureScript does not take pull requests. Please follow the links below to contribute to ClojureScript.

Additional Information

Something went wrong with that request. Please try again.