    (with-logged-time
      [(:logger state) (format "Find cljs resources in path: \"%s\"" path)]
      (let [file (io/file path)
-           abs-path (.getAbsolutePath file)]
+           abs-path (.getCanonicalPath file)]
        (when-not (.exists file)
          (throw (ex-info (format "\"%s\" does not exist" path) {:path path})))
 

            [loom.alg :as la]
            [cognitect.transit :as transit]
            [shadow.cljs.util :as util]
     [clojure.pprint :refer (pprint)]
            ))

(defn ^com.google.javascript.jscomp.Compiler make-closure-compiler []

  ([state path]
   (merge-resources-in-path state path {:reloadable true}))
  ([state path path-opts]
   (let [file (.getCanonicalFile (io/file path))
         abs-path (.getCanonicalPath file)]
     ;; checkout deps with a lot of symlinks can cause duplicates on classpath
     (if (contains? (:source-paths state) abs-path)
       state
       (let [resources (do-find-resources-in-path state abs-path)
             state
             (if (.isDirectory file)
               (assoc-in state [:source-paths abs-path] (assoc path-opts
                                                          :file file
                                                          :path abs-path))
               state)]
         (merge-resources state resources))))))

(defn find-resources
  "finds cljs resources in the given path"
