$ 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
Please enter issues with self-hosted / bootstrapped ClojureScript
marked as having Minor priority
title prefixed with "Self-host: "
marked with bootstrap
label
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.