# New Build Reports with Dependency Traces

**URL:** https://clojureverse.org/t/new-build-reports-with-dependency-traces/7653
**Category:** shadow-cljs
**Created:** [May 11, 2021, 8:24pm UTC](https://clojureverse.org/t/new-build-reports-with-dependency-traces/7653 "2021-05-11T20:24:52Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![thheller](https://clojureverse.org/user_avatar/clojureverse.org/thheller/32/534_2.png) [@thheller](https://clojureverse.org/u/thheller)
#### Post date: [May 11, 2021, 8:24pm UTC](https://clojureverse.org/t/new-build-reports-with-dependency-traces/7653/1 "2021-05-11T20:24:52Z")

</div>

Last weekend I rewrote the [build report](https://shadow-cljs.github.io/docs/UsersGuide.html#build-report) feature a little bit.

In the process I added a new feature that will show why certain files were included in a build in a simplistic shortest path graph trace. Basically most source files you mouse over will show a tooltip showing the trace from the file to the configured `:entries` in the build.

Makes it a lot easier to figure out how a `cljs.pprint` or `cljs.analyzer` ended up in your build. I couldn’t think of a better visualization for this, so I’m open to suggestions.

A sample new report can be found [here](https://code.thheller.com/demos/build-report/ui-report.html). The report is for the current shadow-cljs UI build.

In addition to the new traces the reports can now also be generated by using a build hook. So every `release` build will automatically generate a report without having to run the separate command. See the [documentation](https://shadow-cljs.github.io/docs/UsersGuide.html#build-report) for an example config.

I might add a couple more things in the future but this should already be rather useful.

---

<div class="post-metadata">

### Author: ![tekacs](https://clojureverse.org/user_avatar/clojureverse.org/tekacs/32/3778_2.png) [@tekacs](https://clojureverse.org/u/tekacs)
#### Post date: [May 22, 2021, 8:06pm UTC](https://clojureverse.org/t/new-build-reports-with-dependency-traces/7653/2 "2021-05-22T20:06:13Z")

</div>

This was incredibly helpful, thank you!

I’ve managed to somehow use `shadow.lazy` in a way that pulls in the namespaces that it mentions – I suspected as much but I wasn’t able to figure it out until this change. 🙂

---

<div class="post-metadata">

### Author: ![system](https://clojureverse.org/uploads/default/original/2X/5/51079bf9e4b7d9466242c06cf1e43b9f8bd6da14.png) [@system](https://clojureverse.org/u/system)
#### Post date: [November 21, 2021, 8:06am UTC](https://clojureverse.org/t/new-build-reports-with-dependency-traces/7653/3 "2021-11-21T08:06:30Z")

</div>

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.
