This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2023-10-02
Channels
- # announcements (13)
- # babashka (42)
- # beginners (29)
- # calva (39)
- # cider (15)
- # clerk (10)
- # clojure (67)
- # clojure-europe (18)
- # clojure-hungary (2)
- # clojure-nl (1)
- # clojure-norway (12)
- # clojure-uk (7)
- # clojuredesign-podcast (14)
- # clojurescript (19)
- # datalevin (1)
- # datascript (5)
- # emacs (4)
- # events (2)
- # fulcro (5)
- # graalvm (5)
- # hyperfiddle (23)
- # incanter (3)
- # jobs (2)
- # lsp (8)
- # missionary (15)
- # off-topic (45)
- # portal (41)
- # practicalli (1)
- # re-frame (3)
- # reitit (6)
- # releases (2)
- # remote-jobs (1)
- # sci (1)
- # shadow-cljs (35)
- # solo-full-stack (8)
- # tools-deps (4)
I've released an GitHub Action that allows you to check changing dependencies upon your PR. It's only been tested on a few projects, but I hope it helps. https://github.com/namenu/deps-diff
Added deps cli example. Just make some changes in your deps.edn
then run:
clj -Sdeps '{:deps {io.github.namenu/deps-diff {:git/tag "v1.1" :git/sha "c1e0a84"}}}' \
-X namenu.deps-diff/diff \
:base '"HEAD"' \
:target '"deps.edn"' \
:format :cli
Thanks for the advice. My initial thought was generating deps.lock. However, if the alias is n, the calculation grows to 2^n, which is a disadvantage. I have no idea how to workaround this
well... u should be using some off the shelf diffing solution, instead of trying to roll your own.
there are a few to choose from:
1. https://clojuredocs.org/clojure.data/diff
2. https://github.com/lambdaisland/deep-diff2
3. https://github.com/juji-io/editscript
also, i would just look into how does clojure -X:deps tree
work and call it directly from your tool, to avoid dealing with temporary files.
uh no, diffing algorithm is okay. (by using simple set algebra)
Regarding clojure -X:deps tree
, you probably want to specify :aliases
argument either.
you want to compare only for :dev alias, or :test alias or for [:dev :test] alias, etc.
The library can't make any assumptions about this, so it has to compute every combination.
Hi everybody! Happy to share the first release of ClojureScriptStorm, a dev compiler that tries to bring the same experience as ClojureStorm does for Clojure (automatic instrumentation) to ClojureScript.
This dev compilers are created to improve the experience of using #flow-storm but are not coupled to it, so other tooling can be built on top of them.
It is a fork of the official ClojureScript compiler, with a patch on top to enhance it with automatic instrumentation. It currently supports cljs.main and shadow-cljs.
Here is the new user guide entry https://jpmonettas.github.io/flow-storm-debugger/user_guide.html#_clojurescript. If you want to try it, be aware that it requires shadow-cljs >= 2.25.4
The current coordinates are com.github.jpmonettas/clojurescript {:mvn/version "1.11.60-3"}
which applies the patch over 1.11.60
and the latest FlowStorm is com.github.jpmonettas/flow-storm-dbg {:mvn/version "3.7.5"}
The project is currently hosted here https://github.com/jpmonettas/clojurescript/
If you want to use it for your own tooling, take a look at the current tests :
• https://github.com/jpmonettas/clojurescript/blob/cljs-storm/src/test/cljs/cljs/storm/utils.cljs#L17-L28
• https://github.com/jpmonettas/clojurescript/blob/cljs-storm/src/test/cljs/cljs/storm/functions.cljs, https://github.com/jpmonettas/clojurescript/blob/cljs-storm/src/test/cljs/cljs/storm/bodies.cljs, https://github.com/jpmonettas/clojurescript/blob/cljs-storm/src/test/cljs/cljs/storm/types.cljs
For any questions, issues or feedback show up in #flow-storm
Cheers
Someone asked on reddit if it worked with figwheel main. Looks like it does! Just tried the https://github.com/bhauman/flappy-bird-demo-new , recorded a little bit while the bird was flying and looks like it works fine. Here you can see how I configured it : https://github.com/jpmonettas/flappy-bird-demo-new/commit/108d4c223288ea14033180fe424aff0f6146a78b
There is also this new functionality on the latest FlowStorm https://jpmonettas.github.io/flow-storm-debugger/user_guide.html#_limiting_recording that helps with high frequency functions, which is pretty common in ClojureScript when you have animations or code that fires on something like mouse moves.
Datalevin, a simple, fast and versatile Datalog database, version 0.8.20 is released, with a number of bug fixes and improvements. Thanks @danvingo for a bug fix. https://github.com/juji-io/datalevin
Just released antq ver 2.7.1133 Tool to point out your outdated dependencies. https://github.com/liquidz/antq Added support for accessing private repositories with GPG in Leiningen projects.