CLJS
basic-lein-cljs.core
cljs.analyzer
cljs.compiler
CLJS
cljs.core
CLJS
cljs.core.async
CLJS
cljs.core.async.impl.buffers
CLJS
cljs.core.async.impl.channels
CLJS
cljs.core.async.impl.dispatch
CLJS
cljs.core.async.impl.ioc-helpers
CLJS
cljs.core.async.impl.protocols
CLJS
cljs.core.async.impl.timers
cljs.env
cljs.externs
CLJS
cljs.js
cljs.js-deps
CLJS
cljs.pprint
CLJS
cljs.reader
CLJS
cljs.repl
cljs.source-map
CLJS
cljs.source-map
cljs.source-map.base64
CLJS
cljs.source-map.base64
cljs.source-map.base64-vlq
CLJS
cljs.source-map.base64-vlq
CLJS
cljs.spec.alpha
CLJS
cljs.spec.gen.alpha
cljs.tagged-literals
CLJS
cljs.tools.reader
CLJS
cljs.tools.reader.edn
CLJS
cljs.tools.reader.impl.commons
CLJS
cljs.tools.reader.impl.errors
CLJS
cljs.tools.reader.impl.inspect
CLJS
cljs.tools.reader.impl.utils
CLJS
cljs.tools.reader.reader-types
cljs.util
clojure.core
clojure.core.async
clojure.core.async.impl.buffers
clojure.core.async.impl.channels
clojure.core.async.impl.concurrent
clojure.core.async.impl.dispatch
clojure.core.async.impl.exec.threadpool
clojure.core.async.impl.ioc-macros
clojure.core.async.impl.mutex
clojure.core.async.impl.protocols
clojure.core.async.impl.timers
clojure.core.cache
clojure.core.memoize
clojure.core.protocols
clojure.core.server
clojure.data.json
clojure.data.priority-map
clojure.edn
clojure.instant
clojure.java.io
clojure.main
clojure.pprint
clojure.reflect
clojure.repl
clojure.set
CLJS
clojure.set
clojure.spec.alpha
clojure.spec.gen.alpha
clojure.string
CLJS
clojure.string
clojure.tools.analyzer
clojure.tools.analyzer.ast
clojure.tools.analyzer.env
clojure.tools.analyzer.jvm
clojure.tools.analyzer.jvm.utils
clojure.tools.analyzer.passes
clojure.tools.analyzer.passes.add-binding-atom
clojure.tools.analyzer.passes.cleanup
clojure.tools.analyzer.passes.constant-lifter
clojure.tools.analyzer.passes.elide-meta
clojure.tools.analyzer.passes.emit-form
clojure.tools.analyzer.passes.jvm.analyze-host-expr
clojure.tools.analyzer.passes.jvm.annotate-host-info
clojure.tools.analyzer.passes.jvm.annotate-loops
clojure.tools.analyzer.passes.jvm.annotate-tag
clojure.tools.analyzer.passes.jvm.box
clojure.tools.analyzer.passes.jvm.classify-invoke
clojure.tools.analyzer.passes.jvm.constant-lifter
clojure.tools.analyzer.passes.jvm.emit-form
clojure.tools.analyzer.passes.jvm.fix-case-test
clojure.tools.analyzer.passes.jvm.infer-tag
clojure.tools.analyzer.passes.jvm.validate
clojure.tools.analyzer.passes.jvm.validate-loop-locals
clojure.tools.analyzer.passes.jvm.validate-recur
clojure.tools.analyzer.passes.jvm.warn-on-reflection
clojure.tools.analyzer.passes.source-info
clojure.tools.analyzer.passes.trim
clojure.tools.analyzer.passes.uniquify
clojure.tools.analyzer.passes.warn-earmuff
clojure.tools.analyzer.utils
clojure.tools.cli
clojure.tools.namespace.dependency
clojure.tools.namespace.file
clojure.tools.namespace.find
clojure.tools.namespace.parse
clojure.tools.namespace.track
clojure.tools.reader
clojure.tools.reader.default-data-readers
clojure.tools.reader.impl.commons
clojure.tools.reader.impl.errors
clojure.tools.reader.impl.inspect
clojure.tools.reader.impl.utils
clojure.tools.reader.reader-types
clojure.walk
CLJS
clojure.walk
dynadoc.aliases
dynadoc.common
dynadoc.core
CLJS
dynadoc.core
dynadoc.example
CLJS
dynadoc.state
dynadoc.static
dynadoc.utils
dynadoc.watch
eval-soup.clojail
eval-soup.core
CLJS
eval-soup.core
CLJS
figwheel.client
CLJS
figwheel.client.file-reloading
CLJS
figwheel.client.heads-up
CLJS
figwheel.client.socket
CLJS
figwheel.client.utils
hawk.core
hawk.watcher
html-soup.core
ns-tracker.core
ns-tracker.dependency
ns-tracker.nsdeps
ns-tracker.parse
CLJS
oakcljs.tools.reader
CLJS
oakcljs.tools.reader.impl.commons
CLJS
oakcljs.tools.reader.impl.errors
CLJS
oakcljs.tools.reader.impl.inspect
CLJS
oakcljs.tools.reader.impl.utils
CLJS
oakcljs.tools.reader.reader-types
oakclojure.tools.reader
oakclojure.tools.reader.default-data-readers
oakclojure.tools.reader.impl.commons
oakclojure.tools.reader.impl.errors
oakclojure.tools.reader.impl.inspect
oakclojure.tools.reader.impl.utils
oakclojure.tools.reader.reader-types
org.httpkit.server
CLJS
paren-soup.console
CLJS
paren-soup.core
CLJS
paren-soup.dom
CLJS
paren-soup.instarepl
CLJS
reagent.core
CLJS
reagent.debug
CLJS
reagent.dom
CLJS
reagent.impl.batching
CLJS
reagent.impl.component
CLJS
reagent.impl.template
CLJS
reagent.impl.util
CLJS
reagent.ratom
ring.middleware.content-type
ring.middleware.file
ring.middleware.head
ring.middleware.keyword-params
ring.middleware.params
ring.middleware.reload
ring.middleware.resource
ring.util.codec
ring.util.io
ring.util.mime-type
ring.util.parsing
ring.util.request
ring.util.response
ring.util.time
rum.core
CLJS
rum.core
rum.cursor
rum.derived-atom
rum.server-render
rum.util
sablono.compiler
CLJS
sablono.core
sablono.normalize
sablono.util
tag-soup.core

cljs.analyzer

(add-consts compiler-state constants-map)

Given a compiler state and a map from fully qualified symbols to constant EDN values, update the compiler state marking these vars as const to support direct substitution of these vars in source.

(aliasable-clj-ns? sym)

Predicate for testing with a symbol represents an aliasable clojure namespace.

(analyze env form)

(analyze env form name)

(analyze env form name opts)

Given an environment, a map containing {:locals (mapping of names to bindings), :context (one of :statement, :expr, :return), :ns (a symbol naming the compilation ns)}, and form, returns an expression object (a map containing at least :form, :op and :env keys). If expr has any (immediately) nested exprs, must have :children [exprs...] entry. This will facilitate code walking without knowing the details of the op set.

(analyze-deps lib deps env)

(analyze-deps lib deps env opts)

Given a lib, a namespace, deps, its dependencies, env, an analysis environment and opts, compiler options - analyze all of the dependencies. Required to correctly analyze usage of other namespaces.

(analyze-file f)

(analyze-file f opts)

(analyze-file f skip-cache opts)

Given a java.io.File, java.net.URL or a string identifying a resource on the classpath attempt to analyze it. This function side-effects the ambient compilation environment `cljs.env/*compiler*` to aggregate analysis information. opts argument is compiler options, if :cache-analysis true will cache analysis to ":output-dir/some/ns/foo.cljs.cache.edn". This function does not return a meaningful value.

(analyze-symbol env sym)

Finds the var associated with sym

(analyzed x)

Mark a form as being analyzed. Assumes x satisfies IMeta. Useful to suppress warnings that will have been caught by a first compiler pass.

(analyzed? x)

Returns boolean if the form has already been marked as analyzed.

(cache-file src)

(cache-file src output-dir)

(cache-file src ns-info output-dir)

(cache-file src ns-info output-dir mode)

Given a ClojureScript source file returns the read/write path to the analysis cache file. Defaults to the read path which is usually also the write path.

(checked-arrays)

Returns false-y, :warn, or :error based on configuration and the current value of *unchecked-arrays*.

(clj-ns->cljs-ns sym)

Given a symbol that starts with clojure as the first segment return the same symbol with the first segment replaced with cljs

(confirm-bindings env names)

Given env, an analysis environment env, and names, a list of symbols, confirm that all correspond to declared dynamic vars.

(confirm-ns env ns-sym)

Given env, an analysis environment, and ns-sym, a symbol identifying a namespace, confirm that the namespace exists. Warn if not found.

constants-ns-sym

The namespace of the constants table as a symbol.

(core-name? env sym)

Is sym visible from core in the current compilation namespace?

(desugar-ns-specs args)

Given an original set of ns specs desugar :include-macros and :refer-macros usage into only primitive spec forms - :use, :require, :use-macros, :require-macros. If a library includes a macro file of with the same name as the namespace will also be desugared.

(dump-specs ns)

Dumps registered speced vars for a given namespace into the compiler environment.

(empty-env)

Construct an empty analysis environment. Required to analyze forms.

(forms-seq f)

(forms-seq f filename)

(forms-seq f filename return-reader?)

DEPRECATED: Seq of Clojure/ClojureScript forms from [f], which can be anything for which `clojure.java.io/reader` can produce a `java.io.Reader`. Optionally accepts a [filename] argument, which the reader will use in any emitted errors.

(forms-seq* rdr)

(forms-seq* rdr filename)

Seq of Clojure/ClojureScript forms from rdr, a java.io.Reader. Optionally accepts a filename argument which will be used in any emitted errors.

(get-expander sym env)

Given a sym, a symbol identifying a macro, and env, an analysis environment return the corresponding Clojure macroexpander.

(infer-tag env e)

Given env, an analysis environment, and e, an AST node, return the inferred type of the node

(intern-macros ns)

(intern-macros ns reload)

Given a Clojure namespace intern all macros into the ambient ClojureScript analysis environment.

(invokeable-ns? ns env)

Returns true if ns is a required namespace and a JavaScript module that might be invokeable as a function.

(loaded-js-ns? env prefix)

Check if a JavaScript namespace has been loaded. JavaScript vars are not currently checked.

(locate-src ns)

Given a namespace return the corresponding ClojureScript (.cljs or .cljc) resource on the classpath or file from the root of the build.

(macro-autoload-ns? form)

Given a spec form check whether the spec namespace requires a macro file of the same name. If so return true.

(macroexpand-1 env form)

Given a env, an analysis environment, and form, a ClojureScript form, macroexpand the form once.

(parse-ns src)

(parse-ns src opts)

(parse-ns src dest opts)

Helper for parsing only the essential namespace information from a ClojureScript source file and returning a cljs.closure/IJavaScript compatible map _not_ a namespace AST node. By default does not load macros or perform any analysis of dependencies. If opts parameter provided :analyze-deps and :load-macros keys their values will be used for *analyze-deps* and *load-macros* bindings respectively. This function does _not_ side-effect the ambient compilation environment unless requested via opts where :restore is false.

(register-specs cached-ns)

Registers speced vars found in a namespace analysis cache.

(requires-analysis? src)

(requires-analysis? src output-dir)

(requires-analysis? src cache output-dir)

Given a src, a resource, and output-dir, a compilation output directory return true or false depending on whether src needs to be (re-)analyzed. Can optionally pass cache, the analysis cache file.

(resolve-alias ns sym)

Takes a namespace and an unqualified symbol and potentially returns a new symbol to be used in lieu of the original.

(resolve-existing-var env sym)

Given env, an analysis environment, and sym, a symbol, resolve an existing var. Emits a warning if no such var exists.

(resolve-macro-var env sym)

Given env, an analysis environment, and sym, a symbol, resolve a macro.

(resolve-var env sym)

(resolve-var env sym confirm)

Resolve a var. Accepts a side-effecting confirm fn for producing warnings about unresolved vars.

(rewrite-cljs-aliases args)

Alias non-existing clojure.* namespaces to existing cljs.* namespaces if possible.