cljdoc

https://cljdoc.org/ & https://github.com/cljdoc/cljdoc
dominicm 2020-06-05T09:50:50.071400Z

@tony.kay I think tick does depend on cljsjs

dominicm 2020-06-05T09:50:57.071700Z

It just uses the foreign libs

martinklepsch 2020-06-05T09:53:07.073100Z

Check the latest commits in cljdoc/cljdoc-analyzer and feel free to add any JS deps in the same fashion. This recently fixed the issue for Pathom. @tony.kay @danvingo

martinklepsch 2020-06-05T09:55:25.075Z

We’re already automatically detecting this now for string requires inside the analyzed project but it’s obviously more involved to do for the the entire classpath (but I guess it would be possible)

dominicm 2020-06-05T10:22:11.075400Z

I think the right way to populate that list is by looking at deps.cljs

dominicm 2020-06-05T10:23:09.075500Z

https://github.com/cljsjs/packages/blob/master/d3/build.boot#L25-L26 You need to find deps.cljs files, and look for their :provides in order to determine what js deps they need.

dominicm 2020-06-05T10:23:50.075700Z

@martinklepsch Been a while since I read the code, does the analyzer have access to the classpath of the lib?

martinklepsch 2020-06-05T10:25:38.076400Z

Yeah that might be a good approach. The analyzer does have access to the full classpath

tony.kay 2020-06-05T12:58:53.076800Z

But if you’re not using cljsjs, and instead getting things from npm directly, classpath doesn’t help you.

martinklepsch 2020-06-05T12:59:42.077700Z

That’s where the commit above helps

tony.kay 2020-06-05T12:59:47.077900Z

right

tony.kay 2020-06-05T13:00:24.078700Z

I need to review the ecosystem story for how we are doing transitive npm deps (i.e. are we?)…as a library maintainer I should really know that

tony.kay 2020-06-05T13:00:48.079Z

too few hours in a day

dominicm 2020-06-05T14:46:54.080300Z

If you're compatible with an npm dependency in your library, then you might have :npm-deps in your deps.cljs.