cljdoc

https://cljdoc.org/ & https://github.com/cljdoc/cljdoc
lread 2019-04-05T00:06:34.052200Z

Ah I see from your previous code you shared with me that you use the the cljs-proper branch on your codox fork?

martinklepsch 2019-04-05T08:07:02.052800Z

@lee great to hear you're making progress, followed your discussion in #clojurescript as well 🙂

martinklepsch 2019-04-05T08:07:28.053400Z

@lee cljdoc uses the cljs-proper branch, that's right

martinklepsch 2019-04-05T08:07:59.054300Z

I'm definitely open to respecting :file metadata when it's present and if such change wouldn't cause any issues with the "usual case"

lread 2019-04-05T16:02:22.057900Z

Thanks! I’ll take a look. I notice that you’ve adapted codox to trust the :file when dealing with macros https://github.com/cljdoc/codox/blob/b29b16ae686e3400689bbdc93df57200b709443d/codox/src/codox/reader/clojurescript.clj#L61 - I’ll experiment with always trusting it. There might have been historical reasons not to always trust :file for cljs?

martinklepsch 2019-04-05T16:05:05.058800Z

@lee I think the reason that it's done the way it is there is mostly that that's how it's been done in the first place

martinklepsch 2019-04-05T16:05:31.059400Z

could very well be that we could rely on :file as provided by metadata in all cases

martinklepsch 2019-04-05T16:05:55.060Z

but would require some more testing, especially with protocol methods and this kind of stuff

lread 2019-04-05T16:07:01.061Z

do you have a set of goto projects you test against?

martinklepsch 2019-04-05T16:07:35.061800Z

There's test-sources in that project which I usually use with the -main to test/debug stuff

martinklepsch 2019-04-05T16:08:03.062200Z

clj -m codox.main clojure test-sources/

lread 2019-04-05T16:08:06.062300Z

ok, good, thanks!

martinklepsch 2019-04-05T16:10:33.063600Z

most of the time I combine this with heavy use of prn and stuff. arguably not the best debugging/testing experience — so very happy if you feel inspired to improve this in any way

lread 2019-04-05T16:12:00.064500Z

do you think some unit tests would be useful for codox?

martinklepsch 2019-04-05T16:12:53.064700Z

totally

martinklepsch 2019-04-05T16:13:14.065300Z

I made some initial work in that direction but didn't finish, let me see if I can commit that to a branch somewhere

lread 2019-04-05T16:16:17.066100Z

oh… you are using kaocha on cljdoc. Cool, wanted to learn about that.

martinklepsch 2019-04-05T16:16:22.066300Z

well actually there's not all that much 😄

martinklepsch 2019-04-05T16:16:54.067200Z

yeah, kaocha is great!

martinklepsch 2019-04-05T16:17:38.068400Z

What could be nice for codox is just a directory with source files and definition what the clj / cljs returns should return for analysing that directory

martinklepsch 2019-04-05T16:17:58.068800Z

kaocha has some deep-diff stuff that could be pretty neat for this

lread 2019-04-05T16:18:12.069200Z

I was going to try kaocha for rewrite-cljs, but got a bit nervous about current clojurescript support.

lread 2019-04-05T16:18:35.069900Z

yeah, I guess more integration tests than unit tests.

martinklepsch 2019-04-05T16:19:30.070700Z

yeah, cljs support is still a bit new unfortunately, I also recently played around with it for a work project but shadow-cljs' built-in testing stuff was sufficient at that point and just worked

lread 2019-04-05T16:20:21.071800Z

I’m enjoying test support in figwheel main for dev right now and am using doo for ci.

martinklepsch 2019-04-05T16:21:16.072900Z

Super cool you're working on rewrite-clj and rewrite-cljs btw, Arne (the author of Kaocha) is a huge fan of rewrite-clj* and always wanted to encourage some folks to contribute 😄

lread 2019-04-05T16:22:36.074200Z

Cool! I’ve got a lot of todos on my list still, but am making good progress. I’ll probably start with an alpha to hopefully get feedback on some of my more, perhaps dubious, choices.

martinklepsch 2019-04-05T16:22:58.074400Z

haha

lread 2019-04-05T16:24:43.075900Z

It’s funny, I started with trying to help out a bit on cljfmt which led me to rewrite-clj which led me to rewrite-cljs with led me to potemkin import-vars which led me to cljdoc. My travels have been interesting and very educational!

martinklepsch 2019-04-05T16:25:40.076200Z

it's a multi-dimensional rabbit hole!

lread 2019-04-05T16:26:02.076600Z

ha! yes