nuxt-schema-org 6.0.4 → 6.1.0

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 (41) hide show
  1. package/dist/content.d.cts +3 -1
  2. package/dist/content.d.mts +3 -1
  3. package/dist/content.d.ts +3 -1
  4. package/dist/devtools/200.html +1 -1
  5. package/dist/devtools/404.html +1 -1
  6. package/dist/devtools/_nuxt/B1DdtD2d.js +30 -0
  7. package/dist/devtools/_nuxt/{DSI_3olH.js → BOpHBWj1.js} +1 -1
  8. package/dist/devtools/_nuxt/{CjC_woKp.js → BdQEHo9i.js} +1 -1
  9. package/dist/devtools/_nuxt/CCjZBs6a.js +3 -0
  10. package/dist/devtools/_nuxt/CQr7N5ou.js +6 -0
  11. package/dist/devtools/_nuxt/{DDYa62Sg.js → Cy67RPmZ.js} +1 -1
  12. package/dist/devtools/_nuxt/D-Oj-loM.js +154 -0
  13. package/dist/devtools/_nuxt/{UdJJqUtQ.js → D6u4txBo.js} +1 -1
  14. package/dist/devtools/_nuxt/{DTHFUZxn.js → DKZUJ--l.js} +1 -1
  15. package/dist/devtools/_nuxt/DevtoolsSnippet.CuW0O0Zu.css +1 -0
  16. package/dist/devtools/_nuxt/builds/latest.json +1 -1
  17. package/dist/devtools/_nuxt/builds/meta/88929079-39b6-4d2d-bf61-80560deb7a90.json +1 -0
  18. package/dist/devtools/_nuxt/entry.DprwPCib.css +2 -0
  19. package/dist/devtools/_nuxt/{pages.DptLZl6Y.css → pages.BpqfEWCe.css} +1 -1
  20. package/dist/devtools/debug/index.html +1 -1
  21. package/dist/devtools/docs/index.html +1 -1
  22. package/dist/devtools/index.html +1 -1
  23. package/dist/devtools/nodes/index.html +1 -1
  24. package/dist/devtools/raw/index.html +1 -1
  25. package/dist/module.cjs +2 -2
  26. package/dist/module.d.cts +2 -1
  27. package/dist/module.d.mts +2 -1
  28. package/dist/module.d.ts +2 -1
  29. package/dist/module.json +1 -1
  30. package/dist/module.mjs +2 -2
  31. package/dist/runtime/app/composables/useSchemaOrg.js +6 -3
  32. package/dist/runtime/app/utils/shared.js +14 -9
  33. package/dist/runtime/server/plugins/nuxt-content-v2.js +1 -1
  34. package/package.json +32 -28
  35. package/dist/devtools/_nuxt/B-pXgC-0.js +0 -154
  36. package/dist/devtools/_nuxt/BHnqSpjH.js +0 -6
  37. package/dist/devtools/_nuxt/BJm6aQik.js +0 -3
  38. package/dist/devtools/_nuxt/CEDNr6o1.js +0 -23
  39. package/dist/devtools/_nuxt/DevtoolsSnippet.C1FVWfrz.css +0 -1
  40. package/dist/devtools/_nuxt/builds/meta/f4cdc10a-a52c-414a-a9e2-977472d5a90b.json +0 -1
  41. package/dist/devtools/_nuxt/entry.D4aPXy2H.css +0 -2
@@ -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-schema-org/_nuxt/CEDNr6o1.js"}}</script><link rel="stylesheet" href="/__nuxt-schema-org/_nuxt/entry.D4aPXy2H.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-schema-org/_nuxt/CEDNr6o1.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-schema-org/_nuxt/CHHO6nw6.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-schema-org/_nuxt/BJm6aQik.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-schema-org/_nuxt/B-pXgC-0.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-schema-org/_nuxt/BHnqSpjH.js"><script type="module" src="/__nuxt-schema-org/_nuxt/CEDNr6o1.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-schema-org",buildId:"f4cdc10a-a52c-414a-a9e2-977472d5a90b",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1774534368200,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-schema-org/_nuxt/B1DdtD2d.js"}}</script><link rel="stylesheet" href="/__nuxt-schema-org/_nuxt/entry.DprwPCib.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-schema-org/_nuxt/B1DdtD2d.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-schema-org/_nuxt/CHHO6nw6.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-schema-org/_nuxt/CCjZBs6a.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-schema-org/_nuxt/D-Oj-loM.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-schema-org/_nuxt/CQr7N5ou.js"><script type="module" src="/__nuxt-schema-org/_nuxt/B1DdtD2d.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-schema-org",buildId:"88929079-39b6-4d2d-bf61-80560deb7a90",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1780677615018,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-schema-org/_nuxt/CEDNr6o1.js"}}</script><link rel="stylesheet" href="/__nuxt-schema-org/_nuxt/entry.D4aPXy2H.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-schema-org/_nuxt/CEDNr6o1.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-schema-org/_nuxt/CHHO6nw6.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-schema-org/_nuxt/BJm6aQik.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-schema-org/_nuxt/B-pXgC-0.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-schema-org/_nuxt/BHnqSpjH.js"><script type="module" src="/__nuxt-schema-org/_nuxt/CEDNr6o1.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-schema-org",buildId:"f4cdc10a-a52c-414a-a9e2-977472d5a90b",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1774534368199,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-schema-org/_nuxt/B1DdtD2d.js"}}</script><link rel="stylesheet" href="/__nuxt-schema-org/_nuxt/entry.DprwPCib.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-schema-org/_nuxt/B1DdtD2d.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-schema-org/_nuxt/CHHO6nw6.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-schema-org/_nuxt/CCjZBs6a.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-schema-org/_nuxt/D-Oj-loM.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-schema-org/_nuxt/CQr7N5ou.js"><script type="module" src="/__nuxt-schema-org/_nuxt/B1DdtD2d.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-schema-org",buildId:"88929079-39b6-4d2d-bf61-80560deb7a90",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1780677615018,false]</script></body></html>
package/dist/module.cjs CHANGED
@@ -114,8 +114,8 @@ const module$1 = kit.defineNuxtModule({
114
114
  const script = {
115
115
  type: "application/ld+json",
116
116
  key: "schema-org-graph",
117
- ...config.scriptAttributes,
118
- nodes: nodes.map(replaceType)
117
+ nodes: nodes.map(replaceType),
118
+ ...config.scriptAttributes || {}
119
119
  };
120
120
  content.head = defu.defu({ script: [script] }, content.head);
121
121
  ctx.content = content;
package/dist/module.d.cts CHANGED
@@ -2,6 +2,7 @@ import { NuxtModule } from '@nuxt/schema';
2
2
  import { OrganizationSimple, PersonSimple, LocalBusinessSimple } from '@unhead/schema-org';
3
3
  import { Script } from '@unhead/vue/types';
4
4
 
5
+ type SchemaOrgScriptAttributes = Partial<Script> & Record<string, unknown>;
5
6
  interface ModuleOptions {
6
7
  /**
7
8
  * Whether a default WebPage, WebSite and Identity node be created.
@@ -34,7 +35,7 @@ interface ModuleOptions {
34
35
  *
35
36
  * By default, will apply a `data-nuxt-schema-org` attribute. Set to `false` to apply no attributes.
36
37
  */
37
- scriptAttributes?: Script | false;
38
+ scriptAttributes?: SchemaOrgScriptAttributes | false;
38
39
  /**
39
40
  * Enables debug logs.
40
41
  *
package/dist/module.d.mts CHANGED
@@ -2,6 +2,7 @@ import { NuxtModule } from '@nuxt/schema';
2
2
  import { OrganizationSimple, PersonSimple, LocalBusinessSimple } from '@unhead/schema-org';
3
3
  import { Script } from '@unhead/vue/types';
4
4
 
5
+ type SchemaOrgScriptAttributes = Partial<Script> & Record<string, unknown>;
5
6
  interface ModuleOptions {
6
7
  /**
7
8
  * Whether a default WebPage, WebSite and Identity node be created.
@@ -34,7 +35,7 @@ interface ModuleOptions {
34
35
  *
35
36
  * By default, will apply a `data-nuxt-schema-org` attribute. Set to `false` to apply no attributes.
36
37
  */
37
- scriptAttributes?: Script | false;
38
+ scriptAttributes?: SchemaOrgScriptAttributes | false;
38
39
  /**
39
40
  * Enables debug logs.
40
41
  *
package/dist/module.d.ts CHANGED
@@ -2,6 +2,7 @@ import { NuxtModule } from '@nuxt/schema';
2
2
  import { OrganizationSimple, PersonSimple, LocalBusinessSimple } from '@unhead/schema-org';
3
3
  import { Script } from '@unhead/vue/types';
4
4
 
5
+ type SchemaOrgScriptAttributes = Partial<Script> & Record<string, unknown>;
5
6
  interface ModuleOptions {
6
7
  /**
7
8
  * Whether a default WebPage, WebSite and Identity node be created.
@@ -34,7 +35,7 @@ interface ModuleOptions {
34
35
  *
35
36
  * By default, will apply a `data-nuxt-schema-org` attribute. Set to `false` to apply no attributes.
36
37
  */
37
- scriptAttributes?: Script | false;
38
+ scriptAttributes?: SchemaOrgScriptAttributes | false;
38
39
  /**
39
40
  * Enables debug logs.
40
41
  *
package/dist/module.json CHANGED
@@ -21,7 +21,7 @@
21
21
  "optional": true
22
22
  }
23
23
  },
24
- "version": "6.0.4",
24
+ "version": "6.1.0",
25
25
  "builder": {
26
26
  "@nuxt/module-builder": "1.0.2",
27
27
  "unbuild": "3.6.1"
package/dist/module.mjs CHANGED
@@ -111,8 +111,8 @@ const module$1 = defineNuxtModule({
111
111
  const script = {
112
112
  type: "application/ld+json",
113
113
  key: "schema-org-graph",
114
- ...config.scriptAttributes,
115
- nodes: nodes.map(replaceType)
114
+ nodes: nodes.map(replaceType),
115
+ ...config.scriptAttributes || {}
116
116
  };
117
117
  content.head = defu({ script: [script] }, content.head);
118
118
  ctx.content = content;
@@ -1,11 +1,14 @@
1
- import { useHead } from "#imports";
2
1
  import { useNuxtApp } from "nuxt/app";
3
- import { computed, isRef } from "vue";
2
+ import { isRef, toValue } from "vue";
3
+ import { useHead } from "#imports";
4
4
  import { useSchemaOrgConfig } from "../utils/config.js";
5
5
  export function useSchemaOrg(input) {
6
6
  const config = useSchemaOrgConfig();
7
7
  const nuxtApp = useNuxtApp();
8
- const nodes = isRef(input) ? computed(() => nuxtApp.runWithContext(() => input.value)) : input;
8
+ let nodes = input;
9
+ if (isRef(input)) {
10
+ nodes = import.meta.server ? toValue(input) : () => nuxtApp.runWithContext(() => toValue(input));
11
+ }
9
12
  const script = {
10
13
  type: "application/ld+json",
11
14
  key: "schema-org-graph",
@@ -1,14 +1,13 @@
1
+ import * as schemaOrgVue from "@unhead/schema-org/vue";
2
+ import { resolveSitePath } from "nuxt-site-config/urls";
3
+ import { useRoute, useRuntimeConfig } from "nuxt/app";
4
+ import { withTrailingSlash } from "ufo";
5
+ import { toValue, watch } from "vue";
1
6
  import { injectHead, useHead } from "#imports";
2
7
  import {
3
8
  useSiteConfig
4
9
  } from "#site-config/app/composables/useSiteConfig";
5
10
  import { createSitePathResolver } from "#site-config/app/composables/utils";
6
- import { SchemaOrgUnheadPlugin } from "@unhead/schema-org/vue";
7
- import { resolveSitePath } from "nuxt-site-config/urls";
8
- import { useRoute, useRuntimeConfig } from "nuxt/app";
9
- import { camelCase } from "scule";
10
- import { withTrailingSlash } from "ufo";
11
- import { toValue, watch } from "vue";
12
11
  import { useSchemaOrg } from "../composables/useSchemaOrg.js";
13
12
  import { useSchemaOrgConfig } from "./config.js";
14
13
  function resolvePathDirect(siteConfig, path, options) {
@@ -59,8 +58,9 @@ export function initPlugin(nuxtApp) {
59
58
  });
60
59
  }, { deep: true });
61
60
  }
61
+ const SchemaOrgPlugin = schemaOrgVue.UnheadSchemaOrg ?? schemaOrgVue.SchemaOrgUnheadPlugin;
62
62
  head.use(
63
- SchemaOrgUnheadPlugin({}, async () => {
63
+ SchemaOrgPlugin({}, async () => {
64
64
  const meta = {};
65
65
  await nuxtApp.hooks.callHook("schema-org:meta", meta);
66
66
  return meta;
@@ -98,7 +98,12 @@ export function maybeAddIdentitySchemaOrg() {
98
98
  `https://twitter.com/${id}`
99
99
  ];
100
100
  }
101
- identityPayload._resolver = identityPayload._resolver || camelCase(identityType);
102
- useSchemaOrg([identityPayload]);
101
+ const identityDefines = {
102
+ organization: schemaOrgVue.defineOrganization,
103
+ person: schemaOrgVue.definePerson,
104
+ localbusiness: schemaOrgVue.defineLocalBusiness
105
+ };
106
+ const defineIdentity = identityDefines[identityType?.toLowerCase()] || schemaOrgVue.defineOrganization;
107
+ useSchemaOrg([defineIdentity(identityPayload)]);
103
108
  }
104
109
  }
@@ -27,7 +27,7 @@ export default defineNitroPlugin((nitroApp) => {
27
27
  type: "application/ld+json",
28
28
  key: "schema-org-graph",
29
29
  nodes: nodes.map(replaceType),
30
- ...config.scriptAttributes
30
+ ...config.scriptAttributes || {}
31
31
  };
32
32
  content.head = defu({
33
33
  script: [script]
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "nuxt-schema-org",
3
3
  "type": "module",
4
- "version": "6.0.4",
4
+ "version": "6.1.0",
5
5
  "description": "The quickest and easiest way to build Schema.org graphs for Nuxt.",
6
6
  "author": "Harlan Wilton <harlan@harlanzw.com>",
7
7
  "license": "MIT",
@@ -47,8 +47,9 @@
47
47
  "dist"
48
48
  ],
49
49
  "peerDependencies": {
50
- "@unhead/vue": "^2.0.7",
51
- "unhead": "^2.0.7",
50
+ "@unhead/schema-org": "^2.0.7 || ^3.0.0",
51
+ "@unhead/vue": "^2.0.7 || ^3.0.0",
52
+ "unhead": "^2.0.7 || ^3.0.0",
52
53
  "zod": ">=3"
53
54
  },
54
55
  "peerDependenciesMeta": {
@@ -63,35 +64,37 @@
63
64
  }
64
65
  },
65
66
  "dependencies": {
66
- "@nuxt/kit": "^4.4.2",
67
- "@unhead/schema-org": "^2.1.12",
68
- "defu": "^6.1.4",
69
- "nuxt-site-config": "^4.0.6",
70
- "nuxtseo-layer-devtools": "^0.5.1",
71
- "nuxtseo-shared": "^0.9.0",
72
- "pkg-types": "^2.3.0"
67
+ "@nuxt/kit": "^4.4.7",
68
+ "defu": "^6.1.7",
69
+ "nuxt-site-config": "^4.0.8",
70
+ "nuxtseo-shared": "^5.1.3",
71
+ "pkg-types": "^2.3.1",
72
+ "ufo": "^1.6.4"
73
73
  },
74
74
  "devDependencies": {
75
- "@antfu/eslint-config": "^7.7.3",
76
- "@arethetypeswrong/cli": "^0.18.2",
77
- "@iconify-json/lucide": "^1.2.99",
78
- "@nuxt/content": "^3.12.0",
75
+ "@antfu/eslint-config": "^9.0.0",
76
+ "@arethetypeswrong/cli": "^0.18.3",
77
+ "@iconify-json/lucide": "^1.2.111",
78
+ "@nuxt/content": "^3.14.0",
79
79
  "@nuxt/module-builder": "^1.0.2",
80
- "@nuxt/schema": "^4.4.2",
81
- "@nuxt/test-utils": "^4.0.0",
82
- "@nuxt/ui": "^4.6.0",
83
- "@nuxtjs/i18n": "^10.2.4",
84
- "@nuxtjs/robots": "^6.0.5",
85
- "@vue/test-utils": "^2.4.6",
86
- "better-sqlite3": "^12.8.0",
87
- "bumpp": "^11.0.1",
80
+ "@nuxt/schema": "^4.4.7",
81
+ "@nuxt/test-utils": "^4.0.3",
82
+ "@nuxt/ui": "^4.8.2",
83
+ "@nuxtjs/i18n": "^10.4.0",
84
+ "@nuxtjs/robots": "^6.0.9",
85
+ "@unhead/schema-org": "^3.1.3",
86
+ "@vue/test-utils": "^2.4.11",
87
+ "better-sqlite3": "^12.10.0",
88
+ "bumpp": "^11.1.0",
88
89
  "cheerio": "^1.2.0",
89
- "eslint": "^10.1.0",
90
- "eslint-plugin-harlanzw": "^0.12.0",
91
- "happy-dom": "^20.8.8",
92
- "nuxt": "^4.4.2",
93
- "typescript": "^6.0.2",
94
- "vitest": "^4.1.1"
90
+ "eslint": "^10.4.1",
91
+ "eslint-plugin-harlanzw": "^0.17.0",
92
+ "happy-dom": "^20.10.1",
93
+ "nuxt": "^4.4.7",
94
+ "nuxtseo-layer-devtools": "^5.1.3",
95
+ "typescript": "^6.0.3",
96
+ "unbuild": "^3.6.1",
97
+ "vitest": "^4.1.8"
95
98
  },
96
99
  "build": {
97
100
  "externals": [
@@ -109,6 +112,7 @@
109
112
  "release": "pnpm build && bumpp -x \"npx changelogen --output=CHANGELOG.md\"",
110
113
  "typecheck": "tsc --noEmit ",
111
114
  "test": "nuxt prepare test/fixtures/i18n && nuxt prepare test/fixtures/i18n-domains && vitest",
115
+ "test:compat-v2": "node test/compat-v2/run.mjs",
112
116
  "test:attw": "attw --pack"
113
117
  }
114
118
  }