                     (keep :id (filter config/optimizations-none? (vals builds))))]
           (recur chosen-build-id))))))
 
+(defn cljs-repl*
+  ([system] (cljs-repl* system nil))
+  ([system start-build-id]
+   (if (frepl/in-nrepl-env?)
+     (figwheel-cljs-repl* system start-build-id) 
+     (build-switching-cljs-repl* system start-build-id))))
+
 ;; takes a FigwheelSystem
 (defn figwheel-cljs-repl
   ([figwheel-system]

                      [:figwheel-system])))

;; Being able to supply a mutable figwheel system that can be
;; controled by a CLJS socket repl is very desirable.
;;
;; That being said if one doesn't want the CLJS repl to be able to
;; control which builds are running etc then one can revert the method

   [clojure.set :refer [difference union]]
   [clojure.string :as string]))

;; exporting functionality inorder to make figwheel-sidecar.system
;; the main require for scripting figwheel

(def fetch-config config/fetch-config)

(defn css-watcher [opts]
