🔧 Replace UAParser.js with @penpot/ua-parser (#10007)

This commit is contained in:
Andrey Antukh 2026-06-12 10:46:09 +02:00 committed by GitHub
parent 87eb91f805
commit f5874e159e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 679 additions and 1639 deletions

View File

@ -57,6 +57,7 @@
"@penpot/text-editor": "link:text-editor",
"@penpot/tokenscript": "link:packages/tokenscript",
"@penpot/ui": "link:packages/ui",
"@penpot/ua-parser": "penpot/ua-parser#1.0.0",
"@playwright/test": "1.60.0",
"@storybook/addon-docs": "10.4.3",
"@storybook/addon-themes": "10.4.3",
@ -121,7 +122,6 @@
"tdigest": "^0.1.2",
"tinycolor2": "^1.6.0",
"typescript": "^6.0.2",
"ua-parser-js": "2.0.10",
"vite": "^8.0.16",
"vitest": "^4.1.8",
"wait-on": "^9.0.4",

2302
frontend/pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@ -6,7 +6,7 @@
(ns app.main.data.event
(:require
["ua-parser-js" :as ua]
["@penpot/ua-parser" :as ua]
[app.common.data :as d]
[app.common.data.macros :as dm]
[app.common.json :as json]
@ -66,22 +66,22 @@
(defn- collect-context
[]
(let [uagent (new ua/UAParser)]
(let [result (ua/parse)]
(merge
{:version (:full cf/version)
:locale i18n/*current-locale*}
(let [browser (.getBrowser uagent)]
(let [browser (.getBrowser result)]
{:browser (obj/get browser "name")
:browser-version (obj/get browser "version")})
(let [engine (.getEngine uagent)]
(let [engine (.getEngine result)]
{:engine (obj/get engine "name")
:engine-version (obj/get engine "version")})
(let [os (.getOS uagent)
(let [os (.getOS result)
name (obj/get os "name")
version (obj/get os "version")]
{:os (str name " " version)
:os-version version})
(let [device (.getDevice uagent)]
(let [device (.getDevice result)]
(if-let [type (obj/get device "type")]
{:device-type type
:device-vendor (obj/get device "vendor")
@ -93,7 +93,7 @@
:screen-height (obj/get screen "height")
:screen-color-depth (obj/get screen "colorDepth")
:screen-orientation (obj/get orientation "type")})
(let [cpu (.getCPU uagent)]
(let [cpu (.getCPU result)]
{:device-arch (obj/get cpu "architecture")}))))
(def context