Fork me on GitHub
#cljs-dev
<
2020-06-11
>
dnolen13:06:09

@henryw374 this is doesn't affect most libs in CLJSJS, so this isn't needed - it's easy to miss the details here

dnolen13:06:00

it's also a potential caching issue (you might not hit, because you install your deps first), not a overall support problem

dnolen13:06:20

anyways I don't want to go over it again - just sitting on it for now until there's more feedback and better ideas

dnolen13:06:36

flags don't really help at all because it's not about configuration - only caching

henryw37413:06:59

oh I see. I was thinking that dropping cljsjs deps would become the preferrred thing for libs to do generally

dnolen13:06:11

yes so users don't inadvertently hit the caching issue

dnolen13:06:26

which can always be fixed by blowing away ~/.cljs and your build

dnolen13:06:56

and no, dropping cljsjs deps is not preferred

dnolen13:06:02

no interest in breaking anything and dropping support for anything

dnolen13:06:10

anything that worked before will continue to work

dnolen13:06:40

the only time we've ever not followed that was because the maintenance is impractical and the affected users are too small

dnolen13:06:03

i.e. the less popular REPLs

henryw37413:06:21

cool. I still think the flag would be good, so non-shadow npm users don't have to track down and exclude cljsjs deps. the flag could work so you set it to ignore foreign-libs - so it's an opt-in

dnolen13:06:50

more flags means more confusion - so just not interested at the moment

henryw37413:06:19

fair enough. there are quite a few flags already

dnolen13:06:12

but it's still way better than most JS tooling - let's keep it that way

mikerod13:06:54

“There’s a flag for that” ™️

dominicm20:06:18

@dnolen https://github.com/clojure/clojurescript/commit/45022fa177dc900b774c6736e04e698426bf55c8#diff-3f5db04e51ac4262a2042aa4d80010a2L137-R131 looks like this commit (and line number) changed the behavior of the function. This has broken cljdoc upstream.

dnolen20:06:29

docstring patch would be cool! 🙂

dominicm20:06:58

@dnolen just to clarify - does that mean it's intentional that it no longer uses cljs.env/*compiler* (it used to)

dominicm20:06:06

Maybe cljdoc shouldn't be using that API if it's unstable. Is there an alternative?

dnolen20:06:07

it uses empty-state from the analyzer api so that the dyn var can become a detail

dnolen20:06:33

I've tried to start hiding the dyn vars, you can see this in the various changes to the api

dnolen20:06:55

and the dogfooding as in this case

dominicm20:06:49

OK. No problem. In that case I'll merge the change to cljdoc which will explicitly pass the state in instead :)

dominicm20:06:00

If I don't forget, I'll put a docstring patch together (I'll check any other relevant fns from that commit too).