This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-10-13
Channels
- # announcements (2)
- # beginners (15)
- # calva (6)
- # cider (3)
- # cljsrn (1)
- # clojure (33)
- # clojure-hk (4)
- # clojure-uk (9)
- # clojurescript (13)
- # cursive (5)
- # datomic (6)
- # figwheel-main (1)
- # fulcro (5)
- # graalvm (12)
- # instaparse (1)
- # kaocha (1)
- # nrepl (6)
- # off-topic (5)
- # pedestal (10)
- # quil (8)
- # reitit (2)
- # ring (5)
- # shadow-cljs (10)
- # sql (1)
- # vim (13)
Just a quick question about shadow-cljs. Does shadow-cljs support JVM servers? I have cljc codebase, with clj server code and cljs client code. Can I build my cljs artifacts with shadow-cljs with a JVM based server uberjar containing that artifact?
Hi @thheller, I’d like to bounce an idea off you if you don’t mind. I am designing a novel way to build cross-platform mobile apps, without React Native. It uses JavaScript as the main language for programming application logic. Hence I need a bundler. I was wondering if it would be a good idea to use shadow-cljs for that. I target my solution at JavaScript devs, so you could write apps using only JavaScript. I could of course use webpack or something like that, but using shadow-cljs has the added benefit that people could also use ClojureScript if they want, without any additional configuration.
Would you say this use of shadow-cljs aligns sufficiently with what you intend it to be? This is of course important to make my solution “future proof”. Also, one issue I see (which I’m not sure if I can solve by configuring shadow-cljs) is that the user’s code as compiled by shadow-cljs gets “scoped” (e.g. module$demo$foo
) so it’s “clumsy” when you need to call this from a native web view in iOS/Android.
Thanks for sharing your thoughts!
@stefan.van.den.oord it could technically work yes but the focus is purely on CLJS. so while the occasional JS include works fine building actual full JS projects has more than a few rough edges. (eg. no externs inference for JS)
Yeah indeed, it should be as open as possible to other dependencies. And clojurescript preferably 🙂
@retrogradeorbit I'm not quite sure what you are asking. shadow-cljs produces .js
files. those files you can include uberjars like normal. you can run that as part of lein uberjar
yes, although I typically recommend doing something like shadow-cljs release app && lein uberjar
instead