Skip to content

Instantly share code, notes, and snippets.

@micha
Created November 21, 2014 18:10
Show Gist options
  • Select an option

  • Save micha/9aa5db3436d9c3239819 to your computer and use it in GitHub Desktop.

Select an option

Save micha/9aa5db3436d9c3239819 to your computer and use it in GitHub Desktop.
(set-env!
:src-paths #{"src" "test"}
:rsc-paths #{"resources"}
:dependencies '[[adzerk/boot-cljs "0.0-2371-25"]
[adzerk/boot-cljs-repl "0.1.6"]
[adzerk/boot-reload "0.1.6"]
[org.clojure/core.async "0.1.346.0-17112a-alpha"]
[environ "1.0.0"]
[cljs-http "0.1.20"]])
(require
'[adzerk.boot-cljs :refer :all]
'[adzerk.boot-cljs-repl :refer :all]
'[adzerk.boot-reload :refer :all]
'[boot.pod :as pod]
'[boot.util :as util]
'[boot.core :as core])
(deftask serve
"Start a web server on localhost and serve a directory.
If no directory is specified the current one is used. Listens on
port 3000 by default."
[d dir PATH str "The directory to serve."
p port PORT int "The port to listen on."]
(let [deps '[[ring/ring-jetty-adapter "1.3.1"] [compojure "1.2.1"]]
worker (pod/make-pod (assoc (get-env) :dependencies deps))
dir (or dir ".")
port (or port 3000)]
(core/cleanup
(util/info "<< stopping Jetty... >>")
(pod/eval-in worker (.stop server)))
(with-pre-wrap
(pod/eval-in worker
(require '[ring.adapter.jetty :refer [run-jetty]]
'[compojure.handler :refer [site]]
'[compojure.route :refer [files]])
(def server (run-jetty (files "/" {:root ~dir}) {:port ~port :join? false})))
(core/add-sync! (str dir "bower_components/") ["bower_components/"])
(util/info "<< started web server on http://localhost:%d (serving: %s) >>\n" port dir))))
(task-options!
serve [:dir "target/"
:port 3449]
cljs [:unified true
:source-map true
:optimizations :none]
reload [:on-jsload 'allgress.web-components.core/on-jsload])
(deftask web-dev
"Developer workflow for web-component UX."
[]
(comp (serve)
(watch)
(speak)
(cljs-repl)
(cljs)
(reload)))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment