This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-02-24
Channels
- # aws (3)
- # aws-lambda (1)
- # beginners (16)
- # boot (36)
- # cider (3)
- # cljs-dev (90)
- # cljsjs (1)
- # cljsrn (27)
- # clojure (240)
- # clojure-austin (1)
- # clojure-berlin (3)
- # clojure-dusseldorf (2)
- # clojure-france (2)
- # clojure-germany (12)
- # clojure-russia (19)
- # clojure-spec (20)
- # clojure-uk (56)
- # clojurescript (218)
- # clojurex (1)
- # cursive (21)
- # datomic (10)
- # events (1)
- # hoplon (18)
- # instaparse (19)
- # jobs-discuss (3)
- # lein-figwheel (3)
- # luminus (3)
- # lumo (14)
- # off-topic (4)
- # om (76)
- # onyx (67)
- # protorepl (12)
- # re-frame (54)
- # reagent (35)
- # ring (2)
- # spacemacs (5)
- # specter (2)
- # sql (11)
- # untangled (144)
- # yada (34)
Oh I was just yesterday thinking about when that would be due
I can try and upgrade it later today if no one gets to it first
@dnolen turned out to be a very clean patch http://dev.clojure.org/jira/browse/CLJS-1952
of course, I spoke too early
cannot find modules now 🙂
OK got it
we need to (.setModuleResolutionMode compiler-options ModuleLoader$ResolutionMode/NODE)
probably worth discussing if we want to have a new compiler option for the module resolution modes. there exist LEGACY
, NODE
and BROWSER
. more context: https://github.com/google/closure-compiler/wiki/Releases#february-18-2017-v20170218
I think we’ll mostly want NODE
, not sure what BROWSER
is for. I think only Microsoft Edge supports it
patch attached
I recently rewrote the whole node.js support in shadow-build
as I was getting rather frustrated with the default node.js bootstrapping mechanism and its differences to optimized output
but at this point I have no idea if the things I "fixed" actually bother other people as well or just me
@anmonteiro can you explain this patch a bit?
@dnolen sure. We’re using compile-root
which ends up calling that function. Given it’s a #?:clj
only function, it shouldn’t be finding .cljc
files if a .cljs
file with the same name exists (since those are not really CLJS files but macros to be expanded in Clojure)
we saw the problem with om.dom
, for example, where the compiler would end up compiling dom.cljc
(with the wrong requires) instead of dom.cljs
yeah, but it ends up including both
exactly
awesome
@dnolen anyway, we’re using a version of CLJS with that patch now, in production
and it has been working great for the past 2 weeks (which means like 200 builds or more)
awesome
@anmonteiro did you see the problem under :parallel-build
or it was just an issue in general
interesting. I wouldn’t think they are connected
@dnolen nope, this is unrelated to :parallel-build
always happened
I’m surprised no one has been bitten by this one before https://github.com/clojure/clojurescript/commit/04541fbf8ec573d26bac4e4e61e69cb4c64a3dd7
I’ve seen different entries for the same NS after ordering deps, but somehow I thought that was normal
I can see how that would impact parallel build now 🙂
we've had some intermittent issues with parallel builds in the past and decided to turn them off, but never had any time to find a repro
@dnolen the fix for CLJS-1948 might fix CLJS-1921, but there still might be some weirdness going on, see ticket http://dev.clojure.org/jira/browse/CLJS-1921
@anmonteiro yeah not normal 🙂
@dnolen can we expect a CLJS release today, or the parallel build issue doesn’t justify it?
definitely looks like the same symptom of cljs-1948
let me try and repro cljs-1921 too, against current master
I can't build master because i'm on windows 😞 But I suspect it would fix it. However, wouldn't it make more sense to eliminate the duplicates right as they are inserted? See the java.io.File
- java.net.URL
mismatch
somebody else will need to spend some time to suss out the deeper issue and determine if it isn’t going to break the world
I can’t repro cljs-1921
but I also didn’t manage to repro it with and older cljs.jar
, so I don’t know what that says
@anmonteiro there are some very specific conditions required to repro, I've tried my best to describe those in the ticket
I know how issues like these are not deterministic
I’ve tracked down 2 or 3 related ones
which is my belief that using the the entire source input as the key was a bad idea to begin with
my rubber duck tells me it should be solved by the fix to cljs-1948
I agree that we shouldn’t mess with :url
and :file