cljsrn

https://github.com/drapanjanas/re-natal | https://github.com/drapanjanas/re-natal/wiki/FAQ | https://github.com/condense/mercury-app/wiki | https://github.com/seantempesta/expo-cljs-template/ https://www.npmjs.com/package/create-expo-cljs-app
dnolen 2020-04-14T19:09:55.061900Z

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

šŸš€ 6
dotemacs 2020-04-14T19:10:19.062400Z

Thanks @dnolen !

dotemacs 2020-04-14T19:10:43.062900Z

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

dnolen 2020-04-14T19:10:56.063200Z

yeah but there's nothing in there šŸ˜›

dnolen 2020-04-14T19:11:14.063600Z

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

šŸ™‚ 1
dnolen 2020-04-14T19:11:20.063900Z

it's really that simple ^

dnolen 2020-04-14T19:11:26.064200Z

you don't have to specify anything at all

dnolen 2020-04-14T19:11:33.064400Z

easier than web stuff

dnolen 2020-04-14T19:11:52.065200Z

other benefit of having a tool that does exactly one thing

dotemacs 2020-04-14T19:12:04.065500Z

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ā€¦

dotemacs 2020-04-14T19:12:36.066200Z

Iā€™ll wait for the tutorial šŸ™‚ Thank you for the work on this, itā€™s pretty cool!

dnolen 2020-04-14T19:15:06.067200Z

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)

dnolen 2020-04-14T19:15:21.067600Z

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

āž• 1
dnolen 2020-04-14T19:15:31.067900Z

(after the app installed)

dotemacs 2020-04-14T19:17:20.070Z

I hope that this work youā€™re doing re-charges the enthusiasm for react-native amongst ClojureScript-erati, ā€™cos I know I am šŸ™‚

dnolen 2020-04-14T19:18:37.071400Z

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

dnolen 2020-04-14T19:19:27.072800Z

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

dotemacs 2020-04-14T19:20:18.073600Z

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ā€¦

dnolen 2020-04-14T19:20:45.074400Z

well it's not really "official"

dnolen 2020-04-14T19:20:52.074800Z

it's a Vouch OSS not a Clojure one

dnolen 2020-04-14T19:21:51.076400Z

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

dnolen 2020-04-14T19:22:18.077100Z

Also shadow doesn't have many links on the <http://clojurescript.org> website

dnolen 2020-04-14T19:22:25.077500Z

happy to see that rectified through PR to the right pages

dotemacs 2020-04-14T19:23:21.078500Z

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?ā€

ā˜ļø 1
dotemacs 2020-04-14T19:25:47.080600Z

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.

šŸ‘ 2
jgood 2020-04-16T04:14:38.119800Z

I have a create kit with some examples of state management, navigation, and a material design component library. https://www.npmjs.com/package/create-expo-cljs-app

dotemacs 2020-04-14T19:26:43.081Z

This video is a great example of how to use it with shadow-cljs: https://www.youtube.com/watch?v=BZR4N5cY64U

dotemacs 2020-04-14T19:27:15.081800Z

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

raspasov 2020-04-14T22:43:05.087400Z

@dnolen Great to see this https://github.com/vouch-opensource/krell 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 https://github.com/bhauman/react-native-figwheel-bridge which works quite well; Where I still ran into problems is with advanced builds; 1.5 years later this still is a problem https://github.com/facebook/metro/issues/291 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;

raspasov 2020-04-14T22:43:29.087700Z

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

dnolen 2020-04-14T23:25:14.089300Z

@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

šŸ‘ 1
dnolen 2020-04-14T23:29:16.091600Z

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

dnolen 2020-04-14T23:30:12.092800Z

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

dnolen 2020-04-14T23:35:30.093200Z

also there's an even older constant folding one - https://github.com/facebook/metro/issues/208

dnolen 2020-04-14T23:35:45.093500Z

also not fixed

raspasov 2020-04-14T23:55:00.096200Z

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 šŸ™‚