                                    (when cache
                                      (load-analysis-cache!
                                        (:*compiler* bound-vars) name cache))
+                                   (when source-map
+                                     (load-source-map!
+                                       (:*compiler* bound-vars) name source-map))
                                    (catch :default cause
                                      (wrap-error
                                        (ana/error env

            (assert (or (map? resource) (nil? resource))
              "*load-fn* may only return a map or nil")
            (if resource
              (let [{:keys [lang source cache]} resource]
                (condp = lang
                  :clj (eval-str* bound-vars source name opts
                         (fn [res]

  respected). Upon resolution the callback should be invoked with a map
  containing the following keys:

  :lang       - the language, :clj or :js
  :source     - the source of the library (a string)
  :cache      - optional, if a :clj namespace has been precompiled to :js, can
                give an analysis cache for faster loads.
  :source-map - optional, if a :clj namespace has been precompiled to :js, can
                give a V3 source map JSON

  If the resource could not be resolved, the callback should be invoked with
  nil."
