Fork me on GitHub
#clojurescript
<
2018-04-22
>
joelsanchez18:04:42

my tests won't even compile with the latest clojurescript

joelsanchez18:04:05

"1.10.126" is fine though

mfikes19:04:37

@joelsanchez Even though 1.10.126 was also using AOT compiled ClojureScript compiler code by default, it might be worth checking if :classifier "slim" addresses this issue (in other words, try the non-AOT)

joelsanchez19:04:07

thank you so much - it's working now

mfikes19:04:18

It was an AOT issue?

joelsanchez19:04:36

with your suggested change it works fine...but I don't know what was the problem

mfikes19:04:39

OK. If you end up tracking it down to anything minimal, a JIRA might be nice. (Perhaps we can get to the bottom of it.)

joelsanchez19:04:02

I'll try, it's weird because it only happens when running the tests with doo, normal compilation goes fine

mfikes19:04:29

I don't fully appreciate AOT failure modes—perhaps it takes something like Figwheel compiled against an older version or something like that in the stack to have AOT cause things to derail.

mfikes19:04:55

(Or maybe doo... hrm.)

joelsanchez19:04:49

we are lucky, I have a minimal test for it

joelsanchez19:04:03

just trying to run doo fails with this error

mfikes19:04:06

Cool. Hrm. It will be pretty hard to produce a minimal repro.

joelsanchez19:04:34

well...doo is not needed, running tests is not needed either

joelsanchez19:04:38

just lein cljsbuild once "test" fails!

joelsanchez20:04:26

will check it out. did a new repo for the repro (no pun intended) and updated the JIRA https://github.com/JoelSanchez/cljs-aot-cljsbuild-repro

mfikes20:04:03

(The hunch being that cljsbuild involves AOT compilation against ClojureScript 0.0-3211.)

joelsanchez20:04:28

that's perplexing, I'll try to remove my local lein profile

joelsanchez20:04:09

tracked it down! 🙂 having {:user {:dependencies [[tubular "1.1.1"]]}} was the issue

joelsanchez20:04:21

which turns out to be yours 😂

joelsanchez20:04:37

updated the repro @mfikes could you please try? it may be an issue with tubular?

mfikes20:04:42

Ahh, cool. I can repro it now @joelsanchez Let me take a look at what tubular or its deps might be doing.

mfikes20:04:42

I'm going to try just copying the clj-sockets.core namespace into tubular and ripping out the clojure.core.typed dep. Who knows what that might be doing

mfikes20:04:06

@joelsanchez Cool. ^ this works. I can cut a new release; just need to test that I didn't break tubular by ripping clojure.core.typed out of its clj-sockets dep

joelsanchez20:04:19

👍 nice! glad to be of help will remove or close the jira after having dinner

mfikes20:04:18

Thanks @joelsanchez! [tubular "1.2.0"] has been tested and published, sans clojure.core.typed stuff (who knows what it was doing to things, but it was unnecessary for tubular's core operation)

gfredericks22:04:41

is using the name goog as a local forbidden?

mfikes23:04:16

@gfredericks It doesn't appear to be verboten, but this kind of construct is not bueno

(let [goog 1] (goog/isArrayLike #js [1]))

mfikes23:04:37

Perhaps the emitted code should instead involve

var goog__$1 = (1);
...

eremec23:04:26

Hello, I am trying to make infinite scroll with clojurescript and rum. I understand how to detect scroll bottom, but I don't know how to update rum component with new data and not rerender entire component. My component is simple (for [el (rum/react elements)]) and "on-bottom" I can do conj new data to elements list. So, how should I update component and not rerender all list?