feedscout 1.7.0 → 1.7.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.
@@ -48,11 +48,11 @@ const defaultResolveSiteUrlFn = (input) => {
48
48
  const normalizeUriEntry = (entry, resolveUrlFn, baseUrl) => {
49
49
  if (typeof entry.uri === "string") return {
50
50
  ...entry,
51
- uri: resolveUrlFn(entry.uri, baseUrl)
51
+ uri: resolveUrlFn(entry.uri, baseUrl) ?? entry.uri
52
52
  };
53
53
  return {
54
54
  ...entry,
55
- uri: entry.uri.map((uri) => resolveUrlFn(uri, baseUrl))
55
+ uri: entry.uri.map((uri) => resolveUrlFn(uri, baseUrl) ?? uri)
56
56
  };
57
57
  };
58
58
  const normalizeMethodsConfig = (sourceInput, siteInput, methods, defaults) => {
@@ -48,11 +48,11 @@ const defaultResolveSiteUrlFn = (input) => {
48
48
  const normalizeUriEntry = (entry, resolveUrlFn, baseUrl) => {
49
49
  if (typeof entry.uri === "string") return {
50
50
  ...entry,
51
- uri: resolveUrlFn(entry.uri, baseUrl)
51
+ uri: resolveUrlFn(entry.uri, baseUrl) ?? entry.uri
52
52
  };
53
53
  return {
54
54
  ...entry,
55
- uri: entry.uri.map((uri) => resolveUrlFn(uri, baseUrl))
55
+ uri: entry.uri.map((uri) => resolveUrlFn(uri, baseUrl) ?? uri)
56
56
  };
57
57
  };
58
58
  const normalizeMethodsConfig = (sourceInput, siteInput, methods, defaults) => {
@@ -20,7 +20,7 @@ type LinkSelector = {
20
20
  rel: string;
21
21
  types?: Array<string>;
22
22
  };
23
- type DiscoverResolveUrlFn = (url: string, baseUrl: string | undefined) => string;
23
+ type DiscoverResolveUrlFn = (url: string, baseUrl: string | undefined) => string | undefined;
24
24
  type DiscoverResolveSiteUrlFn = (input: DiscoverInputObject) => string | undefined;
25
25
  type DiscoverFetchFnOptions = {
26
26
  method?: 'GET' | 'HEAD';
@@ -20,7 +20,7 @@ type LinkSelector = {
20
20
  rel: string;
21
21
  types?: Array<string>;
22
22
  };
23
- type DiscoverResolveUrlFn = (url: string, baseUrl: string | undefined) => string;
23
+ type DiscoverResolveUrlFn = (url: string, baseUrl: string | undefined) => string | undefined;
24
24
  type DiscoverResolveSiteUrlFn = (input: DiscoverInputObject) => string | undefined;
25
25
  type DiscoverFetchFnOptions = {
26
26
  method?: 'GET' | 'HEAD';
@@ -3,7 +3,7 @@ const ipAddressRegex = /^\d+\.\d+\.\d+\.\d+$/;
3
3
  const resolveUri = (uri, base, origin, pathname) => {
4
4
  if (uri.startsWith("/")) return `${origin}${uri}`;
5
5
  if (uri.startsWith("?")) return `${origin}${pathname}${uri}`;
6
- return new URL(uri, base).toString();
6
+ return new URL(uri, base).href;
7
7
  };
8
8
  const generateUrlCombinations = (baseUrls, uris) => {
9
9
  return baseUrls.flatMap((base) => {
@@ -3,7 +3,7 @@ const ipAddressRegex = /^\d+\.\d+\.\d+\.\d+$/;
3
3
  const resolveUri = (uri, base, origin, pathname) => {
4
4
  if (uri.startsWith("/")) return `${origin}${uri}`;
5
5
  if (uri.startsWith("?")) return `${origin}${pathname}${uri}`;
6
- return new URL(uri, base).toString();
6
+ return new URL(uri, base).href;
7
7
  };
8
8
  const generateUrlCombinations = (baseUrls, uris) => {
9
9
  return baseUrls.flatMap((base) => {
@@ -53,7 +53,11 @@ const omitEmpty = (array) => {
53
53
  return result;
54
54
  };
55
55
  const resolveUrl = (url, baseUrl) => {
56
- return baseUrl ? new URL(url, baseUrl).href : url;
56
+ try {
57
+ return new URL(url, baseUrl).href;
58
+ } catch {
59
+ return;
60
+ }
57
61
  };
58
62
  const matchesAnyOfLinkSelectors = (rel, type, selectors) => {
59
63
  return selectors.some((selector) => {
@@ -53,7 +53,11 @@ const omitEmpty = (array) => {
53
53
  return result;
54
54
  };
55
55
  const resolveUrl = (url, baseUrl) => {
56
- return baseUrl ? new URL(url, baseUrl).href : url;
56
+ try {
57
+ return new URL(url, baseUrl).href;
58
+ } catch {
59
+ return;
60
+ }
57
61
  };
58
62
  const matchesAnyOfLinkSelectors = (rel, type, selectors) => {
59
63
  return selectors.some((selector) => {
@@ -9,9 +9,9 @@ const discoverHubsFromFeed = (content, baseUrl, resolveUrlFn = require_utils.res
9
9
  const { format, feed } = (0, feedsmith.parseFeed)(content);
10
10
  if (format === "json") {
11
11
  const hubs = feed.hubs ?? [];
12
- const topic = feed.feed_url ? resolveUrlFn(feed.feed_url, baseUrl) : baseUrl;
12
+ const topic = feed.feed_url ? resolveUrlFn(feed.feed_url, baseUrl) ?? feed.feed_url : baseUrl;
13
13
  return hubs.filter((hub) => hub.url).map((hub) => ({
14
- hub: resolveUrlFn(hub.url, baseUrl),
14
+ hub: resolveUrlFn(hub.url, baseUrl) ?? hub.url,
15
15
  topic
16
16
  }));
17
17
  }
@@ -19,9 +19,9 @@ const discoverHubsFromFeed = (content, baseUrl, resolveUrlFn = require_utils.res
19
19
  const hubUris = getLinksWithRel(links, "hub");
20
20
  if (hubUris.length > 0) {
21
21
  const selfUris = getLinksWithRel(links, "self");
22
- const topic = selfUris[0] ? resolveUrlFn(selfUris[0], baseUrl) : baseUrl;
22
+ const topic = selfUris[0] ? resolveUrlFn(selfUris[0], baseUrl) ?? selfUris[0] : baseUrl;
23
23
  return hubUris.map((hub) => ({
24
- hub: resolveUrlFn(hub, baseUrl),
24
+ hub: resolveUrlFn(hub, baseUrl) ?? hub,
25
25
  topic
26
26
  }));
27
27
  }
@@ -9,9 +9,9 @@ const discoverHubsFromFeed = (content, baseUrl, resolveUrlFn = resolveUrl) => {
9
9
  const { format, feed } = parseFeed(content);
10
10
  if (format === "json") {
11
11
  const hubs = feed.hubs ?? [];
12
- const topic = feed.feed_url ? resolveUrlFn(feed.feed_url, baseUrl) : baseUrl;
12
+ const topic = feed.feed_url ? resolveUrlFn(feed.feed_url, baseUrl) ?? feed.feed_url : baseUrl;
13
13
  return hubs.filter((hub) => hub.url).map((hub) => ({
14
- hub: resolveUrlFn(hub.url, baseUrl),
14
+ hub: resolveUrlFn(hub.url, baseUrl) ?? hub.url,
15
15
  topic
16
16
  }));
17
17
  }
@@ -19,9 +19,9 @@ const discoverHubsFromFeed = (content, baseUrl, resolveUrlFn = resolveUrl) => {
19
19
  const hubUris = getLinksWithRel(links, "hub");
20
20
  if (hubUris.length > 0) {
21
21
  const selfUris = getLinksWithRel(links, "self");
22
- const topic = selfUris[0] ? resolveUrlFn(selfUris[0], baseUrl) : baseUrl;
22
+ const topic = selfUris[0] ? resolveUrlFn(selfUris[0], baseUrl) ?? selfUris[0] : baseUrl;
23
23
  return hubUris.map((hub) => ({
24
- hub: resolveUrlFn(hub, baseUrl),
24
+ hub: resolveUrlFn(hub, baseUrl) ?? hub,
25
25
  topic
26
26
  }));
27
27
  }
@@ -7,9 +7,9 @@ const discoverHubsFromHeaders = (headers, baseUrl, resolveUrlFn = require_utils.
7
7
  const hubUris = require_index.discoverUrisFromHeaders(headers, { linkSelectors: hubSelector });
8
8
  if (hubUris.length === 0) return [];
9
9
  const selfUris = require_index.discoverUrisFromHeaders(headers, { linkSelectors: selfSelector });
10
- const topic = selfUris[0] ? resolveUrlFn(selfUris[0], baseUrl) : baseUrl;
10
+ const topic = selfUris[0] ? resolveUrlFn(selfUris[0], baseUrl) ?? selfUris[0] : baseUrl;
11
11
  return hubUris.map((hub) => ({
12
- hub: resolveUrlFn(hub, baseUrl),
12
+ hub: resolveUrlFn(hub, baseUrl) ?? hub,
13
13
  topic
14
14
  }));
15
15
  };
@@ -7,9 +7,9 @@ const discoverHubsFromHeaders = (headers, baseUrl, resolveUrlFn = resolveUrl) =>
7
7
  const hubUris = discoverUrisFromHeaders(headers, { linkSelectors: hubSelector });
8
8
  if (hubUris.length === 0) return [];
9
9
  const selfUris = discoverUrisFromHeaders(headers, { linkSelectors: selfSelector });
10
- const topic = selfUris[0] ? resolveUrlFn(selfUris[0], baseUrl) : baseUrl;
10
+ const topic = selfUris[0] ? resolveUrlFn(selfUris[0], baseUrl) ?? selfUris[0] : baseUrl;
11
11
  return hubUris.map((hub) => ({
12
- hub: resolveUrlFn(hub, baseUrl),
12
+ hub: resolveUrlFn(hub, baseUrl) ?? hub,
13
13
  topic
14
14
  }));
15
15
  };
@@ -18,9 +18,9 @@ const discoverHubsFromHtml = (content, baseUrl, resolveUrlFn = require_utils.res
18
18
  ...htmlOptions,
19
19
  linkSelectors: selfSelector
20
20
  });
21
- const topic = selfUris[0] ? resolveUrlFn(selfUris[0], baseUrl) : baseUrl;
21
+ const topic = selfUris[0] ? resolveUrlFn(selfUris[0], baseUrl) ?? selfUris[0] : baseUrl;
22
22
  return hubUris.map((hub) => ({
23
- hub: resolveUrlFn(hub, baseUrl),
23
+ hub: resolveUrlFn(hub, baseUrl) ?? hub,
24
24
  topic
25
25
  }));
26
26
  };
@@ -18,9 +18,9 @@ const discoverHubsFromHtml = (content, baseUrl, resolveUrlFn = resolveUrl) => {
18
18
  ...htmlOptions,
19
19
  linkSelectors: selfSelector
20
20
  });
21
- const topic = selfUris[0] ? resolveUrlFn(selfUris[0], baseUrl) : baseUrl;
21
+ const topic = selfUris[0] ? resolveUrlFn(selfUris[0], baseUrl) ?? selfUris[0] : baseUrl;
22
22
  return hubUris.map((hub) => ({
23
- hub: resolveUrlFn(hub, baseUrl),
23
+ hub: resolveUrlFn(hub, baseUrl) ?? hub,
24
24
  topic
25
25
  }));
26
26
  };
package/package.json CHANGED
@@ -112,9 +112,9 @@
112
112
  },
113
113
  "devDependencies": {
114
114
  "@types/bun": "^1.3.11",
115
- "kvalita": "1.12.2",
115
+ "kvalita": "1.12.4",
116
116
  "tsdown": "^0.21.7",
117
117
  "vitepress": "^2.0.0-alpha.17"
118
118
  },
119
- "version": "1.7.0"
119
+ "version": "1.7.1"
120
120
  }