binaryage / binaryage/dirac

Missing is<Browser> methods with recent versions of ClojureScript

Offen
#97 0 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Clojure
Sterne
775
Forks
29
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

I'm getting a number of warnings about missing `is` methods when compiling with recent versions of ClojureScript (it seems to have been introduced by version [1.10.896](https://github.com/clojure/clojurescript/releases/tag/r1.10.896)):

```
[Figwheel:WARNING] Compile Warning resources/public/cljs-out/dirac/runtime/util.cljs line:32 column:22

Use of undeclared Var goog.labs.userAgent.browser/isOpera

27
28 (defn platform-str [name name-placeholder version version-placeholder]
29 (str (str-or-placeholder name name-placeholder) "/" (str-or-placeholder version version-placeholder)))
30
31 (defn get-browser-version-info []
32 (let [browser-name (get-current-browser-name)
^---
33 browser-version (ua-browser/getVersion)]
34 (platform-str browser-name "?" browser-version "?")))
35
36 (defn get-browser-platform-info []
37 (let [platform-name (get-current-platform-name)

[Figwheel:WARNING] Compile Warning resources/public/cljs-out/dirac/runtime/util.cljs line:32 column:22

Use of undeclared Var goog.labs.userAgent.browser/isIE

27
28 (defn platform-str [name name-placeholder version version-placeholder]
29 (str (str-or-placeholder name name-placeholder) "/" (str-or-placeholder version version-placeholder)))
30
31 (defn get-browser-version-info []
32 (let [browser-name (get-current-browser-name)
^---
33 browser-version (ua-browser/getVersion)]
34 (platform-str browser-name "?" browser-version "?")))
35
36 (defn get-browser-platform-info []
37 (let [platform-name (get-current-platform-name)

[Figwheel:WARNING] Compile Warning resources/public/cljs-out/dirac/runtime/util.cljs line:32 column:22

Use of undeclared Var goog.labs.userAgent.browser/isEdge

27
28 (defn platform-str [name name-placeholder version version-placeholder]
29 (str (str-or-placeholder name name-placeholder) "/" (str-or-placeholder version version-placeholder)))
30
31 (defn get-browser-version-info []
32 (let [browser-name (get-current-browser-name)
^---
33 browser-version (ua-browser/getVersion)]
34 (platform-str browser-name "?" browser-version "?")))
35
36 (defn get-browser-platform-info []
37 (let [platform-name (get-current-platform-name)

[Figwheel:WARNING] Compile Warning: Use of undeclared Var goog.labs.userAgent.browser/isFirefox resources/public/cljs-out/dirac/runtime/util.cljs line:32 column:22
[Figwheel:WARNING] Compile Warning: Use of undeclared Var goog.labs.userAgent.browser/isSafari resources/public/cljs-out/dirac/runtime/util.cljs line:32 column:22
[Figwheel:WARNING] Compile Warning: Use of undeclared Var goog.labs.userAgent.browser/isCoast resources/public/cljs-out/dirac/runtime/util.cljs line:32 column:22
[Figwheel:WARNING] Compile Warning: Use of undeclared Var goog.labs.userAgent.browser/isChrome resources/public/cljs-out/dirac/runtime/util.cljs line:32 column:22
[Figwheel:WARNING] Compile Warning: Use of undeclared Var goog.labs.userAgent.browser/isChrome resources/public/cljs-out/dirac/runtime/repl.cljs line:23 column:13
[Figwheel:WARNING] Compile Warning: Use of undeclared Var goog.labs.userAgent.browser/isChrome resources/public/cljs-out/devtools/async.cljs line:13 column:14
[Figwheel:WARNING] Compile Warning: Use of undeclared Var goog.labs.userAgent.browser/isChrome resources/public/cljs-out/devtools/formatters.cljs line:17 column:13
```

It looks like these methods have been removed from Google Closure Library. As far as I can see `get-current-browser-name` is only used within the various different `transit.json` files, and as I'm unfamiliar with what these do within Dirac, I'm not sure what the right fix might be?

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginne mit der Untersuchung von resources/public/cljs-out/dirac/runtime/util.cljs, insbesondere von get-current-browser-name und dem Aufruf von ua-browser/getVersion, und prüfe anschließend die zugehörigen Referenzen in runtime/repl.cljs, devtools/async.cljs und devtools/formatters.cljs. Überprüfe die transit.json-Dateien, um zu verstehen, wie der Browsername verwendet wird. Die Aufgabe ist erledigt, wenn das Kompilieren mit einer aktuellen Version von ClojureScript keine Warnungen zu undeclared goog.labs.userAgent.browser/is mehr meldet.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
clojure, javascript, json
Bereich
devtools
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.