tools-deps

Discuss tools.deps.alpha, tools.build, and the clj/clojure command-line scripts! See also #depstar #clj-new
Alexis Vincent 2021-04-28T00:00:02.098400Z

no additional deps for the repl, or started on launch?

Alexis Vincent 2021-04-28T00:00:25.098900Z

Assuming deps.edn to form classpath and deps right?

Alexis Vincent 2021-04-28T00:02:27.099400Z

Culprit is nrepl

seancorfield 2021-04-28T00:06:05.100100Z

For non-local processes, I just provide a JVM option when starting the JAR or when running clojure.

seancorfield 2021-04-28T00:07:48.102Z

For my local dev process, I have a Clojure script that starts Rebel Readline, Reveal, and a Socket REPL (in a DynamicClassLoader), and that also sends a custom view into Reveal (that makes it more like REBL). But I could just run clojure to start a REPL with a JVM option.

seancorfield 2021-04-28T00:09:11.102300Z

https://github.com/seancorfield/dot-clojure is my ~/.clojure/deps.edn file and the dev.clj I start my REPL with, but on QA/production, we just start JAR files with a JVM option to start the Socket REPL — yup, we run REPLs in production.

Alexis Vincent 2021-04-28T00:11:17.102600Z

Awesome! Thanks. Will check out the setup. Been meaning to revamp. Had the same process now for years.

seancorfield 2021-04-28T00:15:09.102800Z

I use VS Code + Clover for Clojure evaluation. I have Calva installed for everything else Clojure-related (but I have its nREPL features turned off). My VS Code / Clover set, with all the tap> extensions to work with Reveal, is also on GitHub https://github.com/seancorfield/vscode-clover-setup

seancorfield 2021-04-28T00:15:56.103100Z

(I used Emacs on and off for twenty years but I was happy to move off it — initially to Atom in 2015 and then to VS Code last year)

Alexis Vincent 2021-04-28T00:19:38.103300Z

Fair. Going to be setting up some proper dev infra later this year. Will checkout the socket stuff. Emacs has worked well for me for a while. Think if I moved away I’d go to a slimmed down IDEA. But relearning key bindings for a whole new ide is going to be painful.

Alexis Vincent 2021-04-28T00:21:27.103600Z

VSCode is nice. But if I move I expect it will be to gain static analysis and broader language support. Also concerned about VSCode performance

Alexis Vincent 2021-04-28T00:23:54.103800Z

Thanks for the feedback. Appreciate the pointers. Also, a general thanks for being so active on here and in the broader ecosystem. Helps us all

seancorfield 2021-04-28T00:26:27.104Z

Re: VS Code performance — I work with 113K lines of Clojure at work all-day, every-day in VS Code and it’s fine. Calva also has LSP under the hood and clj-kondo so you can get a lot of static analysis for Clojure, even without a REPL running.

borkdude 2021-04-28T12:04:03.105100Z

I am trying to run a project locally inside a project which has a conflicting dep:

$ clojure -M:babashka/dev recent-clj-kondo
Error building classpath. Unable to compare versions for borkdude/sci: {:local/root "/Users/borkdude/Dropbox/dev/clojure/babashka/sci", :deps/manifest :deps, :deps/root "/Users/borkdude/Dropbox/dev/clojure/babashka/sci"} and {:mvn/version "0.2.4", :deps/manifest :mvn}
I would say: always prioritize the local/root?

borkdude 2021-04-28T12:07:45.106200Z

I don't understand where it gets 0.2.4 from and I can't see this with clojure -Stree

borkdude 2021-04-28T12:08:27.106600Z

my bad, I added a dep in my home .clojure/deps.edn for testing something and this pulled in 0.2.4

2021-04-28T12:18:25.108300Z

Request to improve developer experience: Basic sanity checks of deps.edn keys. The one I've run into a few times is adding :jvm-opts as a top level key, but it can only be supplied within an alias. It would be nice to get an error or at least a warning if this key is present in the top level map.

borkdude 2021-04-28T12:21:19.108700Z

@danvingo clj-kondo already does a couple of these sanity checks. feel free to request more

borkdude 2021-04-28T12:21:23.109Z

in an issue

2021-04-28T12:24:00.109400Z

thanks borkdude! good to know, will try it now