Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
406 commits
Select commit Hold shift + click to select a range
f57f8fa
Update enums & extensions
faisalman Sep 30, 2023
a924715
Update build & test
faisalman Sep 30, 2023
f6fbf17
Update formFactor to be a list
faisalman Sep 30, 2023
5a0d9cc
Fix #655 - Provide in-package type definitions
faisalman Oct 2, 2023
ac282df
Update version to 2.0.0-beta.1
faisalman Oct 2, 2023
177a496
add Klarna Shopping Browser UA parser (#669)
darasus Oct 2, 2023
c8c6d12
Add PULL_REQUEST_TEMPLATE.md
faisalman Oct 10, 2023
119515e
Update readme: comparison between versions & licenses
faisalman Oct 10, 2023
77e0aa1
Fix #563 #631 - Add new browser: Alipay
faisalman Oct 12, 2023
e614108
Increase UA_MAX_LENGTH to 500
faisalman Oct 12, 2023
125f0d9
Fix #681 - Add new browser: Vivo Browser
faisalman Oct 12, 2023
b51ae9e
Fix misidentified WebView token as device model - found in #681
faisalman Oct 12, 2023
69ed6ce
Fix #683 - change MetaSr into Sogou Explorer (+add Sogou Mobile)
faisalman Oct 12, 2023
d565f65
Fix #682 - Add new browser: Smart Lenovo Browser
faisalman Oct 19, 2023
cfc0147
Update enums
faisalman Oct 19, 2023
46ff3df
Update readme
faisalman Oct 19, 2023
5c10e2b
Improve browser detection: rename "Samsung Browser" to "Samsung Inter…
faisalman Oct 23, 2023
f56073b
Improve browser detection: remove unnecessary extra space in "Avant "
faisalman Oct 23, 2023
9cc274f
Improve browser detection: unified name for Baidu
faisalman Oct 23, 2023
17f0c1e
Improve browser detection: WeChat
faisalman Oct 23, 2023
f8f71c6
Add new helpers submodule
faisalman Oct 24, 2023
26f7e7d
Add "types" inside "exports" of package.json, fix ./helpers import ty…
daniluk4000 Nov 6, 2023
7ad3e3b
Internal refactor: new helper methods to check for string & window
faisalman Oct 26, 2023
7abc8b9
Add new helper method `isChromiumBased()` to check whether the curren…
faisalman Nov 9, 2023
106d882
Create test for helpers
faisalman Nov 10, 2023
5173a54
Update readme for clarity over license options
faisalman Nov 23, 2023
2046fe5
Bump @babel/traverse from 7.15.4 to 7.23.2 (#684)
dependabot[bot] Nov 30, 2023
fdbeabb
Bump axios from 1.3.6 to 1.6.1 (#689)
dependabot[bot] Nov 30, 2023
e4f2463
Create declaration file .d.ts for extensions submodule
faisalman Nov 30, 2023
3622b61
Fix d.ts Record for extensions as Partial
faisalman Nov 30, 2023
09904a0
Fix undefined brandName when reading a field list that has no version
faisalman Dec 20, 2023
0c49d75
Fix #697 - Add new browser: Opera GX - https://www.opera.com/gx
faisalman Dec 29, 2023
b5c62b0
Fix #635 - ua-ch: prioritize more specific brand name regardless the …
faisalman Jan 10, 2024
9c5d6ee
Fix Edge detection in ua-ch: "Microsoft Edge" -> "Edge"
faisalman Jan 18, 2024
54c633a
Update ua-parser.js (#696)
Beat-YT Jan 24, 2024
d6d8ac7
Fix #692 - Improve TS module resolution (#702)
faisalman Jan 24, 2024
7c22bc5
Fix #703 - Improve TS module resolution --revert
faisalman Jan 25, 2024
b5b5475
Add new helper method: `isFrozenUA()` to match with frozen user-agent…
faisalman Jan 25, 2024
4d950db
Update version to 2.0.0-beta.2
faisalman Jan 28, 2024
b29a9a7
Fix #708 - Improve detection for Quest 3
faisalman Feb 28, 2024
a43d659
Fix #710: Add type to IBrowser (#711)
shiny Mar 19, 2024
8dce4cc
Fix #721 - Improve detection: recognize OPPO Pad as tablet
faisalman May 17, 2024
d0db40c
Fix #722 - Add new browser name: Twitter
faisalman May 17, 2024
e87c794
Fix #730 - Improve browser detection: DuckDuckGo
faisalman May 23, 2024
150d3c6
Add new feature: parse user-agent in CLI using `npx ua-parser-js "[IN…
faisalman Jun 1, 2024
5a8ce35
Insert spaces to command line output for readability
faisalman Jun 2, 2024
760e85b
Update test for some missing browsers:
faisalman Jun 2, 2024
6b6fcc6
Improve browser detection for Sleipnir
faisalman Jun 2, 2024
4cd867a
Improve browser detection for Klar
faisalman Jun 2, 2024
1fa3d02
Remove Viera from list of browsers
faisalman Jun 2, 2024
85bf707
Improve browser detection for ICEBrowser
faisalman Jun 2, 2024
12c2c2e
Improve browser detection for Rekonq
faisalman Jun 2, 2024
1a2ef00
Improve browser detection for QQBrowser
faisalman Jun 2, 2024
8991d34
Update `formFactor` -> `formFactors`, in accordance to the latest cha…
faisalman Jun 2, 2024
1a22c69
Update all package references in /test to use current working directo…
faisalman Jun 2, 2024
39590f1
BREAKING CHANGE - Add new property to `browser`: `type`
faisalman Jun 2, 2024
0543b87
BREAKING CHANGE: AR/VR devices moved to new device type: `xr`
faisalman Jun 5, 2024
f7810db
Add new browsers: Wolvic & Pico Browser
faisalman Jun 6, 2024
0a46ac3
Fix #718 - Extension param now accept multiple extensions
faisalman Jun 6, 2024
5190905
Clean up & few changes related to browser.type
faisalman Jun 6, 2024
173325f
Add some well-known bot user-agents: Applebot, Amazonbot, Bytespider,…
faisalman Jun 6, 2024
db3423a
BREAKING - Remove `bot` type, divide as `crawler` / `fetcher`
faisalman Jun 7, 2024
bdcd927
Update test for extensions
faisalman Jun 7, 2024
5328642
Update version to `2.0.0-beta.3`
faisalman Jun 7, 2024
6b642e2
[Extensions submodule] Add ChatGPT-User as fetcher
faisalman Jun 8, 2024
b75e449
Update changelog
faisalman Jun 10, 2024
b52a7ea
Add new XR device & OS: Pico - https://www.picoxr.com/global
faisalman Jun 10, 2024
de4978e
Add `mediaplayer` as a new `browser.type`
faisalman Jun 11, 2024
4fa991b
Update README.md
faisalman Jun 15, 2024
f24e4ac
Update playwright test
faisalman Jun 16, 2024
4e64cb6
Migrate to uaparser.dev
faisalman Jun 16, 2024
81cbbe5
Remove package.js & move pull_request_template inside /.github
faisalman Jun 16, 2024
a74ace8
Add Yahoo! Japan to Crawler, Fetcher, & InApp browser
faisalman Jun 21, 2024
50c15ad
Add new helper method `isPWA()` to check for standalone mode. Also fi…
faisalman Jun 22, 2024
21162f1
BREAKING CHANGE - Rename `isChromiumBased` -> `isChromeFamily` & `isP…
faisalman Jun 22, 2024
654285c
Add new browser: Helio
faisalman Jun 23, 2024
c391d8a
Update `isAppleSilicon()` helper method to also check for WebGL rende…
faisalman Jul 27, 2024
62fb6c2
Fix #660 - Add new helper method: `getDeviceVendor()` to guess the de…
faisalman Jul 27, 2024
15391d2
Improve browser detection for Quark (#737)
lj0812 Jul 31, 2024
9065949
Add new vendor: Nothing
faisalman Jul 31, 2024
cf775f1
Restore unintentionally removed code from previous commit
faisalman Jul 31, 2024
ac3a3c3
Add new device vendor: TCL
faisalman Aug 4, 2024
cce9060
Add more TCL devices
faisalman Aug 6, 2024
692b175
feat: Update and expand Chromecast device families (#724)
joeyparrish Aug 14, 2024
68ae2a7
adding detection of MJ12Bot and SemrushBot into extension Crawlers in…
opablo Aug 14, 2024
ccc5542
Improve detection: recognize Samsung Galaxy Watch devices as `wearable`
faisalman Aug 16, 2024
b8d823d
Improve detection: Amazon Echo Show devices
faisalman Aug 16, 2024
b1dae13
[extension][bot] Add AhrefsBot, AhrefsSiteAudit, Dotbot, Rogerbot, Up…
faisalman Aug 19, 2024
491c2d7
Add new device vendor: itel
faisalman Aug 24, 2024
b9f1bf6
Fix #743 - Improve device detection for Xiaomi
faisalman Sep 6, 2024
db16124
Add new helper method: `isFromEU()` to detect whether user comes from…
faisalman Sep 14, 2024
3de1961
Add new helper method: `isElectron()` to detect whether the current w…
faisalman Sep 14, 2024
391b808
Fix #747: Python Request mistakenly identified as Meta Quest
faisalman Sep 20, 2024
f00fb3a
[submodule:extensions] Restore `Bots` as an umbrella term for any kin…
faisalman Sep 22, 2024
a4c81a5
[submodule:extensions] Add new crawler: OAI-SearchBot (OpenAI's bot f…
faisalman Sep 28, 2024
5b7fe91
[submodule:enums] Replace underscore with quotation
faisalman Oct 17, 2024
7201755
Fix #719 - Add icons
faisalman Oct 18, 2024
fe15f11
Fix #754: Add new Engine: ArkWeb & new OS: OpenHarmony
faisalman Oct 22, 2024
9890f9f
Move icons under `/dist` folder
faisalman Oct 25, 2024
aad163f
Change `withFeatureCheck()` return value to also include `PromiseLike…
faisalman Oct 29, 2024
1e0175c
Update version to `2.0.0-rc.1`
faisalman Oct 29, 2024
7a754ef
Update browser.type="inapp" for InApp browsers
faisalman Nov 2, 2024
5a1d031
Add new helper method: `isBot()` to detect whether current browser is…
faisalman Nov 2, 2024
10b8183
Improve browser detection: SRWare Iron
faisalman Nov 2, 2024
b7c2f54
Add new browsers: Slimjet & SlimBoat
faisalman Nov 2, 2024
d571859
Improve browser detection: `Comodo Dragon`, or simply `Dragon`
faisalman Nov 2, 2024
2624a92
Improve browser detection: `2345` & `360`
faisalman Nov 2, 2024
2dc1be1
Add new browser: `115 Browser`
faisalman Nov 2, 2024
246c038
Improve browser detection: `Maxthon`
faisalman Nov 3, 2024
2223a2b
Add new browser: `LibreWolf`
faisalman Nov 3, 2024
5097b80
[submodule:enums] Add some of Chromecast OS variants
faisalman Nov 4, 2024
e954f19
Move `isFrozenUA()` & `isStandalonePWA()` to its own npm module
faisalman Nov 5, 2024
0808d1d
Fix #759 - Incorrect import path for ESM files in build script
faisalman Nov 7, 2024
a1644b6
Update version to `2.0.0-rc.2`
faisalman Nov 7, 2024
be2f167
Added support for honor separated from Huawei (#749)
Julias0 Nov 9, 2024
d5edcba
Fix #763 - Add support for Headers object
faisalman Nov 9, 2024
75690f1
Merge remote-tracking branch 'origin/develop'
faisalman Nov 9, 2024
19e5d32
[submodule:helpers] Add an optional parameter in `isAppleSilicon()` t…
faisalman Nov 9, 2024
3b3361f
[submodule:extensions] Breaking change: rename `module` to `library`
faisalman Nov 10, 2024
a0e11b7
[submodule:extensions] Add some new bots: `360Spider`, `Archive.org B…
faisalman Nov 10, 2024
cbe06ac
[submodule:extensions] Add email clients: `Evolution`, `KMail`, `Kont…
faisalman Nov 10, 2024
49151e4
Add new browser engine: `Servo`
faisalman Nov 11, 2024
6b8920c
Add new device vendors: `Cat`, `Energizer`, `Micromax`
faisalman Nov 11, 2024
84c4613
Add new device vendors: `Advan`, `IMO`, `Smartfren`
faisalman Nov 12, 2024
ee51caf
Update version to `2.0.0-rc.3`
faisalman Nov 13, 2024
ba980c8
Refine changelog details regarding v1 to v2 migration
faisalman Nov 14, 2024
4a12562
[submodule:extensions] Add new CLI: ELinks, HTTPie
faisalman Nov 14, 2024
14caf6d
[submodule:extensions] Add new library: `java`, `python-urllib`, `pyt…
faisalman Nov 15, 2024
2181559
[submodule:extensions] Add new email: Airmail, BlueMail, eMClient, Na…
faisalman Nov 16, 2024
2b125c8
[submodule:extensions] Add new bots: AI2Bot, aiHitBot, anthropic-ai, …
faisalman Nov 16, 2024
b1c7dfc
[submodule:helpers] Revert providing extra param in `isAppleSilicon()…
faisalman Nov 16, 2024
5b375b9
[submodule:helpers] Enable directly pass user-agent as an input to `i…
faisalman Nov 16, 2024
70b3003
[submodule:helpers] Add new method `isAIBot()`: detect AI bots
faisalman Nov 16, 2024
38baf84
Update version to `2.0.0`
faisalman Nov 18, 2024
d1f691f
Update README.md
faisalman Nov 18, 2024
8174330
Update README.md (2)
faisalman Nov 18, 2024
5742ba6
Update README.md (3)
faisalman Nov 19, 2024
41de949
Improve device detection for tablets: Honor, Huawei, Infinix
faisalman Nov 19, 2024
29b7636
Add missing 1.0.39 changes to CHANGELOG.md (#766)
haraldreingruber-dedalus Nov 20, 2024
4c57a5a
Improve device detection for tablets: OnePlus, Xiaomi
faisalman Nov 20, 2024
536031d
Improve device detection: Google Pixel Tablet
faisalman Nov 20, 2024
4ddbeea
Insert a link to contributing guidelines in PR template
faisalman Nov 20, 2024
c8ece08
Improve device detection: Google Pixel Watch
faisalman Nov 20, 2024
c72198d
Improve device detection: Nokia tablets
faisalman Nov 20, 2024
94d3d84
Add new device vendor: HMD
faisalman Nov 20, 2024
a1d81c9
Move device test spec into separate files
faisalman Nov 21, 2024
b4bc86a
Improve device detection: Lenovo
faisalman Nov 21, 2024
bcf249d
Fix #767 #763 - Improve type definition for `headers`
faisalman Nov 22, 2024
f5ee90f
Reorganize test files
faisalman Nov 22, 2024
60cc84d
[sub:extensions] Add new bots: Apache-HttpClient, go-http-client, got…
faisalman Nov 24, 2024
c37f386
[sub:extensions] Rearrange mediaplayer regexes
faisalman Nov 26, 2024
20e195d
Move os test spec into separate files
faisalman Nov 26, 2024
aa56b2f
Update `engine.version` to be the same as `browser.version` for Chrom…
faisalman Nov 28, 2024
1a057b4
Reorganize test files & directories
faisalman Nov 28, 2024
e013038
Improve cpu detection for x86
faisalman Nov 29, 2024
b2fc76f
[test] remove the client hints check in firefox & safari
faisalman Nov 30, 2024
fc851b4
Improve device detection: recognize MIUI as Xiaomi
faisalman Nov 30, 2024
dbd24a5
Browser naming adjustments for Client Hints:
faisalman Nov 30, 2024
48c221b
Update npm version of `@playwright/test` to fix failed test in GitHub…
faisalman Nov 30, 2024
aed89f0
Fix #660 - Infer device vendor & type from `sec-ch-ua-model`
faisalman Nov 30, 2024
259cd14
[test] Move all client hints-related tests into a separate file
faisalman Nov 30, 2024
fbadfd7
Improve device detection for wearables
faisalman Nov 30, 2024
d4986af
Improve device detection for Xiaomi TVs
faisalman Dec 2, 2024
d024fe2
[extensions] Fix #770 - Add new fetcher bot: `Bluesky`
faisalman Dec 3, 2024
592bfdd
Add new browser: `Ladybird`
faisalman Dec 8, 2024
bb1daf4
Fix #771 - Provide alternative contribution channel for Alipay/WeChat…
faisalman Dec 9, 2024
f854f26
feat: add TypeScript definitions for UAParser.js enums (#772)
mikehuebner Dec 10, 2024
84b41f5
Add new OS: `Windows IoT`
faisalman Dec 11, 2024
5d603da
Add new device: Apple HomePod
faisalman Dec 12, 2024
594b6b1
Add new OS: `Ubuntu Touch`
faisalman Dec 12, 2024
4601953
Add Daum app user agent (#773)
HyewonKkang Dec 12, 2024
de871b3
[test] Move test file for Windows IoT
faisalman Dec 12, 2024
9cdf560
Improve detection for Nvidia devices
faisalman Dec 12, 2024
13d069f
Improve device detection for unidentified SmartTV vendors
faisalman Dec 12, 2024
93552e0
Improve CPU detection: ARM
faisalman Dec 14, 2024
6c6ff97
Improve device detection for Generic device: capture its device model…
faisalman Dec 16, 2024
852520f
Also provide minified .mjs files of main module in /dist
faisalman Dec 16, 2024
20e8740
Improve device detection for unknown VR device
faisalman Dec 18, 2024
e8a3012
[extensions] Create a new list for `Vehicles` user-agent: Volvo, Rivi…
faisalman Dec 21, 2024
10ab810
Improve detection for Nokia device & Symbian OS
faisalman Dec 23, 2024
9e64f34
Improve CPU detection: x86
faisalman Dec 23, 2024
3ca2319
Improve OS detection: fix Linux arch mistakenly detected as version
faisalman Dec 23, 2024
51dce55
Bump version `2.0.1`
faisalman Feb 4, 2025
98e0708
Fix issue #776 - Missing type def for node-fetch
faisalman Feb 6, 2025
4ea03a5
Bump version `2.0.2`
faisalman Feb 9, 2025
5413a98
Move node-fetch to dependencies
faisalman Feb 9, 2025
6f0191c
[test] Move playwright installation inside `test:playwright` script
faisalman Feb 15, 2025
837d319
[extensions][helpers] Update Semrush bot variants
faisalman Feb 20, 2025
d8057bc
Browser naming adjustments for Client Hints:
faisalman Feb 21, 2025
056e66f
Update contributors in package.json
faisalman Feb 28, 2025
178e678
[extensions] Update some fetcher bots #780 - `Google-PageRenderer`, `…
faisalman Mar 1, 2025
3fccce2
GitHub Actions: test in various node versions
faisalman Mar 1, 2025
d1105ce
GitHub Actions: update node versions to be tested
faisalman Mar 1, 2025
3d41647
[extensions] Update some more bots #780: `Better Uptime Bot`, `Semrus…
faisalman Mar 4, 2025
baeac63
Remover Jazzer.js fuzz testing, since the package is no longer suppor…
faisalman Mar 6, 2025
8a05328
[extensions] Improve inapp browser detection: Slack, Yahoo! Japan
faisalman Mar 6, 2025
a9b31c0
[extensions] Add bots: AdIdxBot, Linespider, LinkedInBot, MicrosoftPr…
faisalman Mar 6, 2025
367eae4
[extensions] Add new Vehicles: `BMW`, `Jeep Wagooner`
faisalman Mar 7, 2025
0cf4477
Improve device detection: Archos
faisalman Mar 8, 2025
30c0b20
Improve device detection: LG
faisalman Mar 8, 2025
2d26ead
Add new browser: LG Browser
faisalman Mar 8, 2025
8f545f9
Add new browser: Dooble, Ecosia, Otter, qutebrowser, Surf
faisalman Mar 8, 2025
f7f64a3
[extensions] Detect OS from WhatsApp user agent
faisalman Mar 11, 2025
c6f8ba3
Add new device: Facebook Portal TV
faisalman Mar 11, 2025
f93cb04
Improve device detection for Meta Quest
faisalman Mar 11, 2025
6a41513
Add new device vendor: BLU
faisalman Mar 11, 2025
af8acf9
Bump version `2.0.3`
faisalman Mar 14, 2025
cd3bef7
Improve OS detection: HarmonyOS, MorphOS
faisalman Mar 27, 2025
8ae88b6
Improve OS detection: AIX, Fuchsia, Haiku, Solaris
faisalman Mar 27, 2025
598c51c
Add new OS: ArcaOS
faisalman Mar 27, 2025
e1216ff
Improve OS detection: Arch, Mint
faisalman Apr 15, 2025
848cd1d
Add new OS: Knoppix, Xubuntu
faisalman Apr 15, 2025
e069133
Fix #787 - Avoid using lookbehind assertion in regex to ensure compat…
faisalman Apr 15, 2025
b9a7109
Fix #791 - Add new device vendor: Vizio
faisalman May 2, 2025
944c1fb
Improve device detection: Motorola
faisalman May 10, 2025
14a5103
Improve device detection: identify `Large Screen` as `smarttv`
faisalman May 10, 2025
6a2a3a6
Fix mistakenly placed enum value
faisalman May 12, 2025
be16c04
Improve device detection: Nothing, Sony
faisalman May 12, 2025
3d6e326
Improve device detection: Google Pixel & Pixelbook series
faisalman May 12, 2025
466a8b2
Improve device detection: OnePlus
faisalman May 12, 2025
72c59b5
Add new device vendor: Lava
faisalman May 13, 2025
f51ed79
Improve device detection: HMD, Infinix, Tecno
faisalman May 20, 2025
64a933b
[extensions] Add new fetcher: `MistralAI-User`, `Perplexity-User`
faisalman May 20, 2025
29677bc
Add new browser: `Edge WebView`, `Edge WebView2`
faisalman May 21, 2025
a3549ef
[extensions] Add new bots: Daumoa, iAskBot, Iframely, Qwantbot
faisalman May 30, 2025
72d0c2a
[extensions] Add new crawler bots: ChatGLM, Onespot, Startpage
faisalman Jun 3, 2025
5f1e498
Move browser hints map
faisalman Jun 6, 2025
5e7d0b2
Improve device&OS detection: LG webOS TV
faisalman Jun 6, 2025
e312298
Fix #794: Detect Windows 7
faisalman Jun 10, 2025
1282175
[extensions] Add new libraries: AdobeAIR, aiohttp, nutch, httpx, urllib3
faisalman Jun 10, 2025
d28d74f
[extensions] Add new apps: Discord, Evernote, Figma, Flipboard, Matte…
faisalman Jun 16, 2025
ee88f16
[extensions] Add new email: Apple's Mail, DaumMail, Polymail, ProtonM…
faisalman Jun 18, 2025
f300478
Identify device that uses Firefox Reality / Wolvic as an XR device
faisalman Jun 18, 2025
f9836f1
Add new vendor: Retroid
faisalman Jun 19, 2025
a937842
Improve Windows detection & recognize Windows CE & RT as separate OS …
faisalman Jun 21, 2025
86b3cd3
Improve OS detection: Windows Server series
faisalman Jun 21, 2025
c9d008e
Bump version `2.0.4`
faisalman Jun 21, 2025
088383b
Add new CPU architecture: alpha
faisalman Jul 21, 2025
a19977c
Fix #796: Improve device detection for Pico Neo 3
faisalman Jul 21, 2025
0bb6e24
[extensions] Add new bots: Blueno, BufferLinkPreviewBot, Claude-Searc…
faisalman Jul 22, 2025
3fe137e
chore: move node-fetch to devDeps (#784)
undefined-moe Aug 1, 2025
ab299a2
Zalo integration in UAParser (#1) (#792)
suryaanshah Aug 1, 2025
ecbc033
Fix #797: Iterate over `brands` as an array (#798)
anulman Aug 1, 2025
bf5155e
Add new vendor: Philips
faisalman Aug 9, 2025
9e6dff6
replace node fetch types with undici
hbbrawer-twitch Jul 28, 2025
74ef71c
[extensions][helpers] Add new bots: Asana, bitlybot, Chrome-Lighthous…
faisalman Aug 9, 2025
95485f7
[extensions][helpers] Add new bots: cohere-training-data-crawler, Gem…
faisalman Aug 11, 2025
647b623
[extensions][helpers] Add some bots from Vercel: v0bot, vercel-favico…
faisalman Aug 14, 2025
975c486
[extensions][helpers] Add some new AI bots: Bravebot, Cotoyogi, Firec…
faisalman Aug 14, 2025
16a5cd8
update ua-parser-js from 0.7.33 to 2.0.4
Ryan-Haines Aug 14, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# These are supported funding model platforms

github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
github: faisalman
patreon: # Replace with a single Patreon username
open_collective: ua-parser-js
ko_fi: # Replace with a single Ko-fi username
Expand Down
43 changes: 43 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''

---

**Library version**
Which version of the library that you use, eg: v0.7.35 or v2.0.0-alpha.3

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen, or what's referred in the docs https://docs.uaparser.dev/

**Screenshots**
If applicable, add screenshots to help explain your problem.

For issues related to detection results, you can send the screenshots of the demo section at https://uaparser.dev/#demo to confirm.

**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]

**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]

**Additional context**
Add any other context about the problem here.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
22 changes: 22 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Prerequisites

- [ ] I have read and follow the [contributing](https://github.com/faisalman/ua-parser-js/blob/master/CONTRIBUTING.md) guidelines
- [ ] I have read and accept the [Contributor License Agreement (CLA)](https://gist.github.com/faisalman/2ed16621ebb544157eba85a7f7381417) Document and I hereby sign the CLA

# Type of Change

Bug fix, feature, docs update, ...

# Description

Please include a summary of the change (current behavior vs new behavior), which issue is fixed (you can also link to an open issue here), and why this change is necessary.

# Test

Please describe the tests that you ran to verify your changes.

# Impact

Does this PR introduce a breaking change? What changes might users need to make due to this PR?

# Other Info
1 change: 1 addition & 0 deletions .github/PULL_REQUEST_TEMPLATE/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- [ ] I have read and accept the [Contributor License Agreement (CLA)](https://gist.github.com/faisalman/2ed16621ebb544157eba85a7f7381417) Document and I hereby sign the CLA
78 changes: 78 additions & 0 deletions .github/workflows/analysis-codeql.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: CodeQL Analysis

on:
push:
branches: [ "master"]
pull_request:
# The branches below must be a subset of the branches above
branches: [ "master" ]
schedule:
- cron: '15 6 * * 0'

permissions: read-all

jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write

strategy:
fail-fast: false
matrix:
language: [ 'javascript' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
# Use only 'java' to analyze code written in Java, Kotlin or both
# Use only 'javascript' to analyze code written in JavaScript, TypeScript or both
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support

steps:
- name: Checkout repository
uses: actions/checkout@v3

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.

# Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality


# Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
# - name: Autobuild
# uses: github/codeql-action/autobuild@v2

# ℹ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun

# If the Autobuild fails above, remove it and uncomment the following three lines.
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.

# - run: |
# echo "Run, Build Application using script"
# ./location_of_script_within_repo/buildscript.sh

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
with:
category: "/language:${{matrix.language}}"
20 changes: 20 additions & 0 deletions .github/workflows/analysis-dependency.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Dependency Review Action
#
# This Action will scan dependency manifest files that change as part of a Pull Request, surfacing known-vulnerable versions of the packages declared or updated in the PR. Once installed, if the workflow run is marked as required, PRs introducing known-vulnerable packages will be blocked from merging.
#
# Source repository: https://github.com/actions/dependency-review-action
# Public documentation: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review#dependency-review-enforcement
name: Dependency Analysis
on: [pull_request]

permissions:
contents: read

jobs:
dependency-review:
runs-on: ubuntu-latest
steps:
- name: 'Checkout Repository'
uses: actions/checkout@v3
- name: 'Dependency Review'
uses: actions/dependency-review-action@v2
72 changes: 72 additions & 0 deletions .github/workflows/analysis-scorecard.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# This workflow uses actions that are not certified by GitHub. They are provided
# by a third-party and are governed by separate terms of service, privacy
# policy, and support documentation.

name: OpenSSF's Scorecard Analysis
on:
# For Branch-Protection check. Only the default branch is supported. See
# https://github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection
branch_protection_rule:
# To guarantee Maintained check is occasionally updated. See
# https://github.com/ossf/scorecard/blob/main/docs/checks.md#maintained
schedule:
- cron: '45 2 * * 4'
push:
branches: [ "master" ]

# Declare default permissions as read only.
permissions: read-all

jobs:
analysis:
name: Scorecard analysis
runs-on: ubuntu-latest
permissions:
# Needed to upload the results to code-scanning dashboard.
security-events: write
# Needed to publish results and get a badge (see publish_results below).
id-token: write
# Uncomment the permissions below if installing in a private repository.
# contents: read
# actions: read

steps:
- name: "Checkout code"
uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # v3.1.0
with:
persist-credentials: false

- name: "Run analysis"
uses: ossf/scorecard-action@e38b1902ae4f44df626f11ba0734b14fb91f8f86 # v2.1.2
with:
results_file: results.sarif
results_format: sarif
# (Optional) "write" PAT token. Uncomment the `repo_token` line below if:
# - you want to enable the Branch-Protection check on a *public* repository, or
# - you are installing Scorecard on a *private* repository
# To create the PAT, follow the steps in https://github.com/ossf/scorecard-action#authentication-with-pat.
repo_token: ${{ secrets.SCORECARD_TOKEN }}

# Public repositories:
# - Publish results to OpenSSF REST API for easy access by consumers
# - Allows the repository to include the Scorecard badge.
# - See https://github.com/ossf/scorecard-action#publishing-results.
# For private repositories:
# - `publish_results` will always be set to `false`, regardless
# of the value entered here.
publish_results: true

# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
# format to the repository Actions tab.
- name: "Upload artifact"
uses: actions/upload-artifact@3cea5372237819ed00197afe530f5a7ea3e805c8 # v3.1.0
with:
name: SARIF file
path: results.sarif
retention-days: 5

# Upload the results to GitHub's code scanning dashboard.
- name: "Upload to code-scanning"
uses: github/codeql-action/upload-sarif@17573ee1cc1b9d061760f3a006fc4aac4f944fd5 # v2.2.4
with:
sarif_file: results.sarif
22 changes: 22 additions & 0 deletions .github/workflows/publish-github-packages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Publish to GitHub Package

on:
release:
types: [published]

jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '18.x'
registry-url: https://npm.pkg.github.com/
- run: npm ci
- run: npm publish
env:
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
23 changes: 23 additions & 0 deletions .github/workflows/publish-npm-packages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Publish to NPM

on:
release:
types: [published]

jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '18.x'
registry-url: 'https://registry.npmjs.org'
- run: npm install -g npm
- run: npm ci
- run: npm publish --provenance --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
20 changes: 0 additions & 20 deletions .github/workflows/run-test.yml

This file was deleted.

28 changes: 28 additions & 0 deletions .github/workflows/test-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: UAParser.js CI-Test

on: [push, pull_request]

permissions:
contents: read

jobs:
run-test:
runs-on: ubuntu-latest
strategy:
matrix:
arch: [amd64]
node-version: ['22.13', 'lts/*']
include:
- arch: ppc64le
node-version: 20
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- name: Run the test
run: |
echo "Running on ubuntu-latest-${{ matrix.arch }} with node version set as ${{ matrix.node-version }}"
npm ci
npx playwright install --with-deps
npm test
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
node_modules/
npm-debug.log
playwright-report/
test-results/

### vim ###
.*.s[a-w][a-z]
Expand Down
3 changes: 0 additions & 3 deletions .jshintrc

This file was deleted.

1 change: 0 additions & 1 deletion .npmrc

This file was deleted.

Loading