       false)))
 
 (defn analyze-deps
+  "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."
   ([lib deps env] (analyze-deps lib deps env nil))
   ([lib deps env opts]
    (let [compiler @env/*compiler*]

       (io/file (str target-file ".cache.edn"))))))

(defn requires-analysis?
  ([src] (requires-analysis? src "out"))
  ([src output-dir]
    (let [cache (cache-file src output-dir)]

    (when (and mvar (.isMacro ^clojure.lang.Var mvar))
      (with-meta @mvar (meta mvar)))))

(defn macroexpand-1
  "Given a env, an analysis environment, and form, a ClojureScript form,
   macroexpand the form once."
  [env form]
  (env/ensure
    (wrapping-errors env
      (let [op (first form)]
