Skip to content

Commit fb91647

Browse files
run test and fix one test
1 parent 672fa06 commit fb91647

File tree

10 files changed

+26
-18
lines changed

10 files changed

+26
-18
lines changed

dist/ua-parser.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/ua-parser.min.mjs

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

dist/ua-parser.pack.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/ua-parser.pack.mjs

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

src/enums/ua-parser-enums.mjs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,7 @@ const BrowserType = Object.freeze({
179179

180180
const CPU = Object.freeze({
181181
'68K': '68k',
182+
ALPHA: 'alpha',
182183
ARM : 'arm',
183184
ARM_64: 'arm64',
184185
ARM_HF: 'armhf',

src/extensions/ua-parser-extensions.mjs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ const Crawlers = Object.freeze({
4848
// Amazonbot - https://developer.amazon.com/amazonbot
4949
// Bingbot / AdIdxBot - https://www.bing.com/webmasters/help/which-crawlers-does-bing-use-8c184ec0
5050
// CCBot - https://commoncrawl.org/faq
51+
// Coveobot - https://connect.coveo.com/s/article/19648
52+
// CriteoBot - https://www.criteo.com/criteo-crawler/
5153
// Dotbot - https://moz.com/help/moz-procedures/crawlers/dotbot
5254
// DuckDuckBot - http://duckduckgo.com/duckduckbot.html
5355
// FacebookBot - https://developers.facebook.com/docs/sharing/bot/
@@ -60,7 +62,7 @@ const Crawlers = Object.freeze({
6062
// OpenAI's SearchGPT - https://platform.openai.com/docs/bots
6163
// PerplexityBot - https://perplexity.ai/perplexitybot
6264
// SeznamBot - http://napoveda.seznam.cz/seznambot-intro
63-
/((?:adidx|ahrefs|amazon|bing|cc|dot|duckduck|exa|facebook|gpt|iask|linkedin|mj12|mojeek|oai-search|onespot-scraper|perplexity|semrush|seznam)bot)\/([\w\.-]+)/i,
65+
/((?:adidx|ahrefs|amazon|bing|cc|coveo|criteo|dot|duckduck|exa|facebook|gpt|iask|linkedin|mj12|mojeek|oai-search|onespot-scraper|perplexity|semrush|seznam)bot)\/([\w\.-]+)/i,
6466

6567
// Applebot - http://apple.com/go/applebot
6668
/(applebot(?:-extended)?)\/?([\w\.]*)/i,
@@ -69,7 +71,7 @@ const Crawlers = Object.freeze({
6971
/(baiduspider[-imagevdonwsfcpr]{0,7})\/?([\w\.]*)/i,
7072

7173
// ClaudeBot (Anthropic)
72-
/(claude(?:bot|-web)|anthropic-ai)\/?([\w\.]*)/i,
74+
/(claude(?:bot|-searchbot|-web)|anthropic-ai)\/?([\w\.]*)/i,
7375

7476
// Coc Coc Bot - https://help.coccoc.com/en/search-engine
7577
/(coccocbot-(?:image|web))\/([\w\.]+)/i,
@@ -239,15 +241,16 @@ const Fetchers = Object.freeze({
239241
browser : [
240242
[
241243
// AhrefsSiteAudit - https://ahrefs.com/robot/site-audit
244+
// Buffer Link Preview Bot - https://scraper.buffer.com/about/bots/link-preview-bot
242245
// ChatGPT-User - https://platform.openai.com/docs/plugins/bot
243246
// DuckAssistBot - https://duckduckgo.com/duckassistbot/
244-
// Better Uptime / BingPreview / Mastodon / MicrosoftPreview / Pinterestbot / Redditbot / Rogerbot / SiteAuditBot / Telegrambot / Twitterbot / UptimeRobot
247+
// Better Uptime / BingPreview / Blueno / Mastodon / MicrosoftPreview / Pinterestbot / Redditbot / Rogerbot / SiteAuditBot / Telegrambot / Twitterbot / UptimeRobot
245248
// Google Site Verifier / Meta / Yahoo! Japan
246249
// Iframely - https://iframely.com/docs/about
247250
// Perplexity-User - https://docs.perplexity.ai/guides/bots
248251
// MistralAI-User - https://docs.mistral.ai/robots/
249252
// Yandex Bots - https://yandex.com/bots
250-
/(ahrefssiteaudit|(?:bing|microsoft)preview|(?:chatgpt|mistralai|perplexity)-user|mastodon|(?:discord|duckassist|linkedin|pinterest|reddit|roger|siteaudit|twitter|uptimero)bot|google-site-verification|iframely|meta-externalfetcher|y!?j-dlc|yandex(?:calendar|direct(?:dyn)?|searchshop)|yadirectfetcher)\/([\w\.]+)/i,
253+
/(ahrefssiteaudit|(?:bing|microsoft)preview|blueno|(?:chatgpt|claude|mistralai|perplexity)-user|mastodon|(?:bufferlinkpreview|discord|duckassist|linkedin|pinterest|reddit|roger|siteaudit|twitter|uptimero)bot|google-site-verification|iframely|meta-externalfetcher|y!?j-dlc|yandex(?:calendar|direct(?:dyn)?|searchshop)|yadirectfetcher)\/([\w\.]+)/i,
251254

252255
// Bluesky
253256
/(bluesky) cardyb\/([\w\.]+)/i,
@@ -408,8 +411,8 @@ const Vehicles = Object.freeze({
408411
const Bots = Object.freeze({
409412
browser : [
410413
...CLIs.browser,
411-
...Crawlers.browser,
412414
...Fetchers.browser,
415+
...Crawlers.browser,
413416
...Libraries.browser
414417
],
415418
os : [

src/helpers/ua-parser-helpers.mjs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ const isAIBot = (resultOrUA) => [
5656
// Anthropic
5757
'anthropic-ai',
5858
'claude-web',
59+
'claude-searchbot',
5960
'claudebot',
6061

6162
// Apple
@@ -67,6 +68,9 @@ const isAIBot = (resultOrUA) => [
6768

6869
// Common Crawl
6970
'ccbot',
71+
72+
// Coveo
73+
'coveobot',
7074

7175
// DataForSeo
7276
'dataforseobot',

src/main/ua-parser.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
// Definitions by: Faisal Salman <https://github.com/faisalman>
44

55
import type { Headers as FetchAPIHeaders } from "undici";
6-
import { IncomingHttpHeaders } from "undici/types/header";
6+
import type { IncomingHttpHeaders } from "undici/types/header";
77

88
declare namespace UAParser {
99

src/main/ua-parser.mjs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -538,15 +538,15 @@
538538
/( (ce|mobile); ppc;|\/[\w\.]+arm\b)/i
539539
], [[ARCHITECTURE, 'arm']], [
540540

541-
/((ppc|powerpc)(64)?)( mac|;|\))/i // PowerPC
542-
], [[ARCHITECTURE, /ower/, EMPTY, lowerize]], [
543-
544541
/ sun4\w[;\)]/i // SPARC
545542
], [[ARCHITECTURE, 'sparc']], [
546-
547-
/\b(avr32|ia64(?=;)|68k(?=\))|\barm(?=v([1-7]|[5-7]1)l?|;|eabi)|(irix|mips|sparc)(64)?\b|pa-risc)/i
548543
// IA64, 68K, ARM/64, AVR/32, IRIX/64, MIPS/64, SPARC/64, PA-RISC
549-
], [[ARCHITECTURE, lowerize]]
544+
/\b(avr32|ia64(?=;)|68k(?=\))|\barm(?=v([1-7]|[5-7]1)l?|;|eabi)|(irix|mips|sparc)(64)?\b|pa-risc)/i,
545+
/((ppc|powerpc)(64)?)( mac|;|\))/i, // PowerPC
546+
/(?:osf1|[freopnt]{3,4}bsd) (alpha)/i // Alpha
547+
], [[ARCHITECTURE, /ower/, EMPTY, lowerize]], [
548+
/winnt.+\[axp/i
549+
], [[ARCHITECTURE, 'alpha']]
550550
],
551551

552552
device : [[
@@ -885,7 +885,7 @@
885885

886886
/droid.+; (glass) \d/i // Google Glass
887887
], [MODEL, [VENDOR, GOOGLE], [TYPE, XR]], [
888-
/(pico) (4|neo3(?: link|pro)?)/i // Pico
888+
/(pico) ([\w ]+) os\d/i // Pico
889889
], [VENDOR, MODEL, [TYPE, XR]], [
890890
/(quest( \d| pro)?s?).+vr/i // Meta Quest
891891
], [MODEL, [VENDOR, FACEBOOK], [TYPE, XR]], [

test/unit/main.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ var cpus = require('../data/ua/cpu/cpu-all.json');
1010
var devices = readJsonFiles('test/data/ua/device');
1111
var engines = require('../data/ua/engine/engine-all.json');
1212
var os = readJsonFiles('test/data/ua/os');
13-
var { Headers } = require('node-fetch');
13+
var { Headers } = require('undici');
1414

1515
function readJsonFiles(dir) {
1616
var list = [];

0 commit comments

Comments
 (0)