nuxt-og-image 6.3.4 → 6.3.5

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.
@@ -5,7 +5,7 @@ const node_url = require('node:url');
5
5
  const exsolve = require('exsolve');
6
6
  const pathe = require('pathe');
7
7
  const cssProvider = require('./css-provider.cjs');
8
- const module$1 = require('../shared/nuxt-og-image.as-lQ2yV.cjs');
8
+ const module$1 = require('../shared/nuxt-og-image.ESOr0iiZ.cjs');
9
9
  require('node:fs');
10
10
  require('@nuxt/kit');
11
11
  require('defu');
@@ -3,7 +3,7 @@ import { pathToFileURL } from 'node:url';
3
3
  import { resolveModulePath } from 'exsolve';
4
4
  import { dirname, join } from 'pathe';
5
5
  import { extractVariantBaseClasses, resolveVariantPrefixes } from './css-provider.mjs';
6
- import { g as resolveVarsDeep, s as simplifyCss, p as postProcessStyles, l as loadLightningCss, e as extractCssVars, b as extractUniversalVars, c as extractPerClassVars, d as extractClassStyles } from '../shared/nuxt-og-image.DW7_z3y5.mjs';
6
+ import { g as resolveVarsDeep, s as simplifyCss, p as postProcessStyles, l as loadLightningCss, e as extractCssVars, b as extractUniversalVars, c as extractPerClassVars, d as extractClassStyles } from '../shared/nuxt-og-image.Nbo3Jac9.mjs';
7
7
  import 'node:fs';
8
8
  import '@nuxt/kit';
9
9
  import 'defu';
@@ -4,7 +4,7 @@ const promises = require('node:fs/promises');
4
4
  const defu = require('defu');
5
5
  const logger_js = require('../../dist/runtime/logger.js');
6
6
  const cssProvider = require('./css-provider.cjs');
7
- const module$1 = require('../shared/nuxt-og-image.as-lQ2yV.cjs');
7
+ const module$1 = require('../shared/nuxt-og-image.ESOr0iiZ.cjs');
8
8
  require('exsolve');
9
9
  require('node:fs');
10
10
  require('node:url');
@@ -2,7 +2,7 @@ import { readFile } from 'node:fs/promises';
2
2
  import { defu } from 'defu';
3
3
  import { logger } from '../../dist/runtime/logger.js';
4
4
  import { extractVariantBaseClasses, resolveVariantPrefixes } from './css-provider.mjs';
5
- import { s as simplifyCss, e as extractCssVars, a as extractPropertyInitialValues, b as extractUniversalVars, c as extractPerClassVars, d as extractClassStyles, p as postProcessStyles, f as extractVarsFromCss, r as resolveExtractedVars } from '../shared/nuxt-og-image.DW7_z3y5.mjs';
5
+ import { s as simplifyCss, e as extractCssVars, a as extractPropertyInitialValues, b as extractUniversalVars, c as extractPerClassVars, d as extractClassStyles, p as postProcessStyles, f as extractVarsFromCss, r as resolveExtractedVars } from '../shared/nuxt-og-image.Nbo3Jac9.mjs';
6
6
  import 'exsolve';
7
7
  import 'node:fs';
8
8
  import 'node:url';
@@ -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-og-image/_nuxt/C4ssBbxk.js"}}</script><link rel="stylesheet" href="/__nuxt-og-image/_nuxt/entry.D0N1PjT9.css" crossorigin><link rel="stylesheet" href="/__nuxt-og-image/_nuxt/renderer-select.Dd3SlzOB.css" crossorigin><link rel="stylesheet" href="/__nuxt-og-image/_nuxt/DevtoolsSection.BA22BKWd.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/C4ssBbxk.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/CP0tQR2M.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/DmsY5seq.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/Cy0omYQh.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/BWm573-p.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/DDRo8-tD.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/Dgwhb1xi.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/D6HqPJ2P.js"><script type="module" src="/__nuxt-og-image/_nuxt/C4ssBbxk.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,url:-3},env:"production",url:"https:\u002F\u002Fnuxtseo.com"}</script><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-og-image",buildId:"13f85b83-b220-4283-8efd-9b1adfb63ca9",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1775787789464,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-og-image/_nuxt/C4ssBbxk.js"}}</script><link rel="stylesheet" href="/__nuxt-og-image/_nuxt/entry.D0N1PjT9.css" crossorigin><link rel="stylesheet" href="/__nuxt-og-image/_nuxt/renderer-select.Dd3SlzOB.css" crossorigin><link rel="stylesheet" href="/__nuxt-og-image/_nuxt/DevtoolsSection.BA22BKWd.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/C4ssBbxk.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/CP0tQR2M.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/DmsY5seq.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/Cy0omYQh.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/BWm573-p.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/DDRo8-tD.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/Dgwhb1xi.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/D6HqPJ2P.js"><script type="module" src="/__nuxt-og-image/_nuxt/C4ssBbxk.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,url:-3},env:"production",url:"https:\u002F\u002Fnuxtseo.com"}</script><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-og-image",buildId:"4e028385-dcfa-406c-96d4-24d4192e792b",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1775799326499,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-og-image/_nuxt/C4ssBbxk.js"}}</script><link rel="stylesheet" href="/__nuxt-og-image/_nuxt/entry.D0N1PjT9.css" crossorigin><link rel="stylesheet" href="/__nuxt-og-image/_nuxt/renderer-select.Dd3SlzOB.css" crossorigin><link rel="stylesheet" href="/__nuxt-og-image/_nuxt/DevtoolsSection.BA22BKWd.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/C4ssBbxk.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/CP0tQR2M.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/DmsY5seq.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/Cy0omYQh.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/BWm573-p.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/DDRo8-tD.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/Dgwhb1xi.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/D6HqPJ2P.js"><script type="module" src="/__nuxt-og-image/_nuxt/C4ssBbxk.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,url:-3},env:"production",url:"https:\u002F\u002Fnuxtseo.com"}</script><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-og-image",buildId:"13f85b83-b220-4283-8efd-9b1adfb63ca9",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1775787789464,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-og-image/_nuxt/C4ssBbxk.js"}}</script><link rel="stylesheet" href="/__nuxt-og-image/_nuxt/entry.D0N1PjT9.css" crossorigin><link rel="stylesheet" href="/__nuxt-og-image/_nuxt/renderer-select.Dd3SlzOB.css" crossorigin><link rel="stylesheet" href="/__nuxt-og-image/_nuxt/DevtoolsSection.BA22BKWd.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/C4ssBbxk.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/CP0tQR2M.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/DmsY5seq.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/Cy0omYQh.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/BWm573-p.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/DDRo8-tD.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/Dgwhb1xi.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/D6HqPJ2P.js"><script type="module" src="/__nuxt-og-image/_nuxt/C4ssBbxk.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,url:-3},env:"production",url:"https:\u002F\u002Fnuxtseo.com"}</script><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-og-image",buildId:"4e028385-dcfa-406c-96d4-24d4192e792b",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1775799326499,false]</script></body></html>
@@ -1 +1 @@
1
- {"id":"13f85b83-b220-4283-8efd-9b1adfb63ca9","timestamp":1775787782464}
1
+ {"id":"4e028385-dcfa-406c-96d4-24d4192e792b","timestamp":1775799319356}
@@ -0,0 +1 @@
1
+ {"id":"4e028385-dcfa-406c-96d4-24d4192e792b","timestamp":1775799319356,"prerendered":[]}
@@ -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-og-image/_nuxt/C4ssBbxk.js"}}</script><link rel="stylesheet" href="/__nuxt-og-image/_nuxt/entry.D0N1PjT9.css" crossorigin><link rel="stylesheet" href="/__nuxt-og-image/_nuxt/renderer-select.Dd3SlzOB.css" crossorigin><link rel="stylesheet" href="/__nuxt-og-image/_nuxt/DevtoolsSection.BA22BKWd.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/C4ssBbxk.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/CP0tQR2M.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/DmsY5seq.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/Cy0omYQh.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/BWm573-p.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/DDRo8-tD.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/Dgwhb1xi.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/D6HqPJ2P.js"><script type="module" src="/__nuxt-og-image/_nuxt/C4ssBbxk.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-og-image",buildId:"13f85b83-b220-4283-8efd-9b1adfb63ca9",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1775787789463,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-og-image/_nuxt/C4ssBbxk.js"}}</script><link rel="stylesheet" href="/__nuxt-og-image/_nuxt/entry.D0N1PjT9.css" crossorigin><link rel="stylesheet" href="/__nuxt-og-image/_nuxt/renderer-select.Dd3SlzOB.css" crossorigin><link rel="stylesheet" href="/__nuxt-og-image/_nuxt/DevtoolsSection.BA22BKWd.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/C4ssBbxk.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/CP0tQR2M.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/DmsY5seq.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/Cy0omYQh.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/BWm573-p.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/DDRo8-tD.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/Dgwhb1xi.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/D6HqPJ2P.js"><script type="module" src="/__nuxt-og-image/_nuxt/C4ssBbxk.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-og-image",buildId:"4e028385-dcfa-406c-96d4-24d4192e792b",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1775799326498,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-og-image/_nuxt/C4ssBbxk.js"}}</script><link rel="stylesheet" href="/__nuxt-og-image/_nuxt/entry.D0N1PjT9.css" crossorigin><link rel="stylesheet" href="/__nuxt-og-image/_nuxt/renderer-select.Dd3SlzOB.css" crossorigin><link rel="stylesheet" href="/__nuxt-og-image/_nuxt/DevtoolsSection.BA22BKWd.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/C4ssBbxk.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/CP0tQR2M.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/DmsY5seq.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/Cy0omYQh.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/BWm573-p.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/DDRo8-tD.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/Dgwhb1xi.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/D6HqPJ2P.js"><script type="module" src="/__nuxt-og-image/_nuxt/C4ssBbxk.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-og-image",buildId:"13f85b83-b220-4283-8efd-9b1adfb63ca9",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1775787789464,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-og-image/_nuxt/C4ssBbxk.js"}}</script><link rel="stylesheet" href="/__nuxt-og-image/_nuxt/entry.D0N1PjT9.css" crossorigin><link rel="stylesheet" href="/__nuxt-og-image/_nuxt/renderer-select.Dd3SlzOB.css" crossorigin><link rel="stylesheet" href="/__nuxt-og-image/_nuxt/DevtoolsSection.BA22BKWd.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/C4ssBbxk.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/CP0tQR2M.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/DmsY5seq.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/Cy0omYQh.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/BWm573-p.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/DDRo8-tD.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/Dgwhb1xi.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/D6HqPJ2P.js"><script type="module" src="/__nuxt-og-image/_nuxt/C4ssBbxk.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-og-image",buildId:"4e028385-dcfa-406c-96d4-24d4192e792b",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1775799326499,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-og-image/_nuxt/C4ssBbxk.js"}}</script><link rel="stylesheet" href="/__nuxt-og-image/_nuxt/entry.D0N1PjT9.css" crossorigin><link rel="stylesheet" href="/__nuxt-og-image/_nuxt/renderer-select.Dd3SlzOB.css" crossorigin><link rel="stylesheet" href="/__nuxt-og-image/_nuxt/DevtoolsSection.BA22BKWd.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/C4ssBbxk.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/CP0tQR2M.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/DmsY5seq.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/Cy0omYQh.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/BWm573-p.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/DDRo8-tD.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/Dgwhb1xi.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/D6HqPJ2P.js"><script type="module" src="/__nuxt-og-image/_nuxt/C4ssBbxk.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,url:-3},env:"production",url:"https:\u002F\u002Fnuxtseo.com"}</script><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-og-image",buildId:"13f85b83-b220-4283-8efd-9b1adfb63ca9",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1775787789464,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-og-image/_nuxt/C4ssBbxk.js"}}</script><link rel="stylesheet" href="/__nuxt-og-image/_nuxt/entry.D0N1PjT9.css" crossorigin><link rel="stylesheet" href="/__nuxt-og-image/_nuxt/renderer-select.Dd3SlzOB.css" crossorigin><link rel="stylesheet" href="/__nuxt-og-image/_nuxt/DevtoolsSection.BA22BKWd.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/C4ssBbxk.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/CP0tQR2M.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/DmsY5seq.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/Cy0omYQh.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/BWm573-p.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/DDRo8-tD.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/Dgwhb1xi.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/D6HqPJ2P.js"><script type="module" src="/__nuxt-og-image/_nuxt/C4ssBbxk.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,url:-3},env:"production",url:"https:\u002F\u002Fnuxtseo.com"}</script><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-og-image",buildId:"4e028385-dcfa-406c-96d4-24d4192e792b",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1775799326499,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-og-image/_nuxt/C4ssBbxk.js"}}</script><link rel="stylesheet" href="/__nuxt-og-image/_nuxt/entry.D0N1PjT9.css" crossorigin><link rel="stylesheet" href="/__nuxt-og-image/_nuxt/renderer-select.Dd3SlzOB.css" crossorigin><link rel="stylesheet" href="/__nuxt-og-image/_nuxt/DevtoolsSection.BA22BKWd.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/C4ssBbxk.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/CP0tQR2M.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/DmsY5seq.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/Cy0omYQh.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/BWm573-p.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/DDRo8-tD.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/Dgwhb1xi.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/D6HqPJ2P.js"><script type="module" src="/__nuxt-og-image/_nuxt/C4ssBbxk.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-og-image",buildId:"13f85b83-b220-4283-8efd-9b1adfb63ca9",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1775787789464,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-og-image/_nuxt/C4ssBbxk.js"}}</script><link rel="stylesheet" href="/__nuxt-og-image/_nuxt/entry.D0N1PjT9.css" crossorigin><link rel="stylesheet" href="/__nuxt-og-image/_nuxt/renderer-select.Dd3SlzOB.css" crossorigin><link rel="stylesheet" href="/__nuxt-og-image/_nuxt/DevtoolsSection.BA22BKWd.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/C4ssBbxk.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/CP0tQR2M.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/DmsY5seq.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/Cy0omYQh.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/BWm573-p.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/DDRo8-tD.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/Dgwhb1xi.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/D6HqPJ2P.js"><script type="module" src="/__nuxt-og-image/_nuxt/C4ssBbxk.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-og-image",buildId:"4e028385-dcfa-406c-96d4-24d4192e792b",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1775799326499,false]</script></body></html>
package/dist/module.cjs CHANGED
@@ -9,7 +9,7 @@ require('nuxt-site-config/kit');
9
9
  require('ohash');
10
10
  require('pathe');
11
11
  require('pkg-types');
12
- const module$1 = require('./shared/nuxt-og-image.as-lQ2yV.cjs');
12
+ const module$1 = require('./shared/nuxt-og-image.ESOr0iiZ.cjs');
13
13
  require('nuxtseo-shared/kit');
14
14
  require('../dist/runtime/logger.js');
15
15
  require('node:crypto');
package/dist/module.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "nuxt": ">=3.16.0"
5
5
  },
6
6
  "configKey": "ogImage",
7
- "version": "6.3.4",
7
+ "version": "6.3.5",
8
8
  "builder": {
9
9
  "@nuxt/module-builder": "1.0.2",
10
10
  "unbuild": "3.6.1"
package/dist/module.mjs CHANGED
@@ -7,7 +7,7 @@ import 'nuxt-site-config/kit';
7
7
  import 'ohash';
8
8
  import 'pathe';
9
9
  import 'pkg-types';
10
- export { m as default } from './shared/nuxt-og-image.DW7_z3y5.mjs';
10
+ export { m as default } from './shared/nuxt-og-image.Nbo3Jac9.mjs';
11
11
  import 'nuxtseo-shared/kit';
12
12
  import '../dist/runtime/logger.js';
13
13
  import 'node:crypto';
@@ -91,7 +91,7 @@ export function createOgImageMeta(src, input, ssrContext, pagePath, head) {
91
91
  opts.props.description = seo.description;
92
92
  }
93
93
  const extension = opts.extension || defaults?.extension || "png";
94
- const isStatic = import.meta.prerender;
94
+ const isStatic = import.meta.prerender && !(ogImageConfig.security?.secret && ogImageConfig.security?.strict);
95
95
  const urlOpts = { ...opts, _path: payloadBasePath };
96
96
  const componentName = opts.component || componentNames?.[0]?.pascalName;
97
97
  const component = componentNames?.find((c) => c.pascalName === componentName || c.kebabName === componentName);
@@ -100,7 +100,7 @@ export function createOgImageMeta(src, input, ssrContext, pagePath, head) {
100
100
  const result = buildOgImageUrl(urlOpts, extension, isStatic, defaults, ogImageConfig.security?.secret || void 0);
101
101
  const resolvedUrl = joinURL("/", baseURL, result.url);
102
102
  const finalUrl = opts._query && Object.keys(opts._query).length ? withQuery(resolvedUrl, { _query: opts._query }) : resolvedUrl;
103
- if (import.meta.prerender && ssrContext.event) {
103
+ if (isStatic && import.meta.prerender && ssrContext.event) {
104
104
  const prerenderPaths = ssrContext.event.context._ogImagePrerenderPaths;
105
105
  if (prerenderPaths) {
106
106
  const ogKey = opts.key || "og";
@@ -202,7 +202,7 @@ export function getOgImagePath(_pagePath, _options) {
202
202
  const baseURL = runtimeConfig.app.baseURL;
203
203
  const { defaults, security } = useOgImageRuntimeConfig();
204
204
  const extension = _options?.extension || defaults?.extension || "png";
205
- const isStatic = import.meta.prerender;
205
+ const isStatic = import.meta.prerender && !(security?.secret && security?.strict);
206
206
  const options = { ..._options, _path: _pagePath };
207
207
  const componentName = _options?.component || componentNames?.[0]?.pascalName;
208
208
  const component = componentNames?.find((c) => c.pascalName === componentName || c.kebabName === componentName);
@@ -17,20 +17,31 @@ export async function imageEventHandler(e) {
17
17
  const { isDevToolsContextRequest, extension, renderer } = ctx;
18
18
  const { debug, baseCacheKey, security } = useOgImageRuntimeConfig();
19
19
  if (!import.meta.prerender && !import.meta.dev && security?.restrictRuntimeImagesToOrigin) {
20
- const siteHost = new URL(getSiteConfig(e).url).host;
21
- const allowedHosts = [siteHost, ...security.restrictRuntimeImagesToOrigin.map((o) => {
20
+ const requestHost = getRequestHost(e, { xForwardedHost: true });
21
+ let requestHostname;
22
+ if (requestHost) {
22
23
  try {
23
- return new URL(o).host;
24
+ requestHostname = new URL(`http://${requestHost}`).hostname;
24
25
  } catch {
25
- return o;
26
+ requestHostname = void 0;
27
+ }
28
+ }
29
+ const isLoopback = !!security.secret && (requestHostname === "localhost" || requestHostname === "127.0.0.1" || requestHostname === "::1");
30
+ if (!isLoopback) {
31
+ const siteHost = new URL(getSiteConfig(e).url).host;
32
+ const allowedHosts = [siteHost, ...security.restrictRuntimeImagesToOrigin.map((o) => {
33
+ try {
34
+ return new URL(o).host;
35
+ } catch {
36
+ return o;
37
+ }
38
+ })];
39
+ if (!requestHost || !allowedHosts.includes(requestHost)) {
40
+ return createError({
41
+ statusCode: 403,
42
+ statusMessage: "[Nuxt OG Image] Host not allowed."
43
+ });
26
44
  }
27
- })];
28
- const requestHost = getRequestHost(e, { xForwardedHost: true });
29
- if (!requestHost || !allowedHosts.includes(requestHost)) {
30
- return createError({
31
- statusCode: 403,
32
- statusMessage: "[Nuxt OG Image] Host not allowed."
33
- });
34
45
  }
35
46
  }
36
47
  if ((import.meta.dev || debug) && isDevToolsContextRequest) {
@@ -6,7 +6,7 @@ export function getOgImagePath(_pagePath, _options) {
6
6
  const baseURL = useRuntimeConfig().app.baseURL;
7
7
  const { defaults, security } = useOgImageRuntimeConfig();
8
8
  const extension = _options?.extension || defaults.extension;
9
- const isStatic = import.meta.prerender;
9
+ const isStatic = import.meta.prerender && !(security?.secret && security?.strict);
10
10
  const options = { ..._options, _path: _pagePath };
11
11
  const componentName = _options?.component || componentNames?.[0]?.pascalName;
12
12
  const component = componentNames?.find((c) => c.pascalName === componentName || c.kebabName === componentName);
@@ -2246,6 +2246,30 @@ function setupPrerenderHandler(options, resolve, getDetectedRenderers, nuxt = ki
2246
2246
  await applyNitroPresetCompatibility(nitroConfig, { compatibility: options.compatibility?.prerender, resolve, detectedRenderers: getDetectedRenderers() });
2247
2247
  nitroConfig.wasm = nitroConfig.wasm || {};
2248
2248
  nitroConfig.wasm.esmImport = false;
2249
+ nitroConfig.prerender = nitroConfig.prerender || {};
2250
+ nitroConfig.prerender.ignore = nitroConfig.prerender.ignore || [];
2251
+ if (Array.isArray(nitroConfig.prerender.ignore))
2252
+ nitroConfig.prerender.ignore.push("/_og/d/");
2253
+ });
2254
+ const orphanedOgHashes = [];
2255
+ nitro.hooks.hook("prerender:route", (route) => {
2256
+ if (!route.error || route.error.statusCode !== 404)
2257
+ return;
2258
+ if (!route.route.includes("/_og/s/o_"))
2259
+ return;
2260
+ orphanedOgHashes.push(route.route);
2261
+ route.error = void 0;
2262
+ route.contents = "";
2263
+ route.fileName = void 0;
2264
+ });
2265
+ nitro.hooks.hook("prerender:done", async () => {
2266
+ if (orphanedOgHashes.length > 0) {
2267
+ logger_js.logger.warn(
2268
+ `Skipped ${orphanedOgHashes.length} orphaned OG image hash URL${orphanedOgHashes.length > 1 ? "s" : ""} during prerender. These URLs were crawled from HTML but their source page was not prerendered, so the hash cache entry was never written. If your pages are prerendered but OG images are generated at runtime, enable \`security.strict\` with a \`security.secret\` to switch to signed dynamic URLs.`
2269
+ );
2270
+ for (const route of orphanedOgHashes)
2271
+ logger_js.logger.info(` ${route}`);
2272
+ }
2249
2273
  });
2250
2274
  nitro.hooks.hook("prerender:done", async () => {
2251
2275
  const buildCachePath = typeof options.buildCache === "object" && options.buildCache.base ? options.buildCache.base : "node_modules/.cache/nuxt-seo/og-image";
@@ -4183,7 +4207,7 @@ const module$1 = kit.defineNuxtModule({
4183
4207
  await onUpgrade(nuxt, options, previousVersion);
4184
4208
  },
4185
4209
  async setup(config, nuxt) {
4186
- const _resolver = kit.createResolver((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('shared/nuxt-og-image.as-lQ2yV.cjs', document.baseURI).href)));
4210
+ const _resolver = kit.createResolver((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('shared/nuxt-og-image.ESOr0iiZ.cjs', document.baseURI).href)));
4187
4211
  const fixSharedPath = (p) => {
4188
4212
  if (p.includes("/shared/runtime/"))
4189
4213
  return p.replace("/shared/runtime/", "/runtime/");
@@ -2226,6 +2226,30 @@ function setupPrerenderHandler(options, resolve, getDetectedRenderers, nuxt = us
2226
2226
  await applyNitroPresetCompatibility(nitroConfig, { compatibility: options.compatibility?.prerender, resolve, detectedRenderers: getDetectedRenderers() });
2227
2227
  nitroConfig.wasm = nitroConfig.wasm || {};
2228
2228
  nitroConfig.wasm.esmImport = false;
2229
+ nitroConfig.prerender = nitroConfig.prerender || {};
2230
+ nitroConfig.prerender.ignore = nitroConfig.prerender.ignore || [];
2231
+ if (Array.isArray(nitroConfig.prerender.ignore))
2232
+ nitroConfig.prerender.ignore.push("/_og/d/");
2233
+ });
2234
+ const orphanedOgHashes = [];
2235
+ nitro.hooks.hook("prerender:route", (route) => {
2236
+ if (!route.error || route.error.statusCode !== 404)
2237
+ return;
2238
+ if (!route.route.includes("/_og/s/o_"))
2239
+ return;
2240
+ orphanedOgHashes.push(route.route);
2241
+ route.error = void 0;
2242
+ route.contents = "";
2243
+ route.fileName = void 0;
2244
+ });
2245
+ nitro.hooks.hook("prerender:done", async () => {
2246
+ if (orphanedOgHashes.length > 0) {
2247
+ logger.warn(
2248
+ `Skipped ${orphanedOgHashes.length} orphaned OG image hash URL${orphanedOgHashes.length > 1 ? "s" : ""} during prerender. These URLs were crawled from HTML but their source page was not prerendered, so the hash cache entry was never written. If your pages are prerendered but OG images are generated at runtime, enable \`security.strict\` with a \`security.secret\` to switch to signed dynamic URLs.`
2249
+ );
2250
+ for (const route of orphanedOgHashes)
2251
+ logger.info(` ${route}`);
2252
+ }
2229
2253
  });
2230
2254
  nitro.hooks.hook("prerender:done", async () => {
2231
2255
  const buildCachePath = typeof options.buildCache === "object" && options.buildCache.base ? options.buildCache.base : "node_modules/.cache/nuxt-seo/og-image";
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "nuxt-og-image",
3
3
  "type": "module",
4
- "version": "6.3.4",
4
+ "version": "6.3.5",
5
5
  "description": "Enlightened OG Image generation for Nuxt.",
6
6
  "author": {
7
7
  "website": "https://harlanzw.com",
@@ -181,7 +181,7 @@
181
181
  "unocss": "^66.6.8",
182
182
  "vitest": "^4.1.4",
183
183
  "vue-tsc": "^3.2.6",
184
- "wrangler": "^4.81.0",
184
+ "wrangler": "^4.81.1",
185
185
  "yoga-wasm-web": "^0.3.3"
186
186
  },
187
187
  "scripts": {
@@ -1 +0,0 @@
1
- {"id":"13f85b83-b220-4283-8efd-9b1adfb63ca9","timestamp":1775787782464,"prerendered":[]}