Skip to content
Morabaraba edited this page Jan 23, 2017 · 19 revisions


CLJSJS is an effort to package Javascript libraries to be able to use them from within Clojurescript.

Why CLJSJS exists

To optimise the compiled Javascript, Clojurescript utilizes the Closure compiler. The Closure compiler provides different optimization modes, the most effective one being called advanced. With advanced optimizations the compiler will munge variable names to make them take up less space. When using 3rd party code this requires you to supply a list of names that should not be changed. These lists are supplied to the compiler in the form of Extern files.

Because these Extern files are a specific requirement for using Javascript libraries with Clojurescript we can not make use of existing packages from packaging systems like NPM or Bower.


CLJSJS is a community effort that depends on contributors to support a wide range of Javascript libraries. If you want to help there are a few things you can do:

  1. Use the packages provided by CLJSJS and report issues
  2. Watch the cljsjs/packages repo and help other users
  3. Contribute new packages. Packaging Guide
  4. Improve this wiki


The sidebar in this wiki should give a good glance at what's available.