 
 (defrecord ClojureScriptReloadable [opts sources top-level-pkgs]
   IGroupable
-  (group-id [_ request] [::cljs (:uri request)])
+  (group-id [_ request] [::cljs (map #(group-id % request) sources) (:uri request)])
   IReloadable
   (reload [this request]
+    (log "ClojureScriptReloadable :: " sources)
     (let [build-opts (cljs-compilation-options opts request)]
       (doseq [pkg top-level-pkgs]
         (doseq [file (files-in-dir (jstr opts "/out/" pkg))]

;; used to filter the returned files.

(defrecord Directories [dirs pred sort-fn]
  ISources
  (files [this]
    (let [sort-fn (or sort-fn identity)]

;; be compiled as one unit.

(defrecord ClojureScriptDirs [dirs]
  IGroupable
  (group-id [_ _] dirs)
  ISources
  (files [this]
    (all-descendants-ending-with dirs ".cljs"))
