ClojureScript
Reporting Bootstrap Issues

Reporting Bootstrap Issues

Ticket Entry

Please enter issues with self-hosted / bootstrapped ClojureScript

  • marked as having Minor priority

  • title prefixed with "Self-host: "

  • marked with bootstrap label

Minimal Repro

Do not rely on downstream bootstrapped environments to report or demonstrate issues.

Oftentimes, a new unit test can be written that fails when script/test-self-parity is run. (This runs the compiler unit tests, but in a bootstrap environment).

Otherwise, reproduction steps generally need to involve minimal code that exercises cljs.js, demonstrating the issue.

Frequently it is possible to do this with a couple of lines in a REPL. Here is an example exercising the cljs.js/eval-str API by simply issuing a couple forms in the shipping Node REPL:

$ clj -M -m cljs.main cljs.repl.node
To quit, type: :cljs/quit
cljs.user=> (require 'cljs.js)
nil
cljs.user=> (cljs.js/eval-str (cljs.js/empty-state)
  "(+ 1 2)" nil {:eval cljs.js/js-eval :context :expr} prn)
{:ns cljs.user, :value 3}
nil

For more complex situations, reproduction could involve additional code, or even a new self-host unit test that exhibits the problem. Information on self-host unit tests is here.