Enable customizing the nrepl websocket port (#141)

* Enable customizing the nrepl websocket port

* Fixes #140

* Update changelog
This commit is contained in:
Peter Strömberg 2025-12-05 23:07:09 +01:00 committed by GitHub
parent c449f55a9b
commit 93cb7874bf
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 14 additions and 1 deletions

View file

@ -10,6 +10,7 @@
<!-- - `bb gh-pages` -->
- [#114](https://github.com/babashka/scittle/issues/114): Enable source maps ([@jeroenvandijk](https://github.com/jeroenvandijk))
- [#140](https://github.com/babashka/scittle/issues/140): Enable customizing the nrepl websocket port ([@PEZ](https://github.com/PEZ))
## v0.7.28 (2025-09-13)

View file

@ -42,6 +42,16 @@ you should be able evaluate expressions in `playground.cljs`. See a demo
Note that the nREPL server connection stays alive even after the browser window
refreshes.
### Custom host address
By default, the browser will connect to a websocket on the same host as it is loaded
from, using `window.location.hostname`. If you need something else you can specify
that setting the window variable `SCITTLE_NREPL_WEBSOCKET_HOST` like so:
``` html
<script>var SCITTLE_NREPL_WEBSOCKET_HOST = 'localhost';</script>
```
### CIDER
Choose `cider-connect-cljs`, select port `1339`, followed by the `nbb` REPL

View file

@ -8,7 +8,9 @@
(when-let [ws-port (.-SCITTLE_NREPL_WEBSOCKET_PORT js/window)]
(set! (.-ws_nrepl js/window)
(new js/WebSocket (ws-url (.-hostname (.-location js/window)) ws-port "_nrepl"))))
(new js/WebSocket (ws-url (or (.-SCITTLE_NREPL_WEBSOCKET_HOST js/window)
(.-hostname (.-location js/window)))
ws-port "_nrepl"))))
(when-let [ws (nrepl-server/nrepl-websocket)]
(set! (.-onmessage ws)