This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2023-11-13
Channels
- # announcements (2)
- # babashka (30)
- # beginners (44)
- # biff (20)
- # calva (15)
- # cider (7)
- # clerk (4)
- # clojure (15)
- # clojure-austin (1)
- # clojure-europe (35)
- # clojure-hungary (1)
- # clojure-nl (1)
- # clojure-norway (6)
- # clojure-uk (7)
- # clojurescript (33)
- # conjure (1)
- # cryogen (1)
- # cursive (3)
- # data-science (8)
- # docker (2)
- # emacs (78)
- # gratitude (2)
- # hyperfiddle (26)
- # improve-getting-started (1)
- # jobs-discuss (12)
- # lsp (7)
- # malli (11)
- # missionary (57)
- # off-topic (14)
- # pathom (13)
- # portal (6)
- # reagent (6)
- # releases (3)
- # ring (25)
- # shadow-cljs (18)
- # squint (11)
- # vim (3)
i'm migrating a codebase from an old lein-figwheel setup to a shadow-cljs setup and i'm hitting a strange compilation error
aborted par-compile, [:shadow.build.classpath/resource "myapp/core.cljs"] still waiting for #{myapp.pages}
and myapp.pages
is waiting on another file, and that one is waiting on myapp.spec
, until finally the "leaf node" that the compiler is waiting on, myapp.constants
, just def's a few things, no requires, no imports, no macros, just a few keywords and ints. when i copy the contents of myapp.constants
into myapp.spec
and remove the require, it compiles fine. interestingly, other files also require myapp.constants
with no problem. this fix is fine while getting set up, but i'm worried it might happen again in a more difficult to fix way down the linethe problem was that a namespace could require itself. so (ns myapp.core (:require [myapp.core]))
not aware of any other issues at this time. par-compile means it is compiling using multiple threads, that needs coordination. so if something is messed up with the namespace requires it can get stuck.
yeah, it probably shouldn't be a namespace requiring itself issue because the problem file has no requires and is required by other files and successfully compiles, it just gets hung up on this one require
[bro.model_builder.constants :as c]
the namespace it was importing had an underscore for some reason. no idea why lein-figwheel let that compileah wait in the require. hmm yeah there might be no check for that, only in the ns itself