Skip to content

Commit 73ebd75

Browse files
committed
CI: setup :consistent-alias and :refer linters
These have the intent of making the usage of `refresh-dirs` as unambiguous as possible, preventing any regressions.
1 parent daa9723 commit 73ebd75

File tree

1 file changed

+40
-2
lines changed

1 file changed

+40
-2
lines changed

.clj-kondo/config.edn

Lines changed: 40 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,43 @@
11
;; `nrepl.core/code` can contain intentionally broken code in the test suite, so we silence related resolution errors:
22
{:lint-as {nrepl.core/code clojure.core/quote}
3-
:linters {:unresolved-symbol {:exclude [(refactor-nrepl.ns.ns-parser/with-libspecs-from [libspecs])
4-
(refactor-nrepl.middleware/set-descriptor! [set-descriptor!])]}
3+
;; Set up :refer linter, mainly for banning the refer-ing of `refresh-dirs`. We don't want to accidentally shadow it in related code.
4+
;; Feel free to add more :exclude entries - we're unopinionated about :refer (if anything, refactor-nrepl facilitates the usage of :refer)
5+
:linters {:refer {:level :warning
6+
:exclude [clojure.java.io
7+
clojure.pprint
8+
clojure.stacktrace
9+
clojure.test
10+
clojure.tools.analyzer.ast
11+
clojure.tools.namespace.parse
12+
;; please don't add `clojure.tools.namespace.repl` here, see comment above.
13+
clojure.tools.nrepl.middleware
14+
clojure.tools.nrepl.misc
15+
nrepl.middleware
16+
nrepl.middleware.interruptible-eval
17+
nrepl.misc
18+
orchard.info
19+
refactor-nrepl.client
20+
refactor-nrepl.config
21+
refactor-nrepl.core
22+
refactor-nrepl.find.find-macros
23+
refactor-nrepl.find.find-symbol
24+
refactor-nrepl.ns.clean-ns
25+
refactor-nrepl.ns.libspecs
26+
refactor-nrepl.ns.ns-parser
27+
refactor-nrepl.ns.pprint
28+
refactor-nrepl.ns.prune-dependencies
29+
refactor-nrepl.ns.rebuild
30+
refactor-nrepl.ns.resolve-missing-test
31+
refactor-nrepl.ns.slam.hound.future
32+
refactor-nrepl.stubs-for-interface
33+
refactor-nrepl.unreadable-files
34+
refactor-nrepl.util]}
35+
:consistent-alias {:aliases {clojure.tools.namespace.dependency dep
36+
clojure.tools.namespace.file file
37+
;; don't alias as `repl`, because we use this ns mainly for its `refresh-dirs`
38+
;; which has little to do with repls:
39+
clojure.tools.namespace.repl tools.namespace.repl
40+
clojure.tools.namespace.track tracker}}
41+
:unresolved-symbol {:exclude [(refactor-nrepl.ns.ns-parser/with-libspecs-from [libspecs])
42+
(refactor-nrepl.middleware/set-descriptor! [set-descriptor!])]}
543
:unresolved-namespace {:exclude [clojure.main]}}}

0 commit comments

Comments
 (0)