Skip to content

Instantly share code, notes, and snippets.

@robjens
Last active August 29, 2015 14:25
Show Gist options
  • Select an option

  • Save robjens/4a7d9fdf27a5c244b77e to your computer and use it in GitHub Desktop.

Select an option

Save robjens/4a7d9fdf27a5c244b77e to your computer and use it in GitHub Desktop.
Light Table + Hoplon + Boot + Cljs + Cljsbuild ;; Requires copy/paste of port to LT Remote nREPL connection
#!/usr/bin/env boot
#tailrecursion.boot.core/version "2.5.1"
(set-env!
:project 'petproject
:version "0.1.0-SNAPSHOT"
:dependencies '[[tailrecursion/boot.task "2.2.4"]
[tailrecursion/hoplon "5.10.25"]]
:out-path "resources/public"
:src-paths #{"src"})
;; Static resources (css, images, etc.):
(add-sync! (get-env :out-path) #{"assets"})
(require
'[tailrecursion.hoplon.boot :refer :all]
'[tailrecursion.boot.task.ring :refer [dev-server]])
(deftask development
"Build petproject for development."
[]
(comp (watch) (hoplon {:pretty-print true :prerender false}) (dev-server)))
(deftask dev-debug
"Build petproject for development with source maps."
[]
(comp (watch) (hoplon {:pretty-print true
:prerender false
:source-map true}) (dev-server)))
(deftask production
"Build petproject for production."
[]
(hoplon {:optimizations :advanced}))
(deftask repl-light
"Launch nrepl in the project, and echo the port for remote connection"
[]
(set-env! :dependencies
'[ [clojure-complete "0.2.3"]
[lein-light-nrepl "0.1.0"]
[org.clojure/tools.nrepl "0.2.10"]
[org.clojure/clojure "1.6.0"]])
(fn [continue]
(fn [event]
(require 'clojure.tools.nrepl.server)
(require 'lighttable.nrepl.handler)
(let [start-server (resolve 'clojure.tools.nrepl.server/start-server)
default-handler (resolve 'clojure.tools.nrepl.server/default-handler)
lighttable-ops (resolve 'lighttable.nrepl.handler/lighttable-ops)]
(let [server (start-server
:port 0
:handler (default-handler lighttable-ops))]
(println "started server on " (:port server))
(continue event)
@(promise))))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment