                   (cache/write-file cache-file output)
 
                   (assoc idx resource-id cache-key)))
-              (assoc cache-index :SHADOW-TIMESTAMP SHADOW-TIMESTAMP)
+              (assoc cache-index :SHADOW-CACHE-KEY SHADOW-CACHE-KEY)
               recompile-sources)))]
 
     (when need-compile?

                {}))

        cache-files
        (if (not= SHADOW-TIMESTAMP (:SHADOW-TIMESTAMP cache-index))
          ;; invalidate all cache when the timestamp of this file has changed
          []
          ;; compare each cache key

           (java.nio.charset Charset)
           (java.util Base64)))

(def SHADOW-CACHE-KEY
  ;; timestamp to ensure that new shadow-cljs release always invalidate caches
  ;; technically needs to check all files but given that they'll all be in the
  ;; same jar one is enough
  [(util/resource-last-modified "shadow/build/closure.clj")
   ;; in case someone sets a specific closure dependency
   (util/resource-last-modified "com/google/javascript/jscomp/Compiler.class")])

(defn noop-error-manager []
  (proxy [BasicErrorManager] []
