vercel-seo-audit 0.5.2 → 0.5.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/README.md CHANGED
@@ -120,6 +120,24 @@ vercel-seo-audit https://your-site.com --crawl
120
120
  vercel-seo-audit https://your-site.com --crawl 100
121
121
  ```
122
122
 
123
+ ### Config file
124
+
125
+ Create a `.seoauditrc.json` in your project root to set defaults:
126
+
127
+ ```json
128
+ {
129
+ "url": "https://your-site.com",
130
+ "strict": true,
131
+ "verbose": false,
132
+ "userAgent": "googlebot",
133
+ "pages": ["/docs", "/team", "/careers"],
134
+ "report": "json",
135
+ "timeout": 15000
136
+ }
137
+ ```
138
+
139
+ Then just run `vercel-seo-audit` with no arguments. CLI flags always override config values.
140
+
123
141
  ---
124
142
 
125
143
  ## What it checks
@@ -303,17 +321,37 @@ npx vercel-seo-audit https://your-site.com --report md
303
321
 
304
322
  ## Roadmap
305
323
 
324
+ ### Completed
325
+
306
326
  * [x] ~~`--strict` (warnings fail with exit code 1)~~
307
- * [x] ~~`--pages` to customise sampled paths (`/about,/pricing`)~~
327
+ * [x] ~~`--pages` to customise sampled paths~~
308
328
  * [x] ~~`--user-agent` presets (`googlebot`, `bingbot`)~~
309
329
  * [x] ~~`--report` to write `report.json` / `report.md`~~
310
330
  * [x] ~~GitHub Action marketplace wrapper~~
311
- * [x] ~~`--diff` to compare two audit runs and detect regressions~~
331
+ * [x] ~~`--diff` to compare audit runs and detect regressions~~
312
332
  * [x] ~~Structured data / JSON-LD validation~~
313
333
  * [x] ~~`--crawl` mode to audit all pages from sitemap~~
314
334
  * [x] ~~i18n / `hreflang` validation~~
315
335
  * [x] ~~Image SEO checks (missing `alt`, `next/image`, lazy loading)~~
316
- * [ ] Config file (`.seoauditrc.json`) for project-level defaults
336
+ * [x] ~~Config file (`.seoauditrc.json`) for project-level defaults~~
337
+
338
+ ### Up next
339
+
340
+ * [ ] Open Graph & Twitter Card image validation ([#36](https://github.com/JosephDoUrden/vercel-seo-audit/issues/36)) `good first issue`
341
+ * [ ] Security headers audit ([#37](https://github.com/JosephDoUrden/vercel-seo-audit/issues/37)) `good first issue`
342
+ * [ ] `--ignore` flag and `.seoauditignore` support ([#41](https://github.com/JosephDoUrden/vercel-seo-audit/issues/41)) `good first issue`
343
+ * [ ] GitHub Actions PR comment integration ([#44](https://github.com/JosephDoUrden/vercel-seo-audit/issues/44)) `good first issue`
344
+ * [ ] Performance hints (resource size, render-blocking) ([#38](https://github.com/JosephDoUrden/vercel-seo-audit/issues/38))
345
+ * [ ] HTML report format with interactive dashboard ([#39](https://github.com/JosephDoUrden/vercel-seo-audit/issues/39))
346
+ * [ ] `--fix` flag with auto-fix suggestions ([#40](https://github.com/JosephDoUrden/vercel-seo-audit/issues/40))
347
+ * [ ] Internal broken link checker ([#42](https://github.com/JosephDoUrden/vercel-seo-audit/issues/42))
348
+
349
+ ### Future
350
+
351
+ * [ ] Page speed score via PageSpeed Insights API ([#43](https://github.com/JosephDoUrden/vercel-seo-audit/issues/43))
352
+ * [ ] Accessibility basics audit ([#45](https://github.com/JosephDoUrden/vercel-seo-audit/issues/45))
353
+ * [ ] Multi-URL batch auditing ([#46](https://github.com/JosephDoUrden/vercel-seo-audit/issues/46))
354
+ * [ ] Plugin system for custom audit checks ([#47](https://github.com/JosephDoUrden/vercel-seo-audit/issues/47))
317
355
 
318
356
  ---
319
357
 
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/audit/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAY9D,wBAAsB,aAAa,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAgN9E"}
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/audit/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAY9D,wBAAsB,aAAa,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CA6T9E"}
@@ -1,4 +1,4 @@
1
- import { fetchPage } from '../utils/http.js';
1
+ import { fetchPage, fetchHead } from '../utils/http.js';
2
2
  import { getCanonicalUrl, getNoindexDirective, getCharset, getViewport, getTitle, getMetaTag, } from '../utils/html-parser.js';
3
3
  import { isSameOrigin } from '../utils/url.js';
4
4
  export async function auditMetadata(ctx) {
@@ -178,6 +178,106 @@ export async function auditMetadata(ctx) {
178
178
  url: normalizedUrl,
179
179
  });
180
180
  }
181
+ else {
182
+ // 8a. Check if og:image uses a relative URL
183
+ if (!ogImage.startsWith('http://') && !ogImage.startsWith('https://')) {
184
+ findings.push({
185
+ code: 'OG_IMAGE_RELATIVE',
186
+ severity: 'warning',
187
+ category: 'metadata',
188
+ message: 'og:image uses a relative URL',
189
+ explanation: 'Many social media crawlers do not resolve relative URLs for og:image, which means your image may not appear in previews.',
190
+ suggestion: 'Use an absolute URL (starting with https://) for og:image.',
191
+ details: { ogImage },
192
+ url: normalizedUrl,
193
+ });
194
+ }
195
+ // 8b. Verify og:image URL returns 2xx
196
+ try {
197
+ const absoluteOgImage = ogImage.startsWith('http') ? ogImage : new URL(ogImage, finalUrl).href;
198
+ const { status } = await fetchHead(absoluteOgImage, fetchOptions);
199
+ if (status < 200 || status >= 300) {
200
+ findings.push({
201
+ code: 'OG_IMAGE_BROKEN',
202
+ severity: 'warning',
203
+ category: 'metadata',
204
+ message: `og:image URL returned HTTP ${status}`,
205
+ explanation: 'A broken og:image means social media platforms cannot display your preview image.',
206
+ suggestion: 'Ensure the og:image URL is accessible and returns a valid image.',
207
+ details: { ogImage: absoluteOgImage, status },
208
+ url: normalizedUrl,
209
+ });
210
+ }
211
+ }
212
+ catch {
213
+ findings.push({
214
+ code: 'OG_IMAGE_BROKEN',
215
+ severity: 'warning',
216
+ category: 'metadata',
217
+ message: 'og:image URL could not be fetched',
218
+ explanation: 'A broken og:image means social media platforms cannot display your preview image.',
219
+ suggestion: 'Ensure the og:image URL is accessible and returns a valid image.',
220
+ details: { ogImage },
221
+ url: normalizedUrl,
222
+ });
223
+ }
224
+ }
225
+ // 9. Twitter Card tags
226
+ const twitterCard = getMetaTag(html, 'twitter:card');
227
+ const twitterImage = getMetaTag(html, 'twitter:image');
228
+ if (!twitterCard) {
229
+ findings.push({
230
+ code: 'TWITTER_CARD_MISSING',
231
+ severity: 'info',
232
+ category: 'metadata',
233
+ message: 'No twitter:card meta tag found',
234
+ explanation: 'Without a twitter:card tag, Twitter/X may not display rich previews when your page is shared.',
235
+ suggestion: 'Add <meta name="twitter:card" content="summary_large_image"> for rich previews.',
236
+ url: normalizedUrl,
237
+ });
238
+ }
239
+ if (!twitterImage) {
240
+ findings.push({
241
+ code: 'TWITTER_IMAGE_MISSING',
242
+ severity: 'info',
243
+ category: 'metadata',
244
+ message: 'No twitter:image meta tag found',
245
+ explanation: 'Without a twitter:image, Twitter/X falls back to og:image or shows no preview image.',
246
+ suggestion: 'Add <meta name="twitter:image"> with a URL to your preview image (recommended: 1200x628px).',
247
+ url: normalizedUrl,
248
+ });
249
+ }
250
+ else {
251
+ // 9a. Verify twitter:image URL returns 2xx
252
+ try {
253
+ const absoluteTwitterImage = twitterImage.startsWith('http') ? twitterImage : new URL(twitterImage, finalUrl).href;
254
+ const { status } = await fetchHead(absoluteTwitterImage, fetchOptions);
255
+ if (status < 200 || status >= 300) {
256
+ findings.push({
257
+ code: 'TWITTER_IMAGE_BROKEN',
258
+ severity: 'warning',
259
+ category: 'metadata',
260
+ message: `twitter:image URL returned HTTP ${status}`,
261
+ explanation: 'A broken twitter:image means Twitter/X cannot display your preview image.',
262
+ suggestion: 'Ensure the twitter:image URL is accessible and returns a valid image.',
263
+ details: { twitterImage: absoluteTwitterImage, status },
264
+ url: normalizedUrl,
265
+ });
266
+ }
267
+ }
268
+ catch {
269
+ findings.push({
270
+ code: 'TWITTER_IMAGE_BROKEN',
271
+ severity: 'warning',
272
+ category: 'metadata',
273
+ message: 'twitter:image URL could not be fetched',
274
+ explanation: 'A broken twitter:image means Twitter/X cannot display your preview image.',
275
+ suggestion: 'Ensure the twitter:image URL is accessible and returns a valid image.',
276
+ details: { twitterImage },
277
+ url: normalizedUrl,
278
+ });
279
+ }
280
+ }
181
281
  return findings;
182
282
  }
183
283
  //# sourceMappingURL=metadata.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/audit/metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/audit/metadata.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -9,7 +9,7 @@ export interface SeoAuditConfig {
9
9
  }
10
10
  export type IssueSeverity = 'error' | 'warning' | 'info' | 'pass';
11
11
  export type IssueCategory = 'redirect' | 'indexing' | 'metadata' | 'favicon' | 'sitemap' | 'robots' | 'nextjs' | 'structured-data' | 'crawl' | 'i18n' | 'images';
12
- export type IssueCode = 'REDIRECT_CHAIN' | 'REDIRECT_LOOP' | 'HTTP_TO_HTTPS_REDIRECT' | 'HTTP_NO_HTTPS_REDIRECT' | 'TRAILING_SLASH_REDIRECT' | 'META_REFRESH_REDIRECT' | 'COMMON_PAGE_REDIRECT' | 'NOINDEX_DETECTED' | 'X_ROBOTS_NOINDEX' | 'CANONICAL_MISSING' | 'CANONICAL_MISMATCH' | 'CANONICAL_EXTERNAL' | 'CHARSET_MISSING' | 'VIEWPORT_MISSING' | 'TITLE_MISSING' | 'DESCRIPTION_MISSING' | 'OG_TITLE_MISSING' | 'OG_DESCRIPTION_MISSING' | 'OG_IMAGE_MISSING' | 'FAVICON_MISSING' | 'FAVICON_CONFLICT' | 'FAVICON_HTML_MISSING' | 'SITEMAP_MISSING' | 'SITEMAP_REDIRECTED' | 'SITEMAP_EMPTY' | 'SITEMAP_INVALID_URL' | 'SITEMAP_URL_ERROR' | 'SITEMAP_ROBOTS_MISMATCH' | 'ROBOTS_MISSING' | 'ROBOTS_BLOCKS_ALL' | 'ROBOTS_BLOCKS_GOOGLEBOT' | 'ROBOTS_NO_SITEMAP' | 'VERCEL_DETECTED' | 'NEXTJS_TRAILING_SLASH_308' | 'MIDDLEWARE_REDIRECT' | 'APP_ROUTER_METADATA' | 'JSONLD_MISSING' | 'JSONLD_INVALID_JSON' | 'JSONLD_MISSING_CONTEXT' | 'JSONLD_MISSING_TYPE' | 'JSONLD_EMPTY_FIELDS' | 'CRAWL_PAGE_ERROR' | 'CRAWL_PAGE_NOINDEX' | 'CRAWL_PAGE_TITLE_MISSING' | 'CRAWL_PAGE_DESCRIPTION_MISSING' | 'CRAWL_PAGE_CANONICAL_MISSING' | 'CRAWL_PAGE_CANONICAL_MISMATCH' | 'CRAWL_PAGE_JSONLD_MISSING' | 'HREFLANG_MISSING' | 'HREFLANG_INVALID_LANG' | 'HREFLANG_MISSING_SELF' | 'HREFLANG_MISSING_XDEFAULT' | 'HREFLANG_MISSING_RECIPROCAL' | 'HREFLANG_DUPLICATE' | 'IMG_MISSING_ALT' | 'IMG_EMPTY_ALT' | 'IMG_NO_NEXT_IMAGE' | 'IMG_NO_LAZY_LOADING' | 'IMG_LARGE_FILE' | 'IMG_MISSING_DIMENSIONS';
12
+ export type IssueCode = 'REDIRECT_CHAIN' | 'REDIRECT_LOOP' | 'HTTP_TO_HTTPS_REDIRECT' | 'HTTP_NO_HTTPS_REDIRECT' | 'TRAILING_SLASH_REDIRECT' | 'META_REFRESH_REDIRECT' | 'COMMON_PAGE_REDIRECT' | 'NOINDEX_DETECTED' | 'X_ROBOTS_NOINDEX' | 'CANONICAL_MISSING' | 'CANONICAL_MISMATCH' | 'CANONICAL_EXTERNAL' | 'CHARSET_MISSING' | 'VIEWPORT_MISSING' | 'TITLE_MISSING' | 'DESCRIPTION_MISSING' | 'OG_TITLE_MISSING' | 'OG_DESCRIPTION_MISSING' | 'OG_IMAGE_MISSING' | 'OG_IMAGE_BROKEN' | 'OG_IMAGE_RELATIVE' | 'TWITTER_CARD_MISSING' | 'TWITTER_IMAGE_MISSING' | 'TWITTER_IMAGE_BROKEN' | 'FAVICON_MISSING' | 'FAVICON_CONFLICT' | 'FAVICON_HTML_MISSING' | 'SITEMAP_MISSING' | 'SITEMAP_REDIRECTED' | 'SITEMAP_EMPTY' | 'SITEMAP_INVALID_URL' | 'SITEMAP_URL_ERROR' | 'SITEMAP_ROBOTS_MISMATCH' | 'ROBOTS_MISSING' | 'ROBOTS_BLOCKS_ALL' | 'ROBOTS_BLOCKS_GOOGLEBOT' | 'ROBOTS_NO_SITEMAP' | 'VERCEL_DETECTED' | 'NEXTJS_TRAILING_SLASH_308' | 'MIDDLEWARE_REDIRECT' | 'APP_ROUTER_METADATA' | 'JSONLD_MISSING' | 'JSONLD_INVALID_JSON' | 'JSONLD_MISSING_CONTEXT' | 'JSONLD_MISSING_TYPE' | 'JSONLD_EMPTY_FIELDS' | 'CRAWL_PAGE_ERROR' | 'CRAWL_PAGE_NOINDEX' | 'CRAWL_PAGE_TITLE_MISSING' | 'CRAWL_PAGE_DESCRIPTION_MISSING' | 'CRAWL_PAGE_CANONICAL_MISSING' | 'CRAWL_PAGE_CANONICAL_MISMATCH' | 'CRAWL_PAGE_JSONLD_MISSING' | 'HREFLANG_MISSING' | 'HREFLANG_INVALID_LANG' | 'HREFLANG_MISSING_SELF' | 'HREFLANG_MISSING_XDEFAULT' | 'HREFLANG_MISSING_RECIPROCAL' | 'HREFLANG_DUPLICATE' | 'IMG_MISSING_ALT' | 'IMG_EMPTY_ALT' | 'IMG_NO_NEXT_IMAGE' | 'IMG_NO_LAZY_LOADING' | 'IMG_LARGE_FILE' | 'IMG_MISSING_DIMENSIONS';
13
13
  export interface AuditFinding {
14
14
  code: IssueCode;
15
15
  severity: IssueSeverity;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAElE,MAAM,MAAM,aAAa,GACrB,UAAU,GACV,UAAU,GACV,UAAU,GACV,SAAS,GACT,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,iBAAiB,GACjB,OAAO,GACP,MAAM,GACN,QAAQ,CAAC;AAEb,MAAM,MAAM,SAAS,GAEjB,gBAAgB,GAChB,eAAe,GACf,wBAAwB,GACxB,wBAAwB,GACxB,yBAAyB,GACzB,uBAAuB,GACvB,sBAAsB,GAEtB,kBAAkB,GAClB,kBAAkB,GAElB,mBAAmB,GACnB,oBAAoB,GACpB,oBAAoB,GACpB,iBAAiB,GACjB,kBAAkB,GAClB,eAAe,GACf,qBAAqB,GACrB,kBAAkB,GAClB,wBAAwB,GACxB,kBAAkB,GAElB,iBAAiB,GACjB,kBAAkB,GAClB,sBAAsB,GAEtB,iBAAiB,GACjB,oBAAoB,GACpB,eAAe,GACf,qBAAqB,GACrB,mBAAmB,GACnB,yBAAyB,GAEzB,gBAAgB,GAChB,mBAAmB,GACnB,yBAAyB,GACzB,mBAAmB,GAEnB,iBAAiB,GACjB,2BAA2B,GAC3B,qBAAqB,GACrB,qBAAqB,GAErB,gBAAgB,GAChB,qBAAqB,GACrB,wBAAwB,GACxB,qBAAqB,GACrB,qBAAqB,GAErB,kBAAkB,GAClB,oBAAoB,GACpB,0BAA0B,GAC1B,gCAAgC,GAChC,8BAA8B,GAC9B,+BAA+B,GAC/B,2BAA2B,GAE3B,kBAAkB,GAClB,uBAAuB,GACvB,uBAAuB,GACvB,2BAA2B,GAC3B,6BAA6B,GAC7B,oBAAoB,GAEpB,iBAAiB,GACjB,eAAe,GACf,mBAAmB,GACnB,qBAAqB,GACrB,gBAAgB,GAChB,wBAAwB,CAAC;AAE7B,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,aAAa,CAAC;IACxB,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,OAAO,EAAE,iBAAiB,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,cAAc,EAAE,YAAY,EAAE,CAAC;IAC/B,SAAS,EAAE,YAAY,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vercel-seo-audit",
3
- "version": "0.5.2",
3
+ "version": "0.5.3",
4
4
  "description": "CLI tool that diagnoses SEO and indexing issues for Next.js/Vercel websites",
5
5
  "type": "module",
6
6
  "bin": {
@@ -43,11 +43,11 @@
43
43
  "dependencies": {
44
44
  "chalk": "^5.3.0",
45
45
  "cheerio": "^1.0.0",
46
- "commander": "^12.1.0",
46
+ "commander": "^14.0.3",
47
47
  "fast-xml-parser": "^5.3.6"
48
48
  },
49
49
  "devDependencies": {
50
- "@types/node": "^20.11.0",
50
+ "@types/node": "^25.2.3",
51
51
  "@vitest/coverage-v8": "^4.0.18",
52
52
  "typescript": "^5.3.0",
53
53
  "vitest": "^4.0.18"