This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2023-03-09
Channels
- # announcements (4)
- # aws (3)
- # babashka (86)
- # babashka-sci-dev (31)
- # beginners (171)
- # biff (15)
- # calva (3)
- # clerk (47)
- # cljdoc (11)
- # clojure (59)
- # clojure-dev (11)
- # clojure-europe (122)
- # clojure-losangeles (1)
- # clojure-nl (2)
- # clojure-norway (4)
- # clojure-uk (2)
- # clojurescript (40)
- # cursive (5)
- # data-science (3)
- # datahike (1)
- # datomic (5)
- # fulcro (9)
- # graalvm (8)
- # hyperfiddle (17)
- # introduce-yourself (1)
- # java (28)
- # jobs (1)
- # malli (11)
- # membrane (9)
- # missionary (1)
- # nbb (1)
- # off-topic (5)
- # other-languages (1)
- # pedestal (1)
- # re-frame (4)
- # reagent (16)
- # releases (3)
- # remote-jobs (3)
- # shadow-cljs (83)
- # spacemacs (1)
- # sql (5)
- # tools-deps (28)
- # xtdb (15)
Fun story. We upgraded from shadow-cljs 2.21.0 -> 2.22.0 today and started getting the following error:
The required namespace "goog.net.cookies" is not available, it was required by "reagent/cookies.cljs".
Turns out one of the shadow-cljs changes was to https://github.com/thheller/shadow-cljs/commit/5168aff39ddb21ddc5f6e18828456cc73c216e65 from an astonishingly ancient v20211011 to a pretty recent v20230227.
Amongst the vast number of GCL releases between those two was https://github.com/google/closure-library/releases/tag/v20220301, which included a change to https://github.com/google/closure-library/commit/67d06cf7b73c3e228916218c12a500c7c930c880. The message for that change states:
> goog.net.cookies was deprecated and replaced by goog.net.Cookies some time ago.
So, we now move our attention to the https://github.com/reagent-project/reagent-utils lib, and specifically the https://github.com/reagent-project/reagent-utils/blob/master/src/reagent/cookies.cljs namespace. That require of goog.net.cookies
seems suspicious, especially considering goog.net.Cookies
is required on the line below.
Does anyone know if reagent-utils is being actively maintained? Would raising an issue, or going further and putting a pull request together, get me anywhere?you could also just take the deleted https://github.com/google/closure-library/blob/b1f269132288b4959db97408dd0e1fb84f6fa8d7/closure/goog/net/cookies_deprecated.js file and put it into your classpath
For the time being, we pinned shadow-cljs back to 2.21, at least to give us some breathing space. Good idea that we could put the shim back in. I feel that it would be nice if we can donate a fix to reagent-utils though.
> Does anyone know if reagent-utils is being actively maintained? Would raising an issue, or going further and putting a pull request together, get me anywhere? Can't comment for this particular lib but I'd say that raising an issue is always worth it. Even if it doesn't necessarily solve your problem, it will show other people that the library might not be worth using.
Raised https://github.com/reagent-project/reagent-utils/issues/21 and started working on a pull request.
out of interest @U05224H0W why did shadow bump the closure library version, previously it matched the version used by the clojurescript compiler, but now it seems to be diverging?
maybe it was this issue https://clojurians.slack.com/archives/C07UQ678E/p1677514340671429
fwiw shadow-cljs generally follows the closure-compiler much quicker than regular CLJS. mostly because I make much more use of it due to the whole npm integration. so generally it is best to also somewhat keep up with the closure-library
I made a https://github.com/reagent-project/reagent-utils/pull/22 and it has already been merged \o/