Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I did not know about :pseudo-names, that looks to be quite helpful. Thanks.

This is the method I was dealing with: https://github.com/city41/bookends/blob/master/site/src/cljs...

In that let expression I'm digging my way down into a native JS object to monkey patch it. The equivalent (set! (.. knex -client -Runner -prototype -debug) ...) was being completely removed as far as I can tell. Same with an equivalent aset. That channel no longer got set up and my app stopped working. If I simply put that method back to set!, then it breaks again, very reproducible. When I added in a (.log js/console "hello") to the method, I could see that console log inlined where the method call was, but no other remnant of the method could be found.

I will play with :pretty-print and look into creating a small repro of what I'm seeing. But if I don't succeed with a smaller repro, then at the very least this app is already quite small.

EDIT: here is a little gist showing the difference I'm seeing if anyone is curious: https://gist.github.com/city41/12099b91e0fbb526b0dc



Yes this code is exactly the problem I described above - you are not supplying the required Closure externs file for Knex.


Ok, thanks for the help. I still can't seem to give it an externs file that makes the compiler happy. But I'll look into it on my own.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: