Skip to content

Instantly share code, notes, and snippets.

@grzm
Last active February 22, 2016 16:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save grzm/f0caa09e5b15500a4b89 to your computer and use it in GitHub Desktop.
Save grzm/f0caa09e5b15500a4b89 to your computer and use it in GitHub Desktop.
Mixing om-next-starter with @stuartsierra's component
(require '[figwheel-sidecar.repl :as r]
'[figwheel-sidecar.repl-api :as ra]
'[com.stuartsierra.component :as component]
'[om-starter.server :as server]
'[ring.component.jetty :refer [jetty-server]])
(def figwheel-config
{:figwheel-options {}
:build-ids ["dev"]
:all-builds
[{:id "dev"
:figwheel true
:source-paths ["src"]
:compiler {:main 'om-starter.core
:asset-path "js"
:output-to "resources/public/js/main.js"
:output-dir "resources/public/js"
:verbose true}}]})
(defrecord Figwheel []
component/Lifecycle
(start [config]
(ra/start-figwheel! config)
config)
(stop [config]
;; (ra/stop-figwheel!) don't restart figwheel when reloading
config))
;; (defn handler [req]
;; {:status 200
;; :headers {"Content-Type" "text/plain"}
;; :body "Hello World"})
(def jetty-server-config
{:app {:handler server/app}
:port 3000})
(def system
(atom (component/system-map
:app-server (jetty-server jetty-server-config)
:figwheel (map->Figwheel figwheel-config))))
(defn start []
(swap! system component/start))
(defn stop []
(swap! system component/stop))
(defn reload []
(stop)
(start))
(defn repl []
(ra/cljs-repl))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment