This is an absolutely fantastic article which is just as relevant to ClojureScript development as it is to any other JS language.
It perfectly summarizes why shadow-cljs uses :modules as the default and why it supports very fine grained Build Reports.
:advanced is very very good and means that we don’t have to do much of the stuff the JS world has to do but
:modules are still worth it in many projects. While easy
npm access is nice it can also be a curse so always remember to check what those
npm packages you use actually cost you via the build reports.