weavejester / environ

Library for managing environment variables in Clojure
924 stars 71 forks source link

1.0.2 breaks ClojureScript builds #52

Closed cap10morgan closed 8 years ago

cap10morgan commented 8 years ago

I'm not sure what changed, but upgrading to 1.0.2 breaks my ClojureScript builds. 1.0.1 works fine.

weavejester commented 8 years ago

Could you give some more information?

  1. What's the error message?
  2. What tool are you using to compile ClojureScript?
  3. What ClojureScript version are you using?
  4. If you're using Leiningen, have you tried performing a lein clean?
  5. If you're using the lein-environ package, are all of the variables in :env strings?
cap10morgan commented 8 years ago
  1. The error message varies, but is often similar to: TypeError: undefined is not an object from PhantomJS trying to run our test suite.
  2. lein cljsbuild
  3. I've tried every version from 1.7.170 to 1.8.40.
  4. I have done a lein clean, yes.
  5. One was not, but now it is, and that fixed it. So yay!
weavejester commented 8 years ago

I can't recall where I saw it, but I remember someone reporting that the ClojureScript compiler inserts anything sent to STDERR to the JavaScript output. My guess is that if you search through your failed JavaScript output for "has been cast to string", then you'll find Environ's warning message erroneously inserted. This likely isn't a problem with Environ, but a bug in either the ClojureScript compiler or cljsbuild.