This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-08-02
Channels
- # announcements (3)
- # aws (2)
- # babashka (60)
- # beginners (21)
- # cljs-dev (35)
- # cljsrn (3)
- # clojure (53)
- # clojure-android (2)
- # clojure-australia (3)
- # clojure-europe (45)
- # clojure-france (4)
- # clojure-nl (4)
- # clojure-uk (6)
- # clojurescript (33)
- # core-typed (1)
- # cursive (13)
- # datomic (6)
- # duct (1)
- # emacs (2)
- # fulcro (10)
- # introduce-yourself (3)
- # jobs (2)
- # jobs-discuss (13)
- # leiningen (1)
- # malli (19)
- # missionary (63)
- # music (1)
- # off-topic (21)
- # pathom (3)
- # polylith (18)
- # practicalli (12)
- # proletarian (1)
- # reagent (40)
- # reitit (23)
- # releases (1)
- # remote-jobs (1)
- # ring (14)
- # ring-swagger (1)
- # shadow-cljs (13)
- # sql (30)
- # testing (27)
- # tools-deps (31)
- # vim (10)
- # xtdb (4)
@mikerod it's because Google Closure Library itself started including code written in higher versions of JavaScript
@dnolen thanks, that helps explain why things at least are now looking transpiled when they weren’t before.
Above though ends up being invalid JS I believe because of the “!” in the identifier. In a modern Chrome version for example (and firefox), I get Uncaught SyntaxError: Unexpected token '!'
as I mentioned.
It was suggested to me that perhaps removing the :language-out :es5
can fix this, which I am going to try. However, does that mean that :es5
is no longer supported then?
this is just to clarify what is going on so you can have accurate mental model of what's necessary and the reasons
and from that you can infer - this probably degrades IE11 REPL driven development, but it should not eliminate IE11 as a target
Ok. I did suspect above was more of a repl-time situation. In that case, the :es5
can be only used during the production build and it sounds like things would still be ok.
you only need it for the advanced build because you need clarify what you need to reach
Ok, noted then. That’s good to know. I just started adding that config at a common level that was used in all other types of subsequent builds and never really considered if it’d have consequences at the dev-level.
Is this a known issue?
(ns app.example)
(defprotocol IMarker)
(reify IMarker)
w/ warning when compiling:
Cannot infer target type in expression (. (. t_app$example114591 -prototype) -app$example$IMarker$)
I mean, usually it's best to test out issues without any downstream tooling, unless the issue is about the downstream tooling
I think this should have shown the warning if there was one: clj -m cljs.main -c app.example
but doesn’t indicate any issue.
looking through the complier-options nothing jumps out: https://clojurescript.org/reference/compiler-options
@colinkahn which version is this with? that should have been fixed a while ago