Liking cljdoc? Tell your friends :D

Compatibility

clj 1.9 + cljs 1.10.339clj 1.10 + cljs 1.10.439clj 1.10 + cljs 1.10.516clj 1.10 + cljs 1.10.520
expoundyesyesyesyes
explainyesyesyesyes
explain-resultsyesyesyesyes
expound errors for instrumented functionsyesnoyesyes
expound errors for macros [^1]yesyesyesyes

Relevant JIRAs

[^1]: Due to the way that macros are expanded in ClojureScript, you'll need to configure Expound in Clojure. This does not apply to self-hosted ClojureScript.

(Note the `-e` arg below)

`clj -Srepro -Sdeps '{:deps {expound {:mvn/version "0.8.5"} org.clojure/test.check {:mvn/version "0.9.0"} org.clojure/clojurescript {:mvn/version "1.10.520"}}}' -e "(require '[expound.alpha :as expound]) (set! clojure.spec.alpha/*explain-out* expound.alpha/printer)" -m cljs.main -re node`

Now you will get Expound errors during macro-expansion:

```
ClojureScript 1.10.520
cljs.user=> (require '[clojure.core.specs.alpha])
nil
cljs.user=> (let [x])
Execution error - invalid arguments to cljs.analyzer/do-macroexpand-check at (analyzer.cljc:3772).
-- Spec failed --------------------

  ([x])
   ^^^

should satisfy

  even-number-of-forms?

-- Relevant specs -------

:cljs.core.specs.alpha/bindings:
  (clojure.spec.alpha/and
   clojure.core/vector?
   cljs.core.specs.alpha/even-number-of-forms?
   (clojure.spec.alpha/* :cljs.core.specs.alpha/binding))

-------------------------
Detected 1 error
cljs.user=>
```

Can you improve this documentation?Edit on GitHub

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close