                           ["/src/cljs" "/js/compiled/out"]
                           replumb-io/fetch-file!)
          {:no-pr-str-on-value true
-          :warning-as-error   false
+          :warning-as-error   true
           :verbose            false}))
 
 (def current-ns replumb-repl/current-ns)

      :else           (assoc acc (keyword key) value))))

(defn- obj->map
  "Workaround for `TypeError: Cannot convert object to primitive value`s
  caused by `(js->clj (.-body  exp-req) :keywordize-keys true)` apparently
  failing to correctly identify `(.-body exp-req)` as an object. Not sure
  what's causing this problem."

        (object? value) (obj->map value)
        :default        (str value)))

(defn on-repl-eval [[num expression] from-repl repl-opts]
  (debugf "on-repl-eval: %s %s" num expression)
  (put! from-repl [:repl/eval num (replumb-repl/current-ns) expression])

  (let [print-fn  #(put! from-repl [:repl/print num %])
        result-fn #(put! from-repl [:repl/result num (replumb-repl/current-ns) %])]
    (binding [cljs.core/*print-newline* true
              cljs.core/*print-fn*      print-fn]
      (replumb/read-eval-call repl-opts result-fn expression))))

(defn repl-loop [from-repl to-repl repl-opts]
