@emailens/engine 0.9.5 → 0.9.6
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/README.md +29 -1
- package/dist/compile/index.cjs +1 -1
- package/dist/compile/index.cjs.map +1 -1
- package/dist/compile/index.d.cts +3 -3
- package/dist/compile/index.d.ts +3 -3
- package/dist/compile/index.js +1 -1
- package/dist/compile/index.js.map +1 -1
- package/dist/index.cjs +44 -119
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +44 -119
- package/dist/index.js.map +1 -1
- package/dist/{react-email-WFdbEleP.d.cts → react-email-M23kFFxl.d.cts} +1 -1
- package/dist/{react-email-CkBByvBK.d.ts → react-email-TJF6usIm.d.ts} +1 -1
- package/dist/server.d.cts +1 -1
- package/dist/server.d.ts +1 -1
- package/dist/{types-p9e1n-G_.d.cts → types-WvVf2OXX.d.cts} +17 -34
- package/dist/{types-p9e1n-G_.d.ts → types-WvVf2OXX.d.ts} +17 -34
- package/package.json +121 -121
package/dist/server.d.cts
CHANGED
package/dist/server.d.ts
CHANGED
|
@@ -106,6 +106,13 @@ interface EmailClient {
|
|
|
106
106
|
icon: string;
|
|
107
107
|
deprecated?: string;
|
|
108
108
|
}
|
|
109
|
+
type Severity = "error" | "warning" | "info";
|
|
110
|
+
/** Shared shape for every analyzer's issue objects. */
|
|
111
|
+
interface BaseIssue {
|
|
112
|
+
rule: string;
|
|
113
|
+
severity: Severity;
|
|
114
|
+
message: string;
|
|
115
|
+
}
|
|
109
116
|
interface CodeFix {
|
|
110
117
|
before: string;
|
|
111
118
|
after: string;
|
|
@@ -114,7 +121,7 @@ interface CodeFix {
|
|
|
114
121
|
}
|
|
115
122
|
type FixType = "css" | "structural";
|
|
116
123
|
interface CSSWarning {
|
|
117
|
-
severity:
|
|
124
|
+
severity: Severity;
|
|
118
125
|
client: string;
|
|
119
126
|
property: string;
|
|
120
127
|
message: string;
|
|
@@ -163,10 +170,7 @@ interface DiffResult {
|
|
|
163
170
|
introduced: CSSWarning[];
|
|
164
171
|
unchanged: CSSWarning[];
|
|
165
172
|
}
|
|
166
|
-
interface SpamIssue {
|
|
167
|
-
rule: string;
|
|
168
|
-
severity: "error" | "warning" | "info";
|
|
169
|
-
message: string;
|
|
173
|
+
interface SpamIssue extends BaseIssue {
|
|
170
174
|
detail?: string;
|
|
171
175
|
}
|
|
172
176
|
interface SpamReport {
|
|
@@ -182,10 +186,7 @@ interface SpamAnalysisOptions {
|
|
|
182
186
|
/** Type of email — transactional emails are exempt from unsubscribe requirements */
|
|
183
187
|
emailType?: "marketing" | "transactional";
|
|
184
188
|
}
|
|
185
|
-
interface LinkIssue {
|
|
186
|
-
severity: "error" | "warning" | "info";
|
|
187
|
-
rule: string;
|
|
188
|
-
message: string;
|
|
189
|
+
interface LinkIssue extends BaseIssue {
|
|
189
190
|
href?: string;
|
|
190
191
|
text?: string;
|
|
191
192
|
}
|
|
@@ -203,10 +204,7 @@ interface LinkReport {
|
|
|
203
204
|
other: number;
|
|
204
205
|
};
|
|
205
206
|
}
|
|
206
|
-
interface AccessibilityIssue {
|
|
207
|
-
severity: "error" | "warning" | "info";
|
|
208
|
-
rule: string;
|
|
209
|
-
message: string;
|
|
207
|
+
interface AccessibilityIssue extends BaseIssue {
|
|
210
208
|
element?: string;
|
|
211
209
|
details?: string;
|
|
212
210
|
}
|
|
@@ -214,10 +212,7 @@ interface AccessibilityReport {
|
|
|
214
212
|
score: number;
|
|
215
213
|
issues: AccessibilityIssue[];
|
|
216
214
|
}
|
|
217
|
-
interface ImageIssue {
|
|
218
|
-
rule: string;
|
|
219
|
-
severity: "error" | "warning" | "info";
|
|
220
|
-
message: string;
|
|
215
|
+
interface ImageIssue extends BaseIssue {
|
|
221
216
|
src?: string;
|
|
222
217
|
}
|
|
223
218
|
interface ImageInfo {
|
|
@@ -235,10 +230,7 @@ interface ImageReport {
|
|
|
235
230
|
issues: ImageIssue[];
|
|
236
231
|
images: ImageInfo[];
|
|
237
232
|
}
|
|
238
|
-
interface InboxPreviewIssue {
|
|
239
|
-
rule: string;
|
|
240
|
-
severity: "error" | "warning" | "info";
|
|
241
|
-
message: string;
|
|
233
|
+
interface InboxPreviewIssue extends BaseIssue {
|
|
242
234
|
}
|
|
243
235
|
interface ClientTruncation {
|
|
244
236
|
client: string;
|
|
@@ -257,10 +249,7 @@ interface InboxPreview {
|
|
|
257
249
|
truncation: ClientTruncation[];
|
|
258
250
|
issues: InboxPreviewIssue[];
|
|
259
251
|
}
|
|
260
|
-
interface SizeIssue {
|
|
261
|
-
rule: string;
|
|
262
|
-
severity: "error" | "warning" | "info";
|
|
263
|
-
message: string;
|
|
252
|
+
interface SizeIssue extends BaseIssue {
|
|
264
253
|
detail?: string;
|
|
265
254
|
}
|
|
266
255
|
interface SizeReport {
|
|
@@ -269,10 +258,7 @@ interface SizeReport {
|
|
|
269
258
|
clipped: boolean;
|
|
270
259
|
issues: SizeIssue[];
|
|
271
260
|
}
|
|
272
|
-
interface TemplateIssue {
|
|
273
|
-
rule: string;
|
|
274
|
-
severity: "error" | "warning" | "info";
|
|
275
|
-
message: string;
|
|
261
|
+
interface TemplateIssue extends BaseIssue {
|
|
276
262
|
variable: string;
|
|
277
263
|
location: "text" | "attribute";
|
|
278
264
|
}
|
|
@@ -293,11 +279,8 @@ interface DeliverabilityReport {
|
|
|
293
279
|
score: number;
|
|
294
280
|
issues: DeliverabilityIssue[];
|
|
295
281
|
}
|
|
296
|
-
interface DeliverabilityIssue {
|
|
297
|
-
rule: string;
|
|
298
|
-
severity: "error" | "warning" | "info";
|
|
299
|
-
message: string;
|
|
282
|
+
interface DeliverabilityIssue extends BaseIssue {
|
|
300
283
|
detail?: string;
|
|
301
284
|
}
|
|
302
285
|
|
|
303
|
-
export { type AiProvider as A, type
|
|
286
|
+
export { type AiProvider as A, type BaseIssue as B, type CSSWarning as C, type DiffResult as D, type EmailClient as E, type Framework as F, type TokenEstimate as G, type TokenEstimateWithWarnings as H, type ImageReport as I, estimateAiFixTokens as J, generateFixPrompt as K, type LinkReport as L, heuristicTokenCount as M, type PreviewResult as P, type SupportLevel as S, type TransformResult as T, type CodeFix as a, type ExportPromptOptions as b, type AiFixResult as c, type SpamAnalysisOptions as d, type SpamReport as e, type AccessibilityReport as f, type InboxPreview as g, type SizeReport as h, type TemplateReport as i, type DeliverabilityReport as j, type AccessibilityIssue as k, type ClientTruncation as l, type DeliverabilityCheck as m, type DeliverabilityIssue as n, type EstimateOptions as o, type ExportScope as p, type FixType as q, type ImageInfo as r, type ImageIssue as s, type InboxPreviewIssue as t, type InputFormat as u, type LinkIssue as v, type Severity as w, type SizeIssue as x, type SpamIssue as y, type TemplateIssue as z };
|
|
@@ -106,6 +106,13 @@ interface EmailClient {
|
|
|
106
106
|
icon: string;
|
|
107
107
|
deprecated?: string;
|
|
108
108
|
}
|
|
109
|
+
type Severity = "error" | "warning" | "info";
|
|
110
|
+
/** Shared shape for every analyzer's issue objects. */
|
|
111
|
+
interface BaseIssue {
|
|
112
|
+
rule: string;
|
|
113
|
+
severity: Severity;
|
|
114
|
+
message: string;
|
|
115
|
+
}
|
|
109
116
|
interface CodeFix {
|
|
110
117
|
before: string;
|
|
111
118
|
after: string;
|
|
@@ -114,7 +121,7 @@ interface CodeFix {
|
|
|
114
121
|
}
|
|
115
122
|
type FixType = "css" | "structural";
|
|
116
123
|
interface CSSWarning {
|
|
117
|
-
severity:
|
|
124
|
+
severity: Severity;
|
|
118
125
|
client: string;
|
|
119
126
|
property: string;
|
|
120
127
|
message: string;
|
|
@@ -163,10 +170,7 @@ interface DiffResult {
|
|
|
163
170
|
introduced: CSSWarning[];
|
|
164
171
|
unchanged: CSSWarning[];
|
|
165
172
|
}
|
|
166
|
-
interface SpamIssue {
|
|
167
|
-
rule: string;
|
|
168
|
-
severity: "error" | "warning" | "info";
|
|
169
|
-
message: string;
|
|
173
|
+
interface SpamIssue extends BaseIssue {
|
|
170
174
|
detail?: string;
|
|
171
175
|
}
|
|
172
176
|
interface SpamReport {
|
|
@@ -182,10 +186,7 @@ interface SpamAnalysisOptions {
|
|
|
182
186
|
/** Type of email — transactional emails are exempt from unsubscribe requirements */
|
|
183
187
|
emailType?: "marketing" | "transactional";
|
|
184
188
|
}
|
|
185
|
-
interface LinkIssue {
|
|
186
|
-
severity: "error" | "warning" | "info";
|
|
187
|
-
rule: string;
|
|
188
|
-
message: string;
|
|
189
|
+
interface LinkIssue extends BaseIssue {
|
|
189
190
|
href?: string;
|
|
190
191
|
text?: string;
|
|
191
192
|
}
|
|
@@ -203,10 +204,7 @@ interface LinkReport {
|
|
|
203
204
|
other: number;
|
|
204
205
|
};
|
|
205
206
|
}
|
|
206
|
-
interface AccessibilityIssue {
|
|
207
|
-
severity: "error" | "warning" | "info";
|
|
208
|
-
rule: string;
|
|
209
|
-
message: string;
|
|
207
|
+
interface AccessibilityIssue extends BaseIssue {
|
|
210
208
|
element?: string;
|
|
211
209
|
details?: string;
|
|
212
210
|
}
|
|
@@ -214,10 +212,7 @@ interface AccessibilityReport {
|
|
|
214
212
|
score: number;
|
|
215
213
|
issues: AccessibilityIssue[];
|
|
216
214
|
}
|
|
217
|
-
interface ImageIssue {
|
|
218
|
-
rule: string;
|
|
219
|
-
severity: "error" | "warning" | "info";
|
|
220
|
-
message: string;
|
|
215
|
+
interface ImageIssue extends BaseIssue {
|
|
221
216
|
src?: string;
|
|
222
217
|
}
|
|
223
218
|
interface ImageInfo {
|
|
@@ -235,10 +230,7 @@ interface ImageReport {
|
|
|
235
230
|
issues: ImageIssue[];
|
|
236
231
|
images: ImageInfo[];
|
|
237
232
|
}
|
|
238
|
-
interface InboxPreviewIssue {
|
|
239
|
-
rule: string;
|
|
240
|
-
severity: "error" | "warning" | "info";
|
|
241
|
-
message: string;
|
|
233
|
+
interface InboxPreviewIssue extends BaseIssue {
|
|
242
234
|
}
|
|
243
235
|
interface ClientTruncation {
|
|
244
236
|
client: string;
|
|
@@ -257,10 +249,7 @@ interface InboxPreview {
|
|
|
257
249
|
truncation: ClientTruncation[];
|
|
258
250
|
issues: InboxPreviewIssue[];
|
|
259
251
|
}
|
|
260
|
-
interface SizeIssue {
|
|
261
|
-
rule: string;
|
|
262
|
-
severity: "error" | "warning" | "info";
|
|
263
|
-
message: string;
|
|
252
|
+
interface SizeIssue extends BaseIssue {
|
|
264
253
|
detail?: string;
|
|
265
254
|
}
|
|
266
255
|
interface SizeReport {
|
|
@@ -269,10 +258,7 @@ interface SizeReport {
|
|
|
269
258
|
clipped: boolean;
|
|
270
259
|
issues: SizeIssue[];
|
|
271
260
|
}
|
|
272
|
-
interface TemplateIssue {
|
|
273
|
-
rule: string;
|
|
274
|
-
severity: "error" | "warning" | "info";
|
|
275
|
-
message: string;
|
|
261
|
+
interface TemplateIssue extends BaseIssue {
|
|
276
262
|
variable: string;
|
|
277
263
|
location: "text" | "attribute";
|
|
278
264
|
}
|
|
@@ -293,11 +279,8 @@ interface DeliverabilityReport {
|
|
|
293
279
|
score: number;
|
|
294
280
|
issues: DeliverabilityIssue[];
|
|
295
281
|
}
|
|
296
|
-
interface DeliverabilityIssue {
|
|
297
|
-
rule: string;
|
|
298
|
-
severity: "error" | "warning" | "info";
|
|
299
|
-
message: string;
|
|
282
|
+
interface DeliverabilityIssue extends BaseIssue {
|
|
300
283
|
detail?: string;
|
|
301
284
|
}
|
|
302
285
|
|
|
303
|
-
export { type AiProvider as A, type
|
|
286
|
+
export { type AiProvider as A, type BaseIssue as B, type CSSWarning as C, type DiffResult as D, type EmailClient as E, type Framework as F, type TokenEstimate as G, type TokenEstimateWithWarnings as H, type ImageReport as I, estimateAiFixTokens as J, generateFixPrompt as K, type LinkReport as L, heuristicTokenCount as M, type PreviewResult as P, type SupportLevel as S, type TransformResult as T, type CodeFix as a, type ExportPromptOptions as b, type AiFixResult as c, type SpamAnalysisOptions as d, type SpamReport as e, type AccessibilityReport as f, type InboxPreview as g, type SizeReport as h, type TemplateReport as i, type DeliverabilityReport as j, type AccessibilityIssue as k, type ClientTruncation as l, type DeliverabilityCheck as m, type DeliverabilityIssue as n, type EstimateOptions as o, type ExportScope as p, type FixType as q, type ImageInfo as r, type ImageIssue as s, type InboxPreviewIssue as t, type InputFormat as u, type LinkIssue as v, type Severity as w, type SizeIssue as x, type SpamIssue as y, type TemplateIssue as z };
|
package/package.json
CHANGED
|
@@ -1,121 +1,121 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@emailens/engine",
|
|
3
|
-
"version": "0.9.
|
|
4
|
-
"description": "Email compatibility engine — transforms CSS per email client, scores compatibility, simulates dark mode, suggests fixes, and runs spam, accessibility, link, and image quality analysis.",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"exports": {
|
|
7
|
-
".": {
|
|
8
|
-
"types": "./dist/index.d.ts",
|
|
9
|
-
"import": "./dist/index.js",
|
|
10
|
-
"require": "./dist/index.cjs"
|
|
11
|
-
},
|
|
12
|
-
"./compile": {
|
|
13
|
-
"types": "./dist/compile/index.d.ts",
|
|
14
|
-
"import": "./dist/compile/index.js",
|
|
15
|
-
"require": "./dist/compile/index.cjs"
|
|
16
|
-
},
|
|
17
|
-
"./server": {
|
|
18
|
-
"types": "./dist/server.d.ts",
|
|
19
|
-
"import": "./dist/server.js",
|
|
20
|
-
"require": "./dist/server.cjs"
|
|
21
|
-
}
|
|
22
|
-
},
|
|
23
|
-
"types": "./dist/index.d.ts",
|
|
24
|
-
"sideEffects": false,
|
|
25
|
-
"engines": {
|
|
26
|
-
"node": ">=18"
|
|
27
|
-
},
|
|
28
|
-
"files": [
|
|
29
|
-
"dist",
|
|
30
|
-
"LICENSE"
|
|
31
|
-
],
|
|
32
|
-
"scripts": {
|
|
33
|
-
"build": "tsup",
|
|
34
|
-
"dev": "tsup --watch",
|
|
35
|
-
"typecheck": "tsc --noEmit",
|
|
36
|
-
"sync:caniemail": "bun run scripts/sync-caniemail.ts",
|
|
37
|
-
"check:freshness": "bun run scripts/check-data-freshness.ts",
|
|
38
|
-
"test": "bun test",
|
|
39
|
-
"prepublishOnly": "bun run build"
|
|
40
|
-
},
|
|
41
|
-
"dependencies": {
|
|
42
|
-
"cheerio": "^1.2.0",
|
|
43
|
-
"css-tree": "^3.1.0"
|
|
44
|
-
},
|
|
45
|
-
"peerDependencies": {
|
|
46
|
-
"@maizzle/framework": ">=5.0.0",
|
|
47
|
-
"@react-email/components": ">=0.0.36",
|
|
48
|
-
"@react-email/render": ">=1.0.0",
|
|
49
|
-
"isolated-vm": ">=5.0.0",
|
|
50
|
-
"mjml": ">=4.0.0",
|
|
51
|
-
"quickjs-emscripten": ">=0.29.0",
|
|
52
|
-
"react": "^18.0.0 || ^19.0.0",
|
|
53
|
-
"sucrase": "^3.35.0"
|
|
54
|
-
},
|
|
55
|
-
"peerDependenciesMeta": {
|
|
56
|
-
"sucrase": {
|
|
57
|
-
"optional": true
|
|
58
|
-
},
|
|
59
|
-
"react": {
|
|
60
|
-
"optional": true
|
|
61
|
-
},
|
|
62
|
-
"@react-email/components": {
|
|
63
|
-
"optional": true
|
|
64
|
-
},
|
|
65
|
-
"@react-email/render": {
|
|
66
|
-
"optional": true
|
|
67
|
-
},
|
|
68
|
-
"mjml": {
|
|
69
|
-
"optional": true
|
|
70
|
-
},
|
|
71
|
-
"@maizzle/framework": {
|
|
72
|
-
"optional": true
|
|
73
|
-
},
|
|
74
|
-
"isolated-vm": {
|
|
75
|
-
"optional": true
|
|
76
|
-
},
|
|
77
|
-
"quickjs-emscripten": {
|
|
78
|
-
"optional": true
|
|
79
|
-
}
|
|
80
|
-
},
|
|
81
|
-
"devDependencies": {
|
|
82
|
-
"@maizzle/framework": "^5.0.0",
|
|
83
|
-
"@react-email/components": "^0.0.36",
|
|
84
|
-
"@react-email/render": "^1.0.6",
|
|
85
|
-
"@types/bun": "^1.3.9",
|
|
86
|
-
"@types/css-tree": "^2.3.11",
|
|
87
|
-
"@types/mjml": "^4.7.4",
|
|
88
|
-
"@types/node": "^25.3.0",
|
|
89
|
-
"@types/react": "^19.2.14",
|
|
90
|
-
"bun-types": "^1.3.9",
|
|
91
|
-
"mjml": "^4.15.0",
|
|
92
|
-
"react": "^19.0.0",
|
|
93
|
-
"sucrase": "^3.35.0",
|
|
94
|
-
"tsup": "^8.4.0",
|
|
95
|
-
"typescript": "^5.9.3"
|
|
96
|
-
},
|
|
97
|
-
"keywords": [
|
|
98
|
-
"email",
|
|
99
|
-
"html-email",
|
|
100
|
-
"css",
|
|
101
|
-
"compatibility",
|
|
102
|
-
"gmail",
|
|
103
|
-
"outlook",
|
|
104
|
-
"apple-mail",
|
|
105
|
-
"dark-mode",
|
|
106
|
-
"email-testing",
|
|
107
|
-
"spam-scoring",
|
|
108
|
-
"accessibility",
|
|
109
|
-
"link-validation",
|
|
110
|
-
"image-analysis"
|
|
111
|
-
],
|
|
112
|
-
"license": "MIT",
|
|
113
|
-
"repository": {
|
|
114
|
-
"type": "git",
|
|
115
|
-
"url": "git+https://github.com/emailens/engine.git"
|
|
116
|
-
},
|
|
117
|
-
"homepage": "https://github.com/emailens/engine#readme",
|
|
118
|
-
"bugs": {
|
|
119
|
-
"url": "https://github.com/emailens/engine/issues"
|
|
120
|
-
}
|
|
121
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@emailens/engine",
|
|
3
|
+
"version": "0.9.6",
|
|
4
|
+
"description": "Email compatibility engine — transforms CSS per email client, scores compatibility, simulates dark mode, suggests fixes, and runs spam, accessibility, link, and image quality analysis.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"exports": {
|
|
7
|
+
".": {
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"import": "./dist/index.js",
|
|
10
|
+
"require": "./dist/index.cjs"
|
|
11
|
+
},
|
|
12
|
+
"./compile": {
|
|
13
|
+
"types": "./dist/compile/index.d.ts",
|
|
14
|
+
"import": "./dist/compile/index.js",
|
|
15
|
+
"require": "./dist/compile/index.cjs"
|
|
16
|
+
},
|
|
17
|
+
"./server": {
|
|
18
|
+
"types": "./dist/server.d.ts",
|
|
19
|
+
"import": "./dist/server.js",
|
|
20
|
+
"require": "./dist/server.cjs"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"types": "./dist/index.d.ts",
|
|
24
|
+
"sideEffects": false,
|
|
25
|
+
"engines": {
|
|
26
|
+
"node": ">=18"
|
|
27
|
+
},
|
|
28
|
+
"files": [
|
|
29
|
+
"dist",
|
|
30
|
+
"LICENSE"
|
|
31
|
+
],
|
|
32
|
+
"scripts": {
|
|
33
|
+
"build": "tsup",
|
|
34
|
+
"dev": "tsup --watch",
|
|
35
|
+
"typecheck": "tsc --noEmit",
|
|
36
|
+
"sync:caniemail": "bun run scripts/sync-caniemail.ts",
|
|
37
|
+
"check:freshness": "bun run scripts/check-data-freshness.ts",
|
|
38
|
+
"test": "bun test",
|
|
39
|
+
"prepublishOnly": "bun run build"
|
|
40
|
+
},
|
|
41
|
+
"dependencies": {
|
|
42
|
+
"cheerio": "^1.2.0",
|
|
43
|
+
"css-tree": "^3.1.0"
|
|
44
|
+
},
|
|
45
|
+
"peerDependencies": {
|
|
46
|
+
"@maizzle/framework": ">=5.0.0",
|
|
47
|
+
"@react-email/components": ">=0.0.36",
|
|
48
|
+
"@react-email/render": ">=1.0.0",
|
|
49
|
+
"isolated-vm": ">=5.0.0",
|
|
50
|
+
"mjml": ">=4.0.0",
|
|
51
|
+
"quickjs-emscripten": ">=0.29.0",
|
|
52
|
+
"react": "^18.0.0 || ^19.0.0",
|
|
53
|
+
"sucrase": "^3.35.0"
|
|
54
|
+
},
|
|
55
|
+
"peerDependenciesMeta": {
|
|
56
|
+
"sucrase": {
|
|
57
|
+
"optional": true
|
|
58
|
+
},
|
|
59
|
+
"react": {
|
|
60
|
+
"optional": true
|
|
61
|
+
},
|
|
62
|
+
"@react-email/components": {
|
|
63
|
+
"optional": true
|
|
64
|
+
},
|
|
65
|
+
"@react-email/render": {
|
|
66
|
+
"optional": true
|
|
67
|
+
},
|
|
68
|
+
"mjml": {
|
|
69
|
+
"optional": true
|
|
70
|
+
},
|
|
71
|
+
"@maizzle/framework": {
|
|
72
|
+
"optional": true
|
|
73
|
+
},
|
|
74
|
+
"isolated-vm": {
|
|
75
|
+
"optional": true
|
|
76
|
+
},
|
|
77
|
+
"quickjs-emscripten": {
|
|
78
|
+
"optional": true
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
"devDependencies": {
|
|
82
|
+
"@maizzle/framework": "^5.0.0",
|
|
83
|
+
"@react-email/components": "^0.0.36",
|
|
84
|
+
"@react-email/render": "^1.0.6",
|
|
85
|
+
"@types/bun": "^1.3.9",
|
|
86
|
+
"@types/css-tree": "^2.3.11",
|
|
87
|
+
"@types/mjml": "^4.7.4",
|
|
88
|
+
"@types/node": "^25.3.0",
|
|
89
|
+
"@types/react": "^19.2.14",
|
|
90
|
+
"bun-types": "^1.3.9",
|
|
91
|
+
"mjml": "^4.15.0",
|
|
92
|
+
"react": "^19.0.0",
|
|
93
|
+
"sucrase": "^3.35.0",
|
|
94
|
+
"tsup": "^8.4.0",
|
|
95
|
+
"typescript": "^5.9.3"
|
|
96
|
+
},
|
|
97
|
+
"keywords": [
|
|
98
|
+
"email",
|
|
99
|
+
"html-email",
|
|
100
|
+
"css",
|
|
101
|
+
"compatibility",
|
|
102
|
+
"gmail",
|
|
103
|
+
"outlook",
|
|
104
|
+
"apple-mail",
|
|
105
|
+
"dark-mode",
|
|
106
|
+
"email-testing",
|
|
107
|
+
"spam-scoring",
|
|
108
|
+
"accessibility",
|
|
109
|
+
"link-validation",
|
|
110
|
+
"image-analysis"
|
|
111
|
+
],
|
|
112
|
+
"license": "MIT",
|
|
113
|
+
"repository": {
|
|
114
|
+
"type": "git",
|
|
115
|
+
"url": "git+https://github.com/emailens/engine.git"
|
|
116
|
+
},
|
|
117
|
+
"homepage": "https://github.com/emailens/engine#readme",
|
|
118
|
+
"bugs": {
|
|
119
|
+
"url": "https://github.com/emailens/engine/issues"
|
|
120
|
+
}
|
|
121
|
+
}
|