-
Notifications
You must be signed in to change notification settings - Fork 789
Reporting Bootstrap Issues
DEPRECATION NOTICE: Please do not edit this wiki. Instead submit pull requests to https://github.com/clojure/clojurescript-site
The up to date version of this page can be found at https://clojurescript.org/community/reporting-bootstrap-issues
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 Nashorn REPL:
$ java -jar cljs.jar -m cljs.repl.nashorn
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} identity)
{:ns cljs.user, :value 3}
(Note: If you have Node installed, you can do the same by replacing cljs.repl.nashorn
with cljs.repl.node
in the above.)
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.
- Rationale
- Quick Start
- Differences from Clojure
- [Usage of Google Closure](Google Closure)