This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2022-02-01
Channels
- # announcements (3)
- # aws (1)
- # babashka (56)
- # beginners (42)
- # calva (9)
- # cider (6)
- # circleci (5)
- # clj-kondo (17)
- # cljs-experience (1)
- # cljsjs (2)
- # clojure (106)
- # clojure-australia (1)
- # clojure-europe (36)
- # clojure-germany (5)
- # clojure-italy (13)
- # clojure-nl (14)
- # clojure-spec (19)
- # clojure-uk (27)
- # clojurescript (27)
- # cursive (20)
- # datomic (24)
- # events (2)
- # fulcro (11)
- # graalvm (1)
- # jobs (6)
- # lsp (6)
- # malli (5)
- # meander (36)
- # membrane (17)
- # nbb (4)
- # nextjournal (86)
- # off-topic (18)
- # pathom (3)
- # polylith (5)
- # portal (14)
- # rdf (5)
- # re-frame (5)
- # releases (6)
- # remote-jobs (3)
- # reveal (2)
- # ring (6)
- # shadow-cljs (171)
- # tools-deps (61)
- # vim (10)
- # xtdb (6)
I'm using :language-out :ecmascript5
in my compiler options, but I'm seeing a new Map(...
in the output. Map is an es6 feature and this is breaking my build in IE11. Anyone have any insight why this happens or how to solve it?
I don't think that closure compiles calls to ES6+ globals to something else. it only controls how it outputs code syntactically
or it the new Map
is generated by code you wrote you could check for it's existence before using it
Thank you for the super quick response @lilactown! Do you have any pointers on how to best include the polyfill in my build?
From what I can see, the documentation for :rewrite-polyfills
only mentions a limitation for :language-in
, not :language-out
where do you see the Map
in the output? if its from some npm package and you are not using shadow-cljs then those settings do not apply
those settings only apply for optimized builds for the most part too, so if you use :optimizations :none
they may have no effect either
The only dependency that has changed is clojurescript itself. I'm assuming the Map
is somehow coming from the new google closure version.
compile with :pseudo-names true :pretty-print true
. that should give a better idea where its coming from exactly
Sry for bringing up a Heroku related question here again, but the #heroku channel seems to be dead. So in case I want two (instead of just one) js apps to be compiled on the server, where to config this? Originally standard "app.js" will get compiled. On my machine adding an additional "adminapp.js" with all its scaffolding was easy. Both JS apps run in parallel. But Heroku only graps the :app
etc. stuff. This makes sense: In dev mode I also need to explicitly call shadow-cljs watch app adminapp
. Now I just need to tell Heroku to do likewise. My gut feeling is, customizing these so called 'buildpacks' is the way to go. (Reasoning behind having two JS app is that I don't want to bloat "app.js" with admin-code which isn't for regular users anyway.) Any experience with this? (When reply pls do via thread, THANKS!)
Automatically. Just do git push heroku master
and have two buildpacks: heroku/nodejs
and second is heroku/clojure
. Yes, there is a pakcage,json . This is all I do (git push).
somewhere it needs to execute shadow-cljs right? so I'm guessing there is a package.json
"scripts"
"build"
command?
Think I found it. In project.clj:
{:uberjar {:omit-source true
:prep-tasks ["compile" ["run" "-m" "shadow.cljs.devtools.cli" "release" "app"]]
There is my app
mentioning. Just need to add a second line, I guess.