   "takes a list of :js sources and rewrites them to using closure
    partial compiles must supply the cached sources so closure doesn't complain about things
    it cannot resolve"
-  [{:keys [project-dir npm mode] :as state} sources cached-sources]
+  [{:keys [mode] :as state} sources]
 
   (let [source-files
         (for [{:keys [resource-name file] :as src} sources]

             #_(map #(do (println (.getCode %)) %))
             (into []))

        ;; this includes all files (sources + package.json files)
        source-files-by-name
        (->> source-files
             (map (juxt #(.getName %) identity))

                            (assoc-in [:output resource-id] cached-output)
                            (update :js-properties set/union properties))
                        )))
                  cache-files)))
          ;; compile all again
          (convert-sources* state sources))

        cache-index-updated
        (if-not need-compile?
          cache-index
          (util/with-logged-time [state {:type ::closure-cache-write
                                         :num-files (count sources)}]
            (-> cache-index
                (assoc :SHADOW-CACHE-KEY SHADOW-CACHE-KEY
                       :CACHE-OPTIONS cache-options
