@rovela-ai/sdk 0.14.0 → 0.14.1
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/emails/theme.d.ts.map +1 -1
- package/dist/emails/theme.js +53 -17
- package/dist/emails/theme.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/emails/theme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/emails/theme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAqEH,MAAM,MAAM,iBAAiB,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAA;AAEpD,MAAM,WAAW,UAAU;IACzB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,2BAA2B;IAC3B,YAAY,CAAC,EAAE,iBAAiB,CAAA;IAChC,6CAA6C;IAC7C,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,iDAAiD;IACjD,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAS9D,CAAA;AAUD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,UAAU,CASjE;AAED,2EAA2E;AAC3E,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CAY3D;AAMD;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,UAAU,CAelD;AAyBD;;;;GAIG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,UAAU,CAAC,CAe7D;AAED,yEAAyE;AACzE,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,aAAa,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAO/E"}
|
package/dist/emails/theme.js
CHANGED
|
@@ -18,8 +18,48 @@
|
|
|
18
18
|
* an email is never blocked or broken by theming.
|
|
19
19
|
*/
|
|
20
20
|
import { findSettings } from '../core/db';
|
|
21
|
-
import { getBlueprint } from '../core/config';
|
|
22
21
|
import { setEmailStyles } from './templates/base';
|
|
22
|
+
function loadNodeBuiltin(id) {
|
|
23
|
+
try {
|
|
24
|
+
const proc = process;
|
|
25
|
+
if (typeof proc.getBuiltinModule === 'function') {
|
|
26
|
+
return proc.getBuiltinModule(id) ?? null;
|
|
27
|
+
}
|
|
28
|
+
// Bundled CJS server runtimes: an indirect require stays invisible to
|
|
29
|
+
// static analysis; pure ESM throws and we fail open.
|
|
30
|
+
// eslint-disable-next-line no-eval
|
|
31
|
+
return (0, eval)('require')(id);
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
let blueprintThemeCache = null;
|
|
38
|
+
/** Read the blueprint's theme slice from disk. Server-only; null anywhere else. */
|
|
39
|
+
function readBlueprintTheme() {
|
|
40
|
+
if (blueprintThemeCache)
|
|
41
|
+
return blueprintThemeCache.value;
|
|
42
|
+
let value = null;
|
|
43
|
+
try {
|
|
44
|
+
if (typeof window === 'undefined' && typeof process !== 'undefined' && typeof process.cwd === 'function') {
|
|
45
|
+
const fs = loadNodeBuiltin('node:fs');
|
|
46
|
+
const path = loadNodeBuiltin('node:path');
|
|
47
|
+
if (fs && path) {
|
|
48
|
+
// Same resolution as core/config.ts getBlueprintPath() — keep in sync.
|
|
49
|
+
const blueprintPath = process.env.ROVELA_BLUEPRINT_PATH || path.join(process.cwd(), '.rovela/blueprint.json');
|
|
50
|
+
if (fs.existsSync(blueprintPath)) {
|
|
51
|
+
const parsed = JSON.parse(fs.readFileSync(blueprintPath, 'utf-8'));
|
|
52
|
+
value = parsed?.theme ?? null;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
catch {
|
|
58
|
+
// No blueprint / unreadable — shipped defaults apply.
|
|
59
|
+
}
|
|
60
|
+
blueprintThemeCache = { value };
|
|
61
|
+
return value;
|
|
62
|
+
}
|
|
23
63
|
/**
|
|
24
64
|
* Curated email-safe fonts. Each loads as a Google Font (honored by Apple
|
|
25
65
|
* Mail and some clients) with a resilient system fallback stack everywhere
|
|
@@ -86,23 +126,19 @@ export function sanitizeEmailTheme(raw) {
|
|
|
86
126
|
*/
|
|
87
127
|
export function deriveBrandEmailTheme() {
|
|
88
128
|
const derived = {};
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
// Blueprint fonts use next/font underscore form ('Work_Sans').
|
|
96
|
-
const bodyFontRaw = blueprint?.theme
|
|
97
|
-
?.typography?.body?.name;
|
|
98
|
-
if (typeof bodyFontRaw === 'string') {
|
|
99
|
-
const bodyFont = bodyFontRaw.replace(/_/g, ' ');
|
|
100
|
-
if (EMAIL_FONTS.some((f) => f.name === bodyFont))
|
|
101
|
-
derived.fontName = bodyFont;
|
|
102
|
-
}
|
|
129
|
+
const theme = readBlueprintTheme();
|
|
130
|
+
if (!theme)
|
|
131
|
+
return derived;
|
|
132
|
+
const primary = theme.colors?.primary?.['500'];
|
|
133
|
+
if (typeof primary === 'string' && HEX_RE.test(primary)) {
|
|
134
|
+
derived.primaryColor = primary;
|
|
103
135
|
}
|
|
104
|
-
|
|
105
|
-
|
|
136
|
+
// Blueprint fonts use next/font underscore form ('Work_Sans').
|
|
137
|
+
const bodyFontRaw = theme.typography?.body?.name;
|
|
138
|
+
if (typeof bodyFontRaw === 'string') {
|
|
139
|
+
const bodyFont = bodyFontRaw.replace(/_/g, ' ');
|
|
140
|
+
if (EMAIL_FONTS.some((f) => f.name === bodyFont))
|
|
141
|
+
derived.fontName = bodyFont;
|
|
106
142
|
}
|
|
107
143
|
return derived;
|
|
108
144
|
}
|
package/dist/emails/theme.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/emails/theme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/emails/theme.ts"],"names":[],"mappings":"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"}
|