   ;; this is the new way where if additional changes are needed they
   ;; are made explicitely
   ([state old-mtimes new-mtimes additional-ns]
+   (binding [*transitive-dep-cache* (atom {})]
      (notify-cljs-ns-changes state
-      (set (concat additional-ns
-              (keep get-ns-from-source-file-path
-                    (:cljs (get-changed-source-file-paths old-mtimes new-mtimes))))))))
+       (set (concat additional-ns
+                    (keep get-ns-from-source-file-path
+                          (:cljs (get-changed-source-file-paths old-mtimes new-mtimes)))))))))
 
 ;; css changes
 ;; this can be moved out of here I think

        :eval-body (slurp %)})
   (dependency-files st)))

(defn make-sendable-file
  "Formats a namespace into a map that is ready to be sent to the client."
  [st nm]
  (let [n (-> nm name underscore)]
    { :file (str (cbapi/cljs-target-file-from-ns (:output-dir st) nm))
      :namespace (cljs.compiler/munge n)
      :type :namespace
      :meta-data (meta nm) }))

;; I would love to just check the compiled javascript files to see if
;; they changed and then just send them to the browser. There is a

   [watchtower.core :as wt :refer [watcher compile-watcher watcher* ignore-dotfiles file-filter extensions]]
   [clojure.core.async :refer [go-loop <!! <! chan put! sliding-buffer timeout]]
   [clojure.string :as string]
   [clojure.set :refer [difference union]]
   [clojure.edn :as edn]
   [clojure.java.io :refer [as-file] :as io]
   [digest]
