{"title":"UAParser.js","name":"ua-parser-js","version":"2.0.9","author":{"name":"Faisal Salman","email":"f@faisalman.com","url":"http://faisalman.com"},"description":"Detect Browser, Engine, OS, CPU, and Device type/model from User-Agent & Client Hints data. Supports browser & node.js environment","keywords":["user-agent","client-hints","browser","engine","os","device","cpu","ua-parser-js","browser-detection","device-detection","os-detection","bot-detection","ai-detection","app-detection","crawler-detection"],"homepage":"https://uaparser.dev","contributors":[{"name":"Aamir Poonawalla","email":"aamir@urx.com"},{"name":"Admas","email":"mollases@users.noreply.github.com"},{"name":"Aiyush","email":"aiyushdhar85@gmail.com"},{"name":"algenon","email":"m@antonz.ru"},{"name":"Alvin Portillo","email":"alvin@8thwall.com"},{"name":"Amumu","email":"yoyo837@hotmail.com"},{"name":"Andreas Kogler","email":"andreas.kogler@bitmovin.com"},{"name":"Andrea Vaghi","email":"andrea.vaghi@jobrapido.com"},{"name":"Anton Zhiyanov","email":"m@antonz.ru"},{"name":"Arturo Mejia","email":"amejia@blim.com"},{"name":"Arun Rama Reddy","email":"arunramareddy@gmail.com"},{"name":"Austin Pray","email":"austin@austinpray.com"},{"name":"Beat YT","email":"66485277+Beat-YT@users.noreply.github.com"},{"name":"Bendeguz","email":"symunona@gmail.com"},{"name":"Benjamin Bertrand","email":"bertrand.design@gmail.com"},{"name":"Benjamin Urban","email":"benjamin.urban@sueddeutsche.de"},{"name":"boneyao","email":"admin@boneyao.com"},{"name":"Carl C Von Lewin","email":"carlchristianlewin@gmail.com"},{"name":"CESAR RAMOS","email":"c@imagenproactiva.com"},{"name":"Chad Killingsworth","email":"ckillingsworth@jackhenry.com"},{"name":"chenhui9279","email":"chenhui9279@autohome.com.cn"},{"name":"chenyuan-new","email":"53860479+chenyuan-new@users.noreply.github.com"},{"name":"Christopher De Cairos","email":"chris.decairos@gmail.com"},{"name":"Cyrille David","email":"cyrille@qonto.eu"},{"name":"Dai Jie","email":"daijie@php.net"},{"name":"Danila Rodichkin","email":"daniluk4000@outlook.com"},{"name":"Dante","email":"duanjl.china@gmail.com"},{"name":"Dario Vladovic","email":"d.vladimyr@gmail.com"},{"name":"David Annez","email":"david.annez@gmail.com"},{"name":"Davit Barbakadze","email":"jayarjo@gmail.com"},{"name":"ddivernois","email":"david-emmanuel.divernois@amadeus.com"},{"name":"Deliaz","email":"D3liaz@gmail.com"},{"name":"Demis Palma","email":"demis.palma@gmail.com"},{"name":"dhoko","email":"aurelien@protonmail.com"},{"name":"dianhe","email":"dianhe@webank.com"},{"name":"dineshks1","email":"dineshks1@d.kumar44@outlook.com"},{"name":"Dmitry Tyschenko","email":"dtyschenko@gmail.com"},{"name":"Douglas Li","email":"doug@knotch.it"},{"name":"Dumitru Uzun","email":"contact@duzun.me"},{"name":"Dustin","email":"duburns@fanatics.com"},{"name":"Elchin Valiyev","email":"elchin.valiyev@autodesk.com"},{"name":"Emil Hesslow","email":"hesslow@gmail.com"},{"name":"Eric Redon","email":"eric.redon@coox.org"},{"name":"Eric Schrenker","email":"eric.schrenker@gmail.com"},{"name":"Erik Hesselink","email":"hesselink@gmail.com"},{"name":"Fabian Becker","email":"halfdan@xnorfz.de"},{"name":"Faisal Salman","email":"f@faisalman.com"},{"name":"Frédéric Camblor","email":"fcamblor@gmail.com"},{"name":"Frederik Ring","email":"frederik.ring@gmail.com"},{"name":"Garrit Franke","email":"garrit@slashdev.space"},{"name":"Gerald Host","email":"me@jacobford.co.uk"},{"name":"Germán M. Bravo","email":"german.mb@gmail.com"},{"name":"Grigory Dmitrenko","email":"grigory@snsk.ru"},{"name":"gulpin","email":"gulping.gulpin@gmail.com"},{"name":"Hans Ott","email":"hansott@hotmail.be"},{"name":"Harald Reingruber","email":"74898239+haraldreingruber-dedalus@users.noreply.github.com"},{"name":"Hendrik Helwich","email":"h.helwich@iplabs.de"},{"name":"Hermann Ebert","email":"ebbmo@HE.local"},{"name":"hr6r","email":"hedian@gmail.com"},{"name":"Hyewon Kang","email":"gpffps369@gmail.com"},{"name":"Hyunbin","email":"47051820+hyunbinseo@users.noreply.github.com"},{"name":"Igor Topal","email":"i.topal@smartweb.com.ua"},{"name":"Ildar Kamalov","email":"i.kamalov@adguard.com"},{"name":"Ilya Daraseliya","email":"idarase@gmail.com"},{"name":"insanehong","email":"insane.hong@navercorp.com"},{"name":"jackpoll","email":"jackpoll123456@gmail.com"},{"name":"Jacky Choo","email":"jackychoo@adly-macbook.local"},{"name":"Jake Mc","email":"startswithaj@users.noreply.github.com"},{"name":"JBYoshi","email":"12983479+JBYoshi@users.noreply.github.com"},{"name":"Joey Parrish","email":"joeyparrish@google.com"},{"name":"John Tantalo","email":"john.tantalo@gmail.com"},{"name":"John Yanarella","email":"jmy@codecatalyst.com"},{"name":"Jon Buckley","email":"jon@jbuckley.ca"},{"name":"Josh Goldberg","email":"joshuakgoldberg@outlook.com"},{"name":"Junki-Ishida","email":"junki_ishida@dwango.co.jp"},{"name":"Kendall Buchanan","email":"kendall@kendagriff.com"},{"name":"KnifeLemon","email":"role___play@naver.com"},{"name":"kNoAPP","email":"alldoneb@gmail.com"},{"name":"Lee Treveil","email":"leetreveil@gmail.com"},{"name":"leonardo","email":"leofiore@libero.it"},{"name":"Levente Balogh","email":"balogh.levente.hu@gmail.com"},{"name":"Liam Quinn","email":"lquinn@blackberry.com"},{"name":"Lithin","email":"lithin@webklipper.com"},{"name":"liujunlve","email":"liujunlve@henhaoji.com"},{"name":"lj0812","email":"xoyljlj@163.com"},{"name":"ll-syber","email":"670159357@qq.com"},{"name":"Loris Guignard","email":"loris.guignard@gmail.com"},{"name":"Lukas Drgon","email":"lukas.drgon@gmail.com"},{"name":"Lukas Eipert","email":"leipert@users.noreply.github.com"},{"name":"Malash","email":"i@malash.me"},{"name":"Martynas","email":"martynas@firmfirm.co"},{"name":"Masahiko Sato","email":"masasato@yahoo-corp.jp"},{"name":"Matt Brophy","email":"matt@brophy.org"},{"name":"Matthew Origer","email":"karatecowboy@gmail.com"},{"name":"Maximilian Haupt","email":"mail@maximilianhaupt.com"},{"name":"Max Maurer","email":"maxemanuel.maurer@gmail.com"},{"name":"Max Nordlund","email":"max.nordlund@gmail.com"},{"name":"Michael Hess","email":"mhess@connectify.me"},{"name":"Mike","email":"mikehuebner@me.com"},{"name":"MimyyK","email":"michele.marais@hakisa.com"},{"name":"Mok","email":"mok@moekm.com"},{"name":"nabetama","email":"mao.nabeta@gmail.com"},{"name":"naoh","email":"naoh.cs03g@nctu.edu.tw"},{"name":"Nicholas Ionata","email":"nionata@ufl.edu"},{"name":"Nikhil Motiani","email":"nikhil.motiani@outlook.com"},{"name":"Nik Rolls","email":"nik@rolls.cc"},{"name":"nionata","email":"n.ionata129@gmail.com"},{"name":"niris","email":"nirisix@gmail.com"},{"name":"Nobuo Okada","email":"nookada@yahoo-corp.jp"},{"name":"o.drapeza","email":"o.drapeza@tinkoff.ru"},{"name":"Oscar Becerra","email":"oscarbecerra@google.com"},{"name":"otakuSiD","email":"otakusid@gmail.com"},{"name":"Pablo Osés","email":"opablo@gmail.com"},{"name":"Paris Morgan","email":"paris@8thwall.com"},{"name":"patrick-nurt","email":"github@pereira.dk"},{"name":"Pavel Studeny","email":"studeny@avast.com"},{"name":"Peter Dave Hello","email":"PeterDaveHello@users.noreply.github.com"},{"name":"philippsimon","email":"github@philippsimon.de"},{"name":"Pieter Hendrickx","email":"pieter.hendrickx@belfius.be"},{"name":"Piper Chester","email":"piperchester@gmail.com"},{"name":"Queen Vinyl Darkscratch","email":"vinyldarkscratch@gmail.com"},{"name":"Raine Makelainen","email":"raine.makelainen@jolla.com"},{"name":"Raman Savaryn","email":"homeneartheocean@gmail.com"},{"name":"Riley Shaw","email":"rileyjshaw@users.noreply.github.com"},{"name":"Robert Tod","email":"robert@qubit.com"},{"name":"roman.savarin","email":"roman.savarin@skywindgroup.com"},{"name":"Ron Korland","email":"ron@testim.io"},{"name":"Ross Noble","email":"rosshnoble@gmail.com"},{"name":"ruicong","email":"466403866@qq.com"},{"name":"Runar Heggset","email":"rukki093@gmail.com"},{"name":"Ryohei Shima","email":"shima01dev@gmail.com"},{"name":"Sandro Sonntag","email":"sandro.sonntag@adorsys.de"},{"name":"sgautrea","email":"shanegautreau@gmail.com"},{"name":"shaharmor","email":"shahar@peer5.com"},{"name":"Shane Gautreau","email":"sgautrea@opentext.com"},{"name":"Shane Thacker","email":"shane@steadymade.com"},{"name":"Shreedhar","email":"shreedhar@uber.com"},{"name":"Simon Eisenmann","email":"simon@longsleep.org"},{"name":"Simon Lang","email":"me@simonlang.org"},{"name":"Stiekel","email":"histkc@gmail.com"},{"name":"sunny-mwx","email":"30586210+sunny-mwx@users.noreply.github.com"},{"name":"sUP","email":"dani3l@gmail.com"},{"name":"Sylvain Gizard","email":"sylvain.gizard@gmail.com"},{"name":"szchenghuang","email":"szchenghuang@gmail.com"},{"name":"Tanguy Krotoff","email":"tkrotoff@gmail.com"},{"name":"Tony Tomarchio","email":"tony@tomarchio.cc"},{"name":"Ulrich Schmidt","email":"u.schmidt@velian.de"},{"name":"Vadim Kurachevsky","email":"vadim@hmvs.org"},{"name":"Varun Sharma","email":"varunsh@stepsecurity.io"},{"name":"XhmikosR","email":"xhmikosr@gmail.com"},{"name":"Yılmaz","email":"yilmazdemir36@gmail.com"},{"name":"yuanyang","email":"work_yuanyang@163.com"},{"name":"Yun Young-jin","email":"yupmin@yupmin-office-macmini.local"},{"name":"Zach Bjornson","email":"zbbjornson@gmail.com"},{"name":"Ziding Zhang","email":"zidingz@gmail.com"}],"type":"commonjs","types":"src/main/ua-parser.d.ts","main":"src/main/ua-parser.js","module":"src/main/ua-parser.mjs","browser":"dist/ua-parser.pack.js","exports":{".":{"require":"./src/main/ua-parser.js","import":"./src/main/ua-parser.mjs","types":"./src/main/ua-parser.d.ts"},"./bot-detection":{"require":"./src/bot-detection/bot-detection.js","import":"./src/bot-detection/bot-detection.mjs","types":"./src/bot-detection/bot-detection.d.ts"},"./browser-detection":{"require":"./src/browser-detection/browser-detection.js","import":"./src/browser-detection/browser-detection.mjs","types":"./src/browser-detection/browser-detection.d.ts"},"./device-detection":{"require":"./src/device-detection/device-detection.js","import":"./src/device-detection/device-detection.mjs","types":"./src/device-detection/device-detection.d.ts"},"./enums":{"require":"./src/enums/ua-parser-enums.js","import":"./src/enums/ua-parser-enums.mjs","types":"./src/enums/ua-parser-enums.d.ts"},"./extensions":{"require":"./src/extensions/ua-parser-extensions.js","import":"./src/extensions/ua-parser-extensions.mjs","types":"./src/extensions/ua-parser-extensions.d.ts"},"./helpers":{"require":"./src/helpers/ua-parser-helpers.js","import":"./src/helpers/ua-parser-helpers.mjs","types":"./src/helpers/ua-parser-helpers.d.ts"}},"bin":{"ua-parser-js":"script/cli.js"},"scripts":{"build":"./script/build-dist.sh && ./script/build-esm.js","build+test":"npm run build && npm run test","fuzz":"jazzer ./test/fuzz/redos.js --sync","test":"./script/test-all.sh","test:dts-lint":"tsd --typings src/main/ua-parser.d.ts --files test/static/dts-lint.ts","test:eslint":"eslint --no-config-lookup src","test:jshint":"jshint src/main","test:lockfile-lint":"lockfile-lint -p package-lock.json","test:mocha":"mocha --recursive test/unit","test:playwright":"npx playwright install && playwright test test/e2e --browser all"},"dependencies":{"detect-europe-js":"^0.1.2","is-standalone-pwa":"^0.1.1","ua-is-frozen":"^0.1.2"},"devDependencies":{"@babel/parser":"7.15.8","@babel/traverse":"7.23.2","@playwright/test":"^1.57.0","eslint":"^9.39.1","jshint":"~2.13.6","lockfile-lint":"^4.14.1","mocha":"~8.2.0","requirejs":"2.3.2","safe-regex":"^2.1.1","tsd":"^0.29.0","uglify-js":"~3.19.3"},"repository":{"type":"git","url":"git+https://github.com/faisalman/ua-parser-js.git"},"license":"AGPL-3.0-or-later","engines":{"node":"*"},"directories":{"dist":"dist","script":"script","src":"src","test":"test"},"bugs":{"url":"https://github.com/faisalman/ua-parser-js/issues"},"demo":"https://uaparser.dev","download":"https://raw.github.com/faisalman/ua-parser-js/master/dist/ua-parser.pack.js","funding":[{"type":"opencollective","url":"https://opencollective.com/ua-parser-js"},{"type":"paypal","url":"https://paypal.me/faisalman"},{"type":"github","url":"https://github.com/sponsors/faisalman"}],"_id":"ua-parser-js@2.0.9","gitHead":"425b616123138de0a2a2b27893c54f8c544d2e75","_nodeVersion":"18.20.8","_npmVersion":"10.9.4","dist":{"shasum":"befd25ded7d3490008463f3d5ea6259ec6316d7a","size":773406,"noattachment":false,"key":"/ua-parser-js/-/ua-parser-js-2.0.9.tgz","tarball":"http://registry.cnpm.dingdandao.com/ua-parser-js/download/ua-parser-js-2.0.9.tgz"},"_npmUser":{"name":"faisalman","email":"fyzlman@gmail.com"},"maintainers":[{"name":"faisalman","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ua-parser-js_2.0.9_1770133807633_0.20533993065990064"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-02-03T15:50:07.888Z","publish_time":1770133807888,"_source_registry_name":"default","_cnpm_publish_time":1770133807888,"dist-tags":{"latest":"2.0.9","legacy":"1.0.41","next":"2.0.0"}}