                      :dev   {:dependencies [[clj-stacktrace                  "0.2.8"]
                                             [figwheel                        "0.2.2-SNAPSHOT"]
                                             [spellhouse/clairvoyant          "0.0-48-gf5e59d3"]]
-                             :plugins      [[lein-cljsbuild                  "1.0.4"]             ;; previously 1.0.4, 1.0.4-SNAPSHOT was in a state of flux
+                             :plugins      [[lein-cljsbuild                  "1.0.4"]
                                             [lein-figwheel                   "0.2.2-SNAPSHOT"]
                                             [lein-shell                      "0.4.0"]
                                             [com.cemerick/clojurescript.test "0.3.3"]]}}

(defproject         re-com "0.1.6"
  :description      "Reusable UI components for Reagent"
  :url              "https://github.com/Day8/re-com.git"

  :dependencies     [[org.clojure/clojure         "1.6.0"]
                     [org.clojure/clojurescript   "0.0-2665"]                 ;; previously 2371
                     [org.clojure/core.async      "0.1.346.0-17112a-alpha"]   ;; previously 0.1.338.0-5c5012-alpha
                     [alandipert/storage-atom     "1.2.3"]
                     [reagent                     "0.5.0-alpha"]              ;; previously 0.4.3 / 0.5.0-alpha
                     [com.andrewmcveigh/cljs-time "0.3.0"]]

  ;:plugins          [[lein-unpack-resources "0.1.1"]]

  :figwheel         {:css-dirs ["run/resources/public/resources/css"]
                     :repl     true}

  :aliases          {;; *** DEMO ***

                     "run"              ["do"
                                         ["clean"]
                                         ["cljsbuild" "once" "demo"]
                                         ~(get-command-for-os "launch-file-url")]

                     "debug"            ["do"
                                         ["clean"]
                                         ~(get-command-for-os "launch-server-url")   ;; NOTE: run will initially fail, refresh browser once build complete
                                         ["figwheel" "demo"]]

                     ;; *** TEST ***

                     "run-test"         ["do"
                                         ["clean"]
                                         ["cljsbuild" "once" "test"]
                                         ~(get-command-for-os "launch-test-url")]

                     "debug-test"       ["do"
                                         ["run-test"]
                                         ["cljsbuild" "auto" "test"]]

                     ;; *** DEMO AND TEST ***
                     ;; If you ever need to debug both demo and test at the one time, there's a problem.
                     ;; If you run "lein debug" in one terminal then "lein debug-test" in another, the "clean" commands will clobber on another.
                     ;; Below is an attempt to resolve this:
                     ;;     1. In on terminal, run "lein debug-all".
                     ;;     2. In another termial, once that is complete, run "lein build-test-auto".

                     "build-test-auto"  ["cljsbuild" "auto" "test"]

                     "debug-all"        ["do"
                                         ["clean"]
                                         ["cljsbuild" "once"]
                                         ~(get-command-for-os "launch-server-url")
                                         ~(get-command-for-os "launch-test-url")
                                         ["figwheel" "demo"]]}
  )
