@nuxtjs/sitemap 8.0.9 → 8.0.12

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 (53) hide show
  1. package/dist/content.mjs +30 -2
  2. package/dist/devtools/200.html +1 -1
  3. package/dist/devtools/404.html +1 -1
  4. package/dist/devtools/_nuxt/-aUy0TC4.js +154 -0
  5. package/dist/devtools/_nuxt/BFIcOmri.js +1 -0
  6. package/dist/devtools/_nuxt/{D-UTvDIa.js → BGX4BIlp.js} +1 -1
  7. package/dist/devtools/_nuxt/Bi9TcosG.js +23 -0
  8. package/dist/devtools/_nuxt/{PuCOIcxk.js → CXQtxZOi.js} +1 -1
  9. package/dist/devtools/_nuxt/Cax5AHW4.js +1 -0
  10. package/dist/devtools/_nuxt/D5_CWcJg.js +1 -0
  11. package/dist/devtools/_nuxt/DC1C2xmT.js +3 -0
  12. package/dist/devtools/_nuxt/DRr-E6D6.js +1 -0
  13. package/dist/devtools/_nuxt/{DR46qabg.js → DVdDkikE.js} +1 -1
  14. package/dist/devtools/_nuxt/DevtoolsAlert.Cc1j0rFh.css +1 -0
  15. package/dist/devtools/_nuxt/DevtoolsEmptyState.C_JszSPw.css +1 -0
  16. package/dist/devtools/_nuxt/DevtoolsSnippet.BMHEZhbx.css +1 -0
  17. package/dist/devtools/_nuxt/Dn-g3ZEt.js +6 -0
  18. package/dist/devtools/_nuxt/QPjoaMYX.js +1 -0
  19. package/dist/devtools/_nuxt/{Source.BcF6xQwF.css → Source.C8X9kLw1.css} +1 -1
  20. package/dist/devtools/_nuxt/ZIb9ujn-.js +1 -0
  21. package/dist/devtools/_nuxt/builds/latest.json +1 -1
  22. package/dist/devtools/_nuxt/builds/meta/61a2dc5e-e379-4bcd-a2a4-fe6a8a2bf7ae.json +1 -0
  23. package/dist/devtools/_nuxt/entry.W5GE0Meb.css +2 -0
  24. package/dist/devtools/_nuxt/pages.RvpSKGhd.css +1 -0
  25. package/dist/devtools/_nuxt/shiki.C9dc3IDa.css +1 -0
  26. package/dist/devtools/_nuxt/{Cut3vIGD.js → vh1cNZ6L.js} +1 -1
  27. package/dist/devtools/app-sources/index.html +1 -1
  28. package/dist/devtools/debug/index.html +1 -1
  29. package/dist/devtools/docs/index.html +1 -1
  30. package/dist/devtools/index.html +1 -1
  31. package/dist/devtools/user-sources/index.html +1 -1
  32. package/dist/module.json +1 -1
  33. package/dist/module.mjs +7 -9
  34. package/package.json +15 -15
  35. package/dist/devtools/_nuxt/BGdXPJA8.js +0 -154
  36. package/dist/devtools/_nuxt/Brri76xk.js +0 -23
  37. package/dist/devtools/_nuxt/C3JdQOO8.js +0 -1
  38. package/dist/devtools/_nuxt/CIN7gmGG.js +0 -6
  39. package/dist/devtools/_nuxt/CSlSVEd2.js +0 -1
  40. package/dist/devtools/_nuxt/CmDrQj9k.js +0 -3
  41. package/dist/devtools/_nuxt/CuHrjcYl.js +0 -1
  42. package/dist/devtools/_nuxt/DevtoolsEmptyState.CcbXJO4n.css +0 -1
  43. package/dist/devtools/_nuxt/DevtoolsSnippet.CbDLE91n.css +0 -1
  44. package/dist/devtools/_nuxt/Dpv--hsK.js +0 -1
  45. package/dist/devtools/_nuxt/builds/meta/f363f11d-47da-46fc-9bf1-bcc9e45c10df.json +0 -1
  46. package/dist/devtools/_nuxt/entry.BOoaiYxv.css +0 -2
  47. package/dist/devtools/_nuxt/pages.C_cPkFex.css +0 -1
  48. package/dist/devtools/_nuxt/shiki.DvoA-JTs.css +0 -1
  49. /package/dist/devtools/_nuxt/{1yQIC0dC.js → C5jzcy9i.js} +0 -0
  50. /package/dist/devtools/_nuxt/{DCQDLH1H.js → CCTv7mmB.js} +0 -0
  51. /package/dist/devtools/_nuxt/{DOc8G8F-.js → CuJezOxb.js} +0 -0
  52. /package/dist/devtools/_nuxt/{Dgofxk7X.js → E8AZ6HoH.js} +0 -0
  53. /package/dist/devtools/_nuxt/{Dit0uxj2.js → O5eLyffU.js} +0 -0
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><script type="importmap">{"imports":{"#entry":"/__nuxt-sitemap/_nuxt/Brri76xk.js"}}</script><link rel="stylesheet" href="/__nuxt-sitemap/_nuxt/entry.BOoaiYxv.css" crossorigin><link rel="stylesheet" href="/__nuxt-sitemap/_nuxt/shiki.DvoA-JTs.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-sitemap/_nuxt/Brri76xk.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-sitemap/_nuxt/CHHO6nw6.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-sitemap/_nuxt/CmDrQj9k.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-sitemap/_nuxt/BGdXPJA8.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-sitemap/_nuxt/CIN7gmGG.js"><script type="module" src="/__nuxt-sitemap/_nuxt/Brri76xk.js" crossorigin></script><script>"use strict";(()=>{const t=window,e=document.documentElement,c=["dark","light"],n=getStorageValue("localStorage","nuxt-color-mode")||"system";let i=n==="system"?u():n;const r=e.getAttribute("data-color-mode-forced");r&&(i=r),l(i),t["__NUXT_COLOR_MODE__"]={preference:n,value:i,getColorScheme:u,addColorScheme:l,removeColorScheme:d};function l(o){const s=""+o+"",a="";e.classList?e.classList.add(s):e.className+=" "+s,a&&e.setAttribute("data-"+a,o)}function d(o){const s=""+o+"",a="";e.classList?e.classList.remove(s):e.className=e.className.replace(new RegExp(s,"g"),""),a&&e.removeAttribute("data-"+a)}function f(o){return t.matchMedia("(prefers-color-scheme"+o+")")}function u(){if(t.matchMedia&&f("").media!=="not all"){for(const o of c)if(f(":"+o).matches)return o}return"light"}})();function getStorageValue(t,e){switch(t){case"localStorage":return window.localStorage.getItem(e);case"sessionStorage":return window.sessionStorage.getItem(e);case"cookie":return getCookie(e);default:return null}}function getCookie(t){const c=("; "+window.document.cookie).split("; "+t+"=");if(c.length===2)return c.pop()?.split(";").shift()}</script></head><body><div id="__nuxt" class="isolate"></div><div id="teleports"></div><script>window.__NUXT_SITE_CONFIG__={_priority:{env:-15},env:"production"}</script><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-sitemap",buildId:"f363f11d-47da-46fc-9bf1-bcc9e45c10df",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1774673434423,false]</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><script type="importmap">{"imports":{"#entry":"/__nuxt-sitemap/_nuxt/Bi9TcosG.js"}}</script><link rel="stylesheet" href="/__nuxt-sitemap/_nuxt/entry.W5GE0Meb.css" crossorigin><link rel="stylesheet" href="/__nuxt-sitemap/_nuxt/shiki.C9dc3IDa.css" crossorigin><link rel="stylesheet" href="/__nuxt-sitemap/_nuxt/DevtoolsAlert.Cc1j0rFh.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-sitemap/_nuxt/Bi9TcosG.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-sitemap/_nuxt/CHHO6nw6.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-sitemap/_nuxt/DC1C2xmT.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-sitemap/_nuxt/-aUy0TC4.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-sitemap/_nuxt/Dn-g3ZEt.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-sitemap/_nuxt/QPjoaMYX.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-sitemap/_nuxt/Cax5AHW4.js"><script type="module" src="/__nuxt-sitemap/_nuxt/Bi9TcosG.js" crossorigin></script><script>"use strict";(()=>{const t=window,e=document.documentElement,c=["dark","light"],n=getStorageValue("localStorage","nuxt-color-mode")||"system";let i=n==="system"?u():n;const r=e.getAttribute("data-color-mode-forced");r&&(i=r),l(i),t["__NUXT_COLOR_MODE__"]={preference:n,value:i,getColorScheme:u,addColorScheme:l,removeColorScheme:d};function l(o){const s=""+o+"",a="";e.classList?e.classList.add(s):e.className+=" "+s,a&&e.setAttribute("data-"+a,o)}function d(o){const s=""+o+"",a="";e.classList?e.classList.remove(s):e.className=e.className.replace(new RegExp(s,"g"),""),a&&e.removeAttribute("data-"+a)}function f(o){return t.matchMedia("(prefers-color-scheme"+o+")")}function u(){if(t.matchMedia&&f("").media!=="not all"){for(const o of c)if(f(":"+o).matches)return o}return"light"}})();function getStorageValue(t,e){switch(t){case"localStorage":return window.localStorage.getItem(e);case"sessionStorage":return window.sessionStorage.getItem(e);case"cookie":return getCookie(e);default:return null}}function getCookie(t){const c=("; "+window.document.cookie).split("; "+t+"=");if(c.length===2)return c.pop()?.split(";").shift()}</script></head><body><div id="__nuxt" class="isolate"></div><div id="teleports"></div><script>window.__NUXT_SITE_CONFIG__={_priority:{env:-15},env:"production"}</script><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-sitemap",buildId:"61a2dc5e-e379-4bcd-a2a4-fe6a8a2bf7ae",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1775568124556,false]</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><script type="importmap">{"imports":{"#entry":"/__nuxt-sitemap/_nuxt/Brri76xk.js"}}</script><link rel="stylesheet" href="/__nuxt-sitemap/_nuxt/entry.BOoaiYxv.css" crossorigin><link rel="stylesheet" href="/__nuxt-sitemap/_nuxt/shiki.DvoA-JTs.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-sitemap/_nuxt/Brri76xk.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-sitemap/_nuxt/CHHO6nw6.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-sitemap/_nuxt/CmDrQj9k.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-sitemap/_nuxt/BGdXPJA8.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-sitemap/_nuxt/CIN7gmGG.js"><script type="module" src="/__nuxt-sitemap/_nuxt/Brri76xk.js" crossorigin></script><script>"use strict";(()=>{const t=window,e=document.documentElement,c=["dark","light"],n=getStorageValue("localStorage","nuxt-color-mode")||"system";let i=n==="system"?u():n;const r=e.getAttribute("data-color-mode-forced");r&&(i=r),l(i),t["__NUXT_COLOR_MODE__"]={preference:n,value:i,getColorScheme:u,addColorScheme:l,removeColorScheme:d};function l(o){const s=""+o+"",a="";e.classList?e.classList.add(s):e.className+=" "+s,a&&e.setAttribute("data-"+a,o)}function d(o){const s=""+o+"",a="";e.classList?e.classList.remove(s):e.className=e.className.replace(new RegExp(s,"g"),""),a&&e.removeAttribute("data-"+a)}function f(o){return t.matchMedia("(prefers-color-scheme"+o+")")}function u(){if(t.matchMedia&&f("").media!=="not all"){for(const o of c)if(f(":"+o).matches)return o}return"light"}})();function getStorageValue(t,e){switch(t){case"localStorage":return window.localStorage.getItem(e);case"sessionStorage":return window.sessionStorage.getItem(e);case"cookie":return getCookie(e);default:return null}}function getCookie(t){const c=("; "+window.document.cookie).split("; "+t+"=");if(c.length===2)return c.pop()?.split(";").shift()}</script></head><body><div id="__nuxt" class="isolate"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-sitemap",buildId:"f363f11d-47da-46fc-9bf1-bcc9e45c10df",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1774673434423,false]</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><script type="importmap">{"imports":{"#entry":"/__nuxt-sitemap/_nuxt/Bi9TcosG.js"}}</script><link rel="stylesheet" href="/__nuxt-sitemap/_nuxt/entry.W5GE0Meb.css" crossorigin><link rel="stylesheet" href="/__nuxt-sitemap/_nuxt/shiki.C9dc3IDa.css" crossorigin><link rel="stylesheet" href="/__nuxt-sitemap/_nuxt/DevtoolsAlert.Cc1j0rFh.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-sitemap/_nuxt/Bi9TcosG.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-sitemap/_nuxt/CHHO6nw6.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-sitemap/_nuxt/DC1C2xmT.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-sitemap/_nuxt/-aUy0TC4.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-sitemap/_nuxt/Dn-g3ZEt.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-sitemap/_nuxt/QPjoaMYX.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-sitemap/_nuxt/Cax5AHW4.js"><script type="module" src="/__nuxt-sitemap/_nuxt/Bi9TcosG.js" crossorigin></script><script>"use strict";(()=>{const t=window,e=document.documentElement,c=["dark","light"],n=getStorageValue("localStorage","nuxt-color-mode")||"system";let i=n==="system"?u():n;const r=e.getAttribute("data-color-mode-forced");r&&(i=r),l(i),t["__NUXT_COLOR_MODE__"]={preference:n,value:i,getColorScheme:u,addColorScheme:l,removeColorScheme:d};function l(o){const s=""+o+"",a="";e.classList?e.classList.add(s):e.className+=" "+s,a&&e.setAttribute("data-"+a,o)}function d(o){const s=""+o+"",a="";e.classList?e.classList.remove(s):e.className=e.className.replace(new RegExp(s,"g"),""),a&&e.removeAttribute("data-"+a)}function f(o){return t.matchMedia("(prefers-color-scheme"+o+")")}function u(){if(t.matchMedia&&f("").media!=="not all"){for(const o of c)if(f(":"+o).matches)return o}return"light"}})();function getStorageValue(t,e){switch(t){case"localStorage":return window.localStorage.getItem(e);case"sessionStorage":return window.sessionStorage.getItem(e);case"cookie":return getCookie(e);default:return null}}function getCookie(t){const c=("; "+window.document.cookie).split("; "+t+"=");if(c.length===2)return c.pop()?.split(";").shift()}</script></head><body><div id="__nuxt" class="isolate"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-sitemap",buildId:"61a2dc5e-e379-4bcd-a2a4-fe6a8a2bf7ae",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1775568124556,false]</script></body></html>
package/dist/module.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "nuxt": ">=3.9.0"
5
5
  },
6
6
  "configKey": "sitemap",
7
- "version": "8.0.9",
7
+ "version": "8.0.12",
8
8
  "builder": {
9
9
  "@nuxt/module-builder": "1.0.2",
10
10
  "unbuild": "3.6.1"
package/dist/module.mjs CHANGED
@@ -11,7 +11,7 @@ import { mkdir, writeFile } from 'node:fs/promises';
11
11
  import { join } from 'node:path';
12
12
  import { colors } from 'consola/utils';
13
13
  import { splitForLocales, createPathFilter } from '../dist/runtime/utils-pure.js';
14
- import { isNuxtGenerate, resolveNitroPreset, getNuxtModuleOptions, resolveNuxtContentVersion, createPagesPromise, createNitroPromise } from 'nuxtseo-shared/kit';
14
+ import { isNuxtGenerate, getNuxtModuleOptions, resolveNitroPreset, resolveNuxtContentVersion, createPagesPromise, createNitroPromise } from 'nuxtseo-shared/kit';
15
15
  import { p as parseHtmlExtractSitemapMeta } from './shared/sitemap.DJC-maKi.mjs';
16
16
  import { normaliseDate } from '../dist/runtime/server/sitemap/urlset/normalise.js';
17
17
  import { splitPathForI18nLocales as splitPathForI18nLocales$1, normalizeLocales, generatePathForI18nPages } from 'nuxtseo-shared/i18n';
@@ -40,13 +40,7 @@ function includesSitemapRoot(sitemapName, routes) {
40
40
  }
41
41
  const NuxtRedirectHtmlRegex = /<!DOCTYPE html><html><head><meta http-equiv="refresh" content="0; url=([^"]+)"><\/head><\/html>/;
42
42
  function setupPrerenderHandler(_options, nuxt = useNuxt()) {
43
- const { runtimeConfig: options, logger, generateGlobalSources, generateChildSources } = _options;
44
- const prerenderedRoutes = nuxt.options.nitro.prerender?.routes || [];
45
- let prerenderSitemap = isNuxtGenerate() || includesSitemapRoot(options.sitemapName, prerenderedRoutes);
46
- if (resolveNitroPreset() === "vercel-edge") {
47
- logger.warn("Runtime sitemaps are not supported on Vercel Edge, falling back to prerendering sitemaps.");
48
- prerenderSitemap = true;
49
- }
43
+ const { runtimeConfig: options, logger, generateGlobalSources, generateChildSources, prerenderSitemap } = _options;
50
44
  nuxt.options.nitro.prerender = nuxt.options.nitro.prerender || {};
51
45
  nuxt.options.nitro.prerender.routes = nuxt.options.nitro.prerender.routes || [];
52
46
  const shouldHookIntoPrerender = prerenderSitemap || nuxt.options.nitro.prerender.routes.length && nuxt.options.nitro.prerender.crawlLinks;
@@ -736,6 +730,10 @@ const module$1 = defineNuxtModule({
736
730
  registerTypeTemplates();
737
731
  const prerenderedRoutes = nuxt.options.nitro.prerender?.routes || [];
738
732
  let prerenderSitemap = isNuxtGenerate() || includesSitemapRoot(config.sitemapName, prerenderedRoutes);
733
+ if (resolveNitroPreset() === "vercel-edge") {
734
+ logger.warn("Runtime sitemaps are not supported on Vercel Edge, falling back to prerendering sitemaps.");
735
+ prerenderSitemap = true;
736
+ }
739
737
  if (config.zeroRuntime && !prerenderSitemap) {
740
738
  prerenderSitemap = true;
741
739
  addPrerenderRoutes("/sitemap.xml");
@@ -1305,7 +1303,7 @@ export async function readSourcesFromFilesystem() {
1305
1303
  route: `/${config.sitemapName}`,
1306
1304
  handler: resolve(`${routesPath}/sitemap.xml`)
1307
1305
  });
1308
- setupPrerenderHandler({ runtimeConfig, logger, generateGlobalSources, generateChildSources });
1306
+ setupPrerenderHandler({ runtimeConfig, logger, generateGlobalSources, generateChildSources, prerenderSitemap });
1309
1307
  if (!config.zeroRuntime && !nuxt.options.dev && !nuxt.options._prepare) {
1310
1308
  const hasDynamicSource = (source) => typeof source === "string" || Array.isArray(source) || !!source.fetch;
1311
1309
  const globalHasFetch = (config.sources || []).some(hasDynamicSource);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@nuxtjs/sitemap",
3
3
  "type": "module",
4
- "version": "8.0.9",
4
+ "version": "8.0.12",
5
5
  "description": "Powerfully flexible XML Sitemaps that integrate seamlessly, for Nuxt.",
6
6
  "author": {
7
7
  "name": "Harlan Wilton",
@@ -55,47 +55,47 @@
55
55
  }
56
56
  },
57
57
  "dependencies": {
58
- "@nuxt/devtools-kit": "4.0.0-alpha.3",
59
58
  "@nuxt/kit": "^4.4.2",
60
59
  "consola": "^3.4.2",
61
- "defu": "^6.1.4",
62
- "fast-xml-parser": "^5.5.9",
60
+ "defu": "^6.1.7",
61
+ "fast-xml-parser": "^5.5.10",
63
62
  "nuxt-site-config": "^4.0.7",
64
- "nuxtseo-layer-devtools": "^5.0.2",
65
- "nuxtseo-shared": "^5.0.2",
63
+ "nuxtseo-shared": "^5.1.1",
66
64
  "ofetch": "^1.5.1",
67
65
  "pathe": "^2.0.3",
68
66
  "pkg-types": "^2.3.0",
69
67
  "radix3": "^1.1.2",
70
- "semver": "^7.7.4",
71
- "sirv": "^3.0.2",
72
- "std-env": "^4.0.0",
73
68
  "ufo": "^1.6.3",
74
69
  "ultrahtml": "^1.6.0"
75
70
  },
76
71
  "devDependencies": {
77
- "@antfu/eslint-config": "^7.7.3",
72
+ "@antfu/eslint-config": "^8.0.0",
78
73
  "@arethetypeswrong/cli": "^0.18.2",
79
74
  "@nuxt/content": "^3.12.0",
75
+ "@nuxt/devtools-kit": "4.0.0-alpha.3",
80
76
  "@nuxt/module-builder": "^1.0.2",
81
77
  "@nuxt/test-utils": "^4.0.0",
82
- "@nuxt/ui": "^4.6.0",
78
+ "@nuxt/ui": "^4.6.1",
83
79
  "@nuxtjs/i18n": "^10.2.4",
84
80
  "@nuxtjs/robots": "^6.0.6",
85
81
  "@vue/test-utils": "^2.4.6",
86
82
  "better-sqlite3": "^12.8.0",
87
83
  "bumpp": "^11.0.1",
88
- "eslint": "^10.1.0",
84
+ "eslint": "^10.2.0",
89
85
  "eslint-plugin-harlanzw": "^0.12.0",
90
86
  "execa": "^9.6.1",
91
87
  "happy-dom": "^20.8.9",
92
88
  "nuxt": "^4.4.2",
93
- "nuxt-i18n-micro": "^3.15.1",
89
+ "nuxt-i18n-micro": "^3.17.0",
90
+ "nuxtseo-layer-devtools": "^5.1.1",
91
+ "semver": "^7.7.4",
92
+ "sirv": "^3.0.2",
93
+ "std-env": "^4.0.0",
94
94
  "typescript": "^6.0.2",
95
- "vitest": "^4.1.2",
95
+ "vitest": "^4.1.3",
96
96
  "vue-tsc": "^3.2.6",
97
97
  "zod": "^4.3.6",
98
- "@nuxtjs/sitemap": "8.0.9"
98
+ "@nuxtjs/sitemap": "8.0.12"
99
99
  },
100
100
  "scripts": {
101
101
  "lint": "eslint .",