helix

https://github.com/Lokeh/helix
2020-05-25T00:03:52.018600Z

(let [input-params {:type "email"} ] ($ tw/Input {:& input-params}))

2020-05-25T00:07:19.021100Z

It's a map already, but $ doesnt know because it's resolved at compile time, so I type it again with {&: input-params}.

lilactown 2020-05-25T02:09:17.023800Z

Yep that looks correct

aiba 2020-05-25T02:19:50.024400Z

I noticed that helix 0.11 comes with a deps.cljs file. This actually causes weirdness for react-native projects, because we are pinned to the version of react that comes with react-native. For example, the latest react-native (0.62) comes with react 16.11.0. Is there a way to :exclude a dependency from npm-deps so shadow-cljs doesn't automatically install helix's npm-deps? Also, does helix actually require react 16.13? (It seems to work fine with react 16.11).

lilactown 2020-05-25T03:05:20.024800Z

Helix should work with any 16.x

đź‘Ť 1
lilactown 2020-05-25T03:05:51.025600Z

Does npm-deps override what’s in your package.json already?

aiba 2020-05-25T03:06:47.026200Z

yes, it appears to run npm install for each dep

aiba 2020-05-25T03:07:22.026600Z

specifically, it runs npm install --save --save-exact react@16.13.1 react-refresh@0.8.1

aiba 2020-05-25T03:14:30.028300Z

OK, i just did another experiment and I think the disconnect is that I have a custom :js-options {:js-package-dirs [...]} path set in shadow-cljs.edn, and shadow-cljs doesn't realize that react and react-refresh are already contained in there. Without setting :js-package-dirs, it doesn't override what's already in the package.json.

aiba 2020-05-25T03:14:44.028700Z

So, I think this is an issue for shadow-cljs. Sorry for the noise!

lilactown 2020-05-25T16:10:22.029100Z

No worries, that sounds confusing