Skip to content

Commit b4c4099

Browse files
authored
maintenance (#164)
* ci: bump github actions * test: bump clojure to 1.12.2 * lint: bump kondo, update lib imports * build: bump deps * ci: oops, over-bumped!
1 parent 8a18f1c commit b4c4099

File tree

7 files changed

+101
-18
lines changed

7 files changed

+101
-18
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/nvd_scanner.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ jobs:
1212
environment: nvd
1313
runs-on: ubuntu-latest
1414
steps:
15-
- uses: actions/checkout@v4
15+
- uses: actions/checkout@v5
1616

1717
- name: Setup Java
18-
uses: actions/setup-java@v4
18+
uses: actions/setup-java@v5
1919
with:
2020
distribution: 'temurin'
2121
java-version: 21

.github/workflows/publish.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515

1616
steps:
1717
- name: Checkout
18-
uses: actions/checkout@v4
18+
uses: actions/checkout@v5
1919

2020
- name: Setup
2121
uses: ./.github/workflows/shared-setup

.github/workflows/shared-setup/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ runs:
2424
restore-keys: cljdeps-
2525

2626
- name: Setup Java
27-
uses: actions/setup-java@v4
27+
uses: actions/setup-java@v5
2828
with:
2929
distribution: 'temurin'
3030
java-version: ${{ inputs.jdk }}

.github/workflows/tests.yml

Lines changed: 4 additions & 4 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

1818
- name: Setup
1919
uses: ./.github/workflows/shared-setup
@@ -28,7 +28,7 @@ jobs:
2828

2929
steps:
3030
- name: Checkout
31-
uses: actions/checkout@v4
31+
uses: actions/checkout@v5
3232

3333
- name: Setup
3434
uses: ./.github/workflows/shared-setup
@@ -50,7 +50,7 @@ jobs:
5050

5151
steps:
5252
- name: Checkout
53-
uses: actions/checkout@v4
53+
uses: actions/checkout@v5
5454

5555
- name: Setup
5656
uses: ./.github/workflows/shared-setup
@@ -81,7 +81,7 @@ jobs:
8181

8282
steps:
8383
- name: Checkout
84-
uses: actions/checkout@v4
84+
uses: actions/checkout@v5
8585

8686
- name: Setup
8787
uses: ./.github/workflows/shared-setup

deps.edn

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,31 +13,31 @@
1313
:1.9 {:override-deps {org.clojure/clojure {:mvn/version "1.9.0"}}}
1414
:1.10 {:override-deps {org.clojure/clojure {:mvn/version "1.10.3"}}}
1515
:1.11 {:override-deps {org.clojure/clojure {:mvn/version "1.11.4"}}}
16-
:1.12 {:override-deps {org.clojure/clojure {:mvn/version "1.12.1"}}}
16+
:1.12 {:override-deps {org.clojure/clojure {:mvn/version "1.12.2"}}}
1717
:test {:extra-paths ["test"]
1818
:extra-deps {io.github.cognitect-labs/test-runner
1919
{:git/tag "v0.5.1" :git/sha "dfb30dd"}}
2020
:main-opts ["-m" "cognitect.test-runner"]}
2121
:native-test
22-
{:override-deps {org.clojure/clojure {:mvn/version "1.12.1"}}
22+
{:override-deps {org.clojure/clojure {:mvn/version "1.12.2"}}
2323
:replace-paths ["target/native-test-classes"]
2424
:extra-deps {com.github.clj-easy/graal-build-time {:mvn/version "1.0.5"}}}
2525
:build
2626
{:extra-paths ["build"]
27-
:deps {io.github.clojure/tools.build {:mvn/version "0.10.9"}
27+
:deps {io.github.clojure/tools.build {:mvn/version "0.10.10"}
2828
slipset/deps-deploy {:mvn/version "0.2.2"}
29-
babashka/fs {:mvn/version "0.5.25"}}
29+
babashka/fs {:mvn/version "0.5.26"}}
3030
:ns-default build}
3131
;; for consistent linting we use a specific version of clj-kondo through the jvm
32-
:clj-kondo {:extra-deps {clj-kondo/clj-kondo {:mvn/version "2025.06.05"}}
33-
:override-deps {org.clojure/clojure {:mvn/version "1.12.1"}}
32+
:clj-kondo {:extra-deps {clj-kondo/clj-kondo {:mvn/version "2025.07.28"}}
33+
:override-deps {org.clojure/clojure {:mvn/version "1.12.2"}}
3434
:main-opts ["-m" "clj-kondo.main"]}
3535
:eastwood {:extra-deps {jonase/eastwood {:mvn/version "1.4.3"}}
3636
:main-opts ["-m" "eastwood.lint" {:source-paths ["src/clojure"]
3737
:test-paths ["test"]
3838
:add-linters [:performance]}]}
3939
:outdated {:extra-deps {com.github.liquidz/antq {:mvn/version "2.11.1276"}
40-
org.clojure/clojure {:mvn/version "1.12.1"}
40+
org.clojure/clojure {:mvn/version "1.12.2"}
4141
org.slf4j/slf4j-simple {:mvn/version "2.0.17"} ;; to rid ourselves of logger warnings
4242
}
4343
:main-opts ["-m" "antq.core"]}}}

0 commit comments

Comments
 (0)