From 634e13f6272f39e602b8f30528b2b0d9debad852 Mon Sep 17 00:00:00 2001 From: Faisal Salman Date: Mon, 15 Dec 2025 21:10:00 +0700 Subject: [PATCH] [extensions] Add new CLI: Windows' PowerShell --- src/enums/ua-parser-enums.js | 1 + src/extensions/ua-parser-extensions.js | 4 ++-- test/data/ua/extension/cli.json | 20 ++++++++++++++++++++ 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/src/enums/ua-parser-enums.js b/src/enums/ua-parser-enums.js index 3091e49..8058a28 100644 --- a/src/enums/ua-parser-enums.js +++ b/src/enums/ua-parser-enums.js @@ -448,6 +448,7 @@ const Extension = Object.freeze({ ELINKS: 'ELinks', HTTPIE: 'HTTPie', LYNX: 'Lynx', + POWERSHELL: 'PowerShell', WGET: 'Wget' }, Crawler: { diff --git a/src/extensions/ua-parser-extensions.js b/src/extensions/ua-parser-extensions.js index 0ef5e28..388487d 100644 --- a/src/extensions/ua-parser-extensions.js +++ b/src/extensions/ua-parser-extensions.js @@ -28,8 +28,8 @@ const LIBRARY = 'library'; const CLIs = Object.freeze({ browser : [ - // wget / curl / Lynx / ELinks / HTTPie - [/(wget|curl|lynx|elinks|httpie)[\/ ]\(?([\w\.-]+)/i], [NAME, VERSION, [TYPE, CLI]] + // wget / curl / Lynx / ELinks / HTTPie / PowerShell + [/(wget|curl|lynx|elinks|httpie|powershell)[\/ ]\(?([\w\.-]+)/i], [NAME, VERSION, [TYPE, CLI]] ] }); diff --git a/test/data/ua/extension/cli.json b/test/data/ua/extension/cli.json index ce89135..f12ec15 100644 --- a/test/data/ua/extension/cli.json +++ b/test/data/ua/extension/cli.json @@ -59,6 +59,26 @@ "type" : "cli" } }, + { + "desc" : "PowerShell", + "ua" : "Mozilla/5.0 (Windows NT 10.0; Microsoft Windows 10.0.15063; en-US) PowerShell/6.0.0", + "expect" : + { + "name" : "PowerShell", + "version" : "6.0.0", + "type" : "cli" + } + }, + { + "desc" : "PowerShell", + "ua" : "Mozilla/5.0 (Windows NT; Windows NT 10.0; de-DE) WindowsPowerShell/5.1.19041.5737", + "expect" : + { + "name" : "PowerShell", + "version" : "5.1.19041.5737", + "type" : "cli" + } + }, { "desc" : "wget", "ua" : "Wget/1.21.1",