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.
- package/dist/devtools/components/schema-org/SchemaValidator.vue +326 -0
- package/dist/devtools/lib/schema-org/fetch.ts +13 -0
- package/dist/devtools/lib/schema-org/rpc.ts +46 -0
- package/dist/devtools/lib/schema-org/util/schema-validation.ts +470 -0
- package/dist/devtools/nuxt.config.ts +7 -0
- package/dist/devtools/pages/schema-org/debug.vue +23 -0
- package/dist/devtools/pages/schema-org/docs.vue +3 -0
- package/dist/devtools/pages/schema-org/index.vue +8 -0
- package/dist/devtools/pages/schema-org/raw.vue +25 -0
- package/dist/devtools/pages/schema-org.vue +54 -0
- package/dist/module.cjs +75 -14
- package/dist/module.d.cts +1 -1
- package/dist/module.d.mts +1 -1
- package/dist/module.d.ts +1 -1
- package/dist/module.json +1 -1
- package/dist/module.mjs +75 -14
- package/dist/runtime/app/plugins/defaults.js +1 -1
- package/dist/runtime/app/plugins/i18n/defaults.js +3 -3
- package/dist/runtime/server/routes/__schema-org__/debug.js +1 -1
- package/dist/runtime/server/utils/config.d.ts +1 -1
- package/dist/schema.cjs +2147 -9
- package/dist/schema.d.cts +185 -1
- package/dist/schema.d.mts +185 -1
- package/dist/schema.d.ts +185 -1
- package/dist/schema.mjs +2035 -1
- package/dist/shared/nuxt-schema-org.BQ-jW5j5.d.cts +2770 -0
- package/dist/shared/nuxt-schema-org.BQ-jW5j5.d.mts +2770 -0
- package/dist/shared/nuxt-schema-org.BQ-jW5j5.d.ts +2770 -0
- package/dist/vendor/schema-org-v2/LICENSE +21 -0
- package/dist/vendor/schema-org-v2/chunks/index.mjs +23 -0
- package/dist/vendor/schema-org-v2/chunks/index10.mjs +63 -0
- package/dist/vendor/schema-org-v2/chunks/index11.mjs +35 -0
- package/dist/vendor/schema-org-v2/chunks/index12.mjs +48 -0
- package/dist/vendor/schema-org-v2/chunks/index13.mjs +36 -0
- package/dist/vendor/schema-org-v2/chunks/index14.mjs +25 -0
- package/dist/vendor/schema-org-v2/chunks/index15.mjs +37 -0
- package/dist/vendor/schema-org-v2/chunks/index16.mjs +27 -0
- package/dist/vendor/schema-org-v2/chunks/index17.mjs +34 -0
- package/dist/vendor/schema-org-v2/chunks/index18.mjs +32 -0
- package/dist/vendor/schema-org-v2/chunks/index19.mjs +31 -0
- package/dist/vendor/schema-org-v2/chunks/index2.mjs +12 -0
- package/dist/vendor/schema-org-v2/chunks/index20.mjs +31 -0
- package/dist/vendor/schema-org-v2/chunks/index21.mjs +30 -0
- package/dist/vendor/schema-org-v2/chunks/index22.mjs +30 -0
- package/dist/vendor/schema-org-v2/chunks/index23.mjs +82 -0
- package/dist/vendor/schema-org-v2/chunks/index24.mjs +14 -0
- package/dist/vendor/schema-org-v2/chunks/index25.mjs +33 -0
- package/dist/vendor/schema-org-v2/chunks/index26.mjs +31 -0
- package/dist/vendor/schema-org-v2/chunks/index27.mjs +29 -0
- package/dist/vendor/schema-org-v2/chunks/index28.mjs +12 -0
- package/dist/vendor/schema-org-v2/chunks/index29.mjs +46 -0
- package/dist/vendor/schema-org-v2/chunks/index3.mjs +317 -0
- package/dist/vendor/schema-org-v2/chunks/index30.mjs +53 -0
- package/dist/vendor/schema-org-v2/chunks/index31.mjs +41 -0
- package/dist/vendor/schema-org-v2/chunks/index32.mjs +26 -0
- package/dist/vendor/schema-org-v2/chunks/index33.mjs +47 -0
- package/dist/vendor/schema-org-v2/chunks/index34.mjs +29 -0
- package/dist/vendor/schema-org-v2/chunks/index35.mjs +34 -0
- package/dist/vendor/schema-org-v2/chunks/index36.mjs +33 -0
- package/dist/vendor/schema-org-v2/chunks/index37.mjs +34 -0
- package/dist/vendor/schema-org-v2/chunks/index38.mjs +51 -0
- package/dist/vendor/schema-org-v2/chunks/index39.mjs +17 -0
- package/dist/vendor/schema-org-v2/chunks/index4.mjs +54 -0
- package/dist/vendor/schema-org-v2/chunks/index40.mjs +29 -0
- package/dist/vendor/schema-org-v2/chunks/index5.mjs +31 -0
- package/dist/vendor/schema-org-v2/chunks/index6.mjs +29 -0
- package/dist/vendor/schema-org-v2/chunks/index7.mjs +35 -0
- package/dist/vendor/schema-org-v2/chunks/index8.mjs +18 -0
- package/dist/vendor/schema-org-v2/chunks/index9.mjs +20 -0
- package/dist/vendor/schema-org-v2/index.d.mts +32 -0
- package/dist/vendor/schema-org-v2/index.d.ts +32 -0
- package/dist/vendor/schema-org-v2/index.mjs +46 -0
- package/dist/vendor/schema-org-v2/shared/schema-org.BR4WcSqZ.d.ts +21 -0
- package/dist/vendor/schema-org-v2/shared/schema-org.Ba7D0Hp1.mjs +19 -0
- package/dist/vendor/schema-org-v2/shared/schema-org.CAKsqzbX.d.ts +1022 -0
- package/dist/vendor/schema-org-v2/shared/schema-org.CFcsqFfN.d.mts +1824 -0
- package/dist/vendor/schema-org-v2/shared/schema-org.CFcsqFfN.d.ts +1824 -0
- package/dist/vendor/schema-org-v2/shared/schema-org.CHbRCiep.mjs +52 -0
- package/dist/vendor/schema-org-v2/shared/schema-org.Dryb3EoR.mjs +884 -0
- package/dist/vendor/schema-org-v2/shared/schema-org.F44ipjVJ.mjs +27 -0
- package/dist/vendor/schema-org-v2/shared/schema-org.UT1u1UYq.d.mts +1022 -0
- package/dist/vendor/schema-org-v2/shared/schema-org.oFHFm6my.d.mts +21 -0
- package/dist/vendor/schema-org-v2/vendor.json +4 -0
- package/dist/vendor/schema-org-v2/vue.d.mts +88 -0
- package/dist/vendor/schema-org-v2/vue.d.ts +88 -0
- package/dist/vendor/schema-org-v2/vue.mjs +262 -0
- package/dist/vendor/schema-org-v3/LICENSE +21 -0
- package/dist/vendor/schema-org-v3/index.d.mts +34 -0
- package/dist/vendor/schema-org-v3/index.d.ts +34 -0
- package/dist/vendor/schema-org-v3/index.mjs +4 -0
- package/dist/vendor/schema-org-v3/shared/schema-org.D9o9UOh2.d.mts +11 -0
- package/dist/vendor/schema-org-v3/shared/schema-org.DNQroCjX.d.mts +2770 -0
- package/dist/vendor/schema-org-v3/shared/schema-org.DNQroCjX.d.ts +2770 -0
- package/dist/vendor/schema-org-v3/shared/schema-org.DYFTMLZ0.mjs +2035 -0
- package/dist/vendor/schema-org-v3/shared/schema-org.DjDPlqPB.d.mts +150 -0
- package/dist/vendor/schema-org-v3/shared/schema-org.mKZYVZ3E.d.ts +150 -0
- package/dist/vendor/schema-org-v3/shared/schema-org.rS-TANmN.d.ts +11 -0
- package/dist/vendor/schema-org-v3/vendor.json +4 -0
- package/dist/vendor/schema-org-v3/vue.d.mts +100 -0
- package/dist/vendor/schema-org-v3/vue.d.ts +100 -0
- package/dist/vendor/schema-org-v3/vue.mjs +302 -0
- package/package.json +12 -12
- package/dist/devtools/200.html +0 -1
- package/dist/devtools/404.html +0 -1
- package/dist/devtools/_nuxt/B1DdtD2d.js +0 -30
- package/dist/devtools/_nuxt/BOpHBWj1.js +0 -1
- package/dist/devtools/_nuxt/BdQEHo9i.js +0 -1
- package/dist/devtools/_nuxt/BvDCh0XJ.js +0 -1
- package/dist/devtools/_nuxt/C6vgB62o.js +0 -1
- package/dist/devtools/_nuxt/CCjZBs6a.js +0 -3
- package/dist/devtools/_nuxt/CHHO6nw6.js +0 -1
- package/dist/devtools/_nuxt/CQr7N5ou.js +0 -6
- package/dist/devtools/_nuxt/CRABcd13.js +0 -1
- package/dist/devtools/_nuxt/Cy67RPmZ.js +0 -1
- package/dist/devtools/_nuxt/D-Oj-loM.js +0 -154
- package/dist/devtools/_nuxt/D6u4txBo.js +0 -1
- package/dist/devtools/_nuxt/DKZUJ--l.js +0 -1
- package/dist/devtools/_nuxt/DLXftbE1.js +0 -1
- package/dist/devtools/_nuxt/DevtoolsSnippet.CuW0O0Zu.css +0 -1
- package/dist/devtools/_nuxt/QcnxyHc5.js +0 -1
- package/dist/devtools/_nuxt/builds/latest.json +0 -1
- package/dist/devtools/_nuxt/builds/meta/95d63156-724e-4e59-80e5-16d5973219b2.json +0 -1
- package/dist/devtools/_nuxt/entry.DprwPCib.css +0 -2
- package/dist/devtools/_nuxt/fira-code.Bc8wnsZt.woff2 +0 -0
- package/dist/devtools/_nuxt/hubot-sans.DLGyhQVu.woff2 +0 -0
- package/dist/devtools/_nuxt/pages.BpqfEWCe.css +0 -1
- package/dist/devtools/debug/index.html +0 -1
- package/dist/devtools/docs/index.html +0 -1
- package/dist/devtools/index.html +0 -1
- package/dist/devtools/nodes/index.html +0 -1
- 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
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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
|
-
|
|
27
|
-
|
|
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.
|
|
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 '
|
|
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 '
|
|
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 '
|
|
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
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
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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
|
-
|
|
24
|
-
|
|
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.
|
|
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);
|