Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions .clj-kondo/imports/taoensso/encore/config.edn
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{:hooks
{:analyze-call
{taoensso.encore/defalias taoensso.encore/defalias
taoensso.encore/defn-cached taoensso.encore/defn-cached
taoensso.encore/defonce taoensso.encore/defonce}}}
{taoensso.encore/defalias taoensso.encore-hooks/defalias
taoensso.encore/defaliases taoensso.encore-hooks/defaliases
taoensso.encore/defn-cached taoensso.encore-hooks/defn-cached
taoensso.encore/defonce taoensso.encore-hooks/defonce}}}
82 changes: 82 additions & 0 deletions .clj-kondo/imports/taoensso/encore/taoensso/encore_hooks.clj
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
(ns taoensso.encore-hooks
"I don't personally use clj-kondo, so these hooks are
kindly authored and maintained by contributors.
PRs very welcome! - Peter Taoussanis"
(:refer-clojure :exclude [defonce])
(:require
[clj-kondo.hooks-api :as hooks]))

(defn defalias
[{:keys [node]}]
(let [[alias src-raw _attrs body] (rest (:children node))
src (or src-raw alias)
sym (if src-raw (hooks/sexpr alias) (symbol (name (hooks/sexpr src))))]
{:node
(with-meta
(hooks/list-node
[(hooks/token-node 'def)
(hooks/token-node sym)
(if body
(hooks/list-node
;; use :body in the def to avoid unused import/private var warnings
[(hooks/token-node 'or) body src])
src)])
(meta src))}))

(defn defaliases
[{:keys [node]}]
(let [alias-nodes (rest (:children node))]
{:node
(hooks/list-node
(into
[(hooks/token-node 'do)]
(map
(fn alias->defalias [alias-node]
(cond
(hooks/token-node? alias-node)
(hooks/list-node
[(hooks/token-node 'taoensso.encore/defalias)
alias-node])

(hooks/map-node? alias-node)
(let [{:keys [src alias attrs body]} (hooks/sexpr alias-node)
;; workaround as can't seem to (get) using a token-node
;; and there's no update-keys (yet) in sci apparently
[& {:as node-as-map}] (:children alias-node)
{:keys [attrs body]} (zipmap (map hooks/sexpr (keys node-as-map))
(vals node-as-map))]
(hooks/list-node
[(hooks/token-node 'taoensso.encore/defalias)
(or alias src) (hooks/token-node src) attrs body])))))
alias-nodes))}))

(defn defn-cached
[{:keys [node]}]
(let [[sym _opts binding-vec & body] (rest (:children node))]
{:node
(hooks/list-node
(list
(hooks/token-node 'def)
sym
(hooks/list-node
(list*
(hooks/token-node 'fn)
binding-vec
body))))}))

(defn defonce
[{:keys [node]}]
;; args = [sym doc-string? attr-map? init-expr]
(let [[sym & args] (rest (:children node))
[doc-string args] (if (and (hooks/string-node? (first args)) (next args)) [(hooks/sexpr (first args)) (next args)] [nil args])
[attr-map init-expr] (if (and (hooks/map-node? (first args)) (next args)) [(hooks/sexpr (first args)) (fnext args)] [nil (first args)])

attr-map (if doc-string (assoc attr-map :doc doc-string) attr-map)
sym+meta (if attr-map (with-meta sym attr-map) sym)
rewritten
(hooks/list-node
[(hooks/token-node 'clojure.core/defonce)
sym+meta
init-expr])]

{:node rewritten}))
4 changes: 2 additions & 2 deletions deps.edn
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
{;; for disabling the official compiler
:classpath-overrides {org.clojure/clojure nil}
:extra-deps {com.github.flow-storm/clojure {:mvn/version "1.12.1"}
com.github.flow-storm/flow-storm-dbg {:mvn/version "4.4.5"}}
com.github.flow-storm/flow-storm-dbg {:mvn/version "4.4.6"}}
:jvm-opts ["-Dclojure.storm.instrumentEnable=true"]}

:nrepl/jvm
Expand Down Expand Up @@ -130,7 +130,7 @@
cli-matic/cli-matic {:mvn/version "0.5.4"}}}

:apply-import-vars {:override-deps {org.clojure/clojure {:mvn/version "1.12.1"}}
:extra-deps {metosin/malli {:mvn/version "0.18.0"}
:extra-deps {metosin/malli {:mvn/version "0.19.1"}
io.aviso/pretty {:mvn/version "1.4.4"}}
:ns-default lread.apply-import-vars}

Expand Down
34 changes: 17 additions & 17 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@
"karma-cljs-test": "^0.1.0",
"karma-junit-reporter": "^2.0.0",
"karma-spec-reporter": "^0.0.36",
"shadow-cljs": "^3.1.5"
"shadow-cljs": "^3.1.7"
}
}
4 changes: 2 additions & 2 deletions script/test_libs.clj
Original file line number Diff line number Diff line change
Expand Up @@ -329,14 +329,14 @@
"bin/test unit"]}
{:name "clojure-lsp"
:platforms [:clj]
:version "2025.06.06-19.04.49"
:version "2025.06.13-20.45.44"
:github-release {:repo "clojure-lsp/clojure-lsp"}
:patch-fn clojure-lsp-patch
:show-deps-fn clojure-lsp-deps
:test-cmds ["bb test"]}
{:name "clojure-mcp"
:platforms [:clj]
:version "0.1.1-alpha"
:version "0.1.4-alpha"
:github-release {:repo "bhauman/clojure-mcp"
:via :tag
:version-prefix "v"}
Expand Down
Loading