This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-11-23
Channels
- # beginners (81)
- # boot (1)
- # cider (1)
- # cljs-dev (15)
- # cljsrn (1)
- # clojure (27)
- # clojure-europe (9)
- # clojure-hamburg (2)
- # clojure-italy (6)
- # clojure-nl (6)
- # clojure-spec (10)
- # clojure-uk (33)
- # clojurescript (9)
- # clojurex (5)
- # cursive (14)
- # datomic (21)
- # devcards (2)
- # duct (72)
- # figwheel (1)
- # fulcro (6)
- # kaocha (3)
- # leiningen (5)
- # nrepl (10)
- # off-topic (65)
- # parinfer (12)
- # re-frame (68)
- # reagent (1)
- # reitit (14)
- # shadow-cljs (65)
- # spacemacs (6)
- # sql (4)
- # tools-deps (2)
- # yada (1)
@thheller where does the :resource-name
field come from in the rc
map that the various shadow-cljs compiler functions use? I have a weird issue where increasingly large numbers of letters are being dropped from the beginning of the :resource-name
for my cljs source files, which eventually causes the path to start with a /, which causes IllegalArgumentException: /middle-of-my-namespace/core.cljs.cache.transit.json is not a relative path
when interacting with the cache. I scoured the source to try to figure out where the issue is coming from but I can't for the life of me figure out where the details for the source files are coming from.
that's the function that's throwing an exception for me. I've figured out how to reproduce the issue as well, it happens if any of the source paths involve symlinks
toy example:
.
βββ client
β βββ core.cljs
βββ src
βββ main
βββ my
βββ namespace
βββ client -> ../../../../client
@miridius can you just swap the links around so that client
-> src/main/my/namespace/client
?
not really, the reason for the links is that I'm trying to use polylith architecture (https://polylith.gitbook.io/polylith/), where the source is broken into components that are then symlinked into various systems as needed
well I'm building a full stack app (with Fulcro) so there are server components, client components, and also shared components like the UI (used by server for SSR) and the API
although to be fair there will only ever be a single cljs system since as you said it can't really be split up
let's say I have a component "api", which is used by both the "server" system and the "client" system, but not by other systems. So it must have its source stored at /components/api/src, and then /systems/client/src/api and systems/server/src/api will link to it
I do feel though that symlinks are kind of a pain, I'm wondering if the same result can be achieved by just using a more monolithic source folder and then having fine grained source-path settings in the build files for each system
awesome! and yeah I think you're right it doesn't make sense to use polylith for cljs. But since there's a lot of .cljc source files I'm not sure there's a way I could use polylith for the backend but then also have all the cljs source in one place. I'll have to think about it!
Iβm kind of joking, but many of the langs who have attempted to positions themselves to take advantage of wasm have run into this problem where suddenly their ability to prune unused lib code is very important
When you create a native image with graalVM it sort of happens. And now you no longer need the whole JDK, for running Java it might become more important to also decrease the size of fat jars
I actually asked at Devoxx, and that do what some web output, but most lively this will be JavaScript. Also they are looking for some Electron integration also.
maybe but if it requires a 10mb download to bootstrap its not gonna be very useful (for the web)
I wonder if you could download the necessary bootstrapping once and cache it for every website thereafter
hi all! Question time! Do we have a way to enable *check-assert*
in a shadow release
compilation step?