This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-12-05
Channels
- # adventofcode (419)
- # aleph (8)
- # aws (6)
- # beginners (148)
- # boot (9)
- # cider (24)
- # cljs-dev (37)
- # cljsjs (8)
- # clojure (134)
- # clojure-android (6)
- # clojure-brasil (15)
- # clojure-dev (8)
- # clojure-dusseldorf (2)
- # clojure-greece (67)
- # clojure-italy (8)
- # clojure-japan (3)
- # clojure-russia (3)
- # clojure-spec (8)
- # clojure-uk (13)
- # clojurescript (54)
- # clojurex (6)
- # cursive (5)
- # data-science (12)
- # datomic (15)
- # defnpodcast (11)
- # emacs (25)
- # fulcro (95)
- # graphql (3)
- # lein-figwheel (1)
- # leiningen (27)
- # luminus (1)
- # lumo (6)
- # mount (2)
- # off-topic (112)
- # om (3)
- # onyx (24)
- # perun (3)
- # re-frame (20)
- # reagent (1)
- # reitit (2)
- # ring-swagger (13)
- # rum (10)
- # shadow-cljs (45)
- # spacemacs (24)
- # sql (2)
- # unrepl (78)
- # yada (1)
@thheller When I last looked into how Chad was going to solve this, Closure will export the object both as module$something
AND module$something.default
, so both ES6 and CJS requires work
Has anyone tried to upgrade Closure compiler to v20171023+?
I think it will requires other changes also, to fix how dependency information is read from processed modules, as Closure doesn't emit goog.require/provide calls anymore, for processed modules
about the .default
thing though I think they removed that and settled on the ES6 style only
Is there issue about upgrading Closure?
I do have some code ready for maybe fixing the module dependency information stuff
Looks like I opened one already: https://dev.clojure.org/jira/browse/CLJS-2389
Something in the analyzer is probably also looking at goog.provide
, but maybe emiting that call ourselves is okay (easiest fix)
Looks like goog.provide and goog.require are anyway required for loading the files in browser
Hmm strange
but the way the closure debug loader works goog.require itself can’t load the file but the file must have been loaded before
Looks like cljs_deps.js is missing requires for Node modules
yeah that part controls the debug loader so that needs to know proper requires/provides
Do we generally take the stance of ignoring Clojure type annotations? (I thought I saw that pattern before in the compiler.) An example of where we aren't is code like this:
cljs.user=> (if-let [^int v (alength (into-array []))] (+ v 3))
WARNING: cljs.core/+, all arguments must be numbers, got [int number] instead. at line 1 <cljs repl>
3
I noticed latest Node.js breaks Node REPL, I pushed a fix - I think we were using an old flag so hopefully this doesn’t break 0.6.X users
@dnolen there was a patch already for that
sorry my fault I was not pushing it 😄