nuxt-schema-org 6.1.2 → 6.2.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 (131) hide show
  1. package/dist/devtools/components/schema-org/SchemaValidator.vue +326 -0
  2. package/dist/devtools/lib/schema-org/fetch.ts +13 -0
  3. package/dist/devtools/lib/schema-org/rpc.ts +46 -0
  4. package/dist/devtools/lib/schema-org/util/schema-validation.ts +470 -0
  5. package/dist/devtools/nuxt.config.ts +7 -0
  6. package/dist/devtools/pages/schema-org/debug.vue +23 -0
  7. package/dist/devtools/pages/schema-org/docs.vue +3 -0
  8. package/dist/devtools/pages/schema-org/index.vue +8 -0
  9. package/dist/devtools/pages/schema-org/raw.vue +25 -0
  10. package/dist/devtools/pages/schema-org.vue +54 -0
  11. package/dist/module.cjs +75 -14
  12. package/dist/module.d.cts +1 -1
  13. package/dist/module.d.mts +1 -1
  14. package/dist/module.d.ts +1 -1
  15. package/dist/module.json +1 -1
  16. package/dist/module.mjs +75 -14
  17. package/dist/runtime/app/plugins/defaults.js +1 -1
  18. package/dist/runtime/app/plugins/i18n/defaults.js +3 -3
  19. package/dist/runtime/server/routes/__schema-org__/debug.js +1 -1
  20. package/dist/runtime/server/utils/config.d.ts +1 -1
  21. package/dist/schema.cjs +2147 -9
  22. package/dist/schema.d.cts +185 -1
  23. package/dist/schema.d.mts +185 -1
  24. package/dist/schema.d.ts +185 -1
  25. package/dist/schema.mjs +2035 -1
  26. package/dist/shared/nuxt-schema-org.BQ-jW5j5.d.cts +2770 -0
  27. package/dist/shared/nuxt-schema-org.BQ-jW5j5.d.mts +2770 -0
  28. package/dist/shared/nuxt-schema-org.BQ-jW5j5.d.ts +2770 -0
  29. package/dist/vendor/schema-org-v2/LICENSE +21 -0
  30. package/dist/vendor/schema-org-v2/chunks/index.mjs +23 -0
  31. package/dist/vendor/schema-org-v2/chunks/index10.mjs +63 -0
  32. package/dist/vendor/schema-org-v2/chunks/index11.mjs +35 -0
  33. package/dist/vendor/schema-org-v2/chunks/index12.mjs +48 -0
  34. package/dist/vendor/schema-org-v2/chunks/index13.mjs +36 -0
  35. package/dist/vendor/schema-org-v2/chunks/index14.mjs +25 -0
  36. package/dist/vendor/schema-org-v2/chunks/index15.mjs +37 -0
  37. package/dist/vendor/schema-org-v2/chunks/index16.mjs +27 -0
  38. package/dist/vendor/schema-org-v2/chunks/index17.mjs +34 -0
  39. package/dist/vendor/schema-org-v2/chunks/index18.mjs +32 -0
  40. package/dist/vendor/schema-org-v2/chunks/index19.mjs +31 -0
  41. package/dist/vendor/schema-org-v2/chunks/index2.mjs +12 -0
  42. package/dist/vendor/schema-org-v2/chunks/index20.mjs +31 -0
  43. package/dist/vendor/schema-org-v2/chunks/index21.mjs +30 -0
  44. package/dist/vendor/schema-org-v2/chunks/index22.mjs +30 -0
  45. package/dist/vendor/schema-org-v2/chunks/index23.mjs +82 -0
  46. package/dist/vendor/schema-org-v2/chunks/index24.mjs +14 -0
  47. package/dist/vendor/schema-org-v2/chunks/index25.mjs +33 -0
  48. package/dist/vendor/schema-org-v2/chunks/index26.mjs +31 -0
  49. package/dist/vendor/schema-org-v2/chunks/index27.mjs +29 -0
  50. package/dist/vendor/schema-org-v2/chunks/index28.mjs +12 -0
  51. package/dist/vendor/schema-org-v2/chunks/index29.mjs +46 -0
  52. package/dist/vendor/schema-org-v2/chunks/index3.mjs +317 -0
  53. package/dist/vendor/schema-org-v2/chunks/index30.mjs +53 -0
  54. package/dist/vendor/schema-org-v2/chunks/index31.mjs +41 -0
  55. package/dist/vendor/schema-org-v2/chunks/index32.mjs +26 -0
  56. package/dist/vendor/schema-org-v2/chunks/index33.mjs +47 -0
  57. package/dist/vendor/schema-org-v2/chunks/index34.mjs +29 -0
  58. package/dist/vendor/schema-org-v2/chunks/index35.mjs +34 -0
  59. package/dist/vendor/schema-org-v2/chunks/index36.mjs +33 -0
  60. package/dist/vendor/schema-org-v2/chunks/index37.mjs +34 -0
  61. package/dist/vendor/schema-org-v2/chunks/index38.mjs +51 -0
  62. package/dist/vendor/schema-org-v2/chunks/index39.mjs +17 -0
  63. package/dist/vendor/schema-org-v2/chunks/index4.mjs +54 -0
  64. package/dist/vendor/schema-org-v2/chunks/index40.mjs +29 -0
  65. package/dist/vendor/schema-org-v2/chunks/index5.mjs +31 -0
  66. package/dist/vendor/schema-org-v2/chunks/index6.mjs +29 -0
  67. package/dist/vendor/schema-org-v2/chunks/index7.mjs +35 -0
  68. package/dist/vendor/schema-org-v2/chunks/index8.mjs +18 -0
  69. package/dist/vendor/schema-org-v2/chunks/index9.mjs +20 -0
  70. package/dist/vendor/schema-org-v2/index.d.mts +32 -0
  71. package/dist/vendor/schema-org-v2/index.d.ts +32 -0
  72. package/dist/vendor/schema-org-v2/index.mjs +46 -0
  73. package/dist/vendor/schema-org-v2/shared/schema-org.BR4WcSqZ.d.ts +21 -0
  74. package/dist/vendor/schema-org-v2/shared/schema-org.Ba7D0Hp1.mjs +19 -0
  75. package/dist/vendor/schema-org-v2/shared/schema-org.CAKsqzbX.d.ts +1022 -0
  76. package/dist/vendor/schema-org-v2/shared/schema-org.CFcsqFfN.d.mts +1824 -0
  77. package/dist/vendor/schema-org-v2/shared/schema-org.CFcsqFfN.d.ts +1824 -0
  78. package/dist/vendor/schema-org-v2/shared/schema-org.CHbRCiep.mjs +52 -0
  79. package/dist/vendor/schema-org-v2/shared/schema-org.Dryb3EoR.mjs +884 -0
  80. package/dist/vendor/schema-org-v2/shared/schema-org.F44ipjVJ.mjs +27 -0
  81. package/dist/vendor/schema-org-v2/shared/schema-org.UT1u1UYq.d.mts +1022 -0
  82. package/dist/vendor/schema-org-v2/shared/schema-org.oFHFm6my.d.mts +21 -0
  83. package/dist/vendor/schema-org-v2/vendor.json +4 -0
  84. package/dist/vendor/schema-org-v2/vue.d.mts +88 -0
  85. package/dist/vendor/schema-org-v2/vue.d.ts +88 -0
  86. package/dist/vendor/schema-org-v2/vue.mjs +262 -0
  87. package/dist/vendor/schema-org-v3/LICENSE +21 -0
  88. package/dist/vendor/schema-org-v3/index.d.mts +34 -0
  89. package/dist/vendor/schema-org-v3/index.d.ts +34 -0
  90. package/dist/vendor/schema-org-v3/index.mjs +4 -0
  91. package/dist/vendor/schema-org-v3/shared/schema-org.D9o9UOh2.d.mts +11 -0
  92. package/dist/vendor/schema-org-v3/shared/schema-org.DNQroCjX.d.mts +2770 -0
  93. package/dist/vendor/schema-org-v3/shared/schema-org.DNQroCjX.d.ts +2770 -0
  94. package/dist/vendor/schema-org-v3/shared/schema-org.DYFTMLZ0.mjs +2035 -0
  95. package/dist/vendor/schema-org-v3/shared/schema-org.DjDPlqPB.d.mts +150 -0
  96. package/dist/vendor/schema-org-v3/shared/schema-org.mKZYVZ3E.d.ts +150 -0
  97. package/dist/vendor/schema-org-v3/shared/schema-org.rS-TANmN.d.ts +11 -0
  98. package/dist/vendor/schema-org-v3/vendor.json +4 -0
  99. package/dist/vendor/schema-org-v3/vue.d.mts +100 -0
  100. package/dist/vendor/schema-org-v3/vue.d.ts +100 -0
  101. package/dist/vendor/schema-org-v3/vue.mjs +302 -0
  102. package/package.json +12 -12
  103. package/dist/devtools/200.html +0 -1
  104. package/dist/devtools/404.html +0 -1
  105. package/dist/devtools/_nuxt/B1DdtD2d.js +0 -30
  106. package/dist/devtools/_nuxt/BOpHBWj1.js +0 -1
  107. package/dist/devtools/_nuxt/BdQEHo9i.js +0 -1
  108. package/dist/devtools/_nuxt/BvDCh0XJ.js +0 -1
  109. package/dist/devtools/_nuxt/C6vgB62o.js +0 -1
  110. package/dist/devtools/_nuxt/CCjZBs6a.js +0 -3
  111. package/dist/devtools/_nuxt/CHHO6nw6.js +0 -1
  112. package/dist/devtools/_nuxt/CQr7N5ou.js +0 -6
  113. package/dist/devtools/_nuxt/CRABcd13.js +0 -1
  114. package/dist/devtools/_nuxt/Cy67RPmZ.js +0 -1
  115. package/dist/devtools/_nuxt/D-Oj-loM.js +0 -154
  116. package/dist/devtools/_nuxt/D6u4txBo.js +0 -1
  117. package/dist/devtools/_nuxt/DKZUJ--l.js +0 -1
  118. package/dist/devtools/_nuxt/DLXftbE1.js +0 -1
  119. package/dist/devtools/_nuxt/DevtoolsSnippet.CuW0O0Zu.css +0 -1
  120. package/dist/devtools/_nuxt/QcnxyHc5.js +0 -1
  121. package/dist/devtools/_nuxt/builds/latest.json +0 -1
  122. package/dist/devtools/_nuxt/builds/meta/95d63156-724e-4e59-80e5-16d5973219b2.json +0 -1
  123. package/dist/devtools/_nuxt/entry.DprwPCib.css +0 -2
  124. package/dist/devtools/_nuxt/fira-code.Bc8wnsZt.woff2 +0 -0
  125. package/dist/devtools/_nuxt/hubot-sans.DLGyhQVu.woff2 +0 -0
  126. package/dist/devtools/_nuxt/pages.BpqfEWCe.css +0 -1
  127. package/dist/devtools/debug/index.html +0 -1
  128. package/dist/devtools/docs/index.html +0 -1
  129. package/dist/devtools/index.html +0 -1
  130. package/dist/devtools/nodes/index.html +0 -1
  131. package/dist/devtools/raw/index.html +0 -1
package/dist/module.cjs CHANGED
@@ -1,11 +1,14 @@
1
1
  'use strict';
2
2
 
3
+ const node_url = require('node:url');
3
4
  const kit = require('@nuxt/kit');
4
5
  const defu = require('defu');
5
6
  const kit$1 = require('nuxt-site-config/kit');
6
7
  const pkgTypes = require('pkg-types');
7
8
  const devtools = require('nuxtseo-shared/devtools');
8
9
  const kit$2 = require('nuxtseo-shared/kit');
10
+ const node_fs = require('node:fs');
11
+ const node_path = require('node:path');
9
12
 
10
13
  var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
11
14
  function setupDevToolsUI(_options, resolve, nuxt = kit.useNuxt()) {
@@ -17,14 +20,52 @@ function setupDevToolsUI(_options, resolve, nuxt = kit.useNuxt()) {
17
20
  }, resolve, nuxt);
18
21
  }
19
22
 
20
- async function resolveHostUnheadMajor(rootDir) {
21
- const rootUrl = rootDir.endsWith("/") ? rootDir : `${rootDir}/`;
22
- const searchUrls = [rootUrl];
23
- const nuxtJson = await pkgTypes.resolvePackageJSON("nuxt", { url: rootUrl }).catch(() => {
23
+ function isPlainObject(value) {
24
+ return !!value && typeof value === "object" && !Array.isArray(value);
25
+ }
26
+ function cloneSerializableIdentityValue(value) {
27
+ if (typeof value === "function")
24
28
  return void 0;
25
- });
26
- if (nuxtJson)
27
- searchUrls.push(nuxtJson.replace(/[^/\\]+$/, ""));
29
+ if (Array.isArray(value))
30
+ return value.map(cloneSerializableIdentityValue).filter((value2) => typeof value2 !== "undefined");
31
+ if (!isPlainObject(value))
32
+ return value;
33
+ const result = {};
34
+ for (const [key, child] of Object.entries(value)) {
35
+ if (key === "_resolver")
36
+ continue;
37
+ const cloned = cloneSerializableIdentityValue(child);
38
+ if (typeof cloned !== "undefined")
39
+ result[key] = cloned;
40
+ }
41
+ return result;
42
+ }
43
+ function resolveSerializableIdentityConfig(identity) {
44
+ if (!isPlainObject(identity))
45
+ return identity;
46
+ const identityNode = identity;
47
+ const cloned = cloneSerializableIdentityValue(identityNode);
48
+ const resolverDefaults = isPlainObject(identityNode._resolver?.defaults) ? identityNode._resolver.defaults : {};
49
+ const resolvedType = Array.isArray(resolverDefaults["@type"]) ? resolverDefaults["@type"].at(-1) : resolverDefaults["@type"];
50
+ if (resolvedType && !cloned.type && !cloned["@type"])
51
+ cloned.type = resolvedType;
52
+ return cloned;
53
+ }
54
+ function normalizePackageUrl(rootDir) {
55
+ const url = rootDir.startsWith("file:") ? rootDir : node_url.pathToFileURL(rootDir.endsWith("/") ? rootDir : `${rootDir}/`).href;
56
+ return url.endsWith("/") ? url : `${url}/`;
57
+ }
58
+ async function resolveHostUnheadMajor(rootDir) {
59
+ const rootUrl = normalizePackageUrl(rootDir);
60
+ const searchUrls = [];
61
+ for (const id of ["@nuxt/nitro-server", "nuxt"]) {
62
+ const pkgJson = await pkgTypes.resolvePackageJSON(id, { url: rootUrl }).catch(() => {
63
+ return void 0;
64
+ });
65
+ if (pkgJson)
66
+ searchUrls.push(`${node_path.dirname(pkgJson)}/`);
67
+ }
68
+ searchUrls.push(rootUrl);
28
69
  for (const id of ["@unhead/vue", "unhead"]) {
29
70
  for (const url of searchUrls) {
30
71
  const version = await pkgTypes.readPackageJSON(id, { url }).then((pkg) => pkg.version).catch(() => {
@@ -39,9 +80,12 @@ async function resolveHostUnheadMajor(rootDir) {
39
80
  }
40
81
  return 3;
41
82
  }
42
- function schemaOrgVendor(major) {
83
+ function schemaOrgVendor(major, resolve) {
84
+ const dir = resolve(`./vendor/schema-org-v${major}`);
85
+ if (node_fs.existsSync(dir))
86
+ return { vendored: true, dir, main: `${dir}/index.mjs`, vue: `${dir}/vue.mjs` };
43
87
  const pkg = major === 2 ? "@unhead/schema-org-v2" : "@unhead/schema-org";
44
- return { main: pkg, vue: `${pkg}/vue` };
88
+ return { vendored: false, main: pkg, vue: `${pkg}/vue` };
45
89
  }
46
90
 
47
91
  const module$1 = kit.defineNuxtModule({
@@ -92,15 +136,32 @@ const module$1 = kit.defineNuxtModule({
92
136
  if (!nuxt.options.ssr && nuxt.options.dev)
93
137
  logger.warn("You are using Schema.org with SSR disabled. This is not recommended, Google may not detect your Schema.org, and it adds extra page weight");
94
138
  const unheadMajor = await resolveHostUnheadMajor(nuxt.options.rootDir);
95
- const vendor = schemaOrgVendor(unheadMajor);
96
- const { defineWebPage } = await import(vendor.main);
97
- const { schemaOrgAutoImports, schemaOrgComponents } = await import(vendor.vue);
98
- if (vendor.main !== "@unhead/schema-org") {
139
+ const vendor = schemaOrgVendor(unheadMajor, resolve);
140
+ const { defineWebPage } = await (vendor.vendored ? import(node_url.pathToFileURL(vendor.main).href) : import(vendor.main));
141
+ const { schemaOrgAutoImports, schemaOrgComponents } = await (vendor.vendored ? import(node_url.pathToFileURL(vendor.vue).href) : import(vendor.vue));
142
+ if (vendor.vendored) {
143
+ logger.debug(`Detected unhead v${unheadMajor}, aliasing @unhead/schema-org -> ${vendor.dir}`);
144
+ nuxt.options.alias["@unhead/schema-org/vue"] = vendor.vue;
145
+ nuxt.options.alias["@unhead/schema-org"] = vendor.main;
146
+ nuxt.options.build.transpile.push(vendor.dir);
147
+ nuxt.hooks.hook("nitro:config", (nitroConfig) => {
148
+ nitroConfig.alias = nitroConfig.alias || {};
149
+ nitroConfig.alias["@unhead/schema-org/vue"] = vendor.vue;
150
+ nitroConfig.alias["@unhead/schema-org"] = vendor.main;
151
+ nitroConfig.externals = nitroConfig.externals || {};
152
+ nitroConfig.externals.inline = nitroConfig.externals.inline || [];
153
+ nitroConfig.externals.inline.push(vendor.dir);
154
+ });
155
+ } else if (vendor.main !== "@unhead/schema-org") {
99
156
  logger.debug(`Detected unhead v${unheadMajor}, aliasing @unhead/schema-org -> ${vendor.main}`);
100
157
  nuxt.options.alias["@unhead/schema-org"] = vendor.main;
158
+ nuxt.options.build.transpile.push(vendor.main);
101
159
  nuxt.hooks.hook("nitro:config", (nitroConfig) => {
102
160
  nitroConfig.alias = nitroConfig.alias || {};
103
161
  nitroConfig.alias["@unhead/schema-org"] = vendor.main;
162
+ nitroConfig.externals = nitroConfig.externals || {};
163
+ nitroConfig.externals.inline = nitroConfig.externals.inline || [];
164
+ nitroConfig.externals.inline.push(vendor.main);
104
165
  });
105
166
  }
106
167
  await kit$1.installNuxtSiteConfig();
@@ -108,7 +169,7 @@ const module$1 = kit.defineNuxtModule({
108
169
  reactive: config.reactive,
109
170
  minify: config.minify,
110
171
  scriptAttributes: config.scriptAttributes,
111
- identity: config.identity,
172
+ identity: resolveSerializableIdentityConfig(config.identity),
112
173
  version
113
174
  };
114
175
  if (config.reactive)
package/dist/module.d.cts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { NuxtModule } from '@nuxt/schema';
2
- import { OrganizationSimple, PersonSimple, LocalBusinessSimple } from '@unhead/schema-org';
2
+ import { O as OrganizationSimple, P as PersonSimple, L as LocalBusinessSimple } from './shared/nuxt-schema-org.BQ-jW5j5.cjs';
3
3
  import { Script } from '@unhead/vue/types';
4
4
 
5
5
  type SchemaOrgScriptAttributes = Partial<Script> & Record<string, unknown>;
package/dist/module.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { NuxtModule } from '@nuxt/schema';
2
- import { OrganizationSimple, PersonSimple, LocalBusinessSimple } from '@unhead/schema-org';
2
+ import { O as OrganizationSimple, P as PersonSimple, L as LocalBusinessSimple } from './shared/nuxt-schema-org.BQ-jW5j5.mjs';
3
3
  import { Script } from '@unhead/vue/types';
4
4
 
5
5
  type SchemaOrgScriptAttributes = Partial<Script> & Record<string, unknown>;
package/dist/module.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { NuxtModule } from '@nuxt/schema';
2
- import { OrganizationSimple, PersonSimple, LocalBusinessSimple } from '@unhead/schema-org';
2
+ import { O as OrganizationSimple, P as PersonSimple, L as LocalBusinessSimple } from './shared/nuxt-schema-org.BQ-jW5j5.js';
3
3
  import { Script } from '@unhead/vue/types';
4
4
 
5
5
  type SchemaOrgScriptAttributes = Partial<Script> & Record<string, unknown>;
package/dist/module.json CHANGED
@@ -21,7 +21,7 @@
21
21
  "optional": true
22
22
  }
23
23
  },
24
- "version": "6.1.2",
24
+ "version": "6.2.0",
25
25
  "builder": {
26
26
  "@nuxt/module-builder": "1.0.2",
27
27
  "unbuild": "3.6.1"
package/dist/module.mjs CHANGED
@@ -1,9 +1,12 @@
1
+ import { pathToFileURL } from 'node:url';
1
2
  import { useNuxt, defineNuxtModule, createResolver, useLogger, hasNuxtModule, addPlugin, addServerPlugin, addComponent, addImports, addServerHandler } from '@nuxt/kit';
2
3
  import { defu } from 'defu';
3
4
  import { installNuxtSiteConfig } from 'nuxt-site-config/kit';
4
5
  import { resolvePackageJSON, readPackageJSON } from 'pkg-types';
5
6
  import { setupDevToolsUI as setupDevToolsUI$1 } from 'nuxtseo-shared/devtools';
6
7
  import { resolveNuxtContentVersion, extendTypes } from 'nuxtseo-shared/kit';
8
+ import { existsSync } from 'node:fs';
9
+ import { dirname } from 'node:path';
7
10
 
8
11
  function setupDevToolsUI(_options, resolve, nuxt = useNuxt()) {
9
12
  setupDevToolsUI$1({
@@ -14,14 +17,52 @@ function setupDevToolsUI(_options, resolve, nuxt = useNuxt()) {
14
17
  }, resolve, nuxt);
15
18
  }
16
19
 
17
- async function resolveHostUnheadMajor(rootDir) {
18
- const rootUrl = rootDir.endsWith("/") ? rootDir : `${rootDir}/`;
19
- const searchUrls = [rootUrl];
20
- const nuxtJson = await resolvePackageJSON("nuxt", { url: rootUrl }).catch(() => {
20
+ function isPlainObject(value) {
21
+ return !!value && typeof value === "object" && !Array.isArray(value);
22
+ }
23
+ function cloneSerializableIdentityValue(value) {
24
+ if (typeof value === "function")
21
25
  return void 0;
22
- });
23
- if (nuxtJson)
24
- searchUrls.push(nuxtJson.replace(/[^/\\]+$/, ""));
26
+ if (Array.isArray(value))
27
+ return value.map(cloneSerializableIdentityValue).filter((value2) => typeof value2 !== "undefined");
28
+ if (!isPlainObject(value))
29
+ return value;
30
+ const result = {};
31
+ for (const [key, child] of Object.entries(value)) {
32
+ if (key === "_resolver")
33
+ continue;
34
+ const cloned = cloneSerializableIdentityValue(child);
35
+ if (typeof cloned !== "undefined")
36
+ result[key] = cloned;
37
+ }
38
+ return result;
39
+ }
40
+ function resolveSerializableIdentityConfig(identity) {
41
+ if (!isPlainObject(identity))
42
+ return identity;
43
+ const identityNode = identity;
44
+ const cloned = cloneSerializableIdentityValue(identityNode);
45
+ const resolverDefaults = isPlainObject(identityNode._resolver?.defaults) ? identityNode._resolver.defaults : {};
46
+ const resolvedType = Array.isArray(resolverDefaults["@type"]) ? resolverDefaults["@type"].at(-1) : resolverDefaults["@type"];
47
+ if (resolvedType && !cloned.type && !cloned["@type"])
48
+ cloned.type = resolvedType;
49
+ return cloned;
50
+ }
51
+ function normalizePackageUrl(rootDir) {
52
+ const url = rootDir.startsWith("file:") ? rootDir : pathToFileURL(rootDir.endsWith("/") ? rootDir : `${rootDir}/`).href;
53
+ return url.endsWith("/") ? url : `${url}/`;
54
+ }
55
+ async function resolveHostUnheadMajor(rootDir) {
56
+ const rootUrl = normalizePackageUrl(rootDir);
57
+ const searchUrls = [];
58
+ for (const id of ["@nuxt/nitro-server", "nuxt"]) {
59
+ const pkgJson = await resolvePackageJSON(id, { url: rootUrl }).catch(() => {
60
+ return void 0;
61
+ });
62
+ if (pkgJson)
63
+ searchUrls.push(`${dirname(pkgJson)}/`);
64
+ }
65
+ searchUrls.push(rootUrl);
25
66
  for (const id of ["@unhead/vue", "unhead"]) {
26
67
  for (const url of searchUrls) {
27
68
  const version = await readPackageJSON(id, { url }).then((pkg) => pkg.version).catch(() => {
@@ -36,9 +77,12 @@ async function resolveHostUnheadMajor(rootDir) {
36
77
  }
37
78
  return 3;
38
79
  }
39
- function schemaOrgVendor(major) {
80
+ function schemaOrgVendor(major, resolve) {
81
+ const dir = resolve(`./vendor/schema-org-v${major}`);
82
+ if (existsSync(dir))
83
+ return { vendored: true, dir, main: `${dir}/index.mjs`, vue: `${dir}/vue.mjs` };
40
84
  const pkg = major === 2 ? "@unhead/schema-org-v2" : "@unhead/schema-org";
41
- return { main: pkg, vue: `${pkg}/vue` };
85
+ return { vendored: false, main: pkg, vue: `${pkg}/vue` };
42
86
  }
43
87
 
44
88
  const module$1 = defineNuxtModule({
@@ -89,15 +133,32 @@ const module$1 = defineNuxtModule({
89
133
  if (!nuxt.options.ssr && nuxt.options.dev)
90
134
  logger.warn("You are using Schema.org with SSR disabled. This is not recommended, Google may not detect your Schema.org, and it adds extra page weight");
91
135
  const unheadMajor = await resolveHostUnheadMajor(nuxt.options.rootDir);
92
- const vendor = schemaOrgVendor(unheadMajor);
93
- const { defineWebPage } = await import(vendor.main);
94
- const { schemaOrgAutoImports, schemaOrgComponents } = await import(vendor.vue);
95
- if (vendor.main !== "@unhead/schema-org") {
136
+ const vendor = schemaOrgVendor(unheadMajor, resolve);
137
+ const { defineWebPage } = await (vendor.vendored ? import(pathToFileURL(vendor.main).href) : import(vendor.main));
138
+ const { schemaOrgAutoImports, schemaOrgComponents } = await (vendor.vendored ? import(pathToFileURL(vendor.vue).href) : import(vendor.vue));
139
+ if (vendor.vendored) {
140
+ logger.debug(`Detected unhead v${unheadMajor}, aliasing @unhead/schema-org -> ${vendor.dir}`);
141
+ nuxt.options.alias["@unhead/schema-org/vue"] = vendor.vue;
142
+ nuxt.options.alias["@unhead/schema-org"] = vendor.main;
143
+ nuxt.options.build.transpile.push(vendor.dir);
144
+ nuxt.hooks.hook("nitro:config", (nitroConfig) => {
145
+ nitroConfig.alias = nitroConfig.alias || {};
146
+ nitroConfig.alias["@unhead/schema-org/vue"] = vendor.vue;
147
+ nitroConfig.alias["@unhead/schema-org"] = vendor.main;
148
+ nitroConfig.externals = nitroConfig.externals || {};
149
+ nitroConfig.externals.inline = nitroConfig.externals.inline || [];
150
+ nitroConfig.externals.inline.push(vendor.dir);
151
+ });
152
+ } else if (vendor.main !== "@unhead/schema-org") {
96
153
  logger.debug(`Detected unhead v${unheadMajor}, aliasing @unhead/schema-org -> ${vendor.main}`);
97
154
  nuxt.options.alias["@unhead/schema-org"] = vendor.main;
155
+ nuxt.options.build.transpile.push(vendor.main);
98
156
  nuxt.hooks.hook("nitro:config", (nitroConfig) => {
99
157
  nitroConfig.alias = nitroConfig.alias || {};
100
158
  nitroConfig.alias["@unhead/schema-org"] = vendor.main;
159
+ nitroConfig.externals = nitroConfig.externals || {};
160
+ nitroConfig.externals.inline = nitroConfig.externals.inline || [];
161
+ nitroConfig.externals.inline.push(vendor.main);
101
162
  });
102
163
  }
103
164
  await installNuxtSiteConfig();
@@ -105,7 +166,7 @@ const module$1 = defineNuxtModule({
105
166
  reactive: config.reactive,
106
167
  minify: config.minify,
107
168
  scriptAttributes: config.scriptAttributes,
108
- identity: config.identity,
169
+ identity: resolveSerializableIdentityConfig(config.identity),
109
170
  version
110
171
  };
111
172
  if (config.reactive)
@@ -1,7 +1,7 @@
1
- import { useSiteConfig } from "#site-config/app/composables/useSiteConfig";
2
1
  import { defineWebPage, defineWebSite } from "@unhead/schema-org/vue";
3
2
  import { defineNuxtPlugin, useError } from "nuxt/app";
4
3
  import { toValue } from "vue";
4
+ import { useSiteConfig } from "#site-config/app/composables/useSiteConfig";
5
5
  import { useSchemaOrg } from "../composables/useSchemaOrg.js";
6
6
  import { maybeAddIdentitySchemaOrg } from "../utils/shared.js";
7
7
  export default defineNuxtPlugin({
@@ -1,11 +1,11 @@
1
- import { useLocalePath } from "#i18n";
2
- import { useSiteConfig } from "#site-config/app/composables/useSiteConfig";
3
- import { createSitePathResolver } from "#site-config/app/composables/utils";
4
1
  import { defineWebPage, defineWebSite } from "@unhead/schema-org/vue";
5
2
  import { resolveSitePath } from "nuxt-site-config/urls";
6
3
  import { defineNuxtPlugin, useError, useRuntimeConfig } from "nuxt/app";
7
4
  import { hasProtocol, withHttps } from "ufo";
8
5
  import { toValue } from "vue";
6
+ import { useLocalePath } from "#i18n";
7
+ import { useSiteConfig } from "#site-config/app/composables/useSiteConfig";
8
+ import { createSitePathResolver } from "#site-config/app/composables/utils";
9
9
  import { useSchemaOrg } from "../../composables/useSchemaOrg.js";
10
10
  import { maybeAddIdentitySchemaOrg } from "../../utils/shared.js";
11
11
  export default defineNuxtPlugin({
@@ -1,6 +1,6 @@
1
+ import { defineEventHandler } from "h3";
1
2
  import { getNitroOrigin } from "#site-config/server/composables/getNitroOrigin";
2
3
  import { getSiteConfig } from "#site-config/server/composables/getSiteConfig";
3
- import { defineEventHandler } from "h3";
4
4
  import { useSchemaOrgConfig } from "../../utils/config.js";
5
5
  export default defineEventHandler(async (e) => {
6
6
  const nitroOrigin = getNitroOrigin(e);
@@ -1,3 +1,3 @@
1
- import type { ModuleRuntimeConfig } from '#schema-org/types';
2
1
  import type { H3Event } from 'h3';
2
+ import type { ModuleRuntimeConfig } from '#schema-org/types';
3
3
  export declare function useSchemaOrgConfig(e?: H3Event): ModuleRuntimeConfig;