Skip to content

Commit 0489dff

Browse files
authored
maintenance (#47)
* ci: bump github actions * bump babashka fs * bump malli * dev: bump cider nrepl * dev: bump flowstorm deps * dev: bump clojure tools build * test: bump matcher combinators * bump clj-kondo * lint: update kondo imports * test, dev: bump clojure to 1.12.2
1 parent 382c56c commit 0489dff

File tree

5 files changed

+100
-17
lines changed

5 files changed

+100
-17
lines changed
Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
{:hooks
22
{:analyze-call
3-
{taoensso.encore/defalias taoensso.encore/defalias
4-
taoensso.encore/defn-cached taoensso.encore/defn-cached
5-
taoensso.encore/defonce taoensso.encore/defonce}}}
3+
{taoensso.encore/defalias taoensso.encore-hooks/defalias
4+
taoensso.encore/defaliases taoensso.encore-hooks/defaliases
5+
taoensso.encore/defn-cached taoensso.encore-hooks/defn-cached
6+
taoensso.encore/defonce taoensso.encore-hooks/defonce}}}
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
(ns taoensso.encore-hooks
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"
5+
(:refer-clojure :exclude [defonce])
6+
(:require
7+
[clj-kondo.hooks-api :as hooks]))
8+
9+
(defn defalias
10+
[{:keys [node]}]
11+
(let [[alias src-raw _attrs body] (rest (:children node))
12+
src (or src-raw alias)
13+
sym (if src-raw (hooks/sexpr alias) (symbol (name (hooks/sexpr src))))]
14+
{:node
15+
(with-meta
16+
(hooks/list-node
17+
[(hooks/token-node 'def)
18+
(hooks/token-node sym)
19+
(if body
20+
(hooks/list-node
21+
;; use :body in the def to avoid unused import/private var warnings
22+
[(hooks/token-node 'or) body src])
23+
src)])
24+
(meta src))}))
25+
26+
(defn defaliases
27+
[{:keys [node]}]
28+
(let [alias-nodes (rest (:children node))]
29+
{:node
30+
(hooks/list-node
31+
(into
32+
[(hooks/token-node 'do)]
33+
(map
34+
(fn alias->defalias [alias-node]
35+
(cond
36+
(hooks/token-node? alias-node)
37+
(hooks/list-node
38+
[(hooks/token-node 'taoensso.encore/defalias)
39+
alias-node])
40+
41+
(hooks/map-node? alias-node)
42+
(let [{:keys [src alias attrs body]} (hooks/sexpr alias-node)
43+
;; workaround as can't seem to (get) using a token-node
44+
;; and there's no update-keys (yet) in sci apparently
45+
[& {:as node-as-map}] (:children alias-node)
46+
{:keys [attrs body]} (zipmap (map hooks/sexpr (keys node-as-map))
47+
(vals node-as-map))]
48+
(hooks/list-node
49+
[(hooks/token-node 'taoensso.encore/defalias)
50+
(or alias src) (hooks/token-node src) attrs body])))))
51+
alias-nodes))}))
52+
53+
(defn defn-cached
54+
[{:keys [node]}]
55+
(let [[sym _opts binding-vec & body] (rest (:children node))]
56+
{:node
57+
(hooks/list-node
58+
(list
59+
(hooks/token-node 'def)
60+
sym
61+
(hooks/list-node
62+
(list*
63+
(hooks/token-node 'fn)
64+
binding-vec
65+
body))))}))
66+
67+
(defn defonce
68+
[{:keys [node]}]
69+
;; args = [sym doc-string? attr-map? init-expr]
70+
(let [[sym & args] (rest (:children node))
71+
[doc-string args] (if (and (hooks/string-node? (first args)) (next args)) [(hooks/sexpr (first args)) (next args)] [nil args])
72+
[attr-map init-expr] (if (and (hooks/map-node? (first args)) (next args)) [(hooks/sexpr (first args)) (fnext args)] [nil (first args)])
73+
74+
attr-map (if doc-string (assoc attr-map :doc doc-string) attr-map)
75+
sym+meta (if attr-map (with-meta sym attr-map) sym)
76+
rewritten
77+
(hooks/list-node
78+
[(hooks/token-node 'clojure.core/defonce)
79+
sym+meta
80+
init-expr])]
81+
82+
{:node rewritten}))

.github/workflows/release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313

1414
steps:
1515
- name: Checkout
16-
uses: actions/checkout@v4
16+
uses: actions/checkout@v5
1717
with:
1818
fetch-depth: 0
1919

@@ -31,7 +31,7 @@ jobs:
3131
restore-keys: $${ runner.os }}-cljdeps-
3232

3333
- name: Setup Java
34-
uses: actions/setup-java@v4
34+
uses: actions/setup-java@v5
3535
with:
3636
distribution: 'temurin'
3737
java-version: '11'

.github/workflows/test.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
if: matrix.os == 'windows'
2727

2828
- name: Checkout
29-
uses: actions/checkout@v4
29+
uses: actions/checkout@v5
3030

3131
- name: Clojure deps cache
3232
uses: actions/cache@v4
@@ -39,7 +39,7 @@ jobs:
3939
restore-keys: $${ runner.os }}-cljdeps-
4040

4141
- name: Setup Java
42-
uses: actions/setup-java@v4
42+
uses: actions/setup-java@v5
4343
with:
4444
distribution: 'temurin'
4545
java-version: ${{ matrix.java-version }}

deps.edn

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
:deps {org.clojure/clojure {:mvn/version "1.11.4"}
44
org.clojure/tools.reader {:mvn/version "1.5.2"}
5-
babashka/fs {:mvn/version "0.5.25"}
6-
clj-kondo/clj-kondo {:mvn/version "2025.06.05"}
5+
babashka/fs {:mvn/version "0.5.26"}
6+
clj-kondo/clj-kondo {:mvn/version "2025.07.28"}
77
dev.nubank/docopt {:mvn/version "0.6.1-fix7"}
8-
metosin/malli {:mvn/version "0.18.0"}
8+
metosin/malli {:mvn/version "0.19.1"}
99
rewrite-clj/rewrite-clj {:mvn/version "1.2.50"}}
1010

1111
:aliases {;; we use babashka/neil for project attributes
@@ -23,14 +23,14 @@
2323
:1.9 {:override-deps {org.clojure/clojure {:mvn/version "1.9.0"}}}
2424
:1.10 {:override-deps {org.clojure/clojure {:mvn/version "1.10.3"}}}
2525
:1.11 {:override-deps {org.clojure/clojure {:mvn/version "1.11.4"}}}
26-
:1.12 {:override-deps {org.clojure/clojure {:mvn/version "1.12.1"}}}
26+
:1.12 {:override-deps {org.clojure/clojure {:mvn/version "1.12.2"}}}
2727

2828
;;
2929
;; REPL to support bb dev-jvm & dev-cljs tasks, see script/dev_repl.clj
3030
;;
3131
:nrepl
3232
{:extra-deps {nrepl/nrepl {:mvn/version "1.3.1"}
33-
cider/cider-nrepl {:mvn/version "0.56.0"}
33+
cider/cider-nrepl {:mvn/version "0.57.0"}
3434
refactor-nrepl/refactor-nrepl {:mvn/version "3.11.0"}}
3535
:jvm-opts ["-XX:-OmitStackTraceInFastThrow" "-Djdk.attach.allowAttachSelf"]
3636
:main-opts ["-m" "nrepl.cmdline"
@@ -40,8 +40,8 @@
4040
:flowstorm
4141
{;; for disabling the official compiler
4242
:classpath-overrides {org.clojure/clojure nil}
43-
:extra-deps {com.github.flow-storm/clojure {:mvn/version "1.12.1"}
44-
com.github.flow-storm/flow-storm-dbg {:mvn/version "4.4.4"}}
43+
:extra-deps {com.github.flow-storm/clojure {:mvn/version "1.12.2"}
44+
com.github.flow-storm/flow-storm-dbg {:mvn/version "4.5.1"}}
4545
:jvm-opts ["-Dclojure.storm.instrumentEnable=true"]}
4646

4747
;; clojure -X support for local examples
@@ -63,7 +63,7 @@
6363

6464
;; for kaocha see also tests.edn
6565
:kaocha {:extra-deps {lambdaisland/kaocha {:mvn/version "1.91.1392"}
66-
nubank/matcher-combinators {:mvn/version "3.9.1"}}
66+
nubank/matcher-combinators {:mvn/version "3.9.2"}}
6767
:extra-paths ["test"]
6868
:main-opts ["-m" "kaocha.runner"]}
6969

@@ -104,7 +104,7 @@
104104
;;
105105
;; Deployment
106106
;;
107-
:build {:deps {io.github.clojure/tools.build {:mvn/version "0.10.9"}}
107+
:build {:deps {io.github.clojure/tools.build {:mvn/version "0.10.10"}}
108108
:extra-paths ["src" "build"]
109109
:ns-default build}
110110

@@ -113,7 +113,7 @@
113113
:deploy {:extra-deps {slipset/deps-deploy {:mvn/version "0.2.2"}}}
114114

115115
;; Maintenance
116-
:outdated {:extra-deps {org.clojure/clojure {:mvn/version "1.12.1"}
116+
:outdated {:extra-deps {org.clojure/clojure {:mvn/version "1.12.2"}
117117
com.github.liquidz/antq {:mvn/version "2.11.1276"}
118118
org.slf4j/slf4j-simple {:mvn/version "2.0.17"} ;; to rid ourselves of logger warnings
119119
}

0 commit comments

Comments
 (0)