Skip to content

Commit 9118781

Browse files
Merge pull request #24 from clj-codes/bump/deps-2024-10-17
bump: deps
2 parents 7bfbc7a + b27d14b commit 9118781

File tree

8 files changed

+165
-23
lines changed

8 files changed

+165
-23
lines changed
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
{:lint-as {potemkin.collections/compile-if clojure.core/if
2+
potemkin.collections/reify-map-type clojure.core/reify
3+
potemkin.collections/def-map-type clj-kondo.lint-as/def-catch-all
4+
potemkin.collections/def-derived-map clj-kondo.lint-as/def-catch-all
5+
6+
potemkin.types/reify+ clojure.core/reify
7+
potemkin.types/defprotocol+ clojure.core/defprotocol
8+
potemkin.types/deftype+ clojure.core/deftype
9+
potemkin.types/defrecord+ clojure.core/defrecord
10+
potemkin.types/definterface+ clojure.core/defprotocol
11+
potemkin.types/extend-protocol+ clojure.core/extend-protocol
12+
potemkin.types/def-abstract-type clj-kondo.lint-as/def-catch-all
13+
14+
potemkin.utils/doit clojure.core/doseq
15+
potemkin.utils/doary clojure.core/doseq
16+
potemkin.utils/condp-case clojure.core/condp
17+
potemkin.utils/fast-bound-fn clojure.core/bound-fn
18+
19+
potemkin.walk/prewalk clojure.walk/prewalk
20+
potemkin.walk/postwalk clojure.walk/postwalk
21+
potemkin.walk/walk clojure.walk/walk
22+
23+
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
24+
;;;; top-level from import-vars
25+
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
26+
27+
;; Have hooks
28+
;;potemkin/import-fn potemkin.namespaces/import-fn
29+
;;potemkin/import-macro potemkin.namespaces/import-macro
30+
;;potemkin/import-def potemkin.namespaces/import-def
31+
32+
;; Internal, not transitive
33+
;;potemkin/unify-gensyms potemkin.macros/unify-gensyms
34+
;;potemkin/normalize-gensyms potemkin.macros/normalize-gensyms
35+
;;potemkin/equivalent? potemkin.macros/equivalent?
36+
37+
potemkin/condp-case clojure.core/condp
38+
potemkin/doit potemkin.utils/doit
39+
potemkin/doary potemkin.utils/doary
40+
41+
potemkin/def-abstract-type clj-kondo.lint-as/def-catch-all
42+
potemkin/reify+ clojure.core/reify
43+
potemkin/defprotocol+ clojure.core/defprotocol
44+
potemkin/deftype+ clojure.core/deftype
45+
potemkin/defrecord+ clojure.core/defrecord
46+
potemkin/definterface+ clojure.core/defprotocol
47+
potemkin/extend-protocol+ clojure.core/extend-protocol
48+
49+
potemkin/reify-map-type clojure.core/reify
50+
potemkin/def-derived-map clj-kondo.lint-as/def-catch-all
51+
potemkin/def-map-type clj-kondo.lint-as/def-catch-all}
52+
53+
;; leave import-vars alone, kondo special-cases it
54+
:hooks {:macroexpand {#_#_potemkin.namespaces/import-vars potemkin.namespaces/import-vars
55+
potemkin.namespaces/import-fn potemkin.namespaces/import-fn
56+
potemkin.namespaces/import-macro potemkin.namespaces/import-macro
57+
potemkin.namespaces/import-def potemkin.namespaces/import-def
58+
59+
#_#_potemkin/import-vars potemkin.namespaces/import-vars
60+
potemkin/import-fn potemkin.namespaces/import-fn
61+
potemkin/import-macro potemkin.namespaces/import-macro
62+
potemkin/import-def potemkin.namespaces/import-def}}}
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
(ns potemkin.namespaces
2+
(:require [clj-kondo.hooks-api :as api]))
3+
4+
(defn import-macro*
5+
([sym]
6+
`(def ~(-> sym name symbol) ~sym))
7+
([sym name]
8+
`(def ~name ~sym)))
9+
10+
(defmacro import-fn
11+
([sym]
12+
(import-macro* sym))
13+
([sym name]
14+
(import-macro* sym name)))
15+
16+
(defmacro import-macro
17+
([sym]
18+
(import-macro* sym))
19+
([sym name]
20+
(import-macro* sym name)))
21+
22+
(defmacro import-def
23+
([sym]
24+
(import-macro* sym))
25+
([sym name]
26+
(import-macro* sym name)))
27+
28+
#_
29+
(defmacro import-vars
30+
"Imports a list of vars from other namespaces."
31+
[& syms]
32+
(let [unravel (fn unravel [x]
33+
(if (sequential? x)
34+
(->> x
35+
rest
36+
(mapcat unravel)
37+
(map
38+
#(symbol
39+
(str (first x)
40+
(when-let [n (namespace %)]
41+
(str "." n)))
42+
(name %))))
43+
[x]))
44+
syms (mapcat unravel syms)
45+
result `(do
46+
~@(map
47+
(fn [sym]
48+
(let [vr (resolve sym)
49+
m (meta vr)]
50+
(cond
51+
(nil? vr) `(throw (ex-info (format "`%s` does not exist" '~sym) {}))
52+
(:macro m) `(def ~(-> sym name symbol) ~sym)
53+
(:arglists m) `(def ~(-> sym name symbol) ~sym)
54+
:else `(def ~(-> sym name symbol) ~sym))))
55+
syms))]
56+
result))
Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,4 @@
1-
{:hooks {:analyze-call {taoensso.encore/defalias taoensso.encore/defalias}}}
1+
{:hooks
2+
{:analyze-call
3+
{taoensso.encore/defalias taoensso.encore/defalias
4+
taoensso.encore/defn-cached taoensso.encore/defn-cached}}}
Lines changed: 31 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,37 @@
11
(ns taoensso.encore
2+
"I don't personally use clj-kondo, so these hooks are
3+
kindly authored and maintained by contributors.
4+
PRs very welcome! - Peter Taoussanis"
25
(:require
36
[clj-kondo.hooks-api :as hooks]))
47

5-
(defn defalias [{:keys [node]}]
8+
(defn defalias
9+
[{:keys [node]}]
610
(let [[sym-raw src-raw] (rest (:children node))
711
src (if src-raw src-raw sym-raw)
8-
sym (if src-raw
9-
sym-raw
10-
(symbol (name (hooks/sexpr src))))]
11-
{:node (with-meta
12-
(hooks/list-node
13-
[(hooks/token-node 'def)
14-
(hooks/token-node (hooks/sexpr sym))
15-
(hooks/token-node (hooks/sexpr src))])
16-
(meta src))}))
12+
sym
13+
(if src-raw
14+
sym-raw
15+
(symbol (name (hooks/sexpr src))))]
16+
17+
{:node
18+
(with-meta
19+
(hooks/list-node
20+
[(hooks/token-node 'def)
21+
(hooks/token-node (hooks/sexpr sym))
22+
(hooks/token-node (hooks/sexpr src))])
23+
(meta src))}))
24+
25+
(defn defn-cached
26+
[{:keys [node] :as x}]
27+
(let [[sym _opts binding-vec & body] (rest (:children node))]
28+
{:node
29+
(hooks/list-node
30+
(list
31+
(hooks/token-node 'def)
32+
sym
33+
(hooks/list-node
34+
(list*
35+
(hooks/token-node 'fn)
36+
binding-vec
37+
body))))}))

.github/workflows/release.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333
- name: Install clojure cli
3434
uses: DeLaGuardo/setup-clojure@master
3535
with:
36-
cli: 1.11.3.1463
36+
cli: 1.12.0.1479
3737

3838
- name: Cache Maven packages
3939
uses: actions/cache@v4

.github/workflows/tests.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
- name: Install clojure cli
3333
uses: DeLaGuardo/setup-clojure@master
3434
with:
35-
cli: 1.11.3.1463
35+
cli: 1.12.0.1479
3636

3737
- name: Cache Maven packages
3838
uses: actions/cache@v4
@@ -59,7 +59,7 @@ jobs:
5959
- name: Install clojure cli
6060
uses: DeLaGuardo/setup-clojure@master
6161
with:
62-
cli: 1.11.3.1463
62+
cli: 1.12.0.1479
6363

6464
- name: Setup clojure-lsp
6565
uses: clojure-lsp/setup-clojure-lsp@v1.0.2

deps.edn

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
{:paths ["src" "resources"]
2-
:deps {org.clojure/clojure {:mvn/version "1.11.3"}
3-
org.clojure/tools.deps {:mvn/version "0.19.1432"}
4-
clj-kondo/clj-kondo {:mvn/version "2024.05.24"}
5-
datalevin/datalevin {:mvn/version "0.9.8"}
2+
:deps {org.clojure/clojure {:mvn/version "1.12.0"}
3+
org.clojure/tools.deps {:mvn/version "0.21.1449"}
4+
clj-kondo/clj-kondo {:mvn/version "2024.09.27"}
5+
datalevin/datalevin {:mvn/version "0.9.12"}
66
com.cognitect/transit-clj {:mvn/version "1.0.333"}
7-
org.slf4j/slf4j-nop {:mvn/version "2.0.13"}}
7+
org.slf4j/slf4j-nop {:mvn/version "2.0.16"}}
88

99
:aliases
1010
{:extract {:ns-default codes.clj.docs.extractor.core
@@ -13,7 +13,7 @@
1313
:jvm-opts ["--add-opens=java.base/java.nio=ALL-UNNAMED"
1414
"--add-opens=java.base/sun.nio.ch=ALL-UNNAMED"]}
1515

16-
:build {:deps {io.github.clojure/tools.build {:mvn/version "0.10.4"}}
16+
:build {:deps {io.github.clojure/tools.build {:mvn/version "0.10.5"}}
1717
:ns-default build
1818
:exec-args {:uber-file "target/extractor.jar"}}
1919

@@ -27,11 +27,11 @@
2727
:jvm-opts ["--add-opens=java.base/java.nio=ALL-UNNAMED"
2828
"--add-opens=java.base/sun.nio.ch=ALL-UNNAMED"]}
2929

30-
:nrepl {:extra-deps {cider/cider-nrepl {:mvn/version "0.49.1"}}
30+
:nrepl {:extra-deps {cider/cider-nrepl {:mvn/version "0.50.2"}}
3131
:main-opts ["-m" "nrepl.cmdline" "--middleware" "[cider.nrepl/cider-middleware]"]}
3232

3333
:test {:main-opts ["-m" "kaocha.runner"]
3434
:jvm-opts ["-Xms3g" "-Xmx3g"]}
3535

36-
:clojure-lsp {:replace-deps {com.github.clojure-lsp/clojure-lsp-standalone {:mvn/version "2024.04.22-11.50.26"}}
36+
:clojure-lsp {:replace-deps {com.github.clojure-lsp/clojure-lsp-standalone {:mvn/version "2024.08.05-18.16.00"}}
3737
:main-opts ["-m" "clojure-lsp.main"]}}}

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
<dependency>
3131
<groupId>org.clojure</groupId>
3232
<artifactId>clojure</artifactId>
33-
<version>1.11.3</version>
33+
<version>1.12.0</version>
3434
</dependency>
3535
</dependencies>
3636
<build>

0 commit comments

Comments
 (0)