Fast, cross-platform, standalone ClojureScript environment
Clojure JavaScript Batchfile Shell
Permalink
Failed to load latest commit information.
build-envs/nixos-16.09_64 Build a fully static binary under Linux (#138) Apr 20, 2017
examples/socketAccept/hello tweak socket code & tests Jul 2, 2017
lib Bump some dev dependencies Oct 6, 2017
logo Add some logo files (#194) Jun 29, 2017
packages/lumo Code Sponsor Oct 2, 2017
scripts Bump to Node 9, bring deps up to date (#305) Nov 3, 2017
shared-libs fix dockerfile for latest release and dynamically linked binary Jul 2, 2017
src Bump some dev dependencies Oct 6, 2017
.babelrc Generalized sock server (#105) Jul 2, 2017
.dockerignore fix dockerfile for latest release and dynamically linked binary Jul 2, 2017
.eslintrc Bump some dev dependencies Oct 6, 2017
.flowconfig Bump to Node 9, bring deps up to date (#305) Nov 3, 2017
.gitattributes hide diff results for yarn.lock (#66) Jan 11, 2017
.gitignore Use contains for skip-load? for better clarity (#264) Sep 17, 2017
.travis.yml Bump ClojureScript to 1.9.946 (#288) Oct 4, 2017
CHANGELOG.md Bump to Node 9, bring deps up to date (#305) Nov 3, 2017
Dockerfile update Docker image anmonteiro/lumo:1.7.0 too Aug 17, 2017
LICENSE add readme and license Nov 3, 2016
README.md actually add the symlinked README Apr 20, 2017
appveyor.yml Bump ClojureScript to 1.9.946 (#288) Oct 4, 2017
boot.properties Bump to Node 9, bring deps up to date (#305) Nov 3, 2017
build.boot Bump to Node 9, bring deps up to date (#305) Nov 3, 2017
circle.yml Bump ClojureScript to 1.9.946 (#288) Oct 4, 2017
package.json Bump to Node 9, bring deps up to date (#305) Nov 3, 2017
yarn.lock Bump to Node 9, bring deps up to date (#305) Nov 3, 2017

README.md

lumo logo

Lumo

Backers on Open Collective Sponsors on Open Collective

Sponsor

Lumo is a standalone ClojureScript environment that runs on Node.js and the V8 JavaScript engine. It starts up instantaneously and has out-of-the-box access to the entire Node.js ecosystem.

Lumo also provides a ClojureScript build API, making it possible to compile ClojureScript projects entirely without the JVM, thanks to the experimental JavaScript version of the Google Closure Compiler.

Read the announcement blog post and our pledge!

If you enjoy Lumo, consider backing or sponsoring the project on Open Collective

Build status

Platform Status
macOS CircleCI
Linux Build Status
Windows Build status

Contents

Installation

Via NPM

$ npm install -g lumo-cljs

If you get a permission failure, try this:

$ npm install -g lumo-cljs --unsafe-perm

Note: the installed binary will be named lumo rather than lumo-cljs

Via Homebrew (macOS)

$ brew install lumo

Note: If you want to install a binary built from master, run brew install --HEAD lumo (at your own responsibility).

Docker

$ docker pull anmonteiro/lumo:latest
$ docker run -it anmonteiro/lumo

Manual

  1. Download the latest release.
  2. Move it to somewhere in your $PATH.

Using Lumo

Enter lumo at the command line to launch it.

Check out lumo -h for usage instructions and supported command line options.

Compile ClojureScript

Lumo can compile ClojureScript code as of version 1.2.0. See the introductory blog post. It is still considered experimental, given the relatively new Google Closure Compiler port to JavaScript, but it aims to be at feature parity with the JVM ClojureScript compiler.

The build API mirrors the ClojureScript one. Please reference its Quick Start and the Compiler Options. You can basically just replace the namespace with lumo.build.api:

(require 'lumo.build.api)

(lumo.build.api/build "src" {:output-to "out/main.js"})

The following example also shows how to use multiple source folders.

(require '[lumo.build.api :as b])

(b/build
 (b/inputs "src1" "src2") ;; variadic
 {:output-to "out/main.js"})

Building

To build Lumo from source:

  1. Make sure you have installed Boot, Yarn and Node.js (version >= 8).
  2. At the root of the repository, run: boot release.
  3. The resulting binary can be found in build/lumo (or build\lumo.exe if you're on Windows).

Backers

Support us with a monthly donation and help us continue our activities. [Become a backer]

Sponsors

Become a sponsor and get your logo on our README on Github with a link to your site. [Become a sponsor]

Copyright & License

Copyright © 2016-2017 António Nuno Monteiro

Distributed under the Eclipse Public License (see LICENSE).