Skip to content

Commit b7657b8

Browse files
authored
Merge pull request #49 from lread/lread/maint-2025-12-14
maintenance
2 parents ab761d5 + 0419a90 commit b7657b8

File tree

4 files changed

+49
-13
lines changed

4 files changed

+49
-13
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
(ns babashka.fs
2+
(:require [clj-kondo.hooks-api :as api]))
3+
4+
(defn- symbol-node? [node]
5+
(and (api/token-node? node)
6+
(symbol? (api/sexpr node))))
7+
8+
(defn with-temp-dir
9+
[{:keys [node]}]
10+
(let [args (rest (:children node))
11+
binding-like-vector (first args)
12+
body (rest args)]
13+
(when-not (zero? (count args)) ;; let clj-kondo report on arity
14+
(if-not (api/vector-node? binding-like-vector)
15+
(api/reg-finding! (assoc (meta binding-like-vector)
16+
:message "babashka.fs/with-temp-dir requires a vector for first arg"
17+
:type :babashka-fs/with-temp-dir-first-arg-not-vector))
18+
(let [[binding-sym options & rest-in-vec] (:children binding-like-vector)]
19+
(when (not (symbol-node? binding-sym))
20+
(api/reg-finding! (assoc (meta (or binding-sym binding-like-vector))
21+
:message "babashka.fs/with-temp-dir vector arg requires binding-name symbol as first value"
22+
:type :babashka-fs/with-temp-dir-vector-arg-needs-binding-symbol)))
23+
(doseq [extra-vector-arg rest-in-vec]
24+
(api/reg-finding! (assoc (meta extra-vector-arg)
25+
:message "babashka.fs/with-temp-dir vector arg accepts at most 2 values"
26+
:type :babashka-fs/with-temp-dir-vector-arg-extra-value)))
27+
28+
(when binding-sym
29+
{:node (api/list-node
30+
;; satisfy linter by creating binding for for binding-sym
31+
(list*
32+
(api/token-node 'let)
33+
;; it doesn't really matter what we bind to, so long as it is bound
34+
(api/vector-node [binding-sym (api/token-node nil)])
35+
options ;; avoid unused binding when options is a binding
36+
body))}))))))

.github/workflows/release.yml

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

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

2020
- name: Setup Git User so that we can later commit
2121
uses: fregante/setup-git-user@v2
2222

2323
- name: Clojure deps cache
24-
uses: actions/cache@v4
24+
uses: actions/cache@v5
2525
with:
2626
path: |
2727
~/.m2/repository

.github/workflows/test.yml

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

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

3131
- name: Clojure deps cache
32-
uses: actions/cache@v4
32+
uses: actions/cache@v5
3333
with:
3434
path: |
3535
~/.m2/repository

deps.edn

Lines changed: 9 additions & 9 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.27"}
6-
clj-kondo/clj-kondo {:mvn/version "2025.09.22"}
5+
babashka/fs {:mvn/version "0.5.30"}
6+
clj-kondo/clj-kondo {:mvn/version "2025.10.23"}
77
dev.nubank/docopt {:mvn/version "0.6.1-fix7"}
8-
metosin/malli {:mvn/version "0.19.2"}
8+
metosin/malli {:mvn/version "0.20.0"}
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.3"}}}
26+
:1.12 {:override-deps {org.clojure/clojure {:mvn/version "1.12.4"}}}
2727

2828
;;
2929
;; REPL to support bb dev-jvm & dev-cljs tasks, see script/dev_repl.clj
3030
;;
3131
:nrepl
32-
{:extra-deps {nrepl/nrepl {:mvn/version "1.4.0"}
33-
cider/cider-nrepl {:mvn/version "0.57.0"}
32+
{:extra-deps {nrepl/nrepl {:mvn/version "1.5.1"}
33+
cider/cider-nrepl {:mvn/version "0.58.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.3-1"}
44-
com.github.flow-storm/flow-storm-dbg {:mvn/version "4.5.7"}}
43+
:extra-deps {com.github.flow-storm/clojure {:mvn/version "1.12.4"}
44+
com.github.flow-storm/flow-storm-dbg {:mvn/version "4.5.9"}}
4545
:jvm-opts ["-Dclojure.storm.instrumentEnable=true"]}
4646

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

0 commit comments

Comments
 (0)