nuxt-og-image 6.7.6 → 6.7.7
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/LICENSE.md +6 -0
- package/dist/chunks/decode.mjs +1087 -0
- package/dist/chunks/tw4.mjs +1 -1
- package/dist/chunks/uno.mjs +2 -2
- package/dist/module.d.ts +1 -1
- package/dist/module.json +1 -1
- package/dist/module.mjs +1 -1
- package/dist/runtime/server/og-image/bindings/font-assets/dev-prerender.js +5 -6
- package/dist/runtime/server/og-image/bindings/font-assets/node.d.ts +1 -1
- package/dist/runtime/server/og-image/bindings/font-assets/node.js +2 -3
- package/dist/runtime/server/og-image/browser/screenshot.js +2 -1
- package/dist/runtime/server/og-image/font-source.d.ts +3 -12
- package/dist/runtime/server/og-image/font-source.js +1 -4
- package/dist/runtime/server/og-image/fonts.d.ts +0 -7
- package/dist/runtime/server/og-image/fonts.js +1 -1
- package/dist/runtime/server/og-image/takumi/renderer.js +2 -2
- package/dist/runtime/server/routes/resolve.js +2 -1
- package/dist/runtime/server/util/fetchLocalAsset.d.ts +1 -1
- package/dist/runtime/server/util/fetchLocalAsset.js +2 -1
- package/dist/runtime/types.d.ts +1 -1
- package/dist/shared/{nuxt-og-image.BIbfn5xQ.mjs → nuxt-og-image.BMHzg1Vz.mjs} +227 -76
- package/package.json +21 -22
- package/dist/chunks/tw4.cjs +0 -493
- package/dist/chunks/uno.cjs +0 -249
- package/dist/cli.cjs +0 -1345
- package/dist/cli.d.cts +0 -1
- package/dist/content.cjs +0 -21
- package/dist/content.d.cts +0 -16
- package/dist/module.cjs +0 -39
- package/dist/module.d.cts +0 -219
- package/dist/shared/nuxt-og-image.CMYbz66P.cjs +0 -193
- package/dist/shared/nuxt-og-image.CdpC3njh.cjs +0 -5898
package/dist/chunks/uno.cjs
DELETED
|
@@ -1,249 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const promises = require('node:fs/promises');
|
|
4
|
-
const defu = require('defu');
|
|
5
|
-
const logger_js = require('../../dist/runtime/logger.js');
|
|
6
|
-
const module$1 = require('../shared/nuxt-og-image.CdpC3njh.cjs');
|
|
7
|
-
require('node:crypto');
|
|
8
|
-
require('node:fs');
|
|
9
|
-
require('node:url');
|
|
10
|
-
require('@nuxt/kit');
|
|
11
|
-
require('fnv1a-64');
|
|
12
|
-
require('nuxt-site-config/kit');
|
|
13
|
-
require('nuxtseo-shared/kit');
|
|
14
|
-
require('pathe');
|
|
15
|
-
require('pkg-types');
|
|
16
|
-
require('std-env');
|
|
17
|
-
require('oxc-walker');
|
|
18
|
-
require('chrome-launcher');
|
|
19
|
-
require('nypm');
|
|
20
|
-
require('nuxtseo-shared/devtools');
|
|
21
|
-
require('unstorage');
|
|
22
|
-
require('unstorage/drivers/fs-lite');
|
|
23
|
-
require('../../dist/runtime/server/og-image/utils/css.js');
|
|
24
|
-
require('magic-string');
|
|
25
|
-
require('strip-literal');
|
|
26
|
-
require('ufo');
|
|
27
|
-
require('unplugin');
|
|
28
|
-
require('@vue/compiler-sfc');
|
|
29
|
-
require('ofetch');
|
|
30
|
-
require('ultrahtml');
|
|
31
|
-
require('../../dist/runtime/server/og-image/core/transforms/emojis/emoji-utils.js');
|
|
32
|
-
require('exsolve');
|
|
33
|
-
require('../shared/nuxt-og-image.CMYbz66P.cjs');
|
|
34
|
-
require('magicast');
|
|
35
|
-
require('magicast/helpers');
|
|
36
|
-
|
|
37
|
-
const RE_SVG_DATA_URL = /url\("data:image\/svg\+xml[;,]([^"]+)"\)/;
|
|
38
|
-
const RE_UTF8_PREFIX = /^utf8,/;
|
|
39
|
-
const RE_VIEWBOX = /viewBox=['"](\d+)\s+(\d+)\s+(\d+)\s+(\d+)['"]/;
|
|
40
|
-
const RE_WIDTH_ATTR = /\bwidth=['"](\d+)['"]/;
|
|
41
|
-
const RE_HEIGHT_ATTR = /\bheight=['"](\d+)['"]/;
|
|
42
|
-
const RE_SVG_BODY = /<svg[^>]*>([\s\S]*)<\/svg>/;
|
|
43
|
-
let unoConfig = null;
|
|
44
|
-
let rootDir = null;
|
|
45
|
-
let unocssCorePath;
|
|
46
|
-
let unocssConfigPath;
|
|
47
|
-
let generator = null;
|
|
48
|
-
let pendingGenerator = null;
|
|
49
|
-
let cachedExtracted = null;
|
|
50
|
-
function setUnoRootDir(dir) {
|
|
51
|
-
rootDir = dir;
|
|
52
|
-
}
|
|
53
|
-
function setUnoConfig(config) {
|
|
54
|
-
unoConfig = config;
|
|
55
|
-
generator = null;
|
|
56
|
-
}
|
|
57
|
-
function clearUnoUserVarsCache() {
|
|
58
|
-
cachedExtracted = null;
|
|
59
|
-
}
|
|
60
|
-
function clearUnoCache() {
|
|
61
|
-
generator = null;
|
|
62
|
-
pendingGenerator = null;
|
|
63
|
-
cachedExtracted = null;
|
|
64
|
-
}
|
|
65
|
-
function setUnoModulePaths(options) {
|
|
66
|
-
const nextCorePath = options?.unocssCorePath;
|
|
67
|
-
const nextConfigPath = options?.unocssConfigPath;
|
|
68
|
-
if (nextCorePath === unocssCorePath && nextConfigPath === unocssConfigPath)
|
|
69
|
-
return;
|
|
70
|
-
unocssCorePath = nextCorePath;
|
|
71
|
-
unocssConfigPath = nextConfigPath;
|
|
72
|
-
clearUnoCache();
|
|
73
|
-
}
|
|
74
|
-
async function getGenerator() {
|
|
75
|
-
if (generator)
|
|
76
|
-
return generator;
|
|
77
|
-
if (pendingGenerator)
|
|
78
|
-
return pendingGenerator;
|
|
79
|
-
pendingGenerator = (async () => {
|
|
80
|
-
let loadedConfig;
|
|
81
|
-
try {
|
|
82
|
-
const { loadConfig } = await module$1.importOptionalPeer("@unocss/config", unocssConfigPath, "UnoCSS class extraction with OG images");
|
|
83
|
-
const result = await loadConfig(rootDir || process.cwd());
|
|
84
|
-
loadedConfig = result.config;
|
|
85
|
-
} catch (e) {
|
|
86
|
-
if (!unoConfig)
|
|
87
|
-
logger_js.logger.warn("[og-image UnoCSS] Failed to load uno.config.ts:", e.message);
|
|
88
|
-
}
|
|
89
|
-
const finalConfig = loadedConfig ? defu.defu(unoConfig || {}, loadedConfig) : unoConfig;
|
|
90
|
-
if (!finalConfig) {
|
|
91
|
-
throw new Error("UnoCSS config not found. Ensure uno.config.ts exists or @unocss/nuxt is loaded.");
|
|
92
|
-
}
|
|
93
|
-
const { createGenerator } = await module$1.importOptionalPeer("@unocss/core", unocssCorePath, "UnoCSS class extraction with OG images");
|
|
94
|
-
generator = await createGenerator(finalConfig);
|
|
95
|
-
return generator;
|
|
96
|
-
})();
|
|
97
|
-
const p = pendingGenerator;
|
|
98
|
-
p.finally(() => {
|
|
99
|
-
pendingGenerator = null;
|
|
100
|
-
});
|
|
101
|
-
return p;
|
|
102
|
-
}
|
|
103
|
-
async function loadExtractedVars(resolveCssPath) {
|
|
104
|
-
if (cachedExtracted)
|
|
105
|
-
return cachedExtracted;
|
|
106
|
-
const empty = { rootVars: /* @__PURE__ */ new Map(), qualifiedRules: [], universalVars: /* @__PURE__ */ new Map(), propertyInitials: /* @__PURE__ */ new Map(), perClassVars: /* @__PURE__ */ new Map() };
|
|
107
|
-
if (!resolveCssPath) {
|
|
108
|
-
cachedExtracted = empty;
|
|
109
|
-
return cachedExtracted;
|
|
110
|
-
}
|
|
111
|
-
const cssPath = await resolveCssPath();
|
|
112
|
-
if (!cssPath) {
|
|
113
|
-
logger_js.logger.debug("[og-image UnoCSS] No CSS path resolved for user vars");
|
|
114
|
-
cachedExtracted = empty;
|
|
115
|
-
return cachedExtracted;
|
|
116
|
-
}
|
|
117
|
-
try {
|
|
118
|
-
const content = await promises.readFile(cssPath, "utf-8");
|
|
119
|
-
cachedExtracted = await module$1.extractVarsFromCss(content);
|
|
120
|
-
logger_js.logger.debug(`[og-image UnoCSS] Extracted ${cachedExtracted.rootVars.size} base vars, ${cachedExtracted.qualifiedRules.length} qualified rules from ${cssPath}`);
|
|
121
|
-
} catch (e) {
|
|
122
|
-
logger_js.logger.warn("[og-image UnoCSS] Failed to read CSS file for vars:", e.message);
|
|
123
|
-
cachedExtracted = empty;
|
|
124
|
-
}
|
|
125
|
-
return cachedExtracted;
|
|
126
|
-
}
|
|
127
|
-
function resolveUserVars(extracted, rootAttrs) {
|
|
128
|
-
return module$1.resolveExtractedVars(extracted, rootAttrs);
|
|
129
|
-
}
|
|
130
|
-
function createUnoProvider(options) {
|
|
131
|
-
setUnoModulePaths(options);
|
|
132
|
-
return {
|
|
133
|
-
name: "unocss",
|
|
134
|
-
async resolveClassesToStyles(classes, context, rootAttrs) {
|
|
135
|
-
if (classes.length === 0)
|
|
136
|
-
return {};
|
|
137
|
-
const baseClasses = module$1.extractVariantBaseClasses(classes);
|
|
138
|
-
const classesToGenerate = [.../* @__PURE__ */ new Set([...classes, ...baseClasses])];
|
|
139
|
-
const gen = await getGenerator();
|
|
140
|
-
const { css } = await gen.generate(classesToGenerate);
|
|
141
|
-
const simplifiedCss = await module$1.simplifyCss(css);
|
|
142
|
-
const vars = /* @__PURE__ */ new Map();
|
|
143
|
-
const extracted = await loadExtractedVars(options?.resolveCssPath);
|
|
144
|
-
const userVars = resolveUserVars(extracted, rootAttrs || {});
|
|
145
|
-
for (const [name, value] of userVars)
|
|
146
|
-
vars.set(name, value);
|
|
147
|
-
const rootVarsFromCss = module$1.extractCssVars(simplifiedCss);
|
|
148
|
-
for (const [name, value] of rootVarsFromCss)
|
|
149
|
-
vars.set(name, value);
|
|
150
|
-
const propVars = module$1.extractPropertyInitialValues(simplifiedCss);
|
|
151
|
-
for (const [name, value] of propVars) {
|
|
152
|
-
if (!vars.has(name))
|
|
153
|
-
vars.set(name, value);
|
|
154
|
-
}
|
|
155
|
-
const uniVars = module$1.extractUniversalVars(simplifiedCss);
|
|
156
|
-
for (const [name, value] of uniVars) {
|
|
157
|
-
if (!vars.has(name))
|
|
158
|
-
vars.set(name, value);
|
|
159
|
-
}
|
|
160
|
-
logger_js.logger.debug(`[og-image UnoCSS] Vars: ${userVars.size} user, ${rootVarsFromCss.size} :root, ${propVars.size} @property, ${uniVars.size} universal \u2192 ${vars.size} total`);
|
|
161
|
-
const perClassVars = module$1.extractPerClassVars(simplifiedCss);
|
|
162
|
-
const classMap = module$1.extractClassStyles(simplifiedCss, { collectVars: vars, merge: true });
|
|
163
|
-
const resolvedBaseStyles = /* @__PURE__ */ new Map();
|
|
164
|
-
for (const [className, rawStyles] of classMap) {
|
|
165
|
-
const classVars = perClassVars.get(className);
|
|
166
|
-
const mergedVars = classVars ? new Map([...vars, ...classVars]) : vars;
|
|
167
|
-
const styles = await module$1.postProcessStyles(rawStyles, mergedVars, void 0, context);
|
|
168
|
-
if (styles)
|
|
169
|
-
resolvedBaseStyles.set(className, styles);
|
|
170
|
-
}
|
|
171
|
-
return module$1.resolveVariantPrefixes(classes, resolvedBaseStyles);
|
|
172
|
-
},
|
|
173
|
-
async extractMetadata() {
|
|
174
|
-
const gen = await getGenerator();
|
|
175
|
-
const theme = gen.config.theme || {};
|
|
176
|
-
const fontVars = {};
|
|
177
|
-
const breakpoints = {};
|
|
178
|
-
const colors = {};
|
|
179
|
-
if (theme.font) {
|
|
180
|
-
for (const [name, value] of Object.entries(theme.font)) {
|
|
181
|
-
if (typeof value === "string")
|
|
182
|
-
fontVars[`font-${name}`] = value;
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
if (theme.fontFamily) {
|
|
186
|
-
for (const [name, value] of Object.entries(theme.fontFamily)) {
|
|
187
|
-
if (typeof value === "string")
|
|
188
|
-
fontVars[`font-${name}`] = value;
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
if (theme.breakpoints) {
|
|
192
|
-
for (const [name, value] of Object.entries(theme.breakpoints)) {
|
|
193
|
-
const px = Number.parseInt(String(value).replace("px", ""), 10);
|
|
194
|
-
if (!Number.isNaN(px))
|
|
195
|
-
breakpoints[name] = px;
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
if (theme.colors) {
|
|
199
|
-
for (const [name, value] of Object.entries(theme.colors)) {
|
|
200
|
-
if (typeof value === "string")
|
|
201
|
-
colors[name] = value;
|
|
202
|
-
else if (typeof value === "object" && value !== null)
|
|
203
|
-
colors[name] = value;
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
return { fontVars, breakpoints, colors };
|
|
207
|
-
},
|
|
208
|
-
async getVars(rootAttrs) {
|
|
209
|
-
const extracted = await loadExtractedVars(options?.resolveCssPath);
|
|
210
|
-
return resolveUserVars(extracted, rootAttrs || {});
|
|
211
|
-
},
|
|
212
|
-
clearUserVarsCache: clearUnoUserVarsCache,
|
|
213
|
-
clearCache: clearUnoCache,
|
|
214
|
-
async resolveIcon(prefix, name) {
|
|
215
|
-
const gen = await getGenerator();
|
|
216
|
-
const iconClass = `i-${prefix}-${name}`;
|
|
217
|
-
const { css } = await gen.generate([iconClass]);
|
|
218
|
-
if (!css)
|
|
219
|
-
return null;
|
|
220
|
-
const urlMatch = css.match(RE_SVG_DATA_URL);
|
|
221
|
-
if (!urlMatch?.[1])
|
|
222
|
-
return null;
|
|
223
|
-
let svgContent;
|
|
224
|
-
if (urlMatch[0].includes(";base64,")) {
|
|
225
|
-
svgContent = Buffer.from(urlMatch[1], "base64").toString("utf-8");
|
|
226
|
-
} else {
|
|
227
|
-
const raw = urlMatch[1].replace(RE_UTF8_PREFIX, "");
|
|
228
|
-
svgContent = decodeURIComponent(raw);
|
|
229
|
-
}
|
|
230
|
-
const viewBoxMatch = svgContent.match(RE_VIEWBOX);
|
|
231
|
-
const widthAttr = svgContent.match(RE_WIDTH_ATTR);
|
|
232
|
-
const heightAttr = svgContent.match(RE_HEIGHT_ATTR);
|
|
233
|
-
const width = viewBoxMatch?.[3] ? Number.parseInt(viewBoxMatch[3]) : widthAttr?.[1] ? Number.parseInt(widthAttr[1]) : 24;
|
|
234
|
-
const height = viewBoxMatch?.[4] ? Number.parseInt(viewBoxMatch[4]) : heightAttr?.[1] ? Number.parseInt(heightAttr[1]) : 24;
|
|
235
|
-
const bodyMatch = svgContent.match(RE_SVG_BODY);
|
|
236
|
-
if (!bodyMatch?.[1])
|
|
237
|
-
return null;
|
|
238
|
-
return { body: bodyMatch[1], width, height };
|
|
239
|
-
}
|
|
240
|
-
};
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
exports.importResolvedModule = module$1.importResolvedModule;
|
|
244
|
-
exports.resolveOptionalModulePath = module$1.resolveOptionalModulePath;
|
|
245
|
-
exports.clearUnoCache = clearUnoCache;
|
|
246
|
-
exports.clearUnoUserVarsCache = clearUnoUserVarsCache;
|
|
247
|
-
exports.createUnoProvider = createUnoProvider;
|
|
248
|
-
exports.setUnoConfig = setUnoConfig;
|
|
249
|
-
exports.setUnoRootDir = setUnoRootDir;
|