Compiler complains of missing provides when there is circular dependency in node_modules.
Cause is the order of the 'goog.addDependency' statements in out/cljs_deps.js
goog.addDependency("../node_modules/lib1.js", ['lib1'], ['lib2']); // This line will fail since 'lib2' is not yet provided
goog.addDependency("../node_modules/lib2.js", ['lib2'], ['lib1']);
Example of affected node_modules: apollo-client 1.9.2
I'm not sure if this is a closure compiler limitation or explicitly unsupported, but it does reduce the number of node packages that can be included using node_modules.
Current workaround is to rewrite the library code to not have circular deps or to switch to cljsjs.