Fork me on GitHub
#announcements
<
2023-10-02
>
namenu08:10:36

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

👏 6
🎉 3
simongray10:10:48

Looks useful for all of us with deps.edn projects. Thank you!

simongray10:10:11

And what a great, illustrative, problem statement BTW!

👍 1
namenu15:10:59

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

namenu00:10:07

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

onetom08:10:38

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.

namenu10:10:11

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.

namenu10:10:29

I just didn't want to go that path..

jpmonettas12:10:14

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-L28https://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

clojure-spin 26
🎉 13
🚀 7
jpmonettas19:10:18

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

jpmonettas19:10:34

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.

Huahai17:10:25

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

🎉 17
datalevin 1
uochan21:10:41

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.

👍 6
🎉 6