       (when (and sourcemap-json name)
         (swap! st assoc-in [:source-maps name] (transit-json->cljs sourcemap-json)))
       (when-not (skip-load-js? name)
-        (js/PLANCK_EVAL js-source path))
+        (js/PLANCK_EVAL js-source (file-url (add-suffix path ".js"))))
       (merge {:lang   :js
               :source ""}
         (when cache-json

;; Hack to remember which file path each namespace was loaded from
(defonce ^:private name-path (atom {}))

(defn- caching-js-eval
  [{:keys [path name source cache]}]
  (when (and path source cache (:cache-path @app-env))

      (cljs->transit-json (get-in @planck.repl/st [:source-maps name]))))
  (if (and (not (empty? path))
           (not= "Expression" path))
    (let [exception (js/PLANCK_EVAL source (file-url (js-path-for-name name)))]
      (when exception
        (throw exception)))
    (js/eval source)))
