This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-02-13
Channels
- # beginners (50)
- # boot (27)
- # bristol-clojurians (7)
- # cider (30)
- # clara (1)
- # cljs-dev (130)
- # cljsrn (14)
- # clojure (179)
- # clojure-austin (6)
- # clojure-greece (2)
- # clojure-italy (4)
- # clojure-spec (19)
- # clojure-uk (54)
- # clojurescript (64)
- # core-async (3)
- # data-science (1)
- # datomic (66)
- # duct (11)
- # emacs (5)
- # figwheel (1)
- # fulcro (26)
- # funcool (7)
- # jobs (1)
- # jvm (6)
- # keechma (5)
- # lein-figwheel (5)
- # luminus (5)
- # lumo (1)
- # off-topic (93)
- # parinfer (37)
- # pedestal (15)
- # protorepl (10)
- # re-frame (42)
- # reagent (12)
- # shadow-cljs (71)
- # spacemacs (3)
- # specter (7)
- # vim (8)
- # yada (9)
re: Nashorn bootstrap, I couldn’t get that to work, I left a comment about CLJS-2517, core.async has a branch so it’s easier to see what I’m talking about
yeah just verified that master (1.9.1069) works for testing core.async, but fails after CLJS-2517 patch
@dnolen Thanks—I’ll try to see what is going on. I’ve seen similar core.async
test issues with running the Andare tests with Planck on Linux, and I’m wondering if there is either some race, or an ordering expectation that is also not met there (perhaps they share a common root explanation).
I’m not 100% sure, but believe that the everything happens on the JavaFX thread which is what you want
Perhaps the Java Timer thread callbacks come in at any time on any thread and Jim used JavaFX to serialize them to the JS thread or somesuch
Yeah, thinking about it more… there probably isn’t a bridge between Timer and Nashorn, and you end up driving Nashorn in a multithreaded way with the change I made
@mfikes I figured out how to suppress the icon in OS X at least - I’m not sure about Linux / Windows
@dnolen (System/setProperty "java.awt.headless" "true")
should be "cross-platform", though I think other platforms don't show icon in this case anyway
@juhoteperi yeah that’s what I was thinking
@mfikes we could probably do our own simple event loop, but I’m not really sure it’s worth the effort
@juhoteperi it would nice to get a confirm on Linux / Window to see if that snippet is actually required
I can also do that later today on my other machine, though I probably need to update my Linux setup
@dnolen Hi David, I put together a minimal example based on the code splitting guide that demonstartes the issue I am having with the module loader. Should I add this example to JIRA as a patch and we discuss from there?
But, perhaps https://dev.clojure.org/jira/browse/CLJS-2518 is related to the icon supression approach. Will check
@bhauman hrm I hadn’t even really thought about how this simplifies things for beginners (duh!), we could skip the build script
it seemed good enough for what I was trying to solve - not sure if there are better more useful ideas here
yeah, but it would be good to have the option, I'm thinking for tooling and running tests
yeah maybe write up what you’re thinking? I hadn’t looked much further than replicating clojure.main
options
I keep thinking that build-ids are a good thing and that a top level dev.cljsc_opts
is a good idea
Yeah, Lumo and Planck have a lot of compiler options flags, and it gets tedious. But, conversely, it makes it very easy, to, say, enable an option.
@bhauman if all you’re looking for is way to reuse cljs.cli
cljs.main
then just drop some ideas
I will have to spend some time with it. I was just looking for some wisdom, as I just recently started thinking about this.
@dnolen I added a ticket for the problem with the module loader here: https://dev.clojure.org/jira/browse/CLJS-2519 The patch contains an example project based on the code splitting guide.
"Note that calls to this function will be automatically generated as the final expression for known :modules entry points that require the cljs.loader namespace."
maybe change your report to remove the speculation so I’m not looking for the wrong things 🙂
What I'm observing is that even though the shared namespace "code.split.d" is assigned to :cljs-base it is undefined on page load.
the entry which is not loaded from :clj-base is required in my modules B and C. just not in A.
@r0man https://github.com/clojure/clojurescript/blob/master/src/main/clojure/cljs/closure.clj#L1615-L1622
ok, so at the point :cljs-base is marked as loaded all those files should be loaded and evaluated. they areN#t loaded later somehow with the module managers batch loader?
Hmm, I think I'm requiring the namespaces correctly. I'll remove the :watch and the :modules from the repl constructor.
I’m just saying that the fact the base JS file is bad will probably lead us to the problem
Hrm with -w
for watch and and a flag for for optimization level we could replace all the custom scripts in the Quick Start I think?
I have this working now java -cp cljs.jar:src cljs.main -js node -v -o out/main.js -c foo.core
Maybe -O
? 😄