Fork me on GitHub

Krell now has simple hot-loader - will definitely need some further work but it's passable - working on the React side of things now and then will create a Reagent tutorial, hopefully done sometime tomorrow or Thursday

🚀 24

Any chance that you can just share your build.edn from a sample project?


yeah but there's nothing in there 😛


{:main hello-world.core
 :output-to "target/main.js"
 :output-dir "target"}

🙂 4

it's really that simple ^


you don't have to specify anything at all


easier than web stuff


other benefit of having a tool that does exactly one thing


OK, I was doing that and getting the REPL, but then it just wouldn’t eval… so figured that I might be missing something in build.edn


I’ll wait for the tutorial 🙂 Thank you for the work on this, it’s pretty cool!


it does use mDNS a la Ambly so that could be source of issues - happy to consider alternative ways to the connect the device (in addition to mDNS)


but mDNS when it works is nice since you can be untethered in all cases


(after the app installed)


I hope that this work you’re doing re-charges the enthusiasm for react-native amongst ClojureScript-erati, ’cos I know I am 🙂


I definitely think it can't hurt - though my impression if you're into shadow then shadow solves these problems well too?


Krell is a bit more Clojure-y perhaps - we don't use shadow so we built this instead


shadow-cljs just works and it’s pretty cool. But now that this is getting rolled out, I hope that more people take notice as it might have more of an “official” blessing…


well it's not really "official"


it's a Vouch OSS not a Clojure one


to be honest maybe people don't know what shadow handle RN too? I honestly didn't know what w/o reading through ClojureVerse recently


Also shadow doesn't have many links on the website


happy to see that rectified through PR to the right pages


I’ve got to admit that I’ve “slept” on shadow for so long, but then once I picked it up, I kept thinking “why didn’t I pick this up sooner?”

☝️ 4

But I don’t think that this “visibility” problem with regards to shadow-cljs & react-native, is a shadow-cljs specific problem. There is so much info about how to do certain things with react-native, but it’s all spread out across different projects. I’m talking about how to do different things, like sample usages with different packages, rather than setting up the tooling.

👍 8

I have a create kit with some examples of state management, navigation, and a material design component library.


This video is a great example of how to use it with shadow-cljs:


It does talk about how to use expo, but if you just use “native” react-native, expo-less, all of the tips still apply.


@dnolen Great to see this I can confirm the RN tooling is still lacking; Been getting back into RN+CLJS dev in the last few days; Most recently I've followed the approach outlined here which works quite well; Where I still ran into problems is with advanced builds; 1.5 years later this still is a problem RN's Metro seems to mess with the Google Closure advanced output and without this hack you can't compile for production; on the bright side, the hack still works;


maybe I'm missing something obvious about a way to instruct RN Metro to just ignore the Closure output code but I can't seem to find the magic config in their docs


@raspasov yeah we still have that problem too - not sure what we can do there other than request some kind of flag to turn off that optimization off

👍 4

re: that figwheel bridge stuff - yep, the new bundle target in ClojureScript was actually arrived after running into all those issues and finding asnwers for them - I examined re-natal pretty closely


but then I realized the approach I came up with for Krell works for any JS bundler that handles Node.js require


also there's an even older constant folding one -


also not fixed


Yes multiple issues, I’m guessing not a huge priority for them; I do remember at some point I was able to ignore it from a .babelrc file but I don’t think it works with the latest RN; all those tools and configs (babel, whatnot) also change the format of their configs every 6 months it seems which doesn’t help me keeping up with them 🙂