@nuxtjs/sitemap 5.1.5 → 5.2.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.
Files changed (167) hide show
  1. package/dist/client/200.html +114 -91
  2. package/dist/client/404.html +114 -91
  3. package/dist/client/_nuxt/{3Yx8WcR-.js → B3g-KkBK.js} +1 -1
  4. package/dist/client/_nuxt/{B6nY7VDA.js → B6bHXiXE.js} +1 -1
  5. package/dist/client/_nuxt/B7rNE5kf.js +1 -0
  6. package/dist/client/_nuxt/{BoOAlWED.js → BC6uB4eG.js} +1 -1
  7. package/dist/client/_nuxt/BEjL32p1.js +5754 -0
  8. package/dist/client/_nuxt/BGZ4JUW7.js +31 -0
  9. package/dist/client/_nuxt/BJn7Ek5W.js +1 -0
  10. package/dist/client/_nuxt/BT6Hj2kT.js +1 -0
  11. package/dist/client/_nuxt/BVGdgKAv.js +1 -0
  12. package/dist/client/_nuxt/{wORFcijT.js → BXR915QZ.js} +1 -1
  13. package/dist/client/_nuxt/{DCj4DH6i.js → BYdKNJ10.js} +1 -1
  14. package/dist/client/_nuxt/BZfs-ost.js +1 -0
  15. package/dist/client/_nuxt/{DCdPDLy4.js → BacI6-DX.js} +1 -1
  16. package/dist/client/_nuxt/{DCk2z-Tu.js → BdfWgkoX.js} +1 -1
  17. package/dist/client/_nuxt/Bfj2ThZ4.js +3 -0
  18. package/dist/client/_nuxt/{D6NljDpC.js → BigF1UXR.js} +1 -1
  19. package/dist/client/_nuxt/Bj0fF4lQ.js +1 -0
  20. package/dist/client/_nuxt/BmSZh3NL.js +1 -0
  21. package/dist/client/_nuxt/BnWyG0Yo.js +1 -0
  22. package/dist/client/_nuxt/{DaCkt_J7.js → Br6ll-O0.js} +1 -1
  23. package/dist/client/_nuxt/BscxmKrE.js +8 -0
  24. package/dist/client/_nuxt/BvCdDh2R.js +1 -0
  25. package/dist/client/_nuxt/BwXNTs7T.js +1 -0
  26. package/dist/client/_nuxt/{CQ1WWl9n.js → Bxkoe-BC.js} +1 -1
  27. package/dist/client/_nuxt/C3qJFuQy.js +3 -0
  28. package/dist/client/_nuxt/C3qUB5O8.js +301 -0
  29. package/dist/client/_nuxt/C6XIsc4F.js +1 -0
  30. package/dist/client/_nuxt/CA9nliXM.js +1 -0
  31. package/dist/client/_nuxt/{BsfQk1vf.js → CEfge3mM.js} +1 -1
  32. package/dist/client/_nuxt/CGmujMTu.js +1 -0
  33. package/dist/client/_nuxt/{CQTpvb7m.js → CHCTrc3a.js} +1 -1
  34. package/dist/client/_nuxt/{Bd73LTSp.js → CL-qhHZf.js} +1 -1
  35. package/dist/client/_nuxt/{B9E_xdxs.js → CNkYXcD4.js} +1 -1
  36. package/dist/client/_nuxt/CO5hpdkB.js +1 -0
  37. package/dist/client/_nuxt/{DsudziMp.js → COIrKlfF.js} +1 -1
  38. package/dist/client/_nuxt/{DZ3fVoEH.js → CSPeAESR.js} +1 -1
  39. package/dist/client/_nuxt/CZ99H4LZ.js +1 -0
  40. package/dist/client/_nuxt/C_ZPRiAj.js +26 -0
  41. package/dist/client/_nuxt/{DCAtC51B.js → CarfVElc.js} +1 -1
  42. package/dist/client/_nuxt/{BgBwMnrY.js → CcYwH0AH.js} +1 -1
  43. package/dist/client/_nuxt/Cgl53LJQ.js +1 -0
  44. package/dist/client/_nuxt/{RgJsN3zu.js → ChMCFiS0.js} +1 -1
  45. package/dist/client/_nuxt/CiRxTSAc.js +1 -0
  46. package/dist/client/_nuxt/Cp2HGa90.js +353 -0
  47. package/dist/client/_nuxt/CpAANOdC.js +1 -0
  48. package/dist/client/_nuxt/{DfUNg_8t.js → CqYeW6XZ.js} +1 -1
  49. package/dist/client/_nuxt/{CL7Ixq1B.js → CrgTADc5.js} +1 -1
  50. package/dist/client/_nuxt/CuJfdYLG.js +1 -0
  51. package/dist/client/_nuxt/D71BffLY.js +1 -0
  52. package/dist/client/_nuxt/DAP_O-zg.js +1 -0
  53. package/dist/client/_nuxt/DAfrLhwG.js +1 -0
  54. package/dist/client/_nuxt/{CRWwmX0L.js → DCjyzNN-.js} +1 -1
  55. package/dist/client/_nuxt/{Bd7iooY8.js → DGDuLtS6.js} +1 -1
  56. package/dist/client/_nuxt/{DIr-ordK.js → DGEpfOTx.js} +1 -1
  57. package/dist/client/_nuxt/{j8KhMG0x.js → DGxQkqYo.js} +1 -1
  58. package/dist/client/_nuxt/DKb4lQY2.js +1 -0
  59. package/dist/client/_nuxt/DOHBU7tp.js +1 -0
  60. package/dist/client/_nuxt/{CUVblut_.js → DR5YgmI2.js} +1 -1
  61. package/dist/client/_nuxt/DS9ZWoKD.js +1 -0
  62. package/dist/client/_nuxt/{D-pQtGOP.js → DVLwECkk.js} +1 -1
  63. package/dist/client/_nuxt/DZLoTQm4.js +1 -0
  64. package/dist/client/_nuxt/{ZQC2c-5V.js → D_T9yQUo.js} +3 -3
  65. package/dist/client/_nuxt/Dd6f7Z5P.js +1 -0
  66. package/dist/client/_nuxt/Dit6kIrv.js +11 -0
  67. package/dist/client/_nuxt/{DXpYegZJ.js → Djqq6n-7.js} +1 -1
  68. package/dist/client/_nuxt/Dkb1Nx48.js +1 -0
  69. package/dist/client/_nuxt/{DywwDckn.js → Du6_OKDb.js} +1 -1
  70. package/dist/client/_nuxt/FJDVp-XM.js +1 -0
  71. package/dist/client/_nuxt/{IHMnEr_d.js → G-Jz5hiA.js} +1 -1
  72. package/dist/client/_nuxt/HrnDn_2Q.js +1 -0
  73. package/dist/client/_nuxt/Icon.BhjmZGan.css +1 -0
  74. package/dist/client/_nuxt/IconCSS.BPON9v2Q.css +1 -0
  75. package/dist/client/_nuxt/{CPHkTjfH.js → JgH_6NEN.js} +1 -1
  76. package/dist/client/_nuxt/KPqz0Sb3.js +1 -0
  77. package/dist/client/_nuxt/Ksn5IXup.js +1 -0
  78. package/dist/client/_nuxt/{wPLeKH6q.js → Lpdzc9s2.js} +1 -1
  79. package/dist/client/_nuxt/MS3qTAOR.js +1 -0
  80. package/dist/client/_nuxt/{BILqrcpa.js → YdT6Gj0u.js} +1 -1
  81. package/dist/client/_nuxt/alpzPJ78.js +1 -0
  82. package/dist/client/_nuxt/builds/latest.json +1 -1
  83. package/dist/client/_nuxt/builds/meta/00249a90-0255-4aa3-86f3-d53aa59a7354.json +1 -0
  84. package/dist/client/_nuxt/{Bdb36Id5.js → dIHJ9UdL.js} +1 -1
  85. package/dist/client/_nuxt/entry.CmimZAHN.css +1 -0
  86. package/dist/client/_nuxt/error-404.C7lYlUVC.css +1 -0
  87. package/dist/client/_nuxt/error-500.f8GAwExH.css +1 -0
  88. package/dist/client/_nuxt/o8H-iTt6.js +6 -0
  89. package/dist/client/_nuxt/{doGI2cFk.js → wKgfcFVx.js} +1 -1
  90. package/dist/client/_nuxt/xtV5iK4E.js +1 -0
  91. package/dist/client/_nuxt/zhgf4ixb.js +40 -0
  92. package/dist/client/index.html +114 -91
  93. package/dist/module.d.mts +1 -347
  94. package/dist/module.d.ts +1 -347
  95. package/dist/module.json +6 -2
  96. package/dist/module.mjs +11 -99
  97. package/dist/runtime/nitro/composables/asSitemapUrl.d.ts +1 -1
  98. package/dist/runtime/nitro/composables/defineSitemapEventHandler.d.ts +1 -1
  99. package/dist/runtime/nitro/middleware/{[sitemap]-sitemap.xml.mjs → [sitemap]-sitemap.xml.js} +2 -2
  100. package/dist/runtime/nitro/plugins/{nuxt-content.mjs → nuxt-content.js} +1 -1
  101. package/dist/runtime/nitro/plugins/{warm-up.mjs → warm-up.js} +1 -1
  102. package/dist/runtime/nitro/routes/__sitemap__/debug.d.ts +2 -2
  103. package/dist/runtime/nitro/routes/__sitemap__/{debug.mjs → debug.js} +2 -2
  104. package/dist/runtime/nitro/routes/{sitemap.xml.mjs → sitemap.xml.js} +2 -2
  105. package/dist/runtime/nitro/routes/{sitemap.xsl.mjs → sitemap.xsl.js} +1 -1
  106. package/dist/runtime/nitro/routes/{sitemap_index.xml.mjs → sitemap_index.xml.js} +2 -2
  107. package/dist/runtime/nitro/sitemap/builder/sitemap-index.d.ts +1 -1
  108. package/dist/runtime/nitro/sitemap/builder/{sitemap-index.mjs → sitemap-index.js} +11 -7
  109. package/dist/runtime/nitro/sitemap/builder/sitemap.d.ts +1 -1
  110. package/dist/runtime/nitro/sitemap/builder/{sitemap.mjs → sitemap.js} +9 -9
  111. package/dist/runtime/nitro/sitemap/builder/xml.d.ts +1 -1
  112. package/dist/runtime/nitro/sitemap/nitro.d.ts +1 -1
  113. package/dist/runtime/nitro/sitemap/{nitro.mjs → nitro.js} +2 -2
  114. package/dist/runtime/nitro/sitemap/urlset/filter.d.ts +1 -1
  115. package/dist/runtime/nitro/sitemap/urlset/{filter.mjs → filter.js} +1 -1
  116. package/dist/runtime/nitro/sitemap/urlset/i18n.d.ts +1 -1
  117. package/dist/runtime/nitro/sitemap/urlset/{i18n.mjs → i18n.js} +1 -1
  118. package/dist/runtime/nitro/sitemap/urlset/normalise.d.ts +1 -1
  119. package/dist/runtime/nitro/sitemap/urlset/{normalise.mjs → normalise.js} +1 -1
  120. package/dist/runtime/nitro/sitemap/urlset/sort.d.ts +1 -1
  121. package/dist/runtime/nitro/sitemap/urlset/sources.d.ts +4 -3
  122. package/dist/runtime/nitro/sitemap/urlset/{sources.mjs → sources.js} +5 -4
  123. package/dist/runtime/nitro/utils.d.ts +2 -2
  124. package/dist/runtime/nitro/{utils.mjs → utils.js} +2 -2
  125. package/dist/runtime/types.d.ts +3 -0
  126. package/dist/runtime/utils-pure.d.ts +1 -1
  127. package/dist/types.d.mts +2 -9
  128. package/dist/types.d.ts +2 -9
  129. package/package.json +19 -19
  130. package/dist/client/_nuxt/-hLHpAOl.js +0 -1
  131. package/dist/client/_nuxt/5gXNyPeq.js +0 -1
  132. package/dist/client/_nuxt/A6fgiLY6.js +0 -1
  133. package/dist/client/_nuxt/BBv1LFm6.js +0 -6
  134. package/dist/client/_nuxt/BIMuYTWL.js +0 -3
  135. package/dist/client/_nuxt/BSyl5yf0.js +0 -1
  136. package/dist/client/_nuxt/BTnhwlxZ.js +0 -1
  137. package/dist/client/_nuxt/Bsp1M94H.js +0 -1
  138. package/dist/client/_nuxt/BswfO-CF.js +0 -1
  139. package/dist/client/_nuxt/Bz4xi2rU.js +0 -1
  140. package/dist/client/_nuxt/CGQbO34C.js +0 -1
  141. package/dist/client/_nuxt/CudBhkk3.js +0 -1
  142. package/dist/client/_nuxt/D4LhxNOI.js +0 -1
  143. package/dist/client/_nuxt/D4k753MY.js +0 -1
  144. package/dist/client/_nuxt/DnhXxWz-.js +0 -1
  145. package/dist/client/_nuxt/DoA0sgnJ.js +0 -36
  146. package/dist/client/_nuxt/Dszwcx0o.js +0 -1
  147. package/dist/client/_nuxt/Dz2Ca8U2.js +0 -1
  148. package/dist/client/_nuxt/DzPyIVdT.js +0 -9
  149. package/dist/client/_nuxt/Icon.Cz7P-B9Q.css +0 -1
  150. package/dist/client/_nuxt/IconCSS.CuOlVhPM.css +0 -1
  151. package/dist/client/_nuxt/TQ9oWRfF.js +0 -1
  152. package/dist/client/_nuxt/WoBtJUue.js +0 -1
  153. package/dist/client/_nuxt/bmJ2objS.js +0 -1
  154. package/dist/client/_nuxt/builds/meta/9c660240-bc8b-4a63-883d-04cd5c521393.json +0 -1
  155. package/dist/client/_nuxt/entry.Ch27ueg_.css +0 -1
  156. package/dist/client/_nuxt/error-404.BRldFSII.css +0 -1
  157. package/dist/client/_nuxt/error-500.D8yw_IbC.css +0 -1
  158. /package/dist/runtime/nitro/composables/{asSitemapUrl.mjs → asSitemapUrl.js} +0 -0
  159. /package/dist/runtime/nitro/composables/{defineSitemapEventHandler.mjs → defineSitemapEventHandler.js} +0 -0
  160. /package/dist/runtime/nitro/composables/{getPathRobotConfigPolyfill.mjs → getPathRobotConfigPolyfill.js} +0 -0
  161. /package/dist/runtime/nitro/{kit.mjs → kit.js} +0 -0
  162. /package/dist/runtime/nitro/plugins/{compression.mjs → compression.js} +0 -0
  163. /package/dist/runtime/nitro/routes/__sitemap__/{nuxt-content-urls.mjs → nuxt-content-urls.js} +0 -0
  164. /package/dist/runtime/nitro/sitemap/builder/{xml.mjs → xml.js} +0 -0
  165. /package/dist/runtime/nitro/sitemap/urlset/{sort.mjs → sort.js} +0 -0
  166. /package/dist/runtime/{types.mjs → types.js} +0 -0
  167. /package/dist/runtime/{utils-pure.mjs → utils-pure.js} +0 -0
package/dist/module.json CHANGED
@@ -1,9 +1,13 @@
1
1
  {
2
2
  "name": "@nuxtjs/sitemap",
3
3
  "compatibility": {
4
- "nuxt": "^3.9.0",
4
+ "nuxt": ">=3.9.0",
5
5
  "bridge": false
6
6
  },
7
7
  "configKey": "sitemap",
8
- "version": "5.1.4"
8
+ "version": "5.2.0",
9
+ "builder": {
10
+ "@nuxt/module-builder": "0.8.0",
11
+ "unbuild": "2.0.0"
12
+ }
9
13
  }
package/dist/module.mjs CHANGED
@@ -1,76 +1,18 @@
1
1
  import { useNuxt, loadNuxtModuleInstance, createResolver, addTemplate, extendPages, defineNuxtModule, useLogger, hasNuxtModule, getNuxtModuleVersion, hasNuxtModuleCompatibility, addServerImports, addServerPlugin, addServerHandler, findPath, addPrerenderRoutes } from '@nuxt/kit';
2
- import { withLeadingSlash, parseURL, withBase, joinURL, withoutLeadingSlash } from 'ufo';
2
+ import { parseURL, withBase, joinURL, withoutLeadingSlash } from 'ufo';
3
3
  import { assertSiteConfig, installNuxtSiteConfig } from 'nuxt-site-config-kit';
4
- import { createDefu, defu } from 'defu';
4
+ import { defu } from 'defu';
5
5
  import { readPackageJSON } from 'pkg-types';
6
6
  import { statSync, existsSync } from 'node:fs';
7
7
  import { extname, relative, dirname } from 'pathe';
8
- import { toRouteMatcher, createRouter } from 'radix3';
8
+ import { createPathFilter, splitForLocales, mergeOnKey } from '../dist/runtime/utils-pure.js';
9
9
  import { provider, env } from 'std-env';
10
10
  import { mkdir, writeFile } from 'node:fs/promises';
11
11
  import { join } from 'node:path';
12
12
  import chalk from 'chalk';
13
13
  import { build } from 'nitropack';
14
14
  import { withSiteUrl } from 'nuxt-site-config-kit/urls';
15
- import 'site-config-stack/urls';
16
-
17
- const merger = createDefu((obj, key, value) => {
18
- if (Array.isArray(obj[key]) && Array.isArray(value))
19
- obj[key] = Array.from(/* @__PURE__ */ new Set([...obj[key], ...value]));
20
- return obj[key];
21
- });
22
- function mergeOnKey(arr, key) {
23
- const res = {};
24
- arr.forEach((item) => {
25
- const k = item[key];
26
- res[k] = merger(item, res[k] || {});
27
- });
28
- return Object.values(res);
29
- }
30
- function splitForLocales(path, locales) {
31
- const prefix = withLeadingSlash(path).split("/")[1];
32
- if (locales.includes(prefix))
33
- return [prefix, path.replace(`/${prefix}`, "")];
34
- return [null, path];
35
- }
36
- function createPathFilter(options = {}) {
37
- const urlFilter = createFilter(options);
38
- return (loc) => {
39
- let path = loc;
40
- try {
41
- path = parseURL(loc).pathname;
42
- } catch {
43
- return false;
44
- }
45
- return urlFilter(path);
46
- };
47
- }
48
- function createFilter(options = {}) {
49
- const include = options.include || [];
50
- const exclude = options.exclude || [];
51
- if (include.length === 0 && exclude.length === 0)
52
- return () => true;
53
- return function(path) {
54
- for (const v of [{ rules: exclude, result: false }, { rules: include, result: true }]) {
55
- const regexRules = v.rules.filter((r) => r instanceof RegExp);
56
- if (regexRules.some((r) => r.test(path)))
57
- return v.result;
58
- const stringRules = v.rules.filter((r) => typeof r === "string");
59
- if (stringRules.length > 0) {
60
- const routes = {};
61
- for (const r of stringRules) {
62
- if (r === path)
63
- return v.result;
64
- routes[r] = true;
65
- }
66
- const routeRulesMatcher = toRouteMatcher(createRouter({ routes, strictTrailingSlash: false }));
67
- if (routeRulesMatcher.matchAll(path).length > 0)
68
- return Boolean(v.result);
69
- }
70
- }
71
- return include.length === 0;
72
- };
73
- }
15
+ import { normaliseDate } from '../dist/runtime/nitro/sitemap/urlset/normalise.js';
74
16
 
75
17
  async function resolveUrls(urls) {
76
18
  if (typeof urls === "function")
@@ -216,10 +158,11 @@ async function getNuxtModuleOptions(module, nuxt = useNuxt()) {
216
158
  function extendTypes(module, template) {
217
159
  const nuxt = useNuxt();
218
160
  const { resolve } = createResolver(import.meta.url);
161
+ const fileName = `${module.replace("/", "-")}.d.ts`;
219
162
  addTemplate({
220
- filename: `module/${module}.d.ts`,
163
+ filename: `module/${fileName}`,
221
164
  getContents: async () => {
222
- const typesPath = relative(resolve(nuxt.options.rootDir, nuxt.options.buildDir, "module"), resolve("runtime/types"));
165
+ const typesPath = relative(resolve(nuxt.options.rootDir, nuxt.options.buildDir, "module"), resolve("../runtime/types"));
223
166
  const s = await template({ typesPath });
224
167
  return `// Generated by ${module}
225
168
  ${s}
@@ -228,13 +171,13 @@ export {}
228
171
  }
229
172
  });
230
173
  nuxt.hooks.hook("prepare:types", ({ references }) => {
231
- references.push({ path: resolve(nuxt.options.buildDir, `module/${module}.d.ts`) });
174
+ references.push({ path: resolve(nuxt.options.buildDir, `module/${fileName}`) });
232
175
  });
233
176
  nuxt.hooks.hook("nitro:config", (config) => {
234
177
  config.typescript = config.typescript || {};
235
178
  config.typescript.tsConfig = config.typescript.tsConfig || {};
236
179
  config.typescript.tsConfig.include = config.typescript.tsConfig.include || [];
237
- config.typescript.tsConfig.include.push(`./module/${module}.d.ts`);
180
+ config.typescript.tsConfig.include.push(`./module/${fileName}`);
238
181
  });
239
182
  }
240
183
  function createPagesPromise(nuxt = useNuxt()) {
@@ -456,38 +399,6 @@ function setupDevToolsUI(options, resolve, nuxt = useNuxt()) {
456
399
  });
457
400
  }
458
401
 
459
- const IS_VALID_W3C_DATE = [
460
- /(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))/,
461
- /^\d{4}-[01]\d-[0-3]\d$/,
462
- /^\d{4}-[01]\d$/,
463
- /^\d{4}$/
464
- ];
465
- function isValidW3CDate(d) {
466
- return IS_VALID_W3C_DATE.some((r) => r.test(d));
467
- }
468
- function normaliseDate(d) {
469
- if (typeof d === "string") {
470
- if (d.includes("T")) {
471
- const t = d.split("T")[1];
472
- if (!t.includes("+") && !t.includes("-") && !t.includes("Z")) {
473
- d += "Z";
474
- }
475
- }
476
- if (!isValidW3CDate(d))
477
- return false;
478
- d = new Date(d);
479
- d.setMilliseconds(0);
480
- if (Number.isNaN(d.getTime()))
481
- return false;
482
- }
483
- const z = (n) => `0${n}`.slice(-2);
484
- const date = `${d.getUTCFullYear()}-${z(d.getUTCMonth() + 1)}-${z(d.getUTCDate())}`;
485
- if (d.getUTCHours() > 0 || d.getUTCMinutes() > 0 || d.getUTCSeconds() > 0) {
486
- return `${date}T${z(d.getUTCHours())}:${z(d.getUTCMinutes())}:${z(d.getUTCSeconds())}Z`;
487
- }
488
- return date;
489
- }
490
-
491
402
  function splitPathForI18nLocales(path, autoI18n) {
492
403
  const locales = autoI18n.strategy === "prefix_except_default" ? autoI18n.locales.filter((l) => l.code !== autoI18n.defaultLocale) : autoI18n.locales;
493
404
  if (typeof path !== "string" || path.startsWith("/_"))
@@ -537,7 +448,7 @@ const module = defineNuxtModule({
537
448
  meta: {
538
449
  name: "@nuxtjs/sitemap",
539
450
  compatibility: {
540
- nuxt: "^3.9.0",
451
+ nuxt: ">=3.9.0",
541
452
  bridge: false
542
453
  },
543
454
  configKey: "sitemap"
@@ -718,6 +629,7 @@ declare module 'nitropack' {
718
629
  sitemap?: import('${typesPath}').SitemapItemDefaults
719
630
  }
720
631
  interface NitroRuntimeHooks {
632
+ 'sitemap:index-resolved': (ctx: import('${typesPath}').SitemapIndexRenderCtx) => void | Promise<void>
721
633
  'sitemap:resolved': (ctx: import('${typesPath}').SitemapRenderCtx) => void | Promise<void>
722
634
  'sitemap:output': (ctx: import('${typesPath}').SitemapOutputHookCtx) => void | Promise<void>
723
635
  }
@@ -1,2 +1,2 @@
1
- import type { SitemapUrlInput } from '../../types';
1
+ import type { SitemapUrlInput } from '../../types.js';
2
2
  export declare function asSitemapUrl(url: SitemapUrlInput | Record<string, any>): SitemapUrlInput;
@@ -1,3 +1,3 @@
1
1
  import { type EventHandlerRequest, type EventHandlerResponse, defineEventHandler } from 'h3';
2
- import type { SitemapUrlInput } from '../../types';
2
+ import type { SitemapUrlInput } from '../../types.js';
3
3
  export declare const defineSitemapEventHandler: typeof defineEventHandler<EventHandlerRequest, EventHandlerResponse<SitemapUrlInput[]>>;
@@ -1,7 +1,7 @@
1
1
  import { createError, defineEventHandler } from "h3";
2
2
  import { parseURL } from "ufo";
3
- import { useSimpleSitemapRuntimeConfig } from "../utils.mjs";
4
- import { createSitemap } from "../sitemap/nitro.mjs";
3
+ import { useSimpleSitemapRuntimeConfig } from "../utils.js";
4
+ import { createSitemap } from "../sitemap/nitro.js";
5
5
  export default defineEventHandler(async (e) => {
6
6
  const path = parseURL(e.path).pathname;
7
7
  if (!path.endsWith("-sitemap.xml"))
@@ -1,5 +1,5 @@
1
1
  import { defu } from "defu";
2
- import { useSimpleSitemapRuntimeConfig } from "../utils.mjs";
2
+ import { useSimpleSitemapRuntimeConfig } from "../utils.js";
3
3
  import { defineNitroPlugin } from "#imports";
4
4
  export default defineNitroPlugin((nitroApp) => {
5
5
  const { discoverImages, isNuxtContentDocumentDriven } = useSimpleSitemapRuntimeConfig();
@@ -1,5 +1,5 @@
1
1
  import { withLeadingSlash } from "ufo";
2
- import { useSimpleSitemapRuntimeConfig } from "../utils.mjs";
2
+ import { useSimpleSitemapRuntimeConfig } from "../utils.js";
3
3
  import { defineNitroPlugin } from "#imports";
4
4
  export default defineNitroPlugin((nitroApp) => {
5
5
  const { sitemaps } = useSimpleSitemapRuntimeConfig();
@@ -1,6 +1,6 @@
1
- import type { SitemapDefinition } from '../../../types';
1
+ import type { SitemapDefinition } from '../../../types.js';
2
2
  declare const _default: import("h3").EventHandler<import("h3").EventHandlerRequest, Promise<{
3
- nitroOrigin: any;
3
+ nitroOrigin: string;
4
4
  sitemaps: Record<string, SitemapDefinition>;
5
5
  runtimeConfig: {
6
6
  version: string;
@@ -1,10 +1,10 @@
1
1
  import { defineEventHandler } from "h3";
2
- import { useSimpleSitemapRuntimeConfig } from "../../utils.mjs";
2
+ import { useSimpleSitemapRuntimeConfig } from "../../utils.js";
3
3
  import {
4
4
  childSitemapSources,
5
5
  globalSitemapSources,
6
6
  resolveSitemapSources
7
- } from "../../sitemap/urlset/sources.mjs";
7
+ } from "../../sitemap/urlset/sources.js";
8
8
  import { useNitroOrigin } from "#imports";
9
9
  export default defineEventHandler(async (e) => {
10
10
  const _runtimeConfig = useSimpleSitemapRuntimeConfig();
@@ -1,7 +1,7 @@
1
1
  import { defineEventHandler, sendRedirect } from "h3";
2
2
  import { withBase } from "ufo";
3
- import { useSimpleSitemapRuntimeConfig } from "../utils.mjs";
4
- import { createSitemap } from "../sitemap/nitro.mjs";
3
+ import { useSimpleSitemapRuntimeConfig } from "../utils.js";
4
+ import { createSitemap } from "../sitemap/nitro.js";
5
5
  import { useRuntimeConfig } from "#imports";
6
6
  export default defineEventHandler(async (e) => {
7
7
  const runtimeConfig = useSimpleSitemapRuntimeConfig();
@@ -1,6 +1,6 @@
1
1
  import { defineEventHandler, getHeader, setHeader } from "h3";
2
2
  import { getQuery, parseURL, withQuery } from "ufo";
3
- import { useSimpleSitemapRuntimeConfig } from "../utils.mjs";
3
+ import { useSimpleSitemapRuntimeConfig } from "../utils.js";
4
4
  import { createSitePathResolver, useSiteConfig } from "#imports";
5
5
  export default defineEventHandler(async (e) => {
6
6
  const fixPath = createSitePathResolver(e, { absolute: false, withBase: true });
@@ -1,7 +1,7 @@
1
1
  import { defineEventHandler, getQuery, setHeader } from "h3";
2
2
  import { fixSlashes } from "site-config-stack/urls";
3
- import { useSimpleSitemapRuntimeConfig } from "../utils.mjs";
4
- import { buildSitemapIndex } from "../sitemap/builder/sitemap-index.mjs";
3
+ import { useSimpleSitemapRuntimeConfig } from "../utils.js";
4
+ import { buildSitemapIndex } from "../sitemap/builder/sitemap-index.js";
5
5
  import { createSitePathResolver, useNitroApp, useSiteConfig } from "#imports";
6
6
  export default defineEventHandler(async (e) => {
7
7
  const canonicalQuery = getQuery(e).canonical;
@@ -1,2 +1,2 @@
1
- import type { ModuleRuntimeConfig, NitroUrlResolvers } from '../../../types';
1
+ import type { ModuleRuntimeConfig, NitroUrlResolvers } from '../../../types.js';
2
2
  export declare function buildSitemapIndex(resolvers: NitroUrlResolvers, runtimeConfig: ModuleRuntimeConfig): Promise<string>;
@@ -1,11 +1,12 @@
1
1
  import { defu } from "defu";
2
2
  import { appendHeader } from "h3";
3
- import { normaliseDate, normaliseSitemapUrls } from "../urlset/normalise.mjs";
4
- import { globalSitemapSources, resolveSitemapSources } from "../urlset/sources.mjs";
5
- import { applyI18nEnhancements } from "../urlset/i18n.mjs";
6
- import { filterSitemapUrls } from "../urlset/filter.mjs";
7
- import { sortSitemapUrls } from "../urlset/sort.mjs";
8
- import { escapeValueForXml, wrapSitemapXml } from "./xml.mjs";
3
+ import { normaliseDate, normaliseSitemapUrls } from "../urlset/normalise.js";
4
+ import { globalSitemapSources, resolveSitemapSources } from "../urlset/sources.js";
5
+ import { applyI18nEnhancements } from "../urlset/i18n.js";
6
+ import { filterSitemapUrls } from "../urlset/filter.js";
7
+ import { sortSitemapUrls } from "../urlset/sort.js";
8
+ import { escapeValueForXml, wrapSitemapXml } from "./xml.js";
9
+ import { useNitroApp } from "#imports";
9
10
  export async function buildSitemapIndex(resolvers, runtimeConfig) {
10
11
  const {
11
12
  sitemaps,
@@ -74,7 +75,10 @@ export async function buildSitemapIndex(resolvers, runtimeConfig) {
74
75
  return typeof entry === "string" ? { sitemap: entry } : entry;
75
76
  }));
76
77
  }
77
- const sitemapXml = entries.map((e) => [
78
+ const ctx = { sitemaps: entries };
79
+ const nitro = useNitroApp();
80
+ await nitro.hooks.callHook("sitemap:index-resolved", ctx);
81
+ const sitemapXml = ctx.sitemaps.map((e) => [
78
82
  " <sitemap>",
79
83
  ` <loc>${escapeValueForXml(e.sitemap)}</loc>`,
80
84
  // lastmod is optional
@@ -1,2 +1,2 @@
1
- import type { ModuleRuntimeConfig, NitroUrlResolvers, SitemapDefinition } from '../../../types';
1
+ import type { ModuleRuntimeConfig, NitroUrlResolvers, SitemapDefinition } from '../../../types.js';
2
2
  export declare function buildSitemap(sitemap: SitemapDefinition, resolvers: NitroUrlResolvers, runtimeConfig: ModuleRuntimeConfig): Promise<string>;
@@ -1,14 +1,14 @@
1
1
  import { defu } from "defu";
2
2
  import { resolveSitePath } from "site-config-stack/urls";
3
3
  import { parseURL, withHttps } from "ufo";
4
- import { normaliseSitemapUrls } from "../urlset/normalise.mjs";
5
- import { childSitemapSources, globalSitemapSources, resolveSitemapSources } from "../urlset/sources.mjs";
6
- import { filterSitemapUrls } from "../urlset/filter.mjs";
7
- import { applyI18nEnhancements, normaliseI18nSources } from "../urlset/i18n.mjs";
8
- import { sortSitemapUrls } from "../urlset/sort.mjs";
9
- import { splitForLocales } from "../../utils.mjs";
10
- import { createNitroRouteRuleMatcher } from "../../kit.mjs";
11
- import { handleEntry, wrapSitemapXml } from "./xml.mjs";
4
+ import { normaliseSitemapUrls } from "../urlset/normalise.js";
5
+ import { childSitemapSources, globalSitemapSources, resolveSitemapSources } from "../urlset/sources.js";
6
+ import { filterSitemapUrls } from "../urlset/filter.js";
7
+ import { applyI18nEnhancements, normaliseI18nSources } from "../urlset/i18n.js";
8
+ import { sortSitemapUrls } from "../urlset/sort.js";
9
+ import { splitForLocales } from "../../utils.js";
10
+ import { createNitroRouteRuleMatcher } from "../../kit.js";
11
+ import { handleEntry, wrapSitemapXml } from "./xml.js";
12
12
  import { useNitroApp } from "#imports";
13
13
  export async function buildSitemap(sitemap, resolvers, runtimeConfig) {
14
14
  const {
@@ -52,7 +52,7 @@ export async function buildSitemap(sitemap, resolvers, runtimeConfig) {
52
52
  }
53
53
  const sources = sitemap.includeAppSources ? await globalSitemapSources() : [];
54
54
  sources.push(...await childSitemapSources(sitemap));
55
- let resolvedSources = await resolveSitemapSources(sources);
55
+ let resolvedSources = await resolveSitemapSources(sources, resolvers.event);
56
56
  if (autoI18n)
57
57
  resolvedSources = normaliseI18nSources(resolvedSources, { autoI18n, isI18nMapped, ...sitemap });
58
58
  const normalisedUrls = normaliseSitemapUrls(resolvedSources.map((e) => e.urls).flat(), resolvers);
@@ -1,4 +1,4 @@
1
- import type { ModuleRuntimeConfig, NitroUrlResolvers } from '../../../types';
1
+ import type { ModuleRuntimeConfig, NitroUrlResolvers } from '../../../types.js';
2
2
  export declare function handleEntry(k: string, e: Record<string, any> | (string | Record<string, any>)[]): string | false;
3
3
  export declare function wrapSitemapXml(input: string[], resolvers: NitroUrlResolvers, options: Pick<ModuleRuntimeConfig, 'version' | 'xsl' | 'credits'>): string;
4
4
  export declare function escapeValueForXml(value: boolean | string | number): string;
@@ -1,4 +1,4 @@
1
1
  import { type H3Event } from 'h3';
2
- import type { ModuleRuntimeConfig, NitroUrlResolvers, SitemapDefinition } from '../../types';
2
+ import type { ModuleRuntimeConfig, NitroUrlResolvers, SitemapDefinition } from '../../types.js';
3
3
  export declare function useNitroUrlResolvers(e: H3Event): NitroUrlResolvers;
4
4
  export declare function createSitemap(e: H3Event, definition: SitemapDefinition, runtimeConfig: ModuleRuntimeConfig): Promise<string>;
@@ -1,7 +1,7 @@
1
1
  import { getQuery, setHeader } from "h3";
2
2
  import { fixSlashes } from "site-config-stack/urls";
3
- import { buildSitemap } from "./builder/sitemap.mjs";
4
- import { buildSitemapIndex } from "./builder/sitemap-index.mjs";
3
+ import { buildSitemap } from "./builder/sitemap.js";
4
+ import { buildSitemapIndex } from "./builder/sitemap-index.js";
5
5
  import { createSitePathResolver, useNitroApp, useSiteConfig } from "#imports";
6
6
  export function useNitroUrlResolvers(e) {
7
7
  const canonicalQuery = getQuery(e).canonical;
@@ -1,5 +1,5 @@
1
1
  import type { H3Event } from 'h3';
2
- import type { ModuleRuntimeConfig, ResolvedSitemapUrl } from '../../../types';
2
+ import type { ModuleRuntimeConfig, ResolvedSitemapUrl } from '../../../types.js';
3
3
  export declare function filterSitemapUrls(_urls: ResolvedSitemapUrl[], options: Pick<ModuleRuntimeConfig, 'autoI18n' | 'isMultiSitemap'> & Pick<ModuleRuntimeConfig['sitemaps'][string], 'sitemapName' | 'include' | 'exclude'> & {
4
4
  event: H3Event;
5
5
  }): ResolvedSitemapUrl[];
@@ -1,5 +1,5 @@
1
1
  import { parseURL } from "ufo";
2
- import { createFilter } from "../../../utils-pure.mjs";
2
+ import { createFilter } from "../../../utils-pure.js";
3
3
  import { getPathRobotConfig } from "#imports";
4
4
  export function filterSitemapUrls(_urls, options) {
5
5
  const urlFilter = createFilter({
@@ -1,4 +1,4 @@
1
- import type { ModuleRuntimeConfig, ResolvedSitemapUrl, SitemapSourceResolved } from '../../../types';
1
+ import type { ModuleRuntimeConfig, ResolvedSitemapUrl, SitemapSourceResolved } from '../../../types.js';
2
2
  export declare function normaliseI18nSources(sources: SitemapSourceResolved[], { autoI18n, isI18nMapped, include, exclude }: {
3
3
  autoI18n: ModuleRuntimeConfig['autoI18n'];
4
4
  isI18nMapped: boolean;
@@ -1,5 +1,5 @@
1
1
  import { hasProtocol, joinURL, parseURL, withHttps, withLeadingSlash } from "ufo";
2
- import { createPathFilter, splitForLocales } from "../../../utils-pure.mjs";
2
+ import { createPathFilter, splitForLocales } from "../../../utils-pure.js";
3
3
  export function normaliseI18nSources(sources, { autoI18n, isI18nMapped, include, exclude }) {
4
4
  const filterPath = createPathFilter({
5
5
  include,
@@ -1,4 +1,4 @@
1
- import type { NitroUrlResolvers, ResolvedSitemapUrl, SitemapUrlInput } from '../../../types';
1
+ import type { NitroUrlResolvers, ResolvedSitemapUrl, SitemapUrlInput } from '../../../types.js';
2
2
  export declare function normaliseSitemapUrls(data: SitemapUrlInput[], resolvers: NitroUrlResolvers): ResolvedSitemapUrl[];
3
3
  export declare function isValidW3CDate(d: string): boolean;
4
4
  export declare function normaliseDate(date: string | Date): string;
@@ -1,6 +1,6 @@
1
1
  import { hasProtocol } from "ufo";
2
2
  import { fixSlashes } from "site-config-stack/urls";
3
- import { mergeOnKey } from "../../../utils-pure.mjs";
3
+ import { mergeOnKey } from "../../../utils-pure.js";
4
4
  function resolve(s, resolvers) {
5
5
  if (typeof s === "undefined")
6
6
  return s;
@@ -1,2 +1,2 @@
1
- import type { ResolvedSitemapUrl, SitemapUrlInput } from '../../../types';
1
+ import type { ResolvedSitemapUrl, SitemapUrlInput } from '../../../types.js';
2
2
  export declare function sortSitemapUrls<T extends SitemapUrlInput[] | ResolvedSitemapUrl[]>(urls: T): T;
@@ -1,5 +1,6 @@
1
- import type { ModuleRuntimeConfig, SitemapSourceBase, SitemapSourceResolved } from '../../../types';
2
- export declare function fetchDataSource(input: SitemapSourceBase | SitemapSourceResolved): Promise<SitemapSourceResolved>;
1
+ import { type H3Event } from 'h3';
2
+ import type { ModuleRuntimeConfig, SitemapSourceBase, SitemapSourceResolved } from '../../../types.js';
3
+ export declare function fetchDataSource(input: SitemapSourceBase | SitemapSourceResolved, event?: H3Event): Promise<SitemapSourceResolved>;
3
4
  export declare function globalSitemapSources(): Promise<(SitemapSourceBase | SitemapSourceResolved)[]>;
4
5
  export declare function childSitemapSources(definition: ModuleRuntimeConfig['sitemaps'][string]): Promise<(SitemapSourceBase | SitemapSourceResolved)[]>;
5
- export declare function resolveSitemapSources(sources: (SitemapSourceBase | SitemapSourceResolved)[]): Promise<SitemapSourceResolved[]>;
6
+ export declare function resolveSitemapSources(sources: (SitemapSourceBase | SitemapSourceResolved)[], event?: H3Event): Promise<SitemapSourceResolved[]>;
@@ -1,5 +1,6 @@
1
+ import { getRequestHost } from "h3";
1
2
  import { defu } from "defu";
2
- export async function fetchDataSource(input) {
3
+ export async function fetchDataSource(input, event) {
3
4
  const context = typeof input.context === "string" ? { name: input.context } : input.context || { name: "fetch" };
4
5
  context.tips = context.tips || [];
5
6
  const url = typeof input.fetch === "string" ? input.fetch : input.fetch[0];
@@ -16,7 +17,7 @@ export async function fetchDataSource(input) {
16
17
  signal: timeoutController.signal,
17
18
  headers: defu(options?.headers, {
18
19
  Accept: "application/json"
19
- }),
20
+ }, event ? { Host: getRequestHost(event, { xForwardedHost: true }) } : {}),
20
21
  // @ts-expect-error untyped
21
22
  onResponse({ response }) {
22
23
  if (typeof response._data === "string" && response._data.startsWith("<!DOCTYPE html>"))
@@ -63,7 +64,7 @@ export function globalSitemapSources() {
63
64
  export function childSitemapSources(definition) {
64
65
  return definition?._hasSourceChunk ? import("#sitemap/child-sources.mjs").then((m) => m.sources[definition.sitemapName] || []) : Promise.resolve([]);
65
66
  }
66
- export async function resolveSitemapSources(sources) {
67
+ export async function resolveSitemapSources(sources, event) {
67
68
  return (await Promise.all(
68
69
  sources.map((source) => {
69
70
  if (typeof source === "object" && "urls" in source) {
@@ -74,7 +75,7 @@ export async function resolveSitemapSources(sources) {
74
75
  };
75
76
  }
76
77
  if (source.fetch)
77
- return fetchDataSource(source);
78
+ return fetchDataSource(source, event);
78
79
  return {
79
80
  ...source,
80
81
  error: "Invalid source"
@@ -1,4 +1,4 @@
1
1
  import type { H3Event } from 'h3';
2
- import type { ModuleRuntimeConfig } from '../types';
3
- export * from '../utils-pure';
2
+ import type { ModuleRuntimeConfig } from '../types.js';
3
+ export * from '../utils-pure.js';
4
4
  export declare function useSimpleSitemapRuntimeConfig(e?: H3Event): ModuleRuntimeConfig;
@@ -1,6 +1,6 @@
1
- import { normalizeRuntimeFilters } from "../utils-pure.mjs";
1
+ import { normalizeRuntimeFilters } from "../utils-pure.js";
2
2
  import { useRuntimeConfig } from "#imports";
3
- export * from "../utils-pure.mjs";
3
+ export * from "../utils-pure.js";
4
4
  export function useSimpleSitemapRuntimeConfig(e) {
5
5
  const clone = JSON.parse(JSON.stringify(useRuntimeConfig(e).sitemap));
6
6
  for (const k in clone.sitemaps) {
@@ -256,6 +256,9 @@ export interface SitemapDefinition {
256
256
  */
257
257
  _route?: string;
258
258
  }
259
+ export interface SitemapIndexRenderCtx {
260
+ sitemaps: SitemapIndexEntry[];
261
+ }
259
262
  export interface SitemapRenderCtx {
260
263
  sitemapName: string;
261
264
  urls: ResolvedSitemapUrl[];
@@ -1,4 +1,4 @@
1
- import type { FilterInput } from './types';
1
+ import type { FilterInput } from './types.js';
2
2
  export declare function mergeOnKey<T, K extends keyof T>(arr: T[], key: K): T[];
3
3
  export declare function splitForLocales(path: string, locales: string[]): (string | null)[];
4
4
  /**
package/dist/types.d.mts CHANGED
@@ -1,18 +1,11 @@
1
-
2
- import type { ModuleOptions, ModuleHooks } from './module.js'
3
-
1
+ import type { ModuleHooks } from './module.js'
4
2
 
5
3
  declare module '@nuxt/schema' {
6
- interface NuxtConfig { ['sitemap']?: Partial<ModuleOptions> }
7
- interface NuxtOptions { ['sitemap']?: ModuleOptions }
8
4
  interface NuxtHooks extends ModuleHooks {}
9
5
  }
10
6
 
11
7
  declare module 'nuxt/schema' {
12
- interface NuxtConfig { ['sitemap']?: Partial<ModuleOptions> }
13
- interface NuxtOptions { ['sitemap']?: ModuleOptions }
14
8
  interface NuxtHooks extends ModuleHooks {}
15
9
  }
16
10
 
17
-
18
- export type { ModuleHooks, ModuleOptions, default } from './module.js'
11
+ export { type ModuleHooks, type ModuleOptions, default } from './module.js'
package/dist/types.d.ts CHANGED
@@ -1,18 +1,11 @@
1
-
2
- import type { ModuleOptions, ModuleHooks } from './module'
3
-
1
+ import type { ModuleHooks } from './module'
4
2
 
5
3
  declare module '@nuxt/schema' {
6
- interface NuxtConfig { ['sitemap']?: Partial<ModuleOptions> }
7
- interface NuxtOptions { ['sitemap']?: ModuleOptions }
8
4
  interface NuxtHooks extends ModuleHooks {}
9
5
  }
10
6
 
11
7
  declare module 'nuxt/schema' {
12
- interface NuxtConfig { ['sitemap']?: Partial<ModuleOptions> }
13
- interface NuxtOptions { ['sitemap']?: ModuleOptions }
14
8
  interface NuxtHooks extends ModuleHooks {}
15
9
  }
16
10
 
17
-
18
- export type { ModuleHooks, ModuleOptions, default } from './module'
11
+ export { type ModuleHooks, type ModuleOptions, default } from './module'
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@nuxtjs/sitemap",
3
3
  "type": "module",
4
- "version": "5.1.5",
4
+ "version": "5.2.1",
5
5
  "description": "Powerfully flexible XML Sitemaps that integrate seamlessly, for Nuxt.",
6
6
  "author": {
7
7
  "name": "Harlan Wilton",
@@ -31,10 +31,10 @@
31
31
  "dist"
32
32
  ],
33
33
  "dependencies": {
34
- "@nuxt/devtools-kit": "^1.2.0",
35
- "@nuxt/devtools-ui-kit": "^1.2.0",
36
- "@nuxt/kit": "^3.11.2",
37
- "@vueuse/core": "^10.9.0",
34
+ "@nuxt/devtools-kit": "^1.3.6",
35
+ "@nuxt/devtools-ui-kit": "^1.3.6",
36
+ "@nuxt/kit": "^3.12.2",
37
+ "@vueuse/core": "^10.11.0",
38
38
  "chalk": "^5.3.0",
39
39
  "defu": "^6.1.4",
40
40
  "floating-vue": "5.2.2",
@@ -43,30 +43,30 @@
43
43
  "nuxt-site-config-kit": "^2.2.12",
44
44
  "ofetch": "^1.3.4",
45
45
  "pathe": "^1.1.2",
46
- "pkg-types": "^1.1.0",
46
+ "pkg-types": "^1.1.1",
47
47
  "radix3": "^1.1.2",
48
- "semver": "^7.6.0",
49
- "shiki": "1.3.0",
48
+ "semver": "^7.6.2",
49
+ "shiki": "1.9.0",
50
50
  "sirv": "^2.0.4",
51
51
  "site-config-stack": "^2.2.12",
52
52
  "ufo": "^1.5.3"
53
53
  },
54
54
  "devDependencies": {
55
- "@antfu/eslint-config": "^2.16.1",
56
- "@nuxt/content": "^2.12.1",
57
- "@nuxt/kit": "^3.11.2",
58
- "@nuxt/module-builder": "0.5.5",
59
- "@nuxt/test-utils": "^3.12.1",
60
- "@nuxt/ui": "^2.15.2",
55
+ "@antfu/eslint-config": "^2.21.1",
56
+ "@nuxt/content": "^2.13.0",
57
+ "@nuxt/kit": "^3.12.2",
58
+ "@nuxt/module-builder": "0.8.0",
59
+ "@nuxt/test-utils": "^3.13.1",
60
+ "@nuxt/ui": "^2.17.0",
61
61
  "@nuxtjs/eslint-config-typescript": "^12.1.0",
62
- "@nuxtjs/i18n": "8.3.0",
62
+ "@nuxtjs/i18n": "8.3.1",
63
63
  "bumpp": "^9.4.1",
64
- "eslint": "9.1.1",
65
- "execa": "^8.0.1",
66
- "nuxt": "^3.11.2",
64
+ "eslint": "9.5.0",
65
+ "execa": "^9.3.0",
66
+ "nuxt": "^3.12.2",
67
67
  "nuxt-icon": "^0.6.10",
68
68
  "nuxt-simple-robots": "^4.0.0-rc.17",
69
- "typescript": "^5.4.5",
69
+ "typescript": "5.4.5",
70
70
  "vitest": "^1.6.0"
71
71
  },
72
72
  "build": {