urlpurify 2.1.0 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -39,7 +39,7 @@ cleanUrl(url, {
39
39
  // Names, or regexes tested on the lowercased name.
40
40
  trackingParams: [...defaultTrackingParams, 'newsletter_id', /^cmp_[a-z0-9_]+$/],
41
41
  // The default.
42
- maxUnwrapDepth: 6,
42
+ maxUnwrapDepth: 12,
43
43
  })
44
44
  ```
45
45
 
package/dist/clean.mjs CHANGED
@@ -68,9 +68,14 @@ const addMissingScheme = (target) => {
68
68
  if (bareHostRegex.test(target)) return `https://${target}`;
69
69
  return target;
70
70
  };
71
+ const schemeSpacingRegex = /^(https?:\/\/)(?:%20|\s|\+)+/i;
72
+ const repairSchemeSpacing = (target) => {
73
+ if (!target || !schemeSpacingRegex.test(target)) return target;
74
+ return fixMalformedProtocol(target.replace(schemeSpacingRegex, "$1"));
75
+ };
71
76
  const applyUnwrappers = (url, unwrappers) => {
72
77
  for (const unwrap of unwrappers) {
73
- const raw = addMissingScheme(unwrap(url)?.trim());
78
+ const raw = repairSchemeSpacing(addMissingScheme(unwrap(url)?.trim()));
74
79
  if (!raw || !isHttpUrl(raw)) continue;
75
80
  const target = cleanTarget(raw);
76
81
  if (target) return target;
@@ -95,7 +100,7 @@ const stripTrackingParams = (url, trackingParams = defaultTrackingParams) => {
95
100
  const cleanUrl = (url, options) => {
96
101
  const unwrappers = options?.unwrappers ?? defaultUnwrappers;
97
102
  const trackingParams = options?.trackingParams ?? defaultTrackingParams;
98
- const maxUnwrapDepth = options?.maxUnwrapDepth ?? 6;
103
+ const maxUnwrapDepth = options?.maxUnwrapDepth ?? 12;
99
104
  const parsed = parseUrl(url);
100
105
  if (!parsed) return url;
101
106
  let currentParsed = parsed;
package/package.json CHANGED
@@ -45,5 +45,5 @@
45
45
  "trousse": "^2.15.0",
46
46
  "tsdown": "^0.23.0"
47
47
  },
48
- "version": "2.1.0"
48
+ "version": "2.1.1"
49
49
  }