Skip to content

Commit 18c0cc5

Browse files
committed
Make dependency assertion more solid
1 parent ad6f75c commit 18c0cc5

1 file changed

Lines changed: 7 additions & 6 deletions

File tree

src/powerlaces/boot_cljs_devtools.clj

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33
(:require [boot.core :as boot]
44
[boot.task.built-in :refer [repl]]
55
[boot.util :as util]
6+
[clojure.set :as set]
67
[clojure.java.io :as io]
7-
[clojure.string :as str]
8-
[dirac.agent.config :as dirac-conf]))
8+
[clojure.string :as str]))
99

10-
(def ^:private deps '#{binaryage/devtools binaryage/dirac})
10+
(def ^:private deps '{:cljs-devtools #{binaryage/devtools} :dirac #{binaryage/dirac}})
1111

1212
(def ^:private preloads {:cljs-devtools 'devtools.preload :dirac 'dirac.runtime.preload})
1313

@@ -24,11 +24,11 @@
2424
pr-str
2525
((partial spit out-file))))))
2626

27-
(defn- assert-deps []
27+
(defn- assert-deps [lib]
2828
(let [current (->> (boot/get-env :dependencies)
2929
(map first)
3030
set)
31-
missing (remove current deps)]
31+
missing (set/difference (get deps lib) current)]
3232
(if (seq missing)
3333
(util/warn (str "You are missing necessary dependencies for boot-cljs-repl.\n"
3434
"Please add the following dependencies to your project:\n"
@@ -58,6 +58,7 @@
5858
[b ids BUILD_IDS #{str} "Only inject devtools into these builds (= .cljs.edn files)"]
5959
(let [tmp (boot/tmp-dir!)
6060
prev (atom nil)]
61+
(assert-deps :cljs-devtools)
6162
(comp
6263
(boot/with-pre-wrap fileset
6364
(doseq [f (relevant-cljs-edn @prev fileset ids)]
@@ -84,7 +85,7 @@
8485
start-dirac-once (delay (start-dirac! dirac-opts))]
8586
(util/dbug "Normalized nrepl-opts %s\n" nrepl-opts)
8687
(util/dbug "Normalize dirac-opts %s\n"dirac-opts)
87-
(assert-deps)
88+
(assert-deps :dirac)
8889
(assert (= (:port nrepl-opts) (get-in dirac-opts [:nrepl-server :port]))
8990
(format "Nrepl's :port (%s) and Dirac's [:nrepl-server :port] (%s) are not the same."
9091
(:port nrepl-opts) (get-in dirac-opts [:nrepl-server :port])))

0 commit comments

Comments
 (0)