omcljs / om

ClojureScript interface to Facebook's React
6.65k stars 364 forks source link

Advanced cljsbuild with default settings emits a warning #911

Open tomjkidd opened 5 years ago

tomjkidd commented 5 years ago

First would like to say thank you for creating and maintaining this library!

I have a project that I am working on for my work, and we are trying to upgrade to the latest clojurescript, from 1.10.339 to 1.10.520. We are also trying to upgrade to the latest om, from 1.0.0-beta3 to 1.0.0-beta4.

Running lein with-profile prod cljsbuild once prod worked previously. With the updates, we get the following warning (which is treated as an error for our build profile).

Compiling ["resources/public/js/compiled/main.js"] from ["src-common" "src"]...
Aborting due to unhandled warning
{:message
 "*logger* not declared dynamic and thus is not dynamically rebindable, but its name suggests otherwise. Please either indicate ^:dynamic *logger* or change the name at line 493 resources/public/js/compiled/out/om/next.cljc",
 :warning-type :non-dynamic-earmuffed-var}
Error encountered performing task 'cljsbuild' with profile(s): 'prod'
Subprocess failed

I think we can add :non-dynamic-earmuffed-var to our warnings, but we don't want to turn them off globally. Any suggestions?