nuxt-og-image 3.0.3 → 3.0.4
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/client/200.html +2 -2
- package/dist/client/404.html +2 -2
- package/dist/client/_nuxt/builds/latest.json +1 -1
- package/dist/client/_nuxt/builds/meta/90d0d856-b59a-4ecc-94f0-547414a9a752.json +1 -0
- package/dist/client/index.html +2 -2
- package/dist/module.json +1 -1
- package/dist/runtime/nitro/og-image/context.js +17 -6
- package/package.json +1 -1
- package/dist/client/_nuxt/builds/meta/88d843ad-821c-45a1-8731-3df48781467d.json +0 -1
package/dist/client/200.html
CHANGED
|
@@ -271,5 +271,5 @@
|
|
|
271
271
|
<link rel="prefetch" as="script" crossorigin href="/__nuxt-og-image/_nuxt/BZ7_pRs2.js">
|
|
272
272
|
<link rel="prefetch" as="style" crossorigin href="/__nuxt-og-image/_nuxt/error-500.DDPYPPm4.css">
|
|
273
273
|
<link rel="prefetch" as="script" crossorigin href="/__nuxt-og-image/_nuxt/BqfpauQz.js">
|
|
274
|
-
<script type="module" src="/__nuxt-og-image/_nuxt/DKCx7LgD.js" crossorigin></script></head><body><div id="__nuxt"></div><div id="teleports"></div><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},
|
|
275
|
-
<script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-og-image",buildId:"
|
|
274
|
+
<script type="module" src="/__nuxt-og-image/_nuxt/DKCx7LgD.js" crossorigin></script></head><body><div id="__nuxt"></div><div id="teleports"></div><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1727622066876,false]</script>
|
|
275
|
+
<script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-og-image",buildId:"90d0d856-b59a-4ecc-94f0-547414a9a752",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script></body></html>
|
package/dist/client/404.html
CHANGED
|
@@ -271,5 +271,5 @@
|
|
|
271
271
|
<link rel="prefetch" as="script" crossorigin href="/__nuxt-og-image/_nuxt/BZ7_pRs2.js">
|
|
272
272
|
<link rel="prefetch" as="style" crossorigin href="/__nuxt-og-image/_nuxt/error-500.DDPYPPm4.css">
|
|
273
273
|
<link rel="prefetch" as="script" crossorigin href="/__nuxt-og-image/_nuxt/BqfpauQz.js">
|
|
274
|
-
<script type="module" src="/__nuxt-og-image/_nuxt/DKCx7LgD.js" crossorigin></script></head><body><div id="__nuxt"></div><div id="teleports"></div><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},
|
|
275
|
-
<script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-og-image",buildId:"
|
|
274
|
+
<script type="module" src="/__nuxt-og-image/_nuxt/DKCx7LgD.js" crossorigin></script></head><body><div id="__nuxt"></div><div id="teleports"></div><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1727622066876,false]</script>
|
|
275
|
+
<script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-og-image",buildId:"90d0d856-b59a-4ecc-94f0-547414a9a752",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"id":"
|
|
1
|
+
{"id":"90d0d856-b59a-4ecc-94f0-547414a9a752","timestamp":1727622032663}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"id":"90d0d856-b59a-4ecc-94f0-547414a9a752","timestamp":1727622032663,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]}
|
package/dist/client/index.html
CHANGED
|
@@ -271,5 +271,5 @@
|
|
|
271
271
|
<link rel="prefetch" as="script" crossorigin href="/__nuxt-og-image/_nuxt/BZ7_pRs2.js">
|
|
272
272
|
<link rel="prefetch" as="style" crossorigin href="/__nuxt-og-image/_nuxt/error-500.DDPYPPm4.css">
|
|
273
273
|
<link rel="prefetch" as="script" crossorigin href="/__nuxt-og-image/_nuxt/BqfpauQz.js">
|
|
274
|
-
<script type="module" src="/__nuxt-og-image/_nuxt/DKCx7LgD.js" crossorigin></script></head><body><div id="__nuxt"></div><div id="teleports"></div><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},
|
|
275
|
-
<script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-og-image",buildId:"
|
|
274
|
+
<script type="module" src="/__nuxt-og-image/_nuxt/DKCx7LgD.js" crossorigin></script></head><body><div id="__nuxt"></div><div id="teleports"></div><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1727622066876,false]</script>
|
|
275
|
+
<script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-og-image",buildId:"90d0d856-b59a-4ecc-94f0-547414a9a752",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script></body></html>
|
package/dist/module.json
CHANGED
|
@@ -106,13 +106,18 @@ export async function resolveContext(e) {
|
|
|
106
106
|
await ctx._nitro.hooks.callHook("nuxt-og-image:context", ctx);
|
|
107
107
|
return ctx;
|
|
108
108
|
}
|
|
109
|
+
const PAYLOAD_REGEX = /<script.+id="nuxt-og-image-options"[^>]*>(.+?)<\/script>/;
|
|
110
|
+
function getPayloadFromHtml(html) {
|
|
111
|
+
const match = String(html).match(PAYLOAD_REGEX);
|
|
112
|
+
return match ? match[1] : null;
|
|
113
|
+
}
|
|
109
114
|
export function extractAndNormaliseOgImageOptions(html) {
|
|
110
|
-
const
|
|
111
|
-
if (!
|
|
115
|
+
const _payload = getPayloadFromHtml(html);
|
|
116
|
+
if (!_payload)
|
|
112
117
|
return false;
|
|
113
118
|
let options = false;
|
|
114
119
|
try {
|
|
115
|
-
const payload2 = parse(
|
|
120
|
+
const payload2 = parse(_payload);
|
|
116
121
|
Object.entries(payload2).forEach(([key, value]) => {
|
|
117
122
|
if (!value)
|
|
118
123
|
delete payload2[key];
|
|
@@ -155,6 +160,7 @@ async function fetchPathHtmlAndExtractOptions(e, path, key) {
|
|
|
155
160
|
const cachedHtmlPayload = await htmlPayloadCache.getItem(key);
|
|
156
161
|
if (!import.meta.dev && cachedHtmlPayload && cachedHtmlPayload.expiresAt < Date.now())
|
|
157
162
|
return cachedHtmlPayload.value;
|
|
163
|
+
let _payload = null;
|
|
158
164
|
let html;
|
|
159
165
|
try {
|
|
160
166
|
html = await e.$fetch(path, {
|
|
@@ -164,14 +170,19 @@ async function fetchPathHtmlAndExtractOptions(e, path, key) {
|
|
|
164
170
|
accept: "text/html"
|
|
165
171
|
}
|
|
166
172
|
});
|
|
167
|
-
|
|
168
|
-
|
|
173
|
+
_payload = getPayloadFromHtml(html);
|
|
174
|
+
if (!_payload) {
|
|
175
|
+
const fallbackHtml = await globalThis.$fetch(path, {
|
|
169
176
|
// follow redirects
|
|
170
177
|
redirect: "follow",
|
|
171
178
|
headers: {
|
|
172
179
|
accept: "text/html"
|
|
173
180
|
}
|
|
174
181
|
});
|
|
182
|
+
_payload = getPayloadFromHtml(fallbackHtml);
|
|
183
|
+
if (_payload) {
|
|
184
|
+
html = fallbackHtml;
|
|
185
|
+
}
|
|
175
186
|
}
|
|
176
187
|
} catch (err) {
|
|
177
188
|
return createError({
|
|
@@ -179,7 +190,7 @@ async function fetchPathHtmlAndExtractOptions(e, path, key) {
|
|
|
179
190
|
statusMessage: `[Nuxt OG Image] Failed to read the path ${path} for og-image extraction. ${err.message}.`
|
|
180
191
|
});
|
|
181
192
|
}
|
|
182
|
-
if (
|
|
193
|
+
if (!_payload || !html) {
|
|
183
194
|
return createError({
|
|
184
195
|
statusCode: 500,
|
|
185
196
|
statusMessage: `[Nuxt OG Image] Got invalid response from ${path} for og-image extraction.`
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"id":"88d843ad-821c-45a1-8731-3df48781467d","timestamp":1727581765951,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]}
|