shadow-cljs

Josh 2025-03-07T22:29:14.980189Z

Hi, I'm updating shadow-cljs from 2.12.5 to 2.28.21and it seems like at some point shadow-cljs might have stopped deduplicating npm dependencies? Does anyone know if shadow-cljs used to do this or am I seeing another issue?

Josh 2025-03-07T22:29:58.782769Z

the duplicated deps look like this in the build report

thheller 2025-03-08T07:27:15.281599Z

yes, the default is now following exactly what your dependency tree wants basically. some builds don't work otherwise.

thheller 2025-03-08T07:28:17.517489Z

best way to deal with it is fixing the dependency conflict at the npm level. kinda weird that the same version is used. never seen that before. guessing your top level may have a different version pinned?

thheller 2025-03-08T07:28:29.688049Z

you can set :js-options {:allow-nested-packages false} to disallow this

thheller 2025-03-08T07:29:05.922319Z

that brings you back to the old behavior

Josh 2025-03-08T13:31:58.110489Z

oh ok thanks! I deduped a lot of them with yarn-deduplicate, but this case is very odd, I didn't have a top level version pinned, I think one of the deps was coming from d3 which was top level and the other from mermaidjs. managed to fix it by updating both

👍 2