Fork me on GitHub
Alys Brooks02:06:30

Working on adding shadow-cljs to a project, and when I open a REPL after adding shadow-cljs to the deps, it's complaining about not being able to find cider/piggieback, (a requirement of our REPL entry point function). shadow-cljs also has a dependency on cider/piggieback, but it's the same version, so I can't see why that would make a difference.

Alys Brooks02:06:51

Maybe this is a question for #clojure though?

Alys Brooks02:06:45

Sorry, was that in response to me? I don't think that's related because it's not a ClojureScript REPL where I'm encountering the issue.


Sorry that was another question. Glad you solved your problem.

Alys Brooks02:06:49

Anyway, fixed my issue by increasing the ClojureScript version.


@i the blog post is referring to the compiler warning get. the runtime environment is irrelevant for that, but yes existing definitions in the runtime are not removed. the next sentence even mentions that?


So what’s the purpose of loading dependent namespaces. Solely for that warning?


loading has nothing to do with it? I'm not sure what you are actually asking?


it recompiles the dependent namespaces for the potential warnings yes. as explained in the blog post


I was saying the only benefit of loading dependent namespace is for the warning. I cannot see other benefits.


please be precise with the words you are using.


compiling dependent namespaces. not loading.


and yes, that is only done for the warnings. no other reason. but compiling produces the warnings. not loading them.


Ah. I didn’t know it. Turns out only the modified namespace will be loaded. Extra question, since the dependent namespace is not changed. So when compiling again on it, how will do with the compiled output, just ignore it?


compiled output js file


"not changed" is a kind of difficult subject to figure out. so it is loaded along with the modified namespace


> compiling dependent namespaces. not loading. So the dependent namespace was loaded eventually? I thought you were saying its only compiled but not loaded (evaluated) at all.


no, you asked about warnings. I was emphasizing that loading does not produce the warnings, compilation does. after compilation they are loaded yes


Right. That makes sense.