Skip to content
Snippets Groups Projects
  • Braden Shepherdson's avatar
    8e298158
    Enable ClojureScript REPL and hot reloading of CLJS code (#34007) · 8e298158
    Braden Shepherdson authored
    This also moves the CLJS output out of `frontend/src/cljs{,_release}` to
    `target/cljs_{dev,release}`. If that causes problems for FE tooling I
    don't know about, it could be moved back.
    
    Hot reloading:
    CLJS changes are hot-reloaded into the running app by Shadow CLJS - no
    action is needed. Note that the UI will not refresh; you usually have to
    click around so the updated MLv2 code gets executed.
    
    Usage of the CLJS REPL:
    - Open the browser (you should see `shadow-cljs: #N ready!` in console)
    - Connect to nrepl on 50655
    - "Select" the `:app` build;
        - https://shadow-cljs.github.io/docs/UsersGuide.html#_editor_integration
        - Conjure: `:ConjureShadowSelect app`
        - Plain REPL: Eval in CLJ mode `(shadow/repl :app)`
    - Consider running `yarn build-hot:cljs` and `yarn build-hot:js` in
      separate terminals; then when `yarn build-hot:js` crashes you don't
      have to reconnect your REPL.
    - The REPL works beautifully, even load...
    Enable ClojureScript REPL and hot reloading of CLJS code (#34007)
    Braden Shepherdson authored
    This also moves the CLJS output out of `frontend/src/cljs{,_release}` to
    `target/cljs_{dev,release}`. If that causes problems for FE tooling I
    don't know about, it could be moved back.
    
    Hot reloading:
    CLJS changes are hot-reloaded into the running app by Shadow CLJS - no
    action is needed. Note that the UI will not refresh; you usually have to
    click around so the updated MLv2 code gets executed.
    
    Usage of the CLJS REPL:
    - Open the browser (you should see `shadow-cljs: #N ready!` in console)
    - Connect to nrepl on 50655
    - "Select" the `:app` build;
        - https://shadow-cljs.github.io/docs/UsersGuide.html#_editor_integration
        - Conjure: `:ConjureShadowSelect app`
        - Plain REPL: Eval in CLJ mode `(shadow/repl :app)`
    - Consider running `yarn build-hot:cljs` and `yarn build-hot:js` in
      separate terminals; then when `yarn build-hot:js` crashes you don't
      have to reconnect your REPL.
    - The REPL works beautifully, even load...
Code owners
Assign users and groups as approvers for specific file changes. Learn more.