ClojureScript

Reporting Issues

It’s important that before submitting any issue that you have a thorough understanding of the Quick Start first. Even if you are an experienced ClojureScript developer this is required reading.

It’s helpful, but not essential, to first check the existing bug reports, the mailing list, or the Freenode #clojurescript IRC channel or Slack channels and ensure that the issue hasn’t been reported before.

Also, it can be helpful to ensure that you are running the latest released version of ClojureScript. Also, checking against ClojureScript master is prudent—frequently when bugs are found, fixes are quickly committed (see instructions below).

It is essential, however, to report the bug using ClojureScript only. Downstream tooling often interacts with the ClojureScript compiler in non-trivial ways, and the best way to isolate the issue to ClojureScript is to remove them from the report altogether.

Please report issues by building the uberjar from master and using this to verify the issue. Do not use any other 3rd party tooling (Maven, Leiningen, Boot). When creating issues please add all relevant instructions and code to reproduce to the ticket directly or via additional comments. Please do not attach projects, links to projects, links to gists / pastebins, or zips.

Bootstrap issues may require special consideration. Please see Reporting Bootstrap Issues for more details.

Building the uberjar from master

Make a checkout of the ClojureScript repository. From the root of the project run the following:

./script/uberjar

This will create target/cljs.jar.

Installing from master

When verifying issues it may be useful to first check that the issue has not already been resolved in master. Do not report issues using this method, it’s only for convenience when verifying master yourself. Make a checkout of the ClojureScript repository. From the root of the project run the following:

./script/build

This will install ClojureScript into your local Maven. Make note of the version when it scrolls by. Use this as appropriate for your tooling.