This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2022-02-15
Channels
- # announcements (8)
- # architecture (9)
- # autochrome-github (1)
- # babashka (48)
- # beginners (55)
- # calva (36)
- # cider (16)
- # clj-commons (1)
- # clj-kondo (38)
- # cljs-dev (44)
- # cljsrn (1)
- # clojure (164)
- # clojure-europe (35)
- # clojure-nl (2)
- # clojure-norway (10)
- # clojure-uk (23)
- # clojurescript (50)
- # conjure (24)
- # core-async (1)
- # cryogen (2)
- # cursive (38)
- # datalevin (11)
- # datascript (2)
- # datomic (13)
- # duct (1)
- # emacs (16)
- # events (12)
- # exercism (3)
- # figwheel-main (7)
- # fulcro (26)
- # honeysql (5)
- # integrant (1)
- # jobs (3)
- # kaocha (6)
- # lsp (72)
- # malli (22)
- # nextjournal (35)
- # nrepl (1)
- # off-topic (34)
- # pathom (5)
- # polylith (8)
- # portal (40)
- # re-frame (14)
- # reagent (42)
- # reitit (1)
- # releases (1)
- # remote-jobs (1)
- # reveal (9)
- # sci (2)
- # shadow-cljs (13)
- # sql (3)
- # tools-deps (33)
- # vim (25)
Hey, I’m getting a weird error when adding a dependency to a project with custom [:js-optons :js-package-dirs]
. I’m providing absolute paths to files that exist, but for some reason I am getting the follow error on every build ~ even though it immediately succeeds afterwards. I’ve tried trashing .shadow-cljs
and emptying the trash but that doesn’t seem to fix it
[CLJ] [:browser] Build failure:
[CLJ] The required JS dependency "faunadb/dist/faunadb" is not available, it was required by "routes/index.cljs".
[CLJ]
[CLJ] Dependency Trace:
[CLJ] captain/loader/index.cljs
[CLJ] captain/loader/router.cljs
[CLJ] captain/manifest.cljs
[CLJ] routes/index.cljs
[CLJ]
[CLJ] Searched for npm packages in:
[CLJ] /Users/barrell/.Trash/.captain 17-47-55-522/node_modules
[CLJ]
[CLJ] See:
[CLJ]
[CSS] Done in 47ms.
[CLJ] [:browser] Build completed. (217 files, 2 compiled, 0 warnings, 0,20s)
Hello @thheller, I have observed that in some shadow-cljs version (some time ago), the development build started generating a single file per module that makes the deveploment build load much faster on browser than previous approach (loading each file). But I have noticed that webworker module still uses the old approach, loading each file separatelly. Is it intentionally? In any case, thank you very much for all your work in shadow-cljs.
I can't remember details but I believe I did some tests with webworkers and the performance didn't differ that much. since it doesn't block the main thread it didn't seem important to use the new method there too
Hmm, in big projects, the performance is very noticeable. On http://penpot.app project, webworker loads at least 900 files and loading that files takes 12s, of total 15.66s and it is pretty noticeable on first load or forced refresh. I think that having the same approach on webworker will make a difference also. Additionally as context info, we try to make some tests using cypress, but loading a page that loads the webworker module almost always takes too much time that timeouts (with already increased timeout, the things in cypress looks like takes longer to finish all the requests, for now we using advanced build for passing tests but it is very painful on modify->run test iteration because of expected long compile times).
thanks, opened: https://github.com/thheller/shadow-cljs/issues/989