Fork me on GitHub
#tools-deps
<
2021-04-28
>
Alexis Vincent00:04:02

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

Alexis Vincent00:04:25

Assuming deps.edn to form classpath and deps right?

Alexis Vincent00:04:27

Culprit is nrepl

seancorfield00:04:05

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

seancorfield00:04:48

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.

seancorfield00:04:11

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 Vincent00:04:17

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

seancorfield00:04:09

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

seancorfield00:04:56

(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 Vincent00:04:38

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 Vincent00:04:27

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 Vincent00:04:54

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

seancorfield00:04:27

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.

borkdude12:04:03

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?

borkdude12:04:45

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

borkdude12:04:27

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

dvingo12:04:25

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.

borkdude12:04:19

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

borkdude12:04:23

in an issue

dvingo12:04:00

thanks borkdude! good to know, will try it now