Skip to content

Commit 95e8cf4

Browse files
committed
fix kondo
1 parent fc18880 commit 95e8cf4

File tree

8 files changed

+121
-0
lines changed

8 files changed

+121
-0
lines changed

.clj-kondo/babashka/fs/config.edn

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{:lint-as {babashka.fs/with-temp-dir clojure.core/let}}

.clj-kondo/babashka/sci/config.edn

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{:hooks {:macroexpand {sci.core/copy-ns sci.core/copy-ns}}}

.clj-kondo/babashka/sci/sci/core.clj

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
(ns sci.core)
2+
3+
(defmacro copy-ns
4+
([ns-sym sci-ns]
5+
`(copy-ns ~ns-sym ~sci-ns nil))
6+
([ns-sym sci-ns opts]
7+
`[(quote ~ns-sym)
8+
~sci-ns
9+
(quote ~opts)]))

.clj-kondo/config.edn

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
{:config-paths ["status-im"]
2+
:lint-as {legacy.status-im.utils.views/defview clojure.core/defn
3+
legacy.status-im.utils.views/letsubs clojure.core/let
4+
reagent.core/with-let clojure.core/let
5+
legacy.status-im.utils.fx/defn clj-kondo.lint-as/def-catch-all
6+
utils.re-frame/defn clj-kondo.lint-as/def-catch-all
7+
quo.react/with-deps-check clojure.core/fn
8+
quo.previews.preview/list-comp clojure.core/for
9+
legacy.status-im.utils.styles/def clojure.core/def
10+
legacy.status-im.utils.styles/defn clojure.core/defn
11+
test-helpers.unit/deftest-sub clojure.core/defn
12+
taoensso.tufte/defnp clojure.core/defn}
13+
:linters {:case-duplicate-test {:level :error}
14+
:case-quoted-test {:level :error}
15+
:case-symbol-test {:level :error}
16+
:clj-kondo-config {:level :error}
17+
:cond-else {:level :error}
18+
:consistent-alias {:level :error
19+
:aliases {clojure.set set
20+
clojure.string string
21+
clojure.walk walk
22+
malli.core malli
23+
malli.dev.pretty malli.pretty
24+
malli.dev.virhe malli.virhe
25+
malli.error malli.error
26+
malli.generator malli.generator
27+
malli.transform malli.transform
28+
malli.util malli.util
29+
schema.core schema
30+
taoensso.timbre log}}
31+
:deprecated-namespace {:level :warning}
32+
:docstring-blank {:level :error}
33+
:equals-true {:level :error}
34+
:inline-def {:level :error}
35+
:invalid-arity {:skip-args [legacy.status-im.utils.fx/defn
36+
utils.re-frame/defn]}
37+
:loop-without-recur {:level :error}
38+
:minus-one {:level :error}
39+
:misplaced-docstring {:level :error}
40+
:missing-body-in-when {:level :error}
41+
:missing-clause-in-try {:level :error}
42+
:missing-else-branch {:level :error}
43+
:not-empty? {:level :error}
44+
:plus-one {:level :error}
45+
:redundant-do {:level :error}
46+
:redundant-let {:level :error}
47+
:refer-all {:level :error}
48+
:shadowed-var {:level :error
49+
;; We temporarily use :include to define an
50+
;; allowlist of core Clojure vars. In the
51+
;; future, as we progressively fix shadowed
52+
;; vars, we should be able to delete this
53+
;; option and lint all vars.
54+
:exclude [type name]}
55+
:single-operand-comparison {:level :error}
56+
:syntax {:level :error}
57+
:unbound-destructuring-default {:level :error}
58+
:uninitialized-var {:level :error}
59+
:unknown-require-option {:level :error}
60+
:unreachable-code {:level :error}
61+
:unresolved-namespace {:level :error}
62+
;; TODO remove number when this is fixed
63+
;; https://github.com/borkdude/clj-kondo/issues/867
64+
:unresolved-symbol {:exclude [PersistentPriorityMap.EMPTY
65+
number
66+
legacy.status-im.test-helpers/restore-app-db]}
67+
:unresolved-var {:level :error}
68+
:unsorted-required-namespaces {:level :error}
69+
:unused-alias {:level :warning}
70+
:unused-binding {:level :error}
71+
:unused-import {:level :error}
72+
:unused-namespace {:level :error}
73+
:unused-private-var {:level :error}
74+
:unused-referred-var {:level :error}
75+
:use {:level :error}}
76+
:config-in-ns {mocks.js-dependencies {:linters {:clojure-lsp/unused-public-var {:level :off}}}}}

.clj-kondo/metosin/malli/config.edn

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
{:lint-as {malli.experimental/defn schema.core/defn}
2+
:linters {:unresolved-symbol {:exclude [(malli.core/=>)]}}}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{:linters
2+
{:unresolved-symbol
3+
{:exclude [(cljs.test/is [match? thrown-match?])
4+
(clojure.test/is [match? thrown-match?])]}}}

.clj-kondo/status-im/config.edn

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
{:hooks {:analyze-call {utils.i18n/label utils.i18n/label}}
2+
:linters {:status-im.linter/invalid-translation-keyword {:level :error}}}

.clj-kondo/status-im/utils/i18n.clj

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
(ns utils.i18n
2+
(:require [clj-kondo.hooks-api :as hooks]))
3+
4+
(defn label
5+
"Verify call to `utils.i18n/label` pass the translation keyword qualified with `t`."
6+
[{:keys [node]}]
7+
(let [[_ translation-key-node & _] (:children node)]
8+
(when (and (hooks/keyword-node? translation-key-node)
9+
(not= "t" (-> translation-key-node hooks/sexpr namespace)))
10+
(hooks/reg-finding! (assoc (meta translation-key-node)
11+
:message "Translation keyword should be qualified with \"t\""
12+
:type :status-im.linter/invalid-translation-keyword)))))
13+
14+
(comment
15+
;; Valid
16+
(label {:node (hooks/parse-string "(i18n/label :t/foo {:var \"hello\"})")
17+
:cljc false
18+
:lang :cljs
19+
:filename ""
20+
:config {}
21+
:ns ""
22+
:context nil})
23+
24+
;; Invalid
25+
(label {:node (hooks/parse-string "(i18n/label :foo)")})
26+
)

0 commit comments

Comments
 (0)