nuxt-seo-utils 8.1.6 → 8.1.8

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 (35) hide show
  1. package/dist/cli.mjs +1 -1
  2. package/dist/devtools/200.html +1 -1
  3. package/dist/devtools/404.html +1 -1
  4. package/dist/devtools/_nuxt/{DpDxRlN6.js → 4KpTtx9F.js} +1 -1
  5. package/dist/devtools/_nuxt/BEcxVnVC.js +33 -0
  6. package/dist/devtools/_nuxt/{DXSssqCz.js → BNgJYF4-.js} +1 -1
  7. package/dist/devtools/_nuxt/{CmPvPuhU.js → BRD_U32-.js} +1 -1
  8. package/dist/devtools/_nuxt/{BgondbkO.js → Bywdn9yM.js} +1 -1
  9. package/dist/devtools/_nuxt/CPBXREPo.js +1 -0
  10. package/dist/devtools/_nuxt/{CuRKnsQI.js → Cy-qCfrn.js} +1 -1
  11. package/dist/devtools/_nuxt/{DiYyaqc0.js → DIKkjqSm.js} +1 -1
  12. package/dist/devtools/_nuxt/DevtoolsMetric.B0IT7l09.css +1 -0
  13. package/dist/devtools/_nuxt/builds/latest.json +1 -1
  14. package/dist/devtools/_nuxt/builds/meta/a24989ac-6153-4246-bbab-8496d363a82d.json +1 -0
  15. package/dist/devtools/_nuxt/debug.B5eeYd8b.css +1 -0
  16. package/dist/devtools/_nuxt/{entry.64xQvwV4.css → entry.DZPkkv65.css} +1 -1
  17. package/dist/devtools/_nuxt/tools.ccu-C3wj.css +1 -0
  18. package/dist/devtools/debug/index.html +1 -1
  19. package/dist/devtools/docs/index.html +1 -1
  20. package/dist/devtools/identity/index.html +1 -1
  21. package/dist/devtools/index.html +1 -1
  22. package/dist/devtools/social/index.html +1 -1
  23. package/dist/module.d.mts +5 -5
  24. package/dist/module.d.ts +5 -5
  25. package/dist/module.json +1 -1
  26. package/dist/module.mjs +8 -62
  27. package/dist/runtime/server/plugins/minifyHtml.d.ts +2 -0
  28. package/dist/runtime/server/plugins/minifyHtml.js +51 -0
  29. package/package.json +24 -23
  30. package/dist/devtools/_nuxt/C8_ePZ51.js +0 -1
  31. package/dist/devtools/_nuxt/CiZfEBTx.js +0 -33
  32. package/dist/devtools/_nuxt/DevtoolsMetric.DNT55gMM.css +0 -1
  33. package/dist/devtools/_nuxt/builds/meta/ec22d8ce-194e-4e59-a783-7785526bab65.json +0 -1
  34. package/dist/devtools/_nuxt/debug.Al377-Ye.css +0 -1
  35. package/dist/devtools/_nuxt/tools.BtjZeki9.css +0 -1
@@ -0,0 +1 @@
1
+ .devtools-error[data-v-56b5a12f]{flex-direction:column;gap:.75rem;padding:3rem 1.5rem;text-align:center}.devtools-error[data-v-56b5a12f],.devtools-error-icon-wrap[data-v-56b5a12f]{align-items:center;display:flex;justify-content:center}.devtools-error-icon-wrap[data-v-56b5a12f]{background:#dc655f1a;border-radius:var(--radius-lg);height:3rem;width:3rem}.dark .devtools-error-icon-wrap[data-v-56b5a12f]{background:#843c3826}.devtools-error-icon[data-v-56b5a12f]{color:#d74745;font-size:1.5rem}.dark .devtools-error-icon[data-v-56b5a12f]{color:#ed756e}.devtools-error-title[data-v-56b5a12f]{color:var(--color-text);font-size:.875rem;font-weight:600}.devtools-error-message[data-v-56b5a12f]{color:var(--color-text-muted);font-size:.75rem;line-height:1.5;max-width:20rem}.devtools-error-actions[data-v-56b5a12f]{display:flex;gap:.5rem;margin-top:.25rem}.devtools-empty[data-v-1ef2fe3d]{align-items:center;display:flex;flex-direction:column;margin:0 auto;max-width:32rem;text-align:center}.devtools-empty-icon[data-v-1ef2fe3d]{align-items:center;border-radius:var(--radius-lg);display:inline-flex;height:4rem;justify-content:center;margin-bottom:1.5rem;width:4rem}.devtools-empty-icon-default[data-v-1ef2fe3d]{background:#11ad321f;color:var(--seo-green)}.dark .devtools-empty-icon-default[data-v-1ef2fe3d]{background:#11ad3226}.devtools-empty-icon-error[data-v-1ef2fe3d]{background:#cc272e1f;color:#cc272e}.dark .devtools-empty-icon-error[data-v-1ef2fe3d]{background:#cc272e26;color:#ff847d}.devtools-empty-title[data-v-1ef2fe3d]{color:var(--color-text);font-size:1.125rem;font-weight:600;margin-bottom:.75rem}@media(min-width:640px){.devtools-empty-title[data-v-1ef2fe3d]{font-size:1.25rem}}.devtools-empty-description[data-v-1ef2fe3d]{color:var(--color-text-muted);font-size:.875rem;line-height:1.5;margin-bottom:1.25rem}@media(min-width:640px){.devtools-empty-description[data-v-1ef2fe3d]{font-size:1rem}}.devtools-empty-actions[data-v-1ef2fe3d]{align-items:center;display:flex;flex-direction:column;gap:.75rem}
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/__nuxt-seo-utils/_nuxt/entry.64xQvwV4.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-seo-utils/_nuxt/CiZfEBTx.js"><script type="module" src="/__nuxt-seo-utils/_nuxt/CiZfEBTx.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:{i18n:{baseUrl:"",defaultLocale:"",rootRedirect:"",redirectStatusCode:302,skipSettingLocaleOnNavigate:false,locales:[],detectBrowserLanguage:{alwaysRedirect:false,cookieCrossOrigin:false,cookieDomain:"",cookieKey:"i18n_redirected",cookieSecure:false,fallbackLocale:"",redirectOn:"root",useCookie:true},experimental:{localeDetector:"",typedPages:true,typedOptionsAndMessages:false,alternateLinkCanonicalQueries:true,devCache:false,cacheLifetime:"",stripMessagesPayload:false,preload:false,strictSeo:false,nitroContextDetection:true,httpCacheDuration:10},domainLocales:{}}},app:{baseURL:"/__nuxt-seo-utils",buildId:"ec22d8ce-194e-4e59-a783-7785526bab65",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1775098732223,false]</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/__nuxt-seo-utils/_nuxt/entry.DZPkkv65.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-seo-utils/_nuxt/BEcxVnVC.js"><script type="module" src="/__nuxt-seo-utils/_nuxt/BEcxVnVC.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:{i18n:{baseUrl:"",defaultLocale:"",rootRedirect:"",redirectStatusCode:302,skipSettingLocaleOnNavigate:false,locales:[],detectBrowserLanguage:{alwaysRedirect:false,cookieCrossOrigin:false,cookieDomain:"",cookieKey:"i18n_redirected",cookieSecure:false,fallbackLocale:"",redirectOn:"root",useCookie:true},experimental:{localeDetector:"",typedPages:true,typedOptionsAndMessages:false,alternateLinkCanonicalQueries:true,devCache:false,cacheLifetime:"",stripMessagesPayload:false,preload:false,strictSeo:false,nitroContextDetection:true,httpCacheDuration:10},domainLocales:{}}},app:{baseURL:"/__nuxt-seo-utils",buildId:"a24989ac-6153-4246-bbab-8496d363a82d",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1776152524777,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"><link rel="stylesheet" href="/__nuxt-seo-utils/_nuxt/entry.64xQvwV4.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-seo-utils/_nuxt/CiZfEBTx.js"><script type="module" src="/__nuxt-seo-utils/_nuxt/CiZfEBTx.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:{i18n:{baseUrl:"",defaultLocale:"",rootRedirect:"",redirectStatusCode:302,skipSettingLocaleOnNavigate:false,locales:[],detectBrowserLanguage:{alwaysRedirect:false,cookieCrossOrigin:false,cookieDomain:"",cookieKey:"i18n_redirected",cookieSecure:false,fallbackLocale:"",redirectOn:"root",useCookie:true},experimental:{localeDetector:"",typedPages:true,typedOptionsAndMessages:false,alternateLinkCanonicalQueries:true,devCache:false,cacheLifetime:"",stripMessagesPayload:false,preload:false,strictSeo:false,nitroContextDetection:true,httpCacheDuration:10},domainLocales:{}}},app:{baseURL:"/__nuxt-seo-utils",buildId:"ec22d8ce-194e-4e59-a783-7785526bab65",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1775098732224,false]</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/__nuxt-seo-utils/_nuxt/entry.DZPkkv65.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-seo-utils/_nuxt/BEcxVnVC.js"><script type="module" src="/__nuxt-seo-utils/_nuxt/BEcxVnVC.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:{i18n:{baseUrl:"",defaultLocale:"",rootRedirect:"",redirectStatusCode:302,skipSettingLocaleOnNavigate:false,locales:[],detectBrowserLanguage:{alwaysRedirect:false,cookieCrossOrigin:false,cookieDomain:"",cookieKey:"i18n_redirected",cookieSecure:false,fallbackLocale:"",redirectOn:"root",useCookie:true},experimental:{localeDetector:"",typedPages:true,typedOptionsAndMessages:false,alternateLinkCanonicalQueries:true,devCache:false,cacheLifetime:"",stripMessagesPayload:false,preload:false,strictSeo:false,nitroContextDetection:true,httpCacheDuration:10},domainLocales:{}}},app:{baseURL:"/__nuxt-seo-utils",buildId:"a24989ac-6153-4246-bbab-8496d363a82d",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1776152524779,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"><link rel="stylesheet" href="/__nuxt-seo-utils/_nuxt/entry.64xQvwV4.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-seo-utils/_nuxt/CiZfEBTx.js"><script type="module" src="/__nuxt-seo-utils/_nuxt/CiZfEBTx.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:{i18n:{baseUrl:"",defaultLocale:"",rootRedirect:"",redirectStatusCode:302,skipSettingLocaleOnNavigate:false,locales:[],detectBrowserLanguage:{alwaysRedirect:false,cookieCrossOrigin:false,cookieDomain:"",cookieKey:"i18n_redirected",cookieSecure:false,fallbackLocale:"",redirectOn:"root",useCookie:true},experimental:{localeDetector:"",typedPages:true,typedOptionsAndMessages:false,alternateLinkCanonicalQueries:true,devCache:false,cacheLifetime:"",stripMessagesPayload:false,preload:false,strictSeo:false,nitroContextDetection:true,httpCacheDuration:10},domainLocales:{}}},app:{baseURL:"/__nuxt-seo-utils",buildId:"ec22d8ce-194e-4e59-a783-7785526bab65",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1775098732224,false]</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/__nuxt-seo-utils/_nuxt/entry.DZPkkv65.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-seo-utils/_nuxt/BEcxVnVC.js"><script type="module" src="/__nuxt-seo-utils/_nuxt/BEcxVnVC.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:{i18n:{baseUrl:"",defaultLocale:"",rootRedirect:"",redirectStatusCode:302,skipSettingLocaleOnNavigate:false,locales:[],detectBrowserLanguage:{alwaysRedirect:false,cookieCrossOrigin:false,cookieDomain:"",cookieKey:"i18n_redirected",cookieSecure:false,fallbackLocale:"",redirectOn:"root",useCookie:true},experimental:{localeDetector:"",typedPages:true,typedOptionsAndMessages:false,alternateLinkCanonicalQueries:true,devCache:false,cacheLifetime:"",stripMessagesPayload:false,preload:false,strictSeo:false,nitroContextDetection:true,httpCacheDuration:10},domainLocales:{}}},app:{baseURL:"/__nuxt-seo-utils",buildId:"a24989ac-6153-4246-bbab-8496d363a82d",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1776152524779,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"><link rel="stylesheet" href="/__nuxt-seo-utils/_nuxt/entry.64xQvwV4.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-seo-utils/_nuxt/CiZfEBTx.js"><script type="module" src="/__nuxt-seo-utils/_nuxt/CiZfEBTx.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},env:"production"}</script><script>window.__NUXT__={};window.__NUXT__.config={public:{i18n:{baseUrl:"",defaultLocale:"",rootRedirect:"",redirectStatusCode:302,skipSettingLocaleOnNavigate:false,locales:[],detectBrowserLanguage:{alwaysRedirect:false,cookieCrossOrigin:false,cookieDomain:"",cookieKey:"i18n_redirected",cookieSecure:false,fallbackLocale:"",redirectOn:"root",useCookie:true},experimental:{localeDetector:"",typedPages:true,typedOptionsAndMessages:false,alternateLinkCanonicalQueries:true,devCache:false,cacheLifetime:"",stripMessagesPayload:false,preload:false,strictSeo:false,nitroContextDetection:true,httpCacheDuration:10},domainLocales:{}}},app:{baseURL:"/__nuxt-seo-utils",buildId:"ec22d8ce-194e-4e59-a783-7785526bab65",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1775098732224,false]</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/__nuxt-seo-utils/_nuxt/entry.DZPkkv65.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-seo-utils/_nuxt/BEcxVnVC.js"><script type="module" src="/__nuxt-seo-utils/_nuxt/BEcxVnVC.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},env:"production"}</script><script>window.__NUXT__={};window.__NUXT__.config={public:{i18n:{baseUrl:"",defaultLocale:"",rootRedirect:"",redirectStatusCode:302,skipSettingLocaleOnNavigate:false,locales:[],detectBrowserLanguage:{alwaysRedirect:false,cookieCrossOrigin:false,cookieDomain:"",cookieKey:"i18n_redirected",cookieSecure:false,fallbackLocale:"",redirectOn:"root",useCookie:true},experimental:{localeDetector:"",typedPages:true,typedOptionsAndMessages:false,alternateLinkCanonicalQueries:true,devCache:false,cacheLifetime:"",stripMessagesPayload:false,preload:false,strictSeo:false,nitroContextDetection:true,httpCacheDuration:10},domainLocales:{}}},app:{baseURL:"/__nuxt-seo-utils",buildId:"a24989ac-6153-4246-bbab-8496d363a82d",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1776152524779,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"><link rel="stylesheet" href="/__nuxt-seo-utils/_nuxt/entry.64xQvwV4.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-seo-utils/_nuxt/CiZfEBTx.js"><script type="module" src="/__nuxt-seo-utils/_nuxt/CiZfEBTx.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:{i18n:{baseUrl:"",defaultLocale:"",rootRedirect:"",redirectStatusCode:302,skipSettingLocaleOnNavigate:false,locales:[],detectBrowserLanguage:{alwaysRedirect:false,cookieCrossOrigin:false,cookieDomain:"",cookieKey:"i18n_redirected",cookieSecure:false,fallbackLocale:"",redirectOn:"root",useCookie:true},experimental:{localeDetector:"",typedPages:true,typedOptionsAndMessages:false,alternateLinkCanonicalQueries:true,devCache:false,cacheLifetime:"",stripMessagesPayload:false,preload:false,strictSeo:false,nitroContextDetection:true,httpCacheDuration:10},domainLocales:{}}},app:{baseURL:"/__nuxt-seo-utils",buildId:"ec22d8ce-194e-4e59-a783-7785526bab65",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1775098732224,false]</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/__nuxt-seo-utils/_nuxt/entry.DZPkkv65.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-seo-utils/_nuxt/BEcxVnVC.js"><script type="module" src="/__nuxt-seo-utils/_nuxt/BEcxVnVC.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:{i18n:{baseUrl:"",defaultLocale:"",rootRedirect:"",redirectStatusCode:302,skipSettingLocaleOnNavigate:false,locales:[],detectBrowserLanguage:{alwaysRedirect:false,cookieCrossOrigin:false,cookieDomain:"",cookieKey:"i18n_redirected",cookieSecure:false,fallbackLocale:"",redirectOn:"root",useCookie:true},experimental:{localeDetector:"",typedPages:true,typedOptionsAndMessages:false,alternateLinkCanonicalQueries:true,devCache:false,cacheLifetime:"",stripMessagesPayload:false,preload:false,strictSeo:false,nitroContextDetection:true,httpCacheDuration:10},domainLocales:{}}},app:{baseURL:"/__nuxt-seo-utils",buildId:"a24989ac-6153-4246-bbab-8496d363a82d",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1776152524779,false]</script></body></html>
package/dist/module.d.mts CHANGED
@@ -100,13 +100,13 @@ interface ModuleOptions {
100
100
  redirectToCanonicalSiteUrl?: boolean;
101
101
  /**
102
102
  * Sets the `tagPriority` for SEO and Open Graph meta tags generated by this module.
103
- * Lower numbers appear earlier in the `<head>`. Style blocks default to 40-60,
104
- * so a value below 40 ensures SEO tags appear before them, which is important
105
- * for OG crawlers that only parse the first 1MB of a page.
103
+ * Uses unhead's priority aliases: `'low'` (default) ensures module tags act as fallbacks
104
+ * that page-level `useSeoMeta()` calls can override. Use a numeric value or `'critical'`/`'high'`
105
+ * to place tags earlier in the `<head>` (useful for OG crawlers with byte limits).
106
106
  *
107
- * @default 30
107
+ * @default 'low'
108
108
  */
109
- tagPriority: number;
109
+ tagPriority: number | 'critical' | 'high' | 'low' | `before:${string}` | `after:${string}`;
110
110
  /**
111
111
  * The SEO meta object to be used as defaults.
112
112
  */
package/dist/module.d.ts CHANGED
@@ -100,13 +100,13 @@ interface ModuleOptions {
100
100
  redirectToCanonicalSiteUrl?: boolean;
101
101
  /**
102
102
  * Sets the `tagPriority` for SEO and Open Graph meta tags generated by this module.
103
- * Lower numbers appear earlier in the `<head>`. Style blocks default to 40-60,
104
- * so a value below 40 ensures SEO tags appear before them, which is important
105
- * for OG crawlers that only parse the first 1MB of a page.
103
+ * Uses unhead's priority aliases: `'low'` (default) ensures module tags act as fallbacks
104
+ * that page-level `useSeoMeta()` calls can override. Use a numeric value or `'critical'`/`'high'`
105
+ * to place tags earlier in the `<head>` (useful for OG crawlers with byte limits).
106
106
  *
107
- * @default 30
107
+ * @default 'low'
108
108
  */
109
- tagPriority: number;
109
+ tagPriority: number | 'critical' | 'high' | 'low' | `before:${string}` | `after:${string}`;
110
110
  /**
111
111
  * The SEO meta object to be used as defaults.
112
112
  */
package/dist/module.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "compatibility": {
5
5
  "nuxt": ">=3.16.0"
6
6
  },
7
- "version": "8.1.6",
7
+ "version": "8.1.8",
8
8
  "builder": {
9
9
  "@nuxt/module-builder": "1.0.2",
10
10
  "unbuild": "3.6.1"
package/dist/module.mjs CHANGED
@@ -393,9 +393,6 @@ async function generateTagsFromPublicFiles(nuxt = useNuxt()) {
393
393
  return { hasIcons };
394
394
  }
395
395
 
396
- const INLINE_SCRIPT_RE = /<script(?![^>]+\bsrc\b)([^>]*)>([\s\S]*?)<\/script\s*>/gi;
397
- const INLINE_STYLE_RE = /<style([^>]*)>([\s\S]*?)<\/style\s*>/gi;
398
- const TYPE_ATTR_RE = /\btype\s*=\s*["']([^"']*)["']/i;
399
396
  const JSON_TYPES = /* @__PURE__ */ new Set(["application/json", "application/ld+json"]);
400
397
  const SKIP_JS_TYPES = /* @__PURE__ */ new Set(["application/json", "application/ld+json", "speculationrules", "importmap"]);
401
398
  const logger = useLogger("nuxt-seo-utils");
@@ -436,7 +433,7 @@ async function minifyCSSWithLightningCSS(code) {
436
433
  return null;
437
434
  }
438
435
  }
439
- function minifyPrerender() {
436
+ function minifyStaticHead() {
440
437
  const nuxt = useNuxt();
441
438
  nuxt.hooks.hook("app:resolve", async () => {
442
439
  const head = nuxt.options.app.head;
@@ -490,62 +487,6 @@ function minifyPrerender() {
490
487
  }
491
488
  await Promise.all(promises);
492
489
  });
493
- nuxt.hooks.hook("nitro:init", (nitro) => {
494
- nitro.hooks.hook("prerender:generate", async (route) => {
495
- if (!route.contents || !route.contentType?.includes("html"))
496
- return;
497
- route.contents = await replaceAsync(
498
- route.contents,
499
- new RegExp(INLINE_SCRIPT_RE.source, INLINE_SCRIPT_RE.flags),
500
- async (fullMatch, attrs, content) => {
501
- if (!content)
502
- return fullMatch;
503
- const typeMatch = TYPE_ATTR_RE.exec(attrs);
504
- const type = typeMatch?.[1];
505
- if (type && JSON_TYPES.has(type)) {
506
- try {
507
- const minified2 = JSON.stringify(JSON.parse(content));
508
- if (minified2.length < content.length)
509
- return `<script${attrs}>${minified2}<\/script>`;
510
- } catch {
511
- }
512
- return fullMatch;
513
- }
514
- if (type && SKIP_JS_TYPES.has(type))
515
- return fullMatch;
516
- const minified = await minifyJSBuildTime(content);
517
- if (minified && minified.length < content.length)
518
- return `<script${attrs}>${minified}<\/script>`;
519
- return fullMatch;
520
- }
521
- );
522
- route.contents = await replaceAsync(
523
- route.contents,
524
- new RegExp(INLINE_STYLE_RE.source, INLINE_STYLE_RE.flags),
525
- async (fullMatch, attrs, content) => {
526
- if (!content)
527
- return fullMatch;
528
- const minified = await minifyCSSWithLightningCSS(content);
529
- if (minified && minified.length < content.length)
530
- return `<style${attrs}>${minified}</style>`;
531
- return fullMatch;
532
- }
533
- );
534
- });
535
- });
536
- }
537
- async function replaceAsync(str, regex, asyncFn) {
538
- const matches = [];
539
- const re = new RegExp(regex.source, regex.flags);
540
- for (let m = re.exec(str); m !== null; m = re.exec(str))
541
- matches.push({ match: m, replacement: asyncFn(...m) });
542
- const replacements = await Promise.all(matches.map((m) => m.replacement));
543
- let result = str;
544
- for (let i = matches.length - 1; i >= 0; i--) {
545
- const { match } = matches[i];
546
- result = result.slice(0, match.index) + replacements[i] + result.slice(match.index + match[0].length);
547
- }
548
- return result;
549
490
  }
550
491
 
551
492
  function setupNuxtConfigAppHeadWithMoreDefaults(nuxt = useNuxt()) {
@@ -609,7 +550,7 @@ const module$1 = defineNuxtModule({
609
550
  setupNuxtConfigAppHeadWithMoreDefaults: true,
610
551
  automaticOgAndTwitterTags: true,
611
552
  canonicalLowercase: true,
612
- tagPriority: 30,
553
+ tagPriority: "low",
613
554
  minify: true
614
555
  },
615
556
  async setup(config, nuxt) {
@@ -791,7 +732,12 @@ export {}
791
732
  });
792
733
  }
793
734
  if (minifyOpts.build !== false) {
794
- minifyPrerender();
735
+ minifyStaticHead();
736
+ const minifyHtmlPlugin = resolve(runtimeDir, "./server/plugins/minifyHtml");
737
+ nuxt.hook("nitro:config", (nitroConfig) => {
738
+ nitroConfig.plugins ||= [];
739
+ nitroConfig.plugins.unshift(minifyHtmlPlugin);
740
+ });
795
741
  }
796
742
  }
797
743
  if (config.debug || nuxt.options.dev) {
@@ -0,0 +1,2 @@
1
+ declare const _default: import("nitropack/types").NitroAppPlugin;
2
+ export default _default;
@@ -0,0 +1,51 @@
1
+ import { defineNitroPlugin } from "nitropack/runtime";
2
+ import { minifyCSS, minifyJS, minifyJSON } from "../../shared/minify.js";
3
+ const INLINE_SCRIPT_RE = /<script(?![^>]+\bsrc\b)([^>]*)>([\s\S]*?)<\/script\s*>/gi;
4
+ const INLINE_STYLE_RE = /<style([^>]*)>([\s\S]*?)<\/style\s*>/gi;
5
+ const TYPE_ATTR_RE = /\btype\s*=\s*["']([^"']*)["']/i;
6
+ const JSON_TYPES = /* @__PURE__ */ new Set(["application/json", "application/ld+json"]);
7
+ const SKIP_JS_TYPES = /* @__PURE__ */ new Set(["application/json", "application/ld+json", "speculationrules", "importmap"]);
8
+ function minifyChunk(chunk) {
9
+ let out = chunk.replace(INLINE_SCRIPT_RE, (full, attrs, content) => {
10
+ if (!content)
11
+ return full;
12
+ const type = TYPE_ATTR_RE.exec(attrs)?.[1];
13
+ if (type && JSON_TYPES.has(type)) {
14
+ try {
15
+ const m = minifyJSON(content);
16
+ return m.length < content.length ? `<script${attrs}>${m}<\/script>` : full;
17
+ } catch {
18
+ return full;
19
+ }
20
+ }
21
+ if (type && SKIP_JS_TYPES.has(type))
22
+ return full;
23
+ try {
24
+ const m = minifyJS(content);
25
+ return m.length < content.length ? `<script${attrs}>${m}<\/script>` : full;
26
+ } catch {
27
+ return full;
28
+ }
29
+ });
30
+ out = out.replace(INLINE_STYLE_RE, (full, attrs, content) => {
31
+ if (!content)
32
+ return full;
33
+ try {
34
+ const m = minifyCSS(content);
35
+ return m.length < content.length ? `<style${attrs}>${m}</style>` : full;
36
+ } catch {
37
+ return full;
38
+ }
39
+ });
40
+ return out;
41
+ }
42
+ export default defineNitroPlugin((nitroApp) => {
43
+ if (!import.meta.prerender)
44
+ return;
45
+ nitroApp.hooks.hook("render:html", (html) => {
46
+ for (const arr of [html.head, html.bodyPrepend, html.body, html.bodyAppend]) {
47
+ for (let i = 0; i < arr.length; i++)
48
+ arr[i] = minifyChunk(arr[i]);
49
+ }
50
+ });
51
+ });
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "nuxt-seo-utils",
3
3
  "type": "module",
4
- "version": "8.1.6",
4
+ "version": "8.1.8",
5
5
  "description": "SEO utilities to improve your Nuxt sites discoverability and shareability",
6
6
  "license": "MIT",
7
7
  "funding": "https://github.com/sponsors/harlan-zw",
@@ -53,52 +53,53 @@
53
53
  }
54
54
  },
55
55
  "dependencies": {
56
- "@nuxt/devtools-kit": "4.0.0-alpha.3",
57
56
  "@nuxt/kit": "^4.4.2",
58
- "@unhead/addons": "^2.1.12",
59
- "citty": "^0.2.1",
60
- "defu": "^6.1.4",
57
+ "@unhead/addons": "^2.1.13",
58
+ "citty": "^0.2.2",
59
+ "defu": "^6.1.7",
61
60
  "escape-string-regexp": "^5.0.0",
62
61
  "image-size": "^2.0.2",
63
- "nuxt-site-config": "^4.0.7",
64
- "nuxtseo-layer-devtools": "^5.1.0",
65
- "nuxtseo-shared": "^5.1.0",
62
+ "nuxt-site-config": "^4.0.8",
63
+ "nuxtseo-shared": "^5.1.3",
66
64
  "pathe": "^2.0.3",
67
65
  "pkg-types": "^2.3.0",
68
66
  "scule": "^1.3.0",
69
- "semver": "^7.7.4",
70
- "sirv": "^3.0.2",
71
- "tinyglobby": "^0.2.15",
67
+ "tinyglobby": "^0.2.16",
72
68
  "ufo": "^1.6.3"
73
69
  },
74
70
  "optionalDependencies": {
75
71
  "sharp": "^0.34.5"
76
72
  },
77
73
  "devDependencies": {
78
- "@antfu/eslint-config": "^7.7.3",
74
+ "@antfu/eslint-config": "^8.2.0",
75
+ "@nuxt/devtools-kit": "4.0.0-alpha.3",
79
76
  "@nuxt/module-builder": "^1.0.2",
80
77
  "@nuxt/schema": "^4.4.2",
81
- "@nuxt/test-utils": "^4.0.0",
82
- "@nuxt/ui": "^4.6.0",
78
+ "@nuxt/test-utils": "^4.0.2",
79
+ "@nuxt/ui": "^4.6.1",
83
80
  "@nuxtjs/i18n": "^10.2.4",
84
- "@types/node": "^25.5.0",
85
- "@unhead/vue": "^2.1.12",
81
+ "@types/node": "^25.6.0",
82
+ "@unhead/vue": "^2.1.13",
86
83
  "@vue/test-utils": "^2.4.6",
87
84
  "bumpp": "^11.0.1",
88
85
  "case-police": "^2.2.0",
89
86
  "cheerio": "^1.2.0",
90
- "eslint": "^10.1.0",
91
- "eslint-plugin-harlanzw": "^0.12.0",
92
- "happy-dom": "^20.8.9",
87
+ "eslint": "^10.2.0",
88
+ "eslint-plugin-harlanzw": "^0.12.1",
89
+ "happy-dom": "^20.9.0",
93
90
  "lint-staged": "^16.4.0",
94
91
  "markdownlint-cli": "^0.48.0",
95
92
  "nuxt": "^4.4.2",
96
- "playwright-core": "^1.58.2",
97
- "sass": "^1.98.0",
93
+ "nuxt-security": "^2.5.1",
94
+ "nuxtseo-layer-devtools": "^5.1.3",
95
+ "playwright-core": "^1.59.1",
96
+ "sass": "^1.99.0",
97
+ "semver": "^7.7.4",
98
+ "sirv": "^3.0.2",
98
99
  "typescript": "^6.0.2",
99
100
  "ultrahtml": "^1.6.0",
100
101
  "unbuild": "^3.6.1",
101
- "vitest": "^4.1.2",
102
+ "vitest": "^4.1.4",
102
103
  "vue-tsc": "^3.2.6"
103
104
  },
104
105
  "scripts": {
@@ -111,7 +112,7 @@
111
112
  "lint": "eslint .",
112
113
  "lint:fix": "eslint . --fix",
113
114
  "typecheck": "nuxt typecheck",
114
- "prepare:fixtures": "nuxt prepare test/fixtures/basic && nuxt prepare test/fixtures/i18n",
115
+ "prepare:fixtures": "nuxt prepare test/fixtures/basic && nuxt prepare test/fixtures/i18n && nuxt prepare test/fixtures/csp",
115
116
  "test": "vitest",
116
117
  "test:run": "vitest run --exclude '**/\\_\\_runtime\\_\\_/**'",
117
118
  "test:runtime": "cd test/fixtures/basic && vitest --run",
@@ -1 +0,0 @@
1
- import{d as b,o as a,g as c,i as d,b as E,A as C,j as p,k as m,h as A,l as k,n as $,z as w}from"./CiZfEBTx.js";const q={class:"devtools-error"},D={class:"devtools-error-icon-wrap"},M={class:"devtools-error-title"},R={key:0,class:"devtools-error-message"},N={key:1,class:"devtools-error-actions"},L=b({__name:"DevtoolsError",props:{icon:{default:"carbon:warning"},title:{default:"Something went wrong"},error:{}},setup(t){return(n,s)=>{const i=C;return a(),c("div",q,[d("div",D,[E(i,{name:t.icon,class:"devtools-error-icon"},null,8,["name"])]),d("p",M,p(t.title),1),t.error?(a(),c("p",R,p(typeof t.error=="string"?t.error:t.error.message),1)):m("",!0),n.$slots.default?(a(),c("div",N,[A(n.$slots,"default",{},void 0,!0)])):m("",!0)])}}}),P=Object.assign(k(L,[["__scopeId","data-v-e4477e9a"]]),{__name:"DevtoolsError"}),X={class:"devtools-empty"},H={class:"devtools-empty-title"},O={key:0,class:"devtools-empty-description"},x={key:1,class:"devtools-empty-actions"},j=b({__name:"DevtoolsEmptyState",props:{icon:{default:"carbon:search"},title:{},description:{},variant:{default:"default"}},setup(t){return(n,s)=>{const i=C;return a(),c("div",X,[d("div",{class:$(["devtools-empty-icon",`devtools-empty-icon-${t.variant}`])},[E(i,{name:t.icon,class:"w-8 h-8","aria-hidden":"true"},null,8,["name"])],2),d("h2",H,p(t.title),1),t.description||n.$slots.description?(a(),c("p",O,[A(n.$slots,"description",{},()=>[w(p(t.description),1)],!0)])):m("",!0),n.$slots.default?(a(),c("div",x,[A(n.$slots,"default",{},void 0,!0)])):m("",!0)])}}}),V=Object.assign(k(j,[["__scopeId","data-v-f7b4b7ac"]]),{__name:"DevtoolsEmptyState"}),y={TITLE_MAX_CHARS:60,TITLE_WARN_CHARS:50,TITLE_MAX_PIXELS:580,DESC_MAX_CHARS:160,DESC_WARN_CHARS:150,DESC_MAX_PIXELS:920};function W(t,n=16){return Math.round(t.length*n*.55)}function B(t){const s=new DOMParser().parseFromString(t,"text/html"),i=s.querySelector("title")?.textContent?.trim()||"",I=s.querySelector('meta[name="description"]')?.getAttribute("content")?.trim()||"",T=s.querySelector('link[rel="canonical"]')?.getAttribute("href")||"",v={};s.querySelectorAll('meta[property^="og:"]').forEach(e=>{const o=e.getAttribute("property"),r=e.getAttribute("content");o&&r&&(v[o]=r)});const g={};s.querySelectorAll('meta[name^="twitter:"]').forEach(e=>{const o=e.getAttribute("name"),r=e.getAttribute("content");o&&r&&(g[o]=r)});const l=[];s.querySelectorAll("meta").forEach(e=>{const o=e.getAttribute("name"),r=e.getAttribute("property"),u=e.getAttribute("http-equiv"),h=e.getAttribute("content")||"",f=e.getAttribute("media")||void 0;o?l.push({name:o,content:h,type:"name",media:f}):r?l.push({name:r,content:h,type:"property",media:f}):u&&l.push({name:u,content:h,type:"http-equiv",media:f})});const _=[];s.querySelectorAll('script[type="application/ld+json"]').forEach(e=>{const o=e.textContent?.trim()||"";try{const r=JSON.parse(o),u=r["@type"]||(r["@graph"]?"Graph":"Unknown");_.push({type:u,data:r,raw:o})}catch{_.push({type:"Invalid JSON",data:null,raw:o})}});const S=[];return s.querySelectorAll('link[rel="icon"], link[rel="apple-touch-icon"], link[rel="shortcut icon"]').forEach(e=>{const o=e.getAttribute("href");o&&S.push({rel:e.getAttribute("rel")||"icon",href:o,type:e.getAttribute("type")||void 0,sizes:e.getAttribute("sizes")||void 0,media:e.getAttribute("media")||void 0})}),{title:i,description:I,ogTags:v,twitterTags:g,allMeta:l,canonical:T,schemas:_,iconLinks:S}}function U(t){return t>y.TITLE_MAX_CHARS?"error":t<30?"warning":"success"}function J(t){return t>y.DESC_MAX_CHARS?"error":t>y.DESC_WARN_CHARS||t<70?"warning":"success"}export{y as S,P as _,V as a,J as d,W as e,B as p,U as t};