From 3692144bda171e83ae53772b643699f93f89a5a6 Mon Sep 17 00:00:00 2001 From: "Howard M. Lewis Ship" Date: Fri, 14 Aug 2026 10:02:39 -0700 Subject: [PATCH 1/2] chore: bump deps Adjust test for slight change in org.babashka/cli. --- .github/workflows/clojure.yml | 8 ++++---- deps.edn | 14 +++++++------- test/net/lewisship/cli_tools/bb_test.clj | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/clojure.yml b/.github/workflows/clojure.yml index e567d8e..1a5c488 100644 --- a/.github/workflows/clojure.yml +++ b/.github/workflows/clojure.yml @@ -15,7 +15,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v6 + uses: actions/checkout@v7 - name: Setup Java uses: actions/setup-java@v5 @@ -24,12 +24,12 @@ jobs: distribution: 'corretto' - name: Install clojure tools - uses: DeLaGuardo/setup-clojure@13.6.0 + uses: DeLaGuardo/setup-clojure@13.6.1 with: - cli: 1.12.5.1645 + cli: 1.12.5.1664 - name: Cache clojure dependencies - uses: actions/cache@v5 + uses: actions/cache@v6 with: path: | ~/.m2/repository diff --git a/deps.edn b/deps.edn index 29013da..a6babb6 100644 --- a/deps.edn +++ b/deps.edn @@ -14,10 +14,10 @@ {:extra-paths ["test" "test-resources"] :extra-deps {io.github.cognitect-labs/test-runner {:git/tag "v0.5.1" :git/sha "dfb30dd"} - io.github.hlship/trace {:mvn/version "1.4"} + io.github.hlship/trace {:mvn/version "1.5"} io.github.tonsky/clj-reload {:mvn/version "1.0.0"} - nubank/matcher-combinators {:mvn/version "3.10.0"} - babashka/babashka {:mvn/version "1.12.218"}} + nubank/matcher-combinators {:mvn/version "3.11.0"} + babashka/babashka {:mvn/version "1.13.219"}} :exec-fn cognitect.test-runner.api/test :jvm-opts ["-Dclj-commons.ansi.enabled=true"] :exec-args @@ -25,16 +25,16 @@ :pom {:extra-deps {org.clojure/tools.cli {:mvn/version "1.4.256" :optional true} - babashka/fs {:mvn/version "0.5.33" :optional true} + babashka/fs {:mvn/version "0.5.34" :optional true} babashka/process {:mvn/version "0.6.25" :optional true} - selmer/selmer {:mvn/version "1.13.1" :optional true} - org.babashka/cli {:mvn/version "0.8.67" :optional true}}} + selmer/selmer {:mvn/version "1.13.5" :optional true} + org.babashka/cli {:mvn/version "0.12.86" :optional true}}} :1.11 {:override-deps {org.clojure/clojure ^:antq/exclude {:mvn/version "1.11.4"}}} :lint - {:deps {clj-kondo/clj-kondo {:mvn/version "2026.04.15"}} + {:deps {clj-kondo/clj-kondo {:mvn/version "2026.08.04"}} :main-opts ["-m" "clj-kondo.main" "--lint" "src" "test"]} :build diff --git a/test/net/lewisship/cli_tools/bb_test.clj b/test/net/lewisship/cli_tools/bb_test.clj index 4d6ba0c..02e703c 100644 --- a/test/net/lewisship/cli_tools/bb_test.clj +++ b/test/net/lewisship/cli_tools/bb_test.clj @@ -46,5 +46,5 @@ ;; This is quite minimal and may be expanded in the future. (is (match? {:status 1, - :err "Error in bb find: Coerce failure: cannot transform input \"xyz\" to long (option :id, value \"xyz\")\n",} + :err "Error in bb find: Invalid value for option --id: cannot transform input \"xyz\" to long (option :id, value \"xyz\")\n"} (dispatch "bb" "find" "--id" "xyz")))) From 57e7bf40c96e878ebfc9f98783df6537a0e19129 Mon Sep 17 00:00:00 2001 From: "Howard M. Lewis Ship" Date: Fri, 14 Aug 2026 12:32:15 -0700 Subject: [PATCH 2/2] fix(clj-kondo): remove spurious warnings in defcommand Fixes #67 --- .gitignore | 3 ++- .../io.github.hlship/cli-tools/cli_tools/hooks.clj | 9 ++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 2d9afe1..6b4ae60 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,8 @@ *.asc .idea .cpcache -.clj-kondo/.cache +!.clj-kondo/config.edn +.clj-kondo/* .nrepl-port *.iml .*preview diff --git a/resources/clj-kondo.exports/io.github.hlship/cli-tools/cli_tools/hooks.clj b/resources/clj-kondo.exports/io.github.hlship/cli-tools/cli_tools/hooks.clj index f4dbc62..d4173a2 100644 --- a/resources/clj-kondo.exports/io.github.hlship/cli-tools/cli_tools/hooks.clj +++ b/resources/clj-kondo.exports/io.github.hlship/cli-tools/cli_tools/hooks.clj @@ -38,7 +38,14 @@ (let [pairs (partition 2 opts) collector (api/token-node (gensym "options")) map-terms (mapcat (fn [[sym v]] - [(api/keyword-node (-> sym str keyword)) v]) + [(api/keyword-node (-> sym str keyword)) + ;; Trying to defeat clj-kondo, which sees the vectors that define arguments or options + ;; a literals that are always true, or not a string. + ;; This passes each vector through identity which, for the meantime, hides from clj-kondo + ;; its type which prevents certain warnings. + (api/list-node + (list `identity + v))]) pairs)] [collector (api/map-node (vec map-terms))