Comparing version 12.0.0 to 12.1.0
19
index.js
import urlRegex from 'url-regex-safe'; | ||
import normalizeUrl from 'normalize-url'; | ||
import {isMatch, matches} from 'super-regex'; | ||
@@ -9,3 +10,3 @@ const getUrlsFromQueryParameters = url => { | ||
for (const [, value] of searchParams) { | ||
if (urlRegex({exact: true}).test(value)) { | ||
if (isMatch(urlRegex({exact: true}), value, {timeout: 500})) { | ||
returnValue.add(value); | ||
@@ -35,10 +36,15 @@ } | ||
const urls = text.match( | ||
const results = matches( | ||
urlRegex(options.requireSchemeOrWww === undefined ? undefined : { | ||
re2: false, | ||
strict: options.requireSchemeOrWww, | ||
parens: true, | ||
}), | ||
) || []; | ||
text, | ||
{ | ||
matchTimeout: 500, | ||
}, | ||
); | ||
for (const url of urls) { | ||
for (const {match: url} of results) { | ||
add(url); | ||
@@ -54,6 +60,7 @@ | ||
for (const excludedItem of options.exclude || []) { | ||
for (const excludedItem of options.exclude ?? []) { | ||
const regex = new RegExp(excludedItem); | ||
for (const item of returnValue) { | ||
if (regex.test(item)) { | ||
if (isMatch(regex, item, {timeout: 500})) { | ||
returnValue.delete(item); | ||
@@ -60,0 +67,0 @@ } |
{ | ||
"name": "get-urls", | ||
"version": "12.0.0", | ||
"version": "12.1.0", | ||
"description": "Get all URLs in a string", | ||
@@ -40,4 +40,4 @@ "license": "MIT", | ||
"normalize-url": "^8.0.0", | ||
"re2": "^1.19.1", | ||
"url-regex-safe": "^3.0.0" | ||
"super-regex": "^0.2.0", | ||
"url-regex-safe": "^4.0.0" | ||
}, | ||
@@ -47,4 +47,4 @@ "devDependencies": { | ||
"tsd": "^0.28.1", | ||
"xo": "^0.55.0" | ||
"xo": "^0.56.0" | ||
} | ||
} |
6305
88
+ Addedsuper-regex@^0.2.0
+ Addedclone-regexp@3.0.0(transitive)
+ Addedconvert-hrtime@5.0.0(transitive)
+ Addedfunction-timeout@0.1.1(transitive)
+ Addedis-regexp@3.1.0(transitive)
+ Addedsuper-regex@0.2.0(transitive)
+ Addedtime-span@5.1.0(transitive)
+ Addedurl-regex-safe@4.0.0(transitive)
- Removedre2@^1.19.1
- Removed@isaacs/cliui@8.0.2(transitive)
- Removed@npmcli/agent@2.2.2(transitive)
- Removed@npmcli/fs@3.1.1(transitive)
- Removed@pkgjs/parseargs@0.11.0(transitive)
- Removedabbrev@2.0.0(transitive)
- Removedagent-base@7.1.3(transitive)
- Removedaggregate-error@3.1.0(transitive)
- Removedansi-regex@5.0.16.1.0(transitive)
- Removedansi-styles@4.3.06.2.1(transitive)
- Removedbalanced-match@1.0.2(transitive)
- Removedbrace-expansion@2.0.1(transitive)
- Removedcacache@18.0.4(transitive)
- Removedchownr@2.0.0(transitive)
- Removedclean-stack@2.2.0(transitive)
- Removedcolor-convert@2.0.1(transitive)
- Removedcolor-name@1.1.4(transitive)
- Removedcross-spawn@7.0.6(transitive)
- Removeddebug@4.4.0(transitive)
- Removedeastasianwidth@0.2.0(transitive)
- Removedemoji-regex@8.0.09.2.2(transitive)
- Removedencoding@0.1.13(transitive)
- Removedenv-paths@2.2.1(transitive)
- Removederr-code@2.0.3(transitive)
- Removedexponential-backoff@3.1.2(transitive)
- Removedforeground-child@3.3.1(transitive)
- Removedfs-minipass@2.1.03.0.3(transitive)
- Removedglob@10.4.5(transitive)
- Removedgraceful-fs@4.2.11(transitive)
- Removedhttp-cache-semantics@4.1.1(transitive)
- Removedhttp-proxy-agent@7.0.2(transitive)
- Removedhttps-proxy-agent@7.0.6(transitive)
- Removediconv-lite@0.6.3(transitive)
- Removedimurmurhash@0.1.4(transitive)
- Removedindent-string@4.0.0(transitive)
- Removedinstall-artifact-from-github@1.3.5(transitive)
- Removedip-address@9.0.5(transitive)
- Removedis-fullwidth-code-point@3.0.0(transitive)
- Removedis-lambda@1.0.1(transitive)
- Removedisexe@2.0.03.1.1(transitive)
- Removedjackspeak@3.4.3(transitive)
- Removedjsbn@1.1.0(transitive)
- Removedlru-cache@10.4.3(transitive)
- Removedmake-fetch-happen@13.0.1(transitive)
- Removedminimatch@9.0.5(transitive)
- Removedminipass@3.3.65.0.07.1.2(transitive)
- Removedminipass-collect@2.0.1(transitive)
- Removedminipass-fetch@3.0.5(transitive)
- Removedminipass-flush@1.0.5(transitive)
- Removedminipass-pipeline@1.2.4(transitive)
- Removedminipass-sized@1.0.3(transitive)
- Removedminizlib@2.1.2(transitive)
- Removedmkdirp@1.0.4(transitive)
- Removedms@2.1.3(transitive)
- Removednan@2.22.2(transitive)
- Removednegotiator@0.6.4(transitive)
- Removednode-gyp@10.3.1(transitive)
- Removednopt@7.2.1(transitive)
- Removedp-map@4.0.0(transitive)
- Removedpackage-json-from-dist@1.0.1(transitive)
- Removedpath-key@3.1.1(transitive)
- Removedpath-scurry@1.11.1(transitive)
- Removedproc-log@4.2.0(transitive)
- Removedpromise-retry@2.0.1(transitive)
- Removedre2@1.21.4(transitive)
- Removedretry@0.12.0(transitive)
- Removedsafer-buffer@2.1.2(transitive)
- Removedsemver@7.7.1(transitive)
- Removedshebang-command@2.0.0(transitive)
- Removedshebang-regex@3.0.0(transitive)
- Removedsignal-exit@4.1.0(transitive)
- Removedsmart-buffer@4.2.0(transitive)
- Removedsocks@2.8.4(transitive)
- Removedsocks-proxy-agent@8.0.5(transitive)
- Removedsprintf-js@1.1.3(transitive)
- Removedssri@10.0.6(transitive)
- Removedstring-width@4.2.35.1.2(transitive)
- Removedstrip-ansi@6.0.17.1.0(transitive)
- Removedtar@6.2.1(transitive)
- Removedunique-filename@3.0.0(transitive)
- Removedunique-slug@4.0.0(transitive)
- Removedurl-regex-safe@3.0.0(transitive)
- Removedwhich@2.0.24.0.0(transitive)
- Removedwrap-ansi@7.0.08.1.0(transitive)
- Removedyallist@4.0.0(transitive)
Updatedurl-regex-safe@^4.0.0