-
Notifications
You must be signed in to change notification settings - Fork 790
Home
Mike Fikes edited this page Mar 9, 2015
·
150 revisions
ClojureScript is a dialect of Clojure that targets JavaScript as a deployment platform.
- Rationale
- Quick Start
- Source Maps
- Differences from Clojure
- Usage of Google Closure
- Rich's Slides
- Rich Hickey Unveils ClojureScript (video, 1.5 hr.)
- The REPL and Evaluation Environments
- modern-cljs
- ClojureScript 101
- Light Table ClojureScript Tutorial
- ClojureScript Tutorial
- Hello ClojureScript Compiler
- Compiler Options documents all of the options to compiler
- REPL Options options to REPLs, only covers differences from compiler options
- Foreign Dependencies, how to package non-Closure compatible JavaScript libraries.
- Running REPLs, without lein-cljsbuild
- 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.
- cljs-noderepl Node.js REPL (deprecated)
- figwheel Live coding support
- cljsasset CSS asset support
- 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
- test.check, QuickCheck style property based testing
- core.match, Efficient pattern matching
- core.async, Communicating Sequential Processes
- core.logic, miniKanren implementation
- core.rrb-vector, concatenation and non-view slicing for vectors
- data.avl, sorted maps and sets with O(log n) rank queries and splits
- om, React bindings and state management
- om-tools, Om extensions
- reagent, React bindings
- reagent-forms, Forms for Reagent
- reagent-cursor Om style cursors for Reagent
- quiescent, React bindings
- reacl, React bindings
- rum, React bindings
- 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
- garden, CSS generation
- quil, Processing for Clojure & ClojureScript
- apogee SVG charting
- thi.ng/geom Geometry primitives, mesh operations, SVG & WebGL rendering (CLJX)
- thi.ng/color Color space conversion & manipulation (CLJX)
- thi.ng/tweeny Interpolation of arbitrary nested value maps (CLJX)
- [klozzer] (https://github.com/viebel/klozzer), Http Caching and File System Api with core.async api
- [s3-cljs] (https://github.com/viebel/s3-cljs), aws s3 sdk wrapper
- sente, core.async + websockets
- cljs-ajax simple Ajax client for ClojureScript
- cljs-http a ClojureScript HTTP library
- [https://github.com/diligenceengine/clj-browserchannel](eal-time, bi-directional communication between ClojureScript and Clojure)
- chord, core.async + WebSockets
- pani, Idiomatic Firebase client library
- transit-cljs, efficient, extensible data exchange format
- datascript, Datomic-like in-memory database
- konserve, KV store protocol
- hodgepodge A idiomatic interface to local and session storage
- thi.ng/trio Non-RDF triplestores & SPARQL like query engine (CLJX)
- 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
- thi.ng/validate Schema based validation of nested data (CLJX)
- clara Rete-based rule engine
- clojurescript.test
- clairvoyant, tracing
- purnam.test, provides macros for testing with the karma test runner, works with async tests.
ClojureScript does not take pull requests. Please follow the links below to contribute to ClojureScript.
- Bug Reports
- Design Docs
- Dev Mailing List - membership restricted to those who have submitted a signed Clojure CA (Contributor Agreement)
- ClojureScript Mailing List
- Become a Contributor
- Rationale
- Quick Start
- Differences from Clojure
- [Usage of Google Closure](Google Closure)