Fork me on GitHub

clj-refactor.el and refactor-nrepl 3.0 are out! You can read more about the new releases here

cider 18
clojure-spin 11
🎉 11

As the post says, there’s no shortage of ideas for what we can improve :) Expect various fixes and performance improvements short- and medium-term. The main bottleneck remains being tools.analyzer (as it does for e.g. Eastwood) but recently I've been hammocking a safe way to parallelize it. I've done similar parallelization work in a tools.namespace fork so I'd be pretty confident that it will work.

Ben Sless08:10:23

@U45T93RA6 do you have some profiling data for tools.analyzer?


I profile it from time to time with different tools depending on the task at hand Anything specific you're chasing?

Ben Sless08:10:57

If you have flame graph for a big chunk of analysis (like an entire file) it would be nice

👍 1

Here's the minimally viable snippet for reproducing what refactor-nrepl ultimately does with tools.analyzer (intentionally skipping its caching layer):

(let [your-ns 'clojure.string]
      (#'refactor-nrepl.analyzer/build-ast your-ns (ns-aliases your-ns))

Ben Sless09:10:53

build-ast just calls tools.analyzer or is there anything happening in between?

Ben Sless11:10:05

Cool, I'll try to poke at it later today


Awesome project, congrats fro the awesome work!

❤️ 1

Love the clean-ns fix

partywombat 2
Ben Sless16:10:44

@U45T93RA6 I have a flame graph and some initial insights if you're curious

👀 1

Hi everyone! We've published a new library to work with the DocuSign eSignature API. The library also provides an Integrant key so it can be used with Duct or Integrant.

🎉 13

Thank you. I need exactly this for my product in the next couple of months!


Hi, updated release of PGMig 0.7.1 is out: ## [0.7.1] - 2021-10-26 - Added windows cmd script to create the x64 native binary (exe) - Updated to GraalVM 21.2 - Fix DNS resolution issues in pre-built docker image

🎉 5
Alex Miller (Clojure team)21:10:40

The is now available • Remove bottle :unneeded from brew formulas (no longer needed) • Include only jar files in classpath from Maven artifacts • Update to v0.2.1 (minor improvements in clj -Ttools list) • Use 0.12.1058

clojure-spin 16
🎉 7

is there a way to get help for a tool other than knowing in advance what it does? I found out about clj -Ttools list in your announcement. Is there a way to see what other things are available besides list ? Is there a way to print docs for those ? Most CLI tools offer a --help or a man page. I tried some of the things I know

clj -Ttools 
No function found on command line or in :exec-fn
clj -Ttools help
Function not found:
clj -Ttools --help
Function not found:
This works but for clj, not for the tools.
clj --help 
IMO I think it's important for this part to play like the rest of the tooling ecosystem so the experience is nice.

Alex Miller (Clojure team)12:10:14

there is some more work to do on the help side of tools for sure


whre is the best place to raise an issue to track this ?

Alex Miller (Clojure team)12:10:26 is always the best place to raise questions/issues

Alex Miller (Clojure team)12:10:49

we do actually have an existing ticket that's near this but it would be helpful to just ask this too


ok, I'll ask this and if I find the ticket include that too

Alex Miller (Clojure team)12:10:34 is the one I was thinking of but it's really a different issue so no need to link


@U011NGC5FFY You can get help for -Ttools like this:

(! 649)-> clojure -A:deps -Ttools help/doc
This api provides functions that can be executed from the Clojure tools using -Ttools.

([{:keys [as], :as args}])
  Install a tool under a local tool name for later use. On install, the tool is procured, and
  persisted with the tool name for later use.
(! 650)-> clojure -A:deps -Ttools help/dir
(! 651)-> clojure -A:deps -Ttools help/doc :fn show
([{:keys [tool], :as args}])
  Print info and usage for this :tool.

    :tool (required) - tool name to show

    clj -Ttools show deps-graph


I have deps-new installed as tools and so I can get help for that:

(! 653)-> clojure -A:deps -Tnew help/doc
The next generation of clj-new. Uses and
  tools.deps.alpha heavily to provide a simpler 'shim'
  around template processing.

  Exec function to create an application project.


Thansk @U04V70XH6. Hard to remember that. and very hard for new folk who come to clojure and need to use the tools to "gues". I'm more of the my-program --help (or similar) persuasion 🙂


Yeah, I sympathize. I've been immersed in the CLI stuff for long enough that some of the "weird" command-line conventions have become second nature but I know they're not "normal".