+21
| <!DOCTYPE html> | ||
| <html> | ||
| <head> | ||
| <script src="https://cdn.jsdelivr.net/npm/isbot@5.1.6-rc"></script> | ||
| <script> | ||
| // isbot is now global | ||
| console.log(isbot(navigator.userAgent)); | ||
| </script> | ||
| </head> | ||
| <body> | ||
| <!-- <script type="module"> | ||
| import { isbot } from "https://cdn.jsdelivr.net/npm/isbot@5.1.5/+esm"; | ||
| isbot(navigator.userAgent); | ||
| </script> --> | ||
| <script> | ||
| console.log(isbot); | ||
| </script> | ||
| </body> | ||
| </html> |
+41
-26
@@ -1,32 +0,19 @@ | ||
| var isbot = (() => { | ||
| var __defProp = Object.defineProperty; | ||
| var __getOwnPropDesc = Object.getOwnPropertyDescriptor; | ||
| (() => { | ||
| var __getOwnPropNames = Object.getOwnPropertyNames; | ||
| var __hasOwnProp = Object.prototype.hasOwnProperty; | ||
| var __export = (target, all) => { | ||
| for (var name in all) | ||
| __defProp(target, name, { get: all[name], enumerable: true }); | ||
| var __esm = (fn, res) => function __init() { | ||
| return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; | ||
| }; | ||
| var __copyProps = (to, from, except, desc) => { | ||
| if (from && typeof from === "object" || typeof from === "function") { | ||
| for (let key of __getOwnPropNames(from)) | ||
| if (!__hasOwnProp.call(to, key) && key !== except) | ||
| __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); | ||
| } | ||
| return to; | ||
| var __commonJS = (cb, mod) => function __require() { | ||
| return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; | ||
| }; | ||
| var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); | ||
| // src/browser.ts | ||
| var browser_exports = {}; | ||
| __export(browser_exports, { | ||
| default: () => browser_default | ||
| // src/pattern.ts | ||
| var fullPattern; | ||
| var init_pattern = __esm({ | ||
| "src/pattern.ts"() { | ||
| fullPattern = " daum[ /]| deusu/| yadirectfetcher|(?:^|[^g])news|(?<! (?:channel/|google/))google(?!(app|/google| pixel))|(?<! cu)bot(?:[^\\w]|_|$)|(?<!(?: ya| yandex|^job|inapp;) ?)search|(?<!(?:lib))http|(?<![hg]m)score|(?<!android|ios)@|\\(\\)|\\.com|^12345|^<|^[\\w \\.\\-\\(?:\\):]+(?:/v?\\d+(?:\\.\\d+)?(?:\\.\\d{1,10})*?)?(?:,|$)|^[^ ]{50,}$|^\\w+/[\\w\\(\\)]*$|^active|^ad muncher|^amaya|^avsdevicesdk/|^biglotron|^bot|^bw/|^clamav[ /]|^client/|^cobweb/|^custom|^ddg[_-]android|^discourse|^dispatch/\\d|^downcast/|^duckduckgo|^facebook|^getright/|^gozilla/|^hobbit|^hotzonu|^hwcdn/|^jeode/|^jetty/|^jigsaw|^microsoft bits|^movabletype|^mozilla/\\d\\.\\d \\(compatible;?\\)$|^mozilla/\\d\\.\\d \\w*$|^navermailapp|^netsurf|^offline explorer|^postman|^python|^rank|^read|^reed|^rest|^serf|^snapchat|^space bison|^svn|^swcd |^taringa|^thumbor/|^track|^valid|^w3c|^webbandit/|^webcopier|^wget|^whatsapp|^wordpress|^xenu link sleuth|^yahoo|^yandex|^zdm/\\d|^zoom marketplace/|^{{.*}}$|analyzer|archive|ask jeeves/teoma|bit\\.ly/|bluecoat drtr|browsex|burpcollaborator|capture|catch|check|chrome-lighthouse|chromeframe|classifier|cloud|crawl|cypress/|dareboost|datanyze|dejaclick|detect|dmbrowser|download|evc-batch/|feed|firephp|gomezagent|headless|httrack|hubspot marketing grader|hydra|ibisbrowser|images|insight|inspect|iplabel|ips-agent|java(?!;)|library|mail\\.ru/|manager|measure|neustar wpm|node|nutch|offbyone|optimize|pageburst|parser|perl|phantomjs|pingdom|powermarks|preview|proxy|ptst[ /]\\d|reputation|resolver|retriever|rexx;|rigor|robot|rss|scan|scrape|server|sogou|sparkler/|speedcurve|spider|splash|statuscake|supercleaner|synapse|synthetic|tools|torrent|trace|transcoder|url|virtuoso|wappalyzer|watch|webglance|webkit2png|whatcms/|zgrab"; | ||
| } | ||
| }); | ||
| // src/pattern.ts | ||
| var fullPattern = " daum[ /]| deusu/| yadirectfetcher|(?:^|[^g])news|(?<! (?:channel/|google/))google(?!(app|/google| pixel))|(?<! cu)bot(?:[^\\w]|_|$)|(?<!(?: ya| yandex|^job|inapp;) ?)search|(?<!(?:lib))http|(?<![hg]m)score|(?<!android|ios)@|\\(\\)|\\.com|^12345|^<|^[\\w \\.\\-\\(?:\\):]+(?:/v?\\d+(?:\\.\\d+)?(?:\\.\\d{1,10})*?)?(?:,|$)|^[^ ]{50,}$|^\\w+/[\\w\\(\\)]*$|^active|^ad muncher|^amaya|^avsdevicesdk/|^biglotron|^bot|^bw/|^clamav[ /]|^client/|^cobweb/|^custom|^ddg[_-]android|^discourse|^dispatch/\\d|^downcast/|^duckduckgo|^facebook|^getright/|^gozilla/|^hobbit|^hotzonu|^hwcdn/|^jeode/|^jetty/|^jigsaw|^microsoft bits|^movabletype|^mozilla/\\d\\.\\d \\(compatible;?\\)$|^mozilla/\\d\\.\\d \\w*$|^navermailapp|^netsurf|^offline explorer|^postman|^python|^rank|^read|^reed|^rest|^serf|^snapchat|^space bison|^svn|^swcd |^taringa|^thumbor/|^track|^valid|^w3c|^webbandit/|^webcopier|^wget|^whatsapp|^wordpress|^xenu link sleuth|^yahoo|^yandex|^zdm/\\d|^zoom marketplace/|^{{.*}}$|analyzer|archive|ask jeeves/teoma|bit\\.ly/|bluecoat drtr|browsex|burpcollaborator|capture|catch|check|chrome-lighthouse|chromeframe|classifier|cloud|crawl|cypress/|dareboost|datanyze|dejaclick|detect|dmbrowser|download|evc-batch/|feed|firephp|gomezagent|headless|httrack|hubspot marketing grader|hydra|ibisbrowser|images|insight|inspect|iplabel|ips-agent|java(?!;)|library|mail\\.ru/|manager|measure|neustar wpm|node|nutch|offbyone|optimize|pageburst|parser|perl|phantomjs|pingdom|powermarks|preview|proxy|ptst[ /]\\d|reputation|resolver|retriever|rexx;|rigor|robot|rss|scan|scrape|server|sogou|sparkler/|speedcurve|spider|splash|statuscake|supercleaner|synapse|synthetic|tools|torrent|trace|transcoder|url|virtuoso|wappalyzer|watch|webglance|webkit2png|whatcms/|zgrab"; | ||
| // src/index.ts | ||
| var naivePattern = /bot|spider|crawl|http|lighthouse/i; | ||
| var pattern; | ||
| function getPattern() { | ||
@@ -46,6 +33,34 @@ if (pattern instanceof RegExp) { | ||
| } | ||
| var naivePattern, pattern; | ||
| var init_src = __esm({ | ||
| "src/index.ts"() { | ||
| init_pattern(); | ||
| naivePattern = /bot|spider|crawl|http|lighthouse/i; | ||
| } | ||
| }); | ||
| // src/browser.ts | ||
| var browser_default = isbot; | ||
| return __toCommonJS(browser_exports); | ||
| var require_browser = __commonJS({ | ||
| "src/browser.ts"() { | ||
| init_src(); | ||
| (function() { | ||
| if (typeof globalThis === "object") { | ||
| globalThis.isbot = isbot; | ||
| return; | ||
| } | ||
| if (typeof window === "object") { | ||
| window.isbot = isbot; | ||
| return; | ||
| } | ||
| if (typeof global === "object") { | ||
| global.isbot = isbot; | ||
| return; | ||
| } | ||
| if (typeof self === "object") { | ||
| self.isbot = isbot; | ||
| } | ||
| })(); | ||
| } | ||
| }); | ||
| require_browser(); | ||
| })(); |
+1
-1
| { | ||
| "name": "isbot", | ||
| "version": "5.1.5", | ||
| "version": "5.1.6-rc.1", | ||
| "description": "🤖/👨🦰 Recognise bots/crawlers/spiders using the user agent string.", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
+2
-2
@@ -7,3 +7,3 @@ # isbot 🤖/👨🦰 | ||
| Recognise bots/crawlers/spiders using the user agent string. | ||
| Identify bots, crawlers, and spiders using the user agent string. | ||
@@ -47,3 +47,3 @@ ## Usage | ||
| ```html | ||
| <script src="https://cdn.jsdelivr.net/npm/isbot@4"></script> | ||
| <script src="https://cdn.jsdelivr.net/npm/isbot@5"></script> | ||
| <script> | ||
@@ -50,0 +50,0 @@ // isbot is now global |
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
29409
1.65%8
14.29%569
2.89%1
Infinity%