nuxt-og-image 5.1.2 → 5.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/200.html +10 -10
- package/dist/client/404.html +10 -10
- package/dist/client/_nuxt/B8PEiB0p.js +1 -0
- package/dist/client/_nuxt/Cp-IABpG.js +1 -0
- package/dist/client/_nuxt/De-qQEWw.js +4017 -0
- package/dist/client/_nuxt/{CHRxzU3f.js → Dr5ncp7f.js} +1 -1
- package/dist/client/_nuxt/{Ct9h7GIg.js → DriqWBeb.js} +1 -1
- package/dist/client/_nuxt/builds/latest.json +1 -1
- package/dist/client/_nuxt/builds/meta/dev.json +1 -0
- package/dist/client/_nuxt/builds/meta/e8cf65e2-e6ce-426c-84bd-d6a74b10ae7a.json +1 -0
- package/dist/client/_nuxt/error-404.B8Wdqtfs.css +1 -0
- package/dist/client/_nuxt/error-500.Cj9Kfu8q.css +1 -0
- package/dist/client/index.html +10 -10
- package/dist/module.cjs +5 -3
- package/dist/module.json +1 -1
- package/dist/module.mjs +5 -3
- package/dist/runtime/app/components/Templates/Community/BrandedLogo.vue +1 -1
- package/dist/runtime/app/components/Templates/Community/Frame.vue +2 -2
- package/dist/runtime/app/components/Templates/Community/Nuxt.vue +3 -3
- package/dist/runtime/app/components/Templates/Community/NuxtSeo.vue +5 -2
- package/dist/runtime/app/components/Templates/Community/Pergel.vue +4 -4
- package/dist/runtime/app/components/Templates/Community/SimpleBlog.vue +2 -2
- package/dist/runtime/app/components/Templates/Community/UnJs.vue +10 -4
- package/dist/runtime/app/components/Templates/Community/Wave.vue +1 -1
- package/dist/runtime/app/components/Templates/Community/WithEmoji.vue +1 -1
- package/dist/runtime/server/og-image/context.js +20 -4
- package/dist/runtime/server/og-image/satori/transforms/emojis/emoji-utils.d.ts +24 -0
- package/dist/runtime/server/og-image/satori/transforms/emojis/emoji-utils.js +76 -0
- package/dist/runtime/server/util/plugins.js +2 -14
- package/dist/runtime/shared.js +1 -1
- package/package.json +36 -39
- package/dist/client/_nuxt/Br6VVWxo.js +0 -1
- package/dist/client/_nuxt/Cw1iv1IW.js +0 -4017
- package/dist/client/_nuxt/Dtw-SHSX.js +0 -1
- package/dist/client/_nuxt/builds/meta/17f66c16-3b9b-4db1-b3c4-f2ed69a85873.json +0 -1
- package/dist/client/_nuxt/error-404.q4U0EoKE.css +0 -1
- package/dist/client/_nuxt/error-500.DXbjM38H.css +0 -1
- /package/dist/client/_nuxt/{entry.CPPV_4vb.css → entry.B0gj-CgF.css} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as s,u as a,c as i,o as u,a as e,t as o}from"./
|
|
1
|
+
import{_ as s,u as a,c as i,o as u,a as e,t as o}from"./De-qQEWw.js";const l={class:"antialiased bg-white dark:bg-black dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-black"},c={class:"max-w-520px text-center"},d=["textContent"],p=["textContent"],f={__name:"error-500",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},statusCode:{type:Number,default:500},statusMessage:{type:String,default:"Server error"},description:{type:String,default:"This page is temporarily unavailable."}},setup(t){const n=t;return a({title:`${n.statusCode} - ${n.statusMessage} | ${n.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver((e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)})).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:'*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1{font-size:inherit;font-weight:inherit}h1,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(g,r)=>(u(),i("div",l,[r[0]||(r[0]=e("div",{class:"-bottom-1/2 fixed h-1/2 left-0 right-0 spotlight"},null,-1)),e("div",c,[e("h1",{class:"font-medium mb-8 sm:text-10xl text-8xl",textContent:o(t.statusCode)},null,8,d),e("p",{class:"font-light leading-tight mb-16 px-8 sm:px-0 sm:text-4xl text-xl",textContent:o(t.description)},null,8,p)])]))}},h=s(f,[["__scopeId","data-v-232a872a"]]);export{h as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as a,u as i,c as u,o as c,a as e,t as r,b as l,w as d,d as p,e as f}from"./
|
|
1
|
+
import{_ as a,u as i,c as u,o as c,a as e,t as r,b as l,w as d,d as p,e as f}from"./De-qQEWw.js";const m={class:"antialiased bg-white dark:bg-black dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-black"},g={class:"max-w-520px text-center z-20"},b=["textContent"],h=["textContent"],x={class:"flex items-center justify-center w-full"},y={__name:"error-404",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},statusCode:{type:Number,default:404},statusMessage:{type:String,default:"Not Found"},description:{type:String,default:"Sorry, the page you are looking for could not be found."},backHome:{type:String,default:"Go back home"}},setup(t){const n=t;return i({title:`${n.statusCode} - ${n.statusMessage} | ${n.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver((e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)})).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:'*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}h1,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(k,o)=>{const s=f;return c(),u("div",m,[o[0]||(o[0]=e("div",{class:"fixed left-0 right-0 spotlight z-10"},null,-1)),e("div",g,[e("h1",{class:"font-medium mb-8 sm:text-10xl text-8xl",textContent:r(t.statusCode)},null,8,b),e("p",{class:"font-light leading-tight mb-16 px-8 sm:px-0 sm:text-4xl text-xl",textContent:r(t.description)},null,8,h),e("div",x,[l(s,{to:"/",class:"cursor-pointer gradient-border px-4 py-2 sm:px-6 sm:py-3 sm:text-xl text-md"},{default:d(()=>[p(r(t.backHome),1)]),_:1})])])])}}},_=a(y,[["__scopeId","data-v-614499fb"]]);export{_ as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"id":"
|
|
1
|
+
{"id":"e8cf65e2-e6ce-426c-84bd-d6a74b10ae7a","timestamp":1747715432026}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"id":"dev","timestamp":1747715432208,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"id":"e8cf65e2-e6ce-426c-84bd-d6a74b10ae7a","timestamp":1747715432026,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.spotlight[data-v-614499fb]{background:linear-gradient(45deg,#00dc82,#36e4da 50%,#0047e1);bottom:-30vh;filter:blur(20vh);height:40vh}.gradient-border[data-v-614499fb]{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:.5rem;position:relative}@media (prefers-color-scheme:light){.gradient-border[data-v-614499fb]{background-color:#ffffff4d}.gradient-border[data-v-614499fb]:before{background:linear-gradient(90deg,#e2e2e2,#e2e2e2 25%,#00dc82,#36e4da 75%,#0047e1)}}@media (prefers-color-scheme:dark){.gradient-border[data-v-614499fb]{background-color:#1414144d}.gradient-border[data-v-614499fb]:before{background:linear-gradient(90deg,#303030,#303030 25%,#00dc82,#36e4da 75%,#0047e1)}}.gradient-border[data-v-614499fb]:before{background-size:400% auto;border-radius:.5rem;bottom:0;content:"";left:0;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.5;padding:2px;position:absolute;right:0;top:0;transition:background-position .3s ease-in-out,opacity .2s ease-in-out;width:100%}.gradient-border[data-v-614499fb]:hover:before{background-position:-50% 0;opacity:1}.fixed[data-v-614499fb]{position:fixed}.left-0[data-v-614499fb]{left:0}.right-0[data-v-614499fb]{right:0}.z-10[data-v-614499fb]{z-index:10}.z-20[data-v-614499fb]{z-index:20}.grid[data-v-614499fb]{display:grid}.mb-16[data-v-614499fb]{margin-bottom:4rem}.mb-8[data-v-614499fb]{margin-bottom:2rem}.max-w-520px[data-v-614499fb]{max-width:520px}.min-h-screen[data-v-614499fb]{min-height:100vh}.w-full[data-v-614499fb]{width:100%}.flex[data-v-614499fb]{display:flex}.cursor-pointer[data-v-614499fb]{cursor:pointer}.place-content-center[data-v-614499fb]{place-content:center}.items-center[data-v-614499fb]{align-items:center}.justify-center[data-v-614499fb]{justify-content:center}.overflow-hidden[data-v-614499fb]{overflow:hidden}.bg-white[data-v-614499fb]{--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity))}.px-4[data-v-614499fb]{padding-left:1rem;padding-right:1rem}.px-8[data-v-614499fb]{padding-left:2rem;padding-right:2rem}.py-2[data-v-614499fb]{padding-bottom:.5rem;padding-top:.5rem}.text-center[data-v-614499fb]{text-align:center}.text-8xl[data-v-614499fb]{font-size:6rem;line-height:1}.text-xl[data-v-614499fb]{font-size:1.25rem;line-height:1.75rem}.text-black[data-v-614499fb]{--un-text-opacity:1;color:rgb(0 0 0/var(--un-text-opacity))}.font-light[data-v-614499fb]{font-weight:300}.font-medium[data-v-614499fb]{font-weight:500}.leading-tight[data-v-614499fb]{line-height:1.25}.font-sans[data-v-614499fb]{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.antialiased[data-v-614499fb]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){.dark\:bg-black[data-v-614499fb]{--un-bg-opacity:1;background-color:rgb(0 0 0/var(--un-bg-opacity))}.dark\:text-white[data-v-614499fb]{--un-text-opacity:1;color:rgb(255 255 255/var(--un-text-opacity))}}@media (min-width:640px){.sm\:px-0[data-v-614499fb]{padding-left:0;padding-right:0}.sm\:px-6[data-v-614499fb]{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-3[data-v-614499fb]{padding-bottom:.75rem;padding-top:.75rem}.sm\:text-4xl[data-v-614499fb]{font-size:2.25rem;line-height:2.5rem}.sm\:text-xl[data-v-614499fb]{font-size:1.25rem;line-height:1.75rem}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.spotlight[data-v-232a872a]{background:linear-gradient(45deg,#00dc82,#36e4da 50%,#0047e1);filter:blur(20vh)}.fixed[data-v-232a872a]{position:fixed}.-bottom-1\/2[data-v-232a872a]{bottom:-50%}.left-0[data-v-232a872a]{left:0}.right-0[data-v-232a872a]{right:0}.grid[data-v-232a872a]{display:grid}.mb-16[data-v-232a872a]{margin-bottom:4rem}.mb-8[data-v-232a872a]{margin-bottom:2rem}.h-1\/2[data-v-232a872a]{height:50%}.max-w-520px[data-v-232a872a]{max-width:520px}.min-h-screen[data-v-232a872a]{min-height:100vh}.place-content-center[data-v-232a872a]{place-content:center}.overflow-hidden[data-v-232a872a]{overflow:hidden}.bg-white[data-v-232a872a]{--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity))}.px-8[data-v-232a872a]{padding-left:2rem;padding-right:2rem}.text-center[data-v-232a872a]{text-align:center}.text-8xl[data-v-232a872a]{font-size:6rem;line-height:1}.text-xl[data-v-232a872a]{font-size:1.25rem;line-height:1.75rem}.text-black[data-v-232a872a]{--un-text-opacity:1;color:rgb(0 0 0/var(--un-text-opacity))}.font-light[data-v-232a872a]{font-weight:300}.font-medium[data-v-232a872a]{font-weight:500}.leading-tight[data-v-232a872a]{line-height:1.25}.font-sans[data-v-232a872a]{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.antialiased[data-v-232a872a]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){.dark\:bg-black[data-v-232a872a]{--un-bg-opacity:1;background-color:rgb(0 0 0/var(--un-bg-opacity))}.dark\:text-white[data-v-232a872a]{--un-text-opacity:1;color:rgb(255 255 255/var(--un-text-opacity))}}@media (min-width:640px){.sm\:px-0[data-v-232a872a]{padding-left:0;padding-right:0}.sm\:text-4xl[data-v-232a872a]{font-size:2.25rem;line-height:2.5rem}}
|
package/dist/client/index.html
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
<!DOCTYPE html><html><head><meta charset="utf-8">
|
|
2
2
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
3
|
-
<link rel="stylesheet" href="/__nuxt-og-image/_nuxt/entry.
|
|
4
|
-
<link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/
|
|
3
|
+
<link rel="stylesheet" href="/__nuxt-og-image/_nuxt/entry.B0gj-CgF.css" crossorigin>
|
|
4
|
+
<link rel="modulepreload" as="script" crossorigin href="/__nuxt-og-image/_nuxt/De-qQEWw.js">
|
|
5
5
|
<link rel="prefetch" as="script" crossorigin href="/__nuxt-og-image/_nuxt/CVO1_9PV.js">
|
|
6
6
|
<link rel="prefetch" as="script" crossorigin href="/__nuxt-og-image/_nuxt/D0r3Knsf.js">
|
|
7
|
-
<link rel="prefetch" as="script" crossorigin href="/__nuxt-og-image/_nuxt/
|
|
8
|
-
<link rel="prefetch" as="script" crossorigin href="/__nuxt-og-image/_nuxt/
|
|
7
|
+
<link rel="prefetch" as="script" crossorigin href="/__nuxt-og-image/_nuxt/B8PEiB0p.js">
|
|
8
|
+
<link rel="prefetch" as="script" crossorigin href="/__nuxt-og-image/_nuxt/Cp-IABpG.js">
|
|
9
9
|
<link rel="prefetch" as="script" crossorigin href="/__nuxt-og-image/_nuxt/B6E6ObS_.js">
|
|
10
|
-
<link rel="prefetch" as="style" crossorigin href="/__nuxt-og-image/_nuxt/error-404.
|
|
11
|
-
<link rel="prefetch" as="script" crossorigin href="/__nuxt-og-image/_nuxt/
|
|
12
|
-
<link rel="prefetch" as="style" crossorigin href="/__nuxt-og-image/_nuxt/error-500.
|
|
13
|
-
<link rel="prefetch" as="script" crossorigin href="/__nuxt-og-image/_nuxt/
|
|
14
|
-
<script type="module" src="/__nuxt-og-image/_nuxt/
|
|
15
|
-
<script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-og-image",buildId:"
|
|
10
|
+
<link rel="prefetch" as="style" crossorigin href="/__nuxt-og-image/_nuxt/error-404.B8Wdqtfs.css">
|
|
11
|
+
<link rel="prefetch" as="script" crossorigin href="/__nuxt-og-image/_nuxt/DriqWBeb.js">
|
|
12
|
+
<link rel="prefetch" as="style" crossorigin href="/__nuxt-og-image/_nuxt/error-500.Cj9Kfu8q.css">
|
|
13
|
+
<link rel="prefetch" as="script" crossorigin href="/__nuxt-og-image/_nuxt/Dr5ncp7f.js">
|
|
14
|
+
<script type="module" src="/__nuxt-og-image/_nuxt/De-qQEWw.js" crossorigin></script></head><body><div id="__nuxt"></div><div id="teleports"></div><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1747715437580,false]</script>
|
|
15
|
+
<script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-og-image",buildId:"e8cf65e2-e6ce-426c-84bd-d6a74b10ae7a",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script></body></html>
|
package/dist/module.cjs
CHANGED
|
@@ -566,6 +566,7 @@ function normaliseFontInput(fonts) {
|
|
|
566
566
|
});
|
|
567
567
|
}
|
|
568
568
|
|
|
569
|
+
const IS_MODULE_DEVELOPMENT = undefined.endsWith(".ts");
|
|
569
570
|
function isProviderEnabledForEnv(provider, nuxt, config) {
|
|
570
571
|
return nuxt.options.dev && config.compatibility?.dev?.[provider] !== false || !nuxt.options.dev && (config.compatibility?.runtime?.[provider] !== false || config.compatibility?.prerender?.[provider] !== false);
|
|
571
572
|
}
|
|
@@ -833,8 +834,8 @@ const module$1 = kit.defineNuxtModule({
|
|
|
833
834
|
if (!config.zeroRuntime || nuxt.options.dev) {
|
|
834
835
|
kit.addComponentsDir({
|
|
835
836
|
path: resolve("./runtime/app/components/Templates/Community"),
|
|
836
|
-
island: true
|
|
837
|
-
|
|
837
|
+
island: true,
|
|
838
|
+
watch: IS_MODULE_DEVELOPMENT
|
|
838
839
|
});
|
|
839
840
|
}
|
|
840
841
|
[
|
|
@@ -856,7 +857,8 @@ const module$1 = kit.defineNuxtModule({
|
|
|
856
857
|
if (fs.existsSync(path)) {
|
|
857
858
|
kit.addComponentsDir({
|
|
858
859
|
path,
|
|
859
|
-
island: true
|
|
860
|
+
island: true,
|
|
861
|
+
watch: IS_MODULE_DEVELOPMENT
|
|
860
862
|
});
|
|
861
863
|
} else if (!defaultComponentDirs.includes(componentDir)) {
|
|
862
864
|
logger_js.logger.warn(`The configured component directory \`./${pathe.relative(nuxt.options.rootDir, path)}\` does not exist. Skipping.`);
|
package/dist/module.json
CHANGED
package/dist/module.mjs
CHANGED
|
@@ -546,6 +546,7 @@ function normaliseFontInput(fonts) {
|
|
|
546
546
|
});
|
|
547
547
|
}
|
|
548
548
|
|
|
549
|
+
const IS_MODULE_DEVELOPMENT = import.meta.filename.endsWith(".ts");
|
|
549
550
|
function isProviderEnabledForEnv(provider, nuxt, config) {
|
|
550
551
|
return nuxt.options.dev && config.compatibility?.dev?.[provider] !== false || !nuxt.options.dev && (config.compatibility?.runtime?.[provider] !== false || config.compatibility?.prerender?.[provider] !== false);
|
|
551
552
|
}
|
|
@@ -813,8 +814,8 @@ const module = defineNuxtModule({
|
|
|
813
814
|
if (!config.zeroRuntime || nuxt.options.dev) {
|
|
814
815
|
addComponentsDir({
|
|
815
816
|
path: resolve("./runtime/app/components/Templates/Community"),
|
|
816
|
-
island: true
|
|
817
|
-
|
|
817
|
+
island: true,
|
|
818
|
+
watch: IS_MODULE_DEVELOPMENT
|
|
818
819
|
});
|
|
819
820
|
}
|
|
820
821
|
[
|
|
@@ -836,7 +837,8 @@ const module = defineNuxtModule({
|
|
|
836
837
|
if (existsSync(path)) {
|
|
837
838
|
addComponentsDir({
|
|
838
839
|
path,
|
|
839
|
-
island: true
|
|
840
|
+
island: true,
|
|
841
|
+
watch: IS_MODULE_DEVELOPMENT
|
|
840
842
|
});
|
|
841
843
|
} else if (!defaultComponentDirs.includes(componentDir)) {
|
|
842
844
|
logger.warn(`The configured component directory \`./${relative$1(nuxt.options.rootDir, path)}\` does not exist. Skipping.`);
|
|
@@ -13,7 +13,7 @@ defineProps({
|
|
|
13
13
|
<div class="flex items-start justify-start h-full">
|
|
14
14
|
<div class="flex flex-col justify-between w-full h-full p-20">
|
|
15
15
|
<img :src="logo" height="50">
|
|
16
|
-
<h1 class="text-[60px] text-white font-bold text-left">
|
|
16
|
+
<h1 class="text-[60px] text-white font-bold text-left" style="display: block; line-clamp: 2; text-overflow: ellipsis;">
|
|
17
17
|
{{ title }}
|
|
18
18
|
</h1>
|
|
19
19
|
</div>
|
|
@@ -22,14 +22,14 @@ defineProps({
|
|
|
22
22
|
:style="{ backgroundImage: `url(${image})` }"
|
|
23
23
|
/>
|
|
24
24
|
<div class="flex flex-col items-center text-center">
|
|
25
|
-
<h1 class="flex gap-4 text-7xl font-bold">
|
|
25
|
+
<h1 class="flex gap-4 text-7xl font-bold" style="display: block; line-clamp: 2; text-overflow: ellipsis;">
|
|
26
26
|
<Icon
|
|
27
27
|
v-if="icon"
|
|
28
28
|
:name="icon"
|
|
29
29
|
/>
|
|
30
30
|
{{ title }}
|
|
31
31
|
</h1>
|
|
32
|
-
<p class="text-2xl max-w-3xl">
|
|
32
|
+
<p class="text-2xl max-w-3xl" style="display: block; line-clamp: 3; text-overflow: ellipsis;">
|
|
33
33
|
{{ description }}
|
|
34
34
|
</p>
|
|
35
35
|
</div>
|
|
@@ -43,10 +43,10 @@ const description = computed(() => (props.description || "").slice(0, 200));
|
|
|
43
43
|
<p v-if="headline" class="uppercase text-[24px] text-[#00DC82] mb-4 font-semibold">
|
|
44
44
|
{{ headline }}
|
|
45
45
|
</p>
|
|
46
|
-
<h1 v-if="title" class="w-[600px] m-0 text-[75px] font-semibold mb-4 text-white
|
|
47
|
-
|
|
46
|
+
<h1 v-if="title" class="w-[600px] m-0 text-[75px] font-semibold mb-4 text-white" style="display: block; line-clamp: 2; text-overflow: ellipsis;">
|
|
47
|
+
{{ title }}
|
|
48
48
|
</h1>
|
|
49
|
-
<p v-if="description" class="text-[32px] text-[#E4E4E7] leading-tight">
|
|
49
|
+
<p v-if="description" class="text-[32px] text-[#E4E4E7] leading-tight" style="display: block; line-clamp: 3; text-overflow: ellipsis;">
|
|
50
50
|
{{ description }}
|
|
51
51
|
</p>
|
|
52
52
|
</div>
|
|
@@ -69,13 +69,16 @@ if (typeof props.icon === "string" && !runtimeConfig.hasNuxtIcon && process.dev)
|
|
|
69
69
|
<div class="h-full w-full justify-between relative">
|
|
70
70
|
<div class="flex flex-row justify-between items-start">
|
|
71
71
|
<div class="flex flex-col w-full max-w-[65%]">
|
|
72
|
-
<h1 class="m-0 font-bold mb-[30px] text-[75px]">
|
|
72
|
+
<h1 class="m-0 font-bold mb-[30px] text-[75px]" style="display: block; text-overflow: ellipsis;" :style="{ lineClamp: description ? 2 : 3 }">
|
|
73
73
|
{{ title }}
|
|
74
74
|
</h1>
|
|
75
75
|
<p
|
|
76
|
-
v-if="description"
|
|
76
|
+
v-if="description"
|
|
77
|
+
class="text-[35px] leading-12"
|
|
78
|
+
:class="[
|
|
77
79
|
colorMode === 'light' ? ['text-gray-700'] : ['text-gray-300']
|
|
78
80
|
]"
|
|
81
|
+
style="display: block; line-clamp: 3; text-overflow: ellipsis;"
|
|
79
82
|
>
|
|
80
83
|
{{ description }}
|
|
81
84
|
</p>
|
|
@@ -29,11 +29,11 @@ const title = computed(() => props.title.slice(0, 60));
|
|
|
29
29
|
<p v-if="headline" class="uppercase text-[24px] text-[#FEC476] mb-4 font-semibold">
|
|
30
30
|
{{ headline }}
|
|
31
31
|
</p>
|
|
32
|
-
<h1 class="w-[600px] m-0 text-[75px] font-semibold mb-4 text-white
|
|
33
|
-
|
|
32
|
+
<h1 class="w-[600px] m-0 text-[75px] font-semibold mb-4 text-white" style="display: block; line-clamp: 2; text-overflow: ellipsis;">
|
|
33
|
+
{{ title }}
|
|
34
34
|
</h1>
|
|
35
|
-
<p class="text-[32px] text-[#E4E4E7] leading-tight">
|
|
36
|
-
{{ description
|
|
35
|
+
<p class="text-[32px] text-[#E4E4E7] leading-tight" style="display: block; line-clamp: 3; text-overflow: ellipsis;">
|
|
36
|
+
{{ description }}
|
|
37
37
|
</p>
|
|
38
38
|
</div>
|
|
39
39
|
|
|
@@ -14,10 +14,10 @@ const website = computed(() => {
|
|
|
14
14
|
<div class="h-full w-full flex items-start justify-start border-solid border-blue-500 border-[12px] bg-gray-50">
|
|
15
15
|
<div class="flex items-start justify-start h-full">
|
|
16
16
|
<div class="flex flex-col justify-between w-full h-full">
|
|
17
|
-
<h1 class="text-[80px] p-20 font-black text-left">
|
|
17
|
+
<h1 class="text-[80px] p-20 font-black text-left" style="display: block; line-clamp: 2; text-overflow: ellipsis;">
|
|
18
18
|
{{ title }}
|
|
19
19
|
</h1>
|
|
20
|
-
<p class="text-2xl pb-10 px-20 font-bold mb-0">
|
|
20
|
+
<p class="text-2xl pb-10 px-20 font-bold mb-0" style="display: block; line-clamp: 3; text-overflow: ellipsis;">
|
|
21
21
|
{{ website }}
|
|
22
22
|
</p>
|
|
23
23
|
</div>
|
|
@@ -25,11 +25,17 @@ const description = computed(() => (props.description || "").slice(0, 200));
|
|
|
25
25
|
<div class="flex flex-row justify-between">
|
|
26
26
|
<div class="max-w-[700px]">
|
|
27
27
|
<h1 class="mb-[30px] max-w-[700px] text-[60px] text-gray-900 font-normal flex flex-row">
|
|
28
|
-
<
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
<p style="display: block; overflow: hidden; line-clamp: 1; text-overflow: clip;">
|
|
29
|
+
{{ org }}
|
|
30
|
+
</p>
|
|
31
|
+
<p v-if="repo" style="display: block; overflow: hidden; line-clamp: 1; text-overflow: clip;" class="ml-2">
|
|
32
|
+
/
|
|
33
|
+
</p>
|
|
34
|
+
<p v-if="repo" style="display: block; overflow: hidden; line-clamp: 1; text-overflow: clip;" class="ml-2 font-bold">
|
|
35
|
+
{{ repo }}
|
|
36
|
+
</p>
|
|
31
37
|
</h1>
|
|
32
|
-
<p class="text-gray-500 max-w-[700px] text-[35px] leading-[60px]">
|
|
38
|
+
<p class="text-gray-500 max-w-[700px] text-[35px] leading-[60px]" style="display: block; line-clamp: 3; text-overflow: ellipsis;">
|
|
33
39
|
{{ description }}
|
|
34
40
|
</p>
|
|
35
41
|
</div>
|
|
@@ -6,7 +6,7 @@ defineProps({
|
|
|
6
6
|
|
|
7
7
|
<template>
|
|
8
8
|
<div class="h-full w-full flex items-start justify-start bg-yellow-50 relative">
|
|
9
|
-
<h1 class="text-7xl p-20 font-bold text-left text-gray-900">
|
|
9
|
+
<h1 class="text-7xl p-20 font-bold text-left text-gray-900" style="display: block; line-clamp: 2; text-overflow: ellipsis;">
|
|
10
10
|
{{ title }}
|
|
11
11
|
</h1>
|
|
12
12
|
|
|
@@ -12,7 +12,7 @@ defineProps({
|
|
|
12
12
|
<p class="text-[120px] mx-auto text-center font-bold mb-0">
|
|
13
13
|
{{ emoji }}
|
|
14
14
|
</p>
|
|
15
|
-
<h1 class="text-[60px] font-bold">
|
|
15
|
+
<h1 class="text-[60px] font-bold" style="display: block; line-clamp: 2; text-overflow: ellipsis;">
|
|
16
16
|
{{ title }}
|
|
17
17
|
</h1>
|
|
18
18
|
</div>
|
|
@@ -51,14 +51,30 @@ export async function resolveContext(e) {
|
|
|
51
51
|
statusMessage: `[Nuxt OG Image] Unknown OG Image type ${extension}.`
|
|
52
52
|
});
|
|
53
53
|
}
|
|
54
|
-
|
|
55
|
-
queryParams
|
|
54
|
+
const query = getQuery(e);
|
|
55
|
+
let queryParams = {};
|
|
56
|
+
for (const k in query) {
|
|
57
|
+
const v = String(query[k]);
|
|
58
|
+
if (!v)
|
|
59
|
+
continue;
|
|
60
|
+
if (v.startsWith("{")) {
|
|
61
|
+
try {
|
|
62
|
+
queryParams[k] = JSON.parse(v);
|
|
63
|
+
} catch (error) {
|
|
64
|
+
if (import.meta.dev) {
|
|
65
|
+
logger.error(`[Nuxt OG Image] Invalid JSON in ${k} parameter: ${error.message}`);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
} else {
|
|
69
|
+
queryParams[k] = v;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
56
72
|
queryParams = separateProps(queryParams);
|
|
57
73
|
let basePath = withoutTrailingSlash(
|
|
58
74
|
path.replace(`/__og-image__/image`, "").replace(`/__og-image__/static`, "").replace(`/og.${extension}`, "")
|
|
59
75
|
);
|
|
60
|
-
if (queryParams._query)
|
|
61
|
-
basePath = withQuery(basePath,
|
|
76
|
+
if (queryParams._query && typeof queryParams._query === "object")
|
|
77
|
+
basePath = withQuery(basePath, queryParams._query);
|
|
62
78
|
const isDebugJsonPayload = extension === "json" && runtimeConfig.debug;
|
|
63
79
|
const key = resolvePathCacheKey(e, basePath);
|
|
64
80
|
let options = queryParams.options;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Emoji Unicode to name mapping utilities
|
|
3
|
+
*
|
|
4
|
+
* This file provides utilities for converting Unicode emoji characters to their
|
|
5
|
+
* corresponding Iconify icon names, using a more efficient approach than a large
|
|
6
|
+
* hardcoded mapping.
|
|
7
|
+
*/
|
|
8
|
+
export declare const EMOJI_PREFIXES: Record<string, string[]>;
|
|
9
|
+
export declare const KNOWN_EMOJI_NAMES: Record<string, string>;
|
|
10
|
+
/**
|
|
11
|
+
* Gets possible Iconify icon names for a given Unicode emoji
|
|
12
|
+
*
|
|
13
|
+
* @param codePoint The Unicode code point as a hex string (e.g., "1f44b" for 👋)
|
|
14
|
+
* @param emojiSet The emoji set to use (e.g., "noto")
|
|
15
|
+
* @returns An array of possible icon names to try
|
|
16
|
+
*/
|
|
17
|
+
export declare function getEmojiIconNames(codePoint: string, emojiSet: string): string[];
|
|
18
|
+
/**
|
|
19
|
+
* Gets the code point for a Unicode emoji character
|
|
20
|
+
*
|
|
21
|
+
* @param emoji The emoji character (e.g., "👋")
|
|
22
|
+
* @returns Hex code point (e.g., "1f44b")
|
|
23
|
+
*/
|
|
24
|
+
export declare function getEmojiCodePoint(emoji: string): string;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
export const EMOJI_PREFIXES = {
|
|
2
|
+
// Most emoji sets use kebab-case naming
|
|
3
|
+
"default": ["emoji-", ""],
|
|
4
|
+
// Some sets may have specific prefixes
|
|
5
|
+
"noto": ["", "emoji-"],
|
|
6
|
+
"twemoji": ["", "emoji-"],
|
|
7
|
+
"fluent-emoji": ["", "emoji-"],
|
|
8
|
+
"fluent-emoji-flat": ["", "emoji-"],
|
|
9
|
+
"fluent-emoji-high-contrast": ["", "emoji-"],
|
|
10
|
+
"openmoji": ["", "emoji-"],
|
|
11
|
+
"emojione": ["", "emoji-"]
|
|
12
|
+
};
|
|
13
|
+
export const KNOWN_EMOJI_NAMES = {
|
|
14
|
+
"1f44b": "waving-hand",
|
|
15
|
+
"1f600": "grinning-face",
|
|
16
|
+
"1f604": "grinning-face-with-smiling-eyes",
|
|
17
|
+
"1f60d": "smiling-face-with-heart-eyes",
|
|
18
|
+
"1f618": "face-blowing-a-kiss",
|
|
19
|
+
"1f44d": "thumbs-up",
|
|
20
|
+
"1f44e": "thumbs-down",
|
|
21
|
+
"1f389": "party-popper",
|
|
22
|
+
"1f680": "rocket",
|
|
23
|
+
"1f4a5": "collision",
|
|
24
|
+
"1f525": "fire",
|
|
25
|
+
"1f381": "wrapped-gift",
|
|
26
|
+
"1f602": "face-with-tears-of-joy",
|
|
27
|
+
"1f970": "smiling-face-with-hearts",
|
|
28
|
+
"1f60a": "smiling-face-with-smiling-eyes",
|
|
29
|
+
"1f973": "partying-face",
|
|
30
|
+
"2764": "red-heart",
|
|
31
|
+
"1f49b": "yellow-heart",
|
|
32
|
+
"1f499": "blue-heart",
|
|
33
|
+
"1f49a": "green-heart",
|
|
34
|
+
"1f49c": "purple-heart",
|
|
35
|
+
"1f496": "sparkling-heart",
|
|
36
|
+
"1f495": "two-hearts",
|
|
37
|
+
"1f4af": "hundred-points",
|
|
38
|
+
"1f4aa": "flexed-biceps",
|
|
39
|
+
"1f44f": "clapping-hands",
|
|
40
|
+
"1f64f": "folded-hands",
|
|
41
|
+
"1f64c": "raising-hands",
|
|
42
|
+
"1f9d0": "face-with-monocle",
|
|
43
|
+
"1f914": "thinking-face",
|
|
44
|
+
"1f605": "grinning-face-with-sweat",
|
|
45
|
+
"1f643": "upside-down-face",
|
|
46
|
+
"1f609": "winking-face",
|
|
47
|
+
"1f60e": "smiling-face-with-sunglasses",
|
|
48
|
+
"1f385": "santa-claus",
|
|
49
|
+
"1f384": "christmas-tree",
|
|
50
|
+
"1f334": "palm-tree",
|
|
51
|
+
"1f419": "octopus",
|
|
52
|
+
"1f98b": "butterfly",
|
|
53
|
+
"1f41d": "honeybee",
|
|
54
|
+
"1f436": "dog-face",
|
|
55
|
+
"1f431": "cat-face",
|
|
56
|
+
"1f427": "penguin",
|
|
57
|
+
"1f98a": "fox",
|
|
58
|
+
"1f438": "frog"
|
|
59
|
+
};
|
|
60
|
+
export function getEmojiIconNames(codePoint, emojiSet) {
|
|
61
|
+
const prefixes = EMOJI_PREFIXES[emojiSet] || EMOJI_PREFIXES.default;
|
|
62
|
+
if (KNOWN_EMOJI_NAMES[codePoint]) {
|
|
63
|
+
return prefixes.map((prefix) => `${prefix}${KNOWN_EMOJI_NAMES[codePoint]}`);
|
|
64
|
+
}
|
|
65
|
+
return [
|
|
66
|
+
// Try direct code point (e.g., "1f44b")
|
|
67
|
+
codePoint,
|
|
68
|
+
// Try with u prefix (e.g., "u1f44b")
|
|
69
|
+
`u${codePoint}`,
|
|
70
|
+
// Try with emoji- prefix (e.g., "emoji-u1f44b")
|
|
71
|
+
...prefixes.map((prefix) => `${prefix}u${codePoint}`)
|
|
72
|
+
];
|
|
73
|
+
}
|
|
74
|
+
export function getEmojiCodePoint(emoji) {
|
|
75
|
+
return emoji.codePointAt(0).toString(16);
|
|
76
|
+
}
|
|
@@ -21,7 +21,7 @@ export function nuxtContentPlugin(nitroApp) {
|
|
|
21
21
|
let src = optionsWithDefault.url || getOgImagePath(path, optionsWithDefault);
|
|
22
22
|
if (optionsWithDefault._query && Object.keys(optionsWithDefault._query).length)
|
|
23
23
|
src = withQuery(src, { _query: optionsWithDefault._query });
|
|
24
|
-
const meta = generateMeta(src,
|
|
24
|
+
const meta = generateMeta(src, ogImageConfig);
|
|
25
25
|
if (optionsWithDefault.url) {
|
|
26
26
|
content.head = defu({ meta }, content.head);
|
|
27
27
|
return content;
|
|
@@ -47,19 +47,7 @@ export function nuxtContentPlugin(nitroApp) {
|
|
|
47
47
|
// slighty higher priority
|
|
48
48
|
}
|
|
49
49
|
],
|
|
50
|
-
meta:
|
|
51
|
-
{ property: "og:image", content: src },
|
|
52
|
-
{ property: "og:image:width", content: optionsWithDefault.width },
|
|
53
|
-
{ property: "og:image:height", content: optionsWithDefault.height },
|
|
54
|
-
{ property: "og:image:type", content: `image/${optionsWithDefault.extension}` },
|
|
55
|
-
{ property: "og:image:alt", content: optionsWithDefault.alt },
|
|
56
|
-
// twitter
|
|
57
|
-
{ name: "twitter:card", content: "summary_large_image" },
|
|
58
|
-
{ name: "twitter:image:src", content: src },
|
|
59
|
-
{ name: "twitter:image:width", content: optionsWithDefault.width },
|
|
60
|
-
{ name: "twitter:image:height", content: optionsWithDefault.height },
|
|
61
|
-
{ name: "twitter:image:alt", content: optionsWithDefault.alt }
|
|
62
|
-
]
|
|
50
|
+
meta: generateMeta(src, optionsWithDefault)
|
|
63
51
|
}, content.head);
|
|
64
52
|
}
|
|
65
53
|
return content;
|
package/dist/runtime/shared.js
CHANGED
|
@@ -6,7 +6,7 @@ export * from "./pure.js";
|
|
|
6
6
|
export function generateMeta(url, resolvedOptions) {
|
|
7
7
|
const meta = [
|
|
8
8
|
{ property: "og:image", content: url },
|
|
9
|
-
{ property: "og:image:type", content: () => `image/${
|
|
9
|
+
{ property: "og:image:type", content: () => `image/${getExtension(toValue(url)) || resolvedOptions.extension}` },
|
|
10
10
|
{ name: "twitter:card", content: "summary_large_image" },
|
|
11
11
|
// we don't need this but avoids issue when using useSeoMeta({ twitterImage })
|
|
12
12
|
{ name: "twitter:image", content: url },
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nuxt-og-image",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "5.1.
|
|
4
|
+
"version": "5.1.4",
|
|
5
5
|
"description": "Enlightened OG Image generation for Nuxt.",
|
|
6
6
|
"author": {
|
|
7
7
|
"website": "https://harlanzw.com",
|
|
@@ -48,77 +48,74 @@
|
|
|
48
48
|
"unstorage": "^1.15.0"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@nuxt/devtools-kit": "^2.4.
|
|
52
|
-
"@nuxt/kit": "^3.
|
|
51
|
+
"@nuxt/devtools-kit": "^2.4.1",
|
|
52
|
+
"@nuxt/kit": "^3.17.3",
|
|
53
53
|
"@resvg/resvg-js": "^2.6.2",
|
|
54
54
|
"@resvg/resvg-wasm": "^2.6.2",
|
|
55
|
-
"@unocss/core": "^66.
|
|
56
|
-
"@unocss/preset-wind3": "^66.
|
|
57
|
-
"chrome-launcher": "^1.
|
|
55
|
+
"@unocss/core": "^66.1.2",
|
|
56
|
+
"@unocss/preset-wind3": "^66.1.2",
|
|
57
|
+
"chrome-launcher": "^1.2.0",
|
|
58
58
|
"consola": "^3.4.2",
|
|
59
59
|
"defu": "^6.1.4",
|
|
60
|
-
"execa": "^9.5.
|
|
60
|
+
"execa": "^9.5.3",
|
|
61
61
|
"image-size": "^2.0.2",
|
|
62
62
|
"magic-string": "^0.30.17",
|
|
63
63
|
"mocked-exports": "^0.1.1",
|
|
64
|
-
"nuxt-site-config": "^3.
|
|
64
|
+
"nuxt-site-config": "^3.2.0",
|
|
65
65
|
"nypm": "^0.6.0",
|
|
66
66
|
"ofetch": "^1.4.1",
|
|
67
67
|
"ohash": "^2.0.11",
|
|
68
68
|
"pathe": "^2.0.3",
|
|
69
69
|
"pkg-types": "^2.1.0",
|
|
70
|
-
"playwright-core": "^1.
|
|
70
|
+
"playwright-core": "^1.52.0",
|
|
71
71
|
"radix3": "^1.1.2",
|
|
72
|
-
"satori": "^0.
|
|
72
|
+
"satori": "^0.13.1",
|
|
73
73
|
"satori-html": "^0.3.2",
|
|
74
74
|
"sirv": "^3.0.1",
|
|
75
75
|
"std-env": "^3.9.0",
|
|
76
76
|
"strip-literal": "^3.0.0",
|
|
77
77
|
"ufo": "^1.6.1",
|
|
78
|
-
"unplugin": "^2.3.
|
|
78
|
+
"unplugin": "^2.3.4",
|
|
79
79
|
"unwasm": "^0.3.9",
|
|
80
80
|
"yoga-wasm-web": "^0.3.3"
|
|
81
81
|
},
|
|
82
82
|
"devDependencies": {
|
|
83
|
-
"@antfu/eslint-config": "^4.
|
|
83
|
+
"@antfu/eslint-config": "^4.13.1",
|
|
84
84
|
"@css-inline/css-inline": "^0.14.3",
|
|
85
85
|
"@headlessui/vue": "^1.7.23",
|
|
86
86
|
"@iconify-json/carbon": "^1.2.8",
|
|
87
87
|
"@iconify-json/logos": "^1.2.4",
|
|
88
88
|
"@iconify-json/noto": "^1.2.3",
|
|
89
89
|
"@iconify-json/ri": "^1.2.5",
|
|
90
|
-
"@iconify-json/tabler": "^1.2.
|
|
91
|
-
"@img/sharp-linux-x64": "0.34.1",
|
|
92
|
-
"@nuxt/content": "^3.
|
|
93
|
-
"@nuxt/devtools": "^2.4.
|
|
94
|
-
"@nuxt/devtools-ui-kit": "^2.4.
|
|
95
|
-
"@nuxt/icon": "^1.
|
|
90
|
+
"@iconify-json/tabler": "^1.2.18",
|
|
91
|
+
"@img/sharp-linux-x64": "^0.34.1",
|
|
92
|
+
"@nuxt/content": "^3.5.1",
|
|
93
|
+
"@nuxt/devtools": "^2.4.1",
|
|
94
|
+
"@nuxt/devtools-ui-kit": "^2.4.1",
|
|
95
|
+
"@nuxt/icon": "^1.13.0",
|
|
96
96
|
"@nuxt/image": "^1.10.0",
|
|
97
97
|
"@nuxt/module-builder": "^1.0.1",
|
|
98
|
-
"@nuxt/test-utils": "3.
|
|
99
|
-
"@nuxt/ui": "^3.
|
|
98
|
+
"@nuxt/test-utils": "^3.19.0",
|
|
99
|
+
"@nuxt/ui": "^3.1.2",
|
|
100
100
|
"@nuxtjs/color-mode": "^3.5.2",
|
|
101
101
|
"@nuxtjs/eslint-config-typescript": "^12.1.0",
|
|
102
|
-
"@nuxtjs/i18n": "^9.5.
|
|
103
|
-
"@nuxtjs/tailwindcss": "^6.
|
|
104
|
-
"@unocss/nuxt": "^66.
|
|
105
|
-
"@unocss/preset-icons": "^66.
|
|
106
|
-
"@unocss/runtime": "^66.
|
|
107
|
-
"@vueuse/nuxt": "^13.
|
|
108
|
-
"bumpp": "^10.1.
|
|
109
|
-
"eslint": "9.
|
|
110
|
-
"jest-image-snapshot": "^6.
|
|
111
|
-
"nuxt": "^3.
|
|
112
|
-
"playwright": "^1.
|
|
113
|
-
"sass": "^1.
|
|
102
|
+
"@nuxtjs/i18n": "^9.5.4",
|
|
103
|
+
"@nuxtjs/tailwindcss": "^6.14.0",
|
|
104
|
+
"@unocss/nuxt": "^66.1.2",
|
|
105
|
+
"@unocss/preset-icons": "^66.1.2",
|
|
106
|
+
"@unocss/runtime": "^66.1.2",
|
|
107
|
+
"@vueuse/nuxt": "^13.2.0",
|
|
108
|
+
"bumpp": "^10.1.1",
|
|
109
|
+
"eslint": "9.25.1",
|
|
110
|
+
"jest-image-snapshot": "^6.5.0",
|
|
111
|
+
"nuxt": "^3.17.3",
|
|
112
|
+
"playwright": "^1.52.0",
|
|
113
|
+
"sass": "^1.89.0",
|
|
114
114
|
"sharp": "^0.34.1",
|
|
115
|
-
"typescript": "5.8.3",
|
|
116
|
-
"unocss": "^66.
|
|
117
|
-
"vitest": "^3.1.
|
|
118
|
-
"vue-tsc": "^2.2.
|
|
119
|
-
},
|
|
120
|
-
"resolutions": {
|
|
121
|
-
"typescript": "5.8.3"
|
|
115
|
+
"typescript": "^5.8.3",
|
|
116
|
+
"unocss": "^66.1.2",
|
|
117
|
+
"vitest": "^3.1.3",
|
|
118
|
+
"vue-tsc": "^2.2.10"
|
|
122
119
|
},
|
|
123
120
|
"scripts": {
|
|
124
121
|
"stub": "nuxt-build-module build --stub && nuxt-module-build prepare",
|