-
Notifications
You must be signed in to change notification settings - Fork 790
Home
Bruce Hauman edited this page Aug 19, 2015
·
150 revisions
ClojureScript is a dialect of Clojure that targets JavaScript as a deployment platform.
- Quick Start
- Differences from Clojure
- Reporting Issues
- Rationale
- Rich's Slides
- Rich Hickey Unveils ClojureScript (video, 1.5 hr.)
- modern-cljs
- ClojureScript Tutorial
- ClojureScript Unraveled
- Études for ClojureScript
- ClojureScript Made Easy (blog)
- Getting started with Figwheel
- mies Minimal ClojureScript project template
- figwheel-template A Leinigen template for live coding with figwheel (includes Reagent and Om varients)
- chestnut Application template for ClojureScript/Om with live reloading
- cljs-start A lein template for creating ClojureScript lib with batteries included
- mala A lein template for building UIs in 100% Clojurescript, with Om, Garden, and curated libs
- reagent-template A Leiningen template for projects using Reagent
- re-frame-template Leiningen template for reagent web app based on the re-frame pattern. Includes figwheel and optionally re-com and secretary
- descjop A Leiningen template for Web based desktop application with Electron(atom-shell) and others
- tenzing Clojurescript application template using Boot
- IRC:
#clojurescript
on freenode.net - Slack:
#clojurescript
on clojurians
- API Reference and offline docset for Dash
- Compiler Options documents all of the options to compiler
- REPL Options options to REPLs, only covers differences from compiler options
- Dependencies, managing various kinds of dependencies
- Packaging Foreign Dependencies, how to package non-Closure compatible JavaScript libraries.
- Usage of Google Closure
- Using Google Closure Library in ClojureScript
- Testing
- Optional Self-Hosting
- Compile Time Type Checking
- Running REPLs, without lein-cljsbuild
- Sublime Text 2
- Emacs & Inferior Clojure Interaction Mode
- Emacs & Inferior Clojure Interaction Mode w/Figwheel
- Vim
- Light Table
- Cursive
- 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
- austin
- weasel
- lein-figwheel launches a REPL
- core.async, Communicating Sequential Processes
- core.logic, miniKanren implementation
- core.match, Efficient pattern matching
- core.rrb-vector, concatenation and non-view slicing for vectors
- data.avl, sorted maps and sets with O(log n) rank queries and splits
- test.check, QuickCheck style property based testing
- tools.reader, portable Clojure(Script) reader
- om, React bindings and state management
- om-tools, Om extensions
- reagent, React bindings
- reagent-forms, Forms for Reagent
- quiescent, React bindings
- reacl, React bindings
- rum, React bindings
- brutha Simple ClojureScript interface to React
- sablono Hiccup style wrapper for React DOM Elements
- cljs-react-reload Writing reloadable React Classes
- sablono, Hiccup style HTML generation for React
- 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
- apogee SVG charting
- gamma GLSL DSL
- quil, Processing for Clojure & ClojureScript
- 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
- matchbox, Firebase client for Clojure(Script)
- 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)
- reagi An FRP library for Clojure and ClojureScript
- zelkova Elm-style FRP for Clojure and ClojureScript
- re-frame A Reagent Framework For Writing SPAs, in Clojurescript.
- 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
- cljs.test, a port of clojure.test built-in to the standard library
- clojurescript.test a port of clojure.test that pre-dates the built-in version
- clairvoyant, tracing
- purnam.test, provides macros for testing with the karma test runner, works with async tests.
- speclj A TDD/BDD framework for Clojure and Clojurescript, based on RSpec.
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)