I am curious: nobody distributes natively compiled binaries for cljfmt already?
I think cljfmt has their own, but not really maintained?
there's just an alias to do it
it's easy to do
clojure-lsp packages cljfmt too AFAIK and you can use that from the command line
but that would be handry to have prebuilt binaries
yeah I know
but it's a tad slower for CI use I think
didn't check, but it's an impression
pinging @ericdallo - I don't think it should have to be slower
if it's not I ll go with that
there were some issues before that it wanted to analyze your whole project before it did anything, but I think they might be addressed now
I think it does run analysis indeed
then again, I'm not using it in this way myself, so grain of salt
We use for all nubank services as official linter on CI, it's pretty fast even on medium/big projects
and for clojure-lsp format we don't check external dependencies, so it's even faster than running clojure-lsp diagnostics .
same for clojure-lsp clean-ns
cool
Consistency is important too (rely on classpath, project settings etc), than you manually pass folders to it
interesting
but there's no warn task tho
or I missed it
it's basically the equivalent of cljfmt fix
yes, --dry
oh!
thanks
Out of curiosity, do you intend to use on deps.edn, native cli, or with lein?
what do you mean?
it's for CI, against repo source
nothing really fancy
I ll just add the clojure-lsp binary to our docker image used to run most clj jobs
and let consumers use it if they want
👍
We use at Nubank via lein-clojure-lsp, this way lein lint works on both local and CI and users don't need clojure-lsp installed locally for intellij Users for example
I am not sure I want lein startup time in the mix
we do lein cljfmt now
and people complain that it's slow
mostly caused by lein
yeah, native binary should help
but I don't think it will be that fast as in the end formatting whole project code is not that fast as it delegates to cljfmt in the end
personally I don't care so much, it does that via lsp on-save-hook locally but we have some people who still don't use lsp !
Usually graal image means faster startup, and resource consumption
Yeah, I know that feel
cljstyle is a fork of cljfmt that's distributed as a single binary: https://github.com/greglook/cljstyle