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.

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.