Fork me on GitHub
#announcements
<
2021-10-26
>
bozhidar07:10:16

clj-refactor.el and refactor-nrepl 3.0 are out! You can read more about the new releases here https://metaredux.com/posts/2021/10/26/clj-refactor-3-0.html

cider 18
clojure-spin 11
🎉 11
vemv07:10:46

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?

vemv08:10:21

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
vemv09:10:08

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]
  (time
    (do
      (#'refactor-nrepl.analyzer/build-ast your-ns (ns-aliases your-ns))
      nil)))

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

ericdallo12:10:22

Awesome project, congrats fro the awesome work!

❤️ 1
imre13:10:07

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
lucas12:10:52

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. https://github.com/magnetcoop/esignatures.docusign

🎉 13
steveb8n23:10:40

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

katox16:10:17

Hi, updated release of PGMig 0.7.1 is out: https://github.com/leafclick/pgmig/releases/tag/v0.7.1 ## [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
alexmiller21:10:40

The https://clojure.org/releases/tools#v1.10.3.998 is now available • Remove bottle :unneeded from brew formulas (no longer needed) • https://clojure.atlassian.net/browse/TDEPS-209 Include only jar files in classpath from Maven artifacts • Update to tools.tools v0.2.1 (minor improvements in clj -Ttools list) • Use https://github.com/clojure/tools.deps.alpha/blob/master/CHANGELOG.md 0.12.1058

clojure-spin 16
🎉 7
Eugen07:10:46

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: clojure.tools.tools.api/help
clj -Ttools --help
Function not found: clojure.tools.tools.api/--help
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.

alexmiller12:10:14

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

Eugen12:10:06

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

alexmiller12:10:26

https://ask.clojure.org is always the best place to raise questions/issues

alexmiller12:10:49

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

Eugen12:10:19

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

alexmiller12:10:34

https://clojure.atlassian.net/browse/TDEPS-201 is the one I was thinking of but it's really a different issue so no need to link

seancorfield16:10:00

@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.

-------------------------
clojure.tools.tools.api/install
([{: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
install
list
remove
show
(! 651)-> clojure -A:deps -Ttools help/doc :fn show
-------------------------
clojure.tools.tools.api/show
([{:keys [tool], :as args}])
  Print info and usage for this :tool.

  Options:
    :tool (required) - tool name to show

  Example:
    clj -Ttools show deps-graph

seancorfield16:10:07

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 tools.build and
  tools.deps.alpha heavily to provide a simpler 'shim'
  around template processing.

-------------------------
org.corfield.new/app
([opts])
  Exec function to create an application project.

Eugen05:10:23

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 🙂

seancorfield05:10:27

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".