Skip to content

Commit 38cac4c

Browse files
authored
Enable most clj-kondo linters that are disabled by default (#201)
1 parent 31a1752 commit 38cac4c

2 files changed

Lines changed: 60 additions & 49 deletions

File tree

project.clj

Lines changed: 39 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,26 @@
1-
(def eastwood-version "0.9.9")
1+
(def eastwood-version "1.1.1")
22

33
;; Please don't bump the library version by hand - use ci.release-workflow instead.
44
(defproject formatting-stack "4.4.1"
55
;; Please keep the dependencies sorted a-z.
6-
:dependencies [[clj-kondo "2021.01.20"]
7-
[cljfmt "0.7.0"]
8-
[com.gfredericks/how-to-ns "0.2.8"]
9-
[com.gfredericks/lein-all-my-files-should-end-with-exactly-one-newline-character "0.1.1"]
10-
[com.nedap.staffing-solutions/speced.def "2.0.0"]
11-
[com.nedap.staffing-solutions/utils.collections "2.1.0"]
12-
[com.nedap.staffing-solutions/utils.modular "2.2.0-alpha3"]
13-
[com.nedap.staffing-solutions/utils.spec.predicates "1.1.0"]
6+
:dependencies [[clj-kondo "2022.01.15"]
7+
[cljfmt "0.8.0"]
8+
[com.gfredericks/how-to-ns "0.2.9"]
9+
[com.gfredericks/lein-all-my-files-should-end-with-exactly-one-newline-character "0.1.2"]
10+
[com.nedap.staffing-solutions/speced.def "2.1.1"]
11+
[com.nedap.staffing-solutions/utils.collections "2.2.0"]
12+
[com.nedap.staffing-solutions/utils.modular "2.2.0"]
13+
[com.nedap.staffing-solutions/utils.spec.predicates "1.2.1"]
1414
[io.reflectoring.diffparser/diffparser "1.4"]
1515
[jonase/eastwood ~eastwood-version]
16-
[medley "1.2.0"]
17-
[org.clojure/clojure "1.10.1"]
16+
[medley "1.3.0"]
17+
[org.clojure/clojure "1.10.3"]
1818
[org.clojure/java.classpath "1.0.0"]
19-
[org.clojure/java.data "1.0.64"]
20-
[org.clojure/tools.namespace "0.3.1"]
21-
[org.clojure/tools.reader "1.3.4"]]
19+
[org.clojure/java.data "1.0.95"]
20+
[org.clojure/tools.namespace "1.2.0"]
21+
[org.clojure/tools.reader "1.3.6"]]
2222

23-
:managed-dependencies [[rewrite-clj "0.6.1"]]
23+
:managed-dependencies [[rewrite-clj "1.0.699-alpha"]]
2424

2525
;; The f-s exclusion allows adding f-s in a global profile, while still allowing developing f-s itself,
2626
;; avoiding having the global version shadow the local one
@@ -57,7 +57,7 @@
5757

5858
:monkeypatch-clojure-test false
5959

60-
:plugins [[lein-pprint "1.1.2"]
60+
:plugins [[lein-pprint "1.3.2"]
6161
[jonase/eastwood ~eastwood-version]]
6262

6363
;; A variety of common dependencies are bundled with `nedap/lein-template`.
@@ -69,15 +69,15 @@
6969
;; * e.g. criterium, deep-diff, clj-java-decompiler
7070

7171
;; Manage transitive deps using :managed-dependencies, see https://git.io/JtUGI
72-
:profiles {:dev {:dependencies [[com.clojure-goes-fast/clj-java-decompiler "0.2.1"]
73-
[com.stuartsierra/component "0.4.0"]
72+
:profiles {:dev {:dependencies [[com.clojure-goes-fast/clj-java-decompiler "0.3.1"]
73+
[com.stuartsierra/component "1.0.0"]
7474
[com.taoensso/timbre "4.10.0"]
75-
[criterium "0.4.5"]
76-
[integrant/repl "0.3.1"]
77-
[lambdaisland/deep-diff "0.0-29"]
78-
[org.clojure/core.async "0.5.527"]
79-
[org.clojure/math.combinatorics "0.1.1"]
80-
[org.clojure/test.check "0.10.0-alpha3"]]
75+
[criterium "0.4.6"]
76+
[integrant/repl "0.3.2"]
77+
[lambdaisland/deep-diff "0.0-47"]
78+
[org.clojure/core.async "1.5.648"]
79+
[org.clojure/math.combinatorics "0.1.6"]
80+
[org.clojure/test.check "1.1.1"]]
8181
:jvm-opts ["-Dclojure.compiler.disable-locals-clearing=true"]
8282
:source-paths ["dev"]
8383
:repl-options {:init-ns dev}
@@ -103,16 +103,20 @@
103103
:cljs-old {:dependencies [[cljfmt "0.6.5"]
104104
[com.stuartsierra/component "0.4.0"]
105105
[integrant "0.8.0"]
106-
[org.clojure/clojurescript "1.7.228"]]}
107-
108-
:provided {:dependencies [[org.clojure/clojurescript "1.10.597"]
109-
[com.stuartsierra/component "0.4.0"]
110-
[integrant "0.8.0"]]
111-
:managed-dependencies [[com.cognitect/transit-clj "1.0.324"]
106+
[org.clojure/clojurescript
107+
#_"Please do not change, its entire point is to exercise an old version in CI"
108+
"1.7.228"]]}
109+
110+
:provided {:dependencies [[com.stuartsierra/component "0.4.0"]
111+
[integrant "0.8.0"]
112+
[org.clojure/clojurescript "1.10.914"]]
113+
:managed-dependencies [[cheshire "5.10.1"]
114+
[com.cognitect/transit-clj "1.0.324"]
112115
[com.google.code.findbugs/jsr305 "3.0.2"]
113-
[com.google.errorprone/error_prone_annotations "2.1.3"]
114-
[com.google.guava/guava "25.1-jre"]
115-
[com.google.protobuf/protobuf-java "3.4.0"]]}
116+
[com.google.errorprone/error_prone_annotations "2.10.0"]
117+
[com.google.guava/guava "31.0.1-jre"]
118+
[com.google.javascript/closure-compiler-unshaded "v20211201"]
119+
[com.google.protobuf/protobuf-java "3.19.1"]]}
116120

117121
;; `dev` in :test is important - a test depends on it:
118122
:test {:source-paths ["dev"]
@@ -125,9 +129,9 @@
125129
"test-resources"]}
126130

127131
:refactor-nrepl {:dependencies [[refactor-nrepl "3.1.0"]
128-
[nrepl "0.9.0-beta3"]]
132+
[nrepl "0.9.0"]]
129133
;; cider-nrepl is a :provided dependency from refactor-nrepl.
130-
:plugins [[cider/cider-nrepl "0.27.2" :exclusions [nrepl]]]}
134+
:plugins [[cider/cider-nrepl "0.27.4" :exclusions [nrepl]]]}
131135

132136
:ncrw {:global-vars {*assert* true} ;; `ci.release-workflow` relies on runtime assertions
133137
:source-paths ^:replace []

src/formatting_stack/linters/kondo.clj

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,23 +9,30 @@
99

1010
(def off {:level :off})
1111

12+
(def warn {:level :warning})
13+
1214
(def default-options
1315
{:cache true
1416
:cache-dir formatting-stack.kondo-classpath-cache/cache-dir
15-
:linters {:cond-else off ;; undesired
16-
:missing-docstring off ;; undesired
17-
:unused-binding off ;; undesired
18-
:private-call off ;; undesired
19-
:unresolved-symbol off ;; can give false positives
20-
:unused-symbol off ;; can give false positives
21-
:unused-private-var off ;; can give false positives
22-
:unresolved-var off ;; already offered by clj
23-
:consistent-alias off ;; already offered by how-to-ns
24-
:duplicate-require off ;; already offered by clean-ns
25-
:unused-import off ;; already offered by clean-ns
26-
:unused-namespace off ;; already offered by clean-ns
27-
:unused-referred-var off ;; already offered by clean-ns
28-
:unresolved-namespace off ;; already offered by clean-ns
17+
;; https://github.com/clj-kondo/clj-kondo/blob/v2021.12.19/doc/linters.md
18+
:linters {:docstring-leading-trailing-whitespace warn ;; disabled-by-default
19+
:reduce-without-init warn ;; disabled-by-default
20+
:single-key-in warn ;; disabled-by-default
21+
:used-underscored-binding warn ;; disabled-by-default
22+
:cond-else off ;; undesired
23+
:missing-docstring off ;; undesired
24+
:unused-binding off ;; undesired
25+
:private-call off ;; undesired
26+
:unresolved-symbol off ;; can give false positives
27+
:unused-symbol off ;; can give false positives
28+
:unused-private-var off ;; can give false positives
29+
:unresolved-var off ;; already offered by clj
30+
:consistent-alias off ;; already offered by how-to-ns
31+
:duplicate-require off ;; already offered by clean-ns
32+
:unused-import off ;; already offered by clean-ns
33+
:unused-namespace off ;; already offered by clean-ns
34+
:unused-referred-var off ;; already offered by clean-ns
35+
:unresolved-namespace off ;; already offered by clean-ns
2936
}
3037
:lint-as '{nedap.speced.def/def-with-doc clojure.core/defonce
3138
nedap.speced.def/defn clojure.core/defn

0 commit comments

Comments
 (0)