When you change foo.bar namespace, figwheel triggers reloading of foo.bar.
Reload also refreshes goog namespace which has been already patched by figwheel. This reload removes patched function like goog.isProvided_. Consequently goog.provide("foo.bar") fails because original goog.isProvided_ correctly reports that foo.bar is already there. Since then code reloading will not work at all.
Correct behavior should be to call again boostrap-goog-base after goog reload or prevent goog reloading.
This is not huge issue however it can become a nasty surprise. When reloading suddenly stops working, your first reaction is to suspect your latest upgrade of figwheel/cider/nrepl/... rather then change in your namespace dependencies.
Example code:
When you change foo.bar namespace, figwheel triggers reloading of foo.bar.
Reload also refreshes
goog
namespace which has been already patched by figwheel. This reload removes patched function likegoog.isProvided_
. Consequentlygoog.provide("foo.bar")
fails because originalgoog.isProvided_
correctly reports thatfoo.bar
is already there. Since then code reloading will not work at all.Correct behavior should be to call again
boostrap-goog-base
aftergoog
reload or preventgoog
reloading.This is not huge issue however it can become a nasty surprise. When reloading suddenly stops working, your first reaction is to suspect your latest upgrade of figwheel/cider/nrepl/... rather then change in your namespace dependencies.