@majordigital/create-acorn 1.6.2 → 1.6.3

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@majordigital/create-acorn",
3
- "version": "1.6.2",
3
+ "version": "1.6.3",
4
4
  "description": "Interactive starter CLI for Acorn with Storyblok/Prismic/DatoCMS, TypeScript, and Tailwind.",
5
5
  "bin": {
6
6
  "create-acorn": "bin/create-acorn.mjs",
@@ -54,12 +54,23 @@ const result = await checker.check({
54
54
  concurrency,
55
55
  timeout: 30000,
56
56
  headers,
57
- // Skip external links to avoid false positives from rate limiting
58
57
  linksToSkip: [
58
+ // Skip external links to avoid false positives from rate limiting
59
59
  `^(?!(${baseUrl.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}))`,
60
+ // Skip multi-filter URLs — the filter UI generates combinatorial links
61
+ // (e.g. ?filter=a%2Cb%2Cc) that cause a crawl explosion. Not real links.
62
+ ".*[?&]filter=.*%2C.*",
60
63
  ],
61
64
  });
62
65
 
66
+ process.on("uncaughtException", (err) => {
67
+ if (err.name === "TimeoutError" || err.name === "AbortError") {
68
+ console.error("\nWarning: crawl timed out — some pages may be slow or unresponsive.");
69
+ process.exit(1);
70
+ }
71
+ throw err;
72
+ });
73
+
63
74
  const broken = result.links.filter((l) => l.state === "BROKEN");
64
75
  const ok = result.links.filter((l) => l.state === "OK");
65
76
  const skipped = result.links.filter((l) => l.state === "SKIPPED");