This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-04-02
Channels
- # beginners (29)
- # cider (41)
- # clara (1)
- # cljs-dev (17)
- # cljsrn (1)
- # clojure (158)
- # clojure-dev (2)
- # clojure-dusseldorf (2)
- # clojure-italy (8)
- # clojure-mexico (1)
- # clojure-russia (2)
- # clojure-spec (43)
- # clojure-uk (1)
- # clojurescript (44)
- # community-development (98)
- # cursive (9)
- # data-science (8)
- # datascript (4)
- # datomic (30)
- # emacs (6)
- # fulcro (11)
- # graphql (6)
- # jobs (1)
- # jobs-discuss (27)
- # lein-figwheel (5)
- # luminus (13)
- # lumo (4)
- # off-topic (28)
- # onyx (9)
- # parinfer (12)
- # perun (2)
- # portkey (5)
- # re-frame (48)
- # ring (2)
- # shadow-cljs (52)
- # spacemacs (29)
- # tools-deps (15)
- # unrepl (9)
- # vim (7)
- # yada (3)
@thheller I’m wondering what might be going with the compilation time of my project. Here’s the case. I’m using reagent with semantic-ui-react. Just requiring (not using) the file containing the wrapped semantic-ui-components (all defonces) at least triples the compilation time for the first as well as subsequent compilations. I can see that the file count is going up but I hope that wouldn’t slow it down so much. Could you shed some light?
[:app] Compiling ...
[:app] Build completed. (207 files, 1 compiled, 0 warnings, 0.46s)
[:app] Compiling ...
[:app] Build completed. (911 files, 1 compiled, 0 warnings, 1.82s)
[:app] Compiling ...
[:app] Build completed. (911 files, 1 compiled, 0 warnings, 2.27s)
[:app] Compiling ...
[:app] Build completed. (911 files, 1 compiled, 0 warnings, 1.67s)
@denik compile with --verbose
or :verbose true
in your config. should make it clearer.
might be that the writing to disk part is actually the slow part since 700 extra files needs to be written
Hi thheller, is there posible to create multiple :node-test
builds?
My shadow-cljs.edn
:
{:deps {:aliases [:dev :test]}
:cache-root ".shadow-cljs"
:builds {:main {:target :npm-module
:output-dir "lib"
:compiler-options {:source-map true}}
:main-test {:target :node-test
:output-to "lib/main-test.js"
:autorun true
:compiler-options {:source-map true}}
:delay-test {:target :node-test
:output-to "lib/delay-test.js"
:ns-regexp "-test-delay$"
:compiler-options {:source-map true}}}}
Because of some job in namespace *-test-delay
will cost lots time, so I hope I can start the test manually.@bolasblack sure, no problem.
I got a warning:
[:main-test] Build completed. (72 files, 0 compiled, 0 warnings, 6.19s)
[:main] Build completed. (174 files, 1 compiled, 0 warnings, 6.25s)
[:delay-test] Compiling ...
[:delay-test] Build failure:
The required namespace "utils.airtable-test-delay" is not available.
😂😂😂😂 oh sorry
I forgot rename the file
It's so embarrassing 😣 😂
not really. I would make this mistake constantly if Cursive wouldn't warn me about it.
there should probably be a better error for this. you shouldn't have to guess whats wrong. it should tell you.
Thanks for your comfort:laughing:, if the error be better, I think it will save lots my life (I make this mistake many times)
@denik I did some tests and it appears the resolve performance is terrible with so many files. didn't optimize any of that since I didn't expect an issue with it. I'll see if I can tweak that a bit. https://github.com/thheller/shadow-cljs/issues/235
the error is from here https://github.com/thheller/shadow-cljs/blob/master/packages/shadow-cljs-jar/src/shadow/cljs/npm/deps.clj#L70
but pretty much all this code does is maven interop via pomegranate. which is exactly what lein or boot use
could try shadow-cljs pom
and then use mvn
directly to resolve the deps. maybe that prints more useful info
> When you use Maven with an AWS CodeBuild provided Java build environment, Maven pulls build and plugin dependencies from the secure central Maven repository at https://repo1.maven.org/maven2. This happens even if your build project's pom.xml file explicitly declares other locations to use instead.
don't actually know if the settings.xml
is used at all but that might be the reason it can't find shadow-cljs since thats on clojars not http://maven.org