Turns out #shadowcljs expects all dependencies to be at the root of node_modules, so pnpm's thing where it doesn't symlink transitive deps to node_modules breaks stuff.

The solution is to put a .npmrc file in your project root that contains "shamefully-hoist=true" (lol)

That's an hour of my life I'm never getting back

My #ClojureScript #ShadowCLJS is not hotloading, although its codebase is just a copy of another that worked beatifully, and that a copy of another that never had troubles, either. I've looked over every difference I can find and see nothing. The WATCHER is working fine; when I make a code change, I see a spinner. But updates don't actually appear. React Devtools also show that nothing is connected. But manual hitting "refresh" works, though it feels like I'm back in the stone ages...

I'm soliciting clever names for this "new tab page" project so I can post it on GitHub.

written with #clojurescript #reagent #shadowcljs #polybooljs

I made a #static site using #ShadowCLJS #ClojureScript . The last step was to remove the #CLJS. But I still use Shadow to start up a local server and explore my static site in-browser. It works nicely as a quick server. #clojure
How to use Cider with Shadow-cljs
  • Run shadow-cljsnpx shadow-cljs -d nrepl/nrepl:1.0.0 -d cider/cider-nrepl:0.28.7 cljs-repl app
  • Open http://localhost:9630 in Firefox
  • Wait until Shadow-cljs finish building
  • Open http://localhost:8280 (the app) in Firefox
  • In Emacs, run cider-connect-cljs with host = localhost, port = 8777, type = shadow, build = app
  • Suggestions are welcomed. #clojurescript #shadowcljs #emacs #cider

    #ClojureScript #ShadowCLJS One of my projects for the past year has been converting an old PDF multimedia app into a static web site. Since #Clojure is better than raw HTML or CSS, I crafted it there before grabbing the output static stuff. It is 99% JS-free, except for optional media lightboxes, and is built to last as long as HTML does, and to run as simply as possible. #ClojureScript #ShadowCLJS