Search code examples
clojurescriptreagentfigwheel

Figwheel multiple builds (dev and test) will reload in repl test not dev


We have a project, and 2 builds:

  :cljsbuild {:builds
          [

           {:id "devguidelines"
            :source-paths ["src"]

            :figwheel {:on-jsload "vr.guidelines/on-js-reload"}

            :compiler {:main vr.guidelines
                       :asset-path "js/compiled/out"
                       :output-to "resources/public/js/compiled/vr.guidelines.js"
                       :output-dir "resources/public/js/compiled/out"
                       :source-map-timestamp true}}

           {:id "testguidelines"
            :source-paths ["src" "test"]
            :compiler {:output-to "resources/public/js/test/test.guidelines.js"
                       :output-dir "resources/public/js/test/out"
                       :optimizations :none
                       :main vr.test-runner
                       :asset-path "js/test/out"
                       :source-map true
                       ;; :source-map-timestamp true
                       :cache-analysis true }}

when I start it:

rlwrap lein figwheel devguidelines testguidelines

they both get built however in repl, I get access to testguidelines not devguidelines, which makes repl useless. (Launching ClojureScript REPL for build: testguidelines) How can I configure repl to reload devguidelines not testguidelines ?


Solution

  • A ClojureScript REPL can only connect to one "build" at a time. If you are auto building two or more builds you can switch the "build", the REPL is connected to by quitting the current REPL. To quit you must by enter :cljs/quit at the prompt.

    Figwheel will then ask you if you want to connect a REPL to a different build and will list the choices.