Modernize the example project and add a browser + Node tutorial#85
Merged
Conversation
Replace the Leiningen/lein-cljsbuild setup with a deps.edn that builds via cljs.main and pulls Weasel from the in-repo checkout (:local/root), so the example always runs against current source. Add a Node entry point alongside the browser one to exercise the native-WebSocket client off the browser, switch index.html to cljs.main's single self-bootstrapping script, and tidy the cljs namespaces (idiomatic :require, drop dead side effects).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Brings the example into 2026: drops Leiningen/lein-cljsbuild for a deps.edn that builds with cljs.main and pulls Weasel from the in-repo checkout via :local/root, so it always runs against current source. Adds a Node entry point next to the browser one, switches index.html to cljs.main's single self-bootstrapping script, and tidies the cljs namespaces.
The example README is now a step-by-step tutorial covering both a browser REPL (build, serve over http://localhost, connect, evaluate, reconnect-on-reload) and a Node REPL showcasing the native-WebSocket client off the browser. I verified both builds compile and smoke-tested the Node path end to end (the compiled client connects to a Weasel server and evaluates).
Note it serves over http://localhost rather than file:// on purpose - the new Origin check rejects the opaque file:// origin, and Closure's dev-mode loading needs a real origin anyway.