                       (filter #(contains? (:requires %) ns-sym))
                       (map :name)
                       (into #{}))]
-        (throw (ex-info (format "ns \"%s\" not available, required by %s" ns-sym reqs) {:ns ns-sym :required-by reqs}))))
+        (throw (ex-info (format "ns \"%s\" not available, required by %s" ns-sym reqs) {:tag ::missing-ns :ns ns-sym :required-by reqs}))))
 
     (get-deps-for-src state name)
     ))

          nil)))))

(defn write-variable-map [{:keys [cache-dir] :as state} name map]
  (let [map-file
        (doto (io/file cache-dir name)
          (io/make-parents))

        bytes
        (ByteArrayInputStream. (.toBytes map))]

    (with-open [out (FileOutputStream. map-file)]
      (io/copy bytes out))))

(defn closure-add-variable-maps [cc co {:keys [cache-dir] :as state}]
  (when-some [data (read-variable-map state "closure.property.map")]

          out)]

    (spit target out)))

(defn flush-unoptimized!
  [{:keys [build-modules public-dir] :as state}]
