Include both JVM and JS implementations
Opened this issue · 1 comments
shaunlebron commented
As was mentioned, we should probably show both JVM and JS implementations: #147
This is confusing because there are two versions of the ClojureScript compiler:
- ClojureScript JVM (built in Clojure) - the optimized compiler for use in production
- ClojureScript JS (built in ClojureScript) - the bootstrapped compiler that was added after some years
Both versions are in the same codebase, but they are separated by the #?(:clj ...)
and #?(:cljs ...)
switches, respectively.
We're currently only reading the :clj
versions of the functions
shaunlebron commented
cljc files that we are currently parsing:
$ grep ':filename.*\.cljc' cljs-api.edn | awk '{print $2}' | tr -d '",' | sort -u
# library
src/main/cljs/cljs/pprint.cljc
src/main/cljs/cljs/test.cljc
src/main/cljs/cljs/spec.cljc
src/main/cljs/cljs/spec/alpha.cljc
src/main/cljs/cljs/spec/gen/alpha.cljc
src/main/cljs/cljs/spec/impl/gen.cljc
src/main/cljs/cljs/spec/test.cljc
src/main/cljs/cljs/spec/test/alpha.cljc
# compiler
src/main/clojure/cljs/core.cljc
src/main/clojure/cljs/compiler.cljc
src/main/clojure/cljs/repl.cljc
src/main/clojure/cljs/tagged_literals.cljc
src/main/clojure/cljs/analyzer.cljc
src/main/clojure/cljs/analyzer/api.cljc