0.9.3
Fun with dead code elimination (DCE)
Remember: you should not require anything from devtools in :advanced mode
Note: You don't do that if you use cljs-devtools via :preloads
. That is the recommended way.
The problem: Even if you don't use anything from devtools just requiring it might cause your :advanced
build to bloat. The gist of the problem is that cljs-devtools requires cljs.pprint
and cljs.stacktrace
and those are not really DCE-friendly. Just requiring them adds a lot of dead weight to your build.
There does not seem to be an easy solution to this problem. So I decided to at least emit a compile-time warning to bring some attention to this issue.
You can follow genesis of this story in issue 37.
Notable commits:
0c773ba treat external config and env config strictly as data
30a3497 dance around DCE issues (#37)
2c32e41 show a compile-time warning when required under non-dev builds (#37)
All new work: v0.9.2...v0.9.3