cljsjs / packages

DEPRECATED: Javascript libraries packaged up with Google Closure externs
http://cljsjs.github.io
787 stars 816 forks source link
clojars clojure clojurescript javascript

Cljsjs is deprecated

The most common packages like React will continue to be maintained in Cljsjs. But there are better alternatives for using JS libraries.

Maintainers might still accept PRs but if you are just adding a library for use in your application, consider alternatives before creating a PR.

Why does Cljsjs exist

Why isn't Cljsjs perfect

Better solutions

Using a JS library from a application project

Use shadow-cljs or ClojureScript with Webpack to directly consume npm packages. You always get access to up-to-date versions.

Using a JS library from a Cljs library

Depending on your library, you could just require that the consumers of your library use shadow-cljs or webpack to provide requires JS libraries. If you need to ensure users can use the library with foreign-libraries, you could package the JS library yourself as a JAR, same as what cljsjs does, but you can do this yourself using Leiningen or clj.

Compared to Cljsjs, you need to create a bit of tooling yourself, but you are free to update the JS library yourself.

CLJSJS Packages

CLJSJS logo

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

Using these packages

All packages provided by cljsjs provide deps.cljs files that will be automatically picked up by the ClojureScript compiler as of 0.0-2727. Versions of the Jar reflect the version of the packaged JS lib.

You can find the specific coordinates for those packages in their respective README files.

Documentation

The wiki of this repo is used for community maintained documentation:

If you'd like to contribute there's a small section on that as well.

For information and help

Clojurians slack (join) has a channel #cljsjs for talk about Cljsjs.