Search code examples
clojureformatclojurescriptlinterclj-kondo

Is there an overlap between cljfmt and clojure-kondo?


I have been using Clojure, ClojureScript, lein, shadow-cljs, re-frame, reagent, Emacs, and CIDER to work on a Clojure/ClojureScript dynamic web app project.

For the last several weeks, I have been focusing on a Continuous Integration effort.

After setting up the build via GitHub Actions, now I want to integrate cljft (a formatter tool) and clj-kondo (a linter).

To my naive eyes, both feel like fully complementary tools/extensions. This was my understanding by reading the documentation and running locally some commands to fix files.

But, I would like to ask: is there some overlap between them?

Is there any chance that one of them could overwrite the "fixes" (the work in general) automatically generated by the other? If so, in which circumstances?


Solution

  • I asked this question on Clojurians Slack. A user called "borkdude" (Michiel Borkent who is the creator of clj-kondo, babashka and SCI) answered the following:

    clj-kondo doesn't fix anything automatically, but clojure-lsp can do that for you based on what clj-kondo finds. it also has integration with cljfmt I think

    but to answer directly: no, there aren't any conflicts between cljfmt and clj-kondo