@emailens/engine 0.11.7 → 0.11.9

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.
@@ -1,4 +1,4 @@
1
- import { x as InputFormat } from './types-bvGDId6f.js';
1
+ import { x as InputFormat } from './types-DiseE-UH.js';
2
2
 
3
3
  /**
4
4
  * Unified error class for all email compilation failures.
@@ -1,4 +1,4 @@
1
- import { x as InputFormat } from './types-bvGDId6f.cjs';
1
+ import { x as InputFormat } from './types-DiseE-UH.cjs';
2
2
 
3
3
  /**
4
4
  * Unified error class for all email compilation failures.
package/dist/server.d.cts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { promises } from 'node:dns';
2
- import { m as DeliverabilityReport } from './types-bvGDId6f.cjs';
2
+ import { m as DeliverabilityReport } from './types-DiseE-UH.cjs';
3
3
 
4
4
  /**
5
5
  * DNS-based email deliverability checker.
package/dist/server.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { promises } from 'node:dns';
2
- import { m as DeliverabilityReport } from './types-bvGDId6f.js';
2
+ import { m as DeliverabilityReport } from './types-DiseE-UH.js';
3
3
 
4
4
  /**
5
5
  * DNS-based email deliverability checker.
@@ -251,9 +251,34 @@ interface LinkIssue extends BaseIssue {
251
251
  href?: string;
252
252
  text?: string;
253
253
  }
254
+ /**
255
+ * One anchor, as found. The link equivalent of `ImageInfo`.
256
+ *
257
+ * Exists so a consumer can act per-link (resolve, rewrite, report) without
258
+ * re-parsing HTML the engine has already parsed. `LinkReport` used to carry
259
+ * only counts and the links that had problems, which made the clean ones
260
+ * unreachable, and those are exactly the ones worth resolving.
261
+ */
262
+ interface LinkInfo {
263
+ /**
264
+ * The href exactly as written, never truncated. `LinkIssue.href` is clipped
265
+ * for display; this one is not, because a clipped URL cannot be fetched and
266
+ * fetching is the reason this inventory exists.
267
+ */
268
+ href: string;
269
+ /** Visible text, bounded at 80 characters as the issues are. */
270
+ text: string;
271
+ scheme: "https" | "http" | "mailto" | "tel" | "anchor" | "javascript" | "protocol-relative" | "empty" | "other";
272
+ /** `#`, empty, or a `javascript:void` stand-in: a link that goes nowhere. */
273
+ isPlaceholder: boolean;
274
+ /** Rule names that fired for this link, mirroring `ImageInfo.issues`. */
275
+ issues: string[];
276
+ }
254
277
  interface LinkReport {
255
278
  totalLinks: number;
256
279
  issues: LinkIssue[];
280
+ /** Every anchor in the email, in document order. */
281
+ links: LinkInfo[];
257
282
  breakdown: {
258
283
  https: number;
259
284
  http: number;
@@ -384,4 +409,4 @@ interface DesignReport {
384
409
  };
385
410
  }
386
411
 
387
- 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 Severity as G, type SizeIssue as H, type ImageReport as I, type SourceLocation as J, type SpamIssue as K, type LinkReport as L, type TemplateIssue as M, type TokenEstimate as N, type OverflowReport as O, type PreviewResult as P, type TokenEstimateWithWarnings as Q, type VisualIssue as R, type SupportLevel as S, type TransformResult as T, type VmlIssue as U, type VmlReport as V, estimateAiFixTokens as W, generateFixPrompt as X, heuristicTokenCount as Y, 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 AccessibilityIssue as g, type InboxPreview as h, type SizeReport as i, type TemplateReport as j, type VisualReport as k, type DesignReport as l, type DeliverabilityReport as m, type ClientTruncation as n, type DeliverabilityCheck as o, type DeliverabilityIssue as p, type DesignIssue as q, type EstimateOptions as r, type ExportScope as s, type FixType as t, type ImageInfo as u, type ImageIssue as v, type InboxPreviewIssue as w, type InputFormat as x, type LinkIssue as y, type OverflowIssue as z };
412
+ 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 OverflowIssue as G, type Severity as H, type ImageReport as I, type SizeIssue as J, type SourceLocation as K, type LinkReport as L, type SpamIssue as M, type TemplateIssue as N, type OverflowReport as O, type PreviewResult as P, type TokenEstimate as Q, type TokenEstimateWithWarnings as R, type SupportLevel as S, type TransformResult as T, type VisualIssue as U, type VmlReport as V, type VmlIssue as W, estimateAiFixTokens as X, generateFixPrompt as Y, heuristicTokenCount as Z, 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 AccessibilityIssue as g, type InboxPreview as h, type SizeReport as i, type TemplateReport as j, type VisualReport as k, type DesignReport as l, type DeliverabilityReport as m, type ClientTruncation as n, type DeliverabilityCheck as o, type DeliverabilityIssue as p, type DesignIssue as q, type EstimateOptions as r, type ExportScope as s, type FixType as t, type ImageInfo as u, type ImageIssue as v, type InboxPreviewIssue as w, type InputFormat as x, type LinkInfo as y, type LinkIssue as z };
@@ -251,9 +251,34 @@ interface LinkIssue extends BaseIssue {
251
251
  href?: string;
252
252
  text?: string;
253
253
  }
254
+ /**
255
+ * One anchor, as found. The link equivalent of `ImageInfo`.
256
+ *
257
+ * Exists so a consumer can act per-link (resolve, rewrite, report) without
258
+ * re-parsing HTML the engine has already parsed. `LinkReport` used to carry
259
+ * only counts and the links that had problems, which made the clean ones
260
+ * unreachable, and those are exactly the ones worth resolving.
261
+ */
262
+ interface LinkInfo {
263
+ /**
264
+ * The href exactly as written, never truncated. `LinkIssue.href` is clipped
265
+ * for display; this one is not, because a clipped URL cannot be fetched and
266
+ * fetching is the reason this inventory exists.
267
+ */
268
+ href: string;
269
+ /** Visible text, bounded at 80 characters as the issues are. */
270
+ text: string;
271
+ scheme: "https" | "http" | "mailto" | "tel" | "anchor" | "javascript" | "protocol-relative" | "empty" | "other";
272
+ /** `#`, empty, or a `javascript:void` stand-in: a link that goes nowhere. */
273
+ isPlaceholder: boolean;
274
+ /** Rule names that fired for this link, mirroring `ImageInfo.issues`. */
275
+ issues: string[];
276
+ }
254
277
  interface LinkReport {
255
278
  totalLinks: number;
256
279
  issues: LinkIssue[];
280
+ /** Every anchor in the email, in document order. */
281
+ links: LinkInfo[];
257
282
  breakdown: {
258
283
  https: number;
259
284
  http: number;
@@ -384,4 +409,4 @@ interface DesignReport {
384
409
  };
385
410
  }
386
411
 
387
- 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 Severity as G, type SizeIssue as H, type ImageReport as I, type SourceLocation as J, type SpamIssue as K, type LinkReport as L, type TemplateIssue as M, type TokenEstimate as N, type OverflowReport as O, type PreviewResult as P, type TokenEstimateWithWarnings as Q, type VisualIssue as R, type SupportLevel as S, type TransformResult as T, type VmlIssue as U, type VmlReport as V, estimateAiFixTokens as W, generateFixPrompt as X, heuristicTokenCount as Y, 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 AccessibilityIssue as g, type InboxPreview as h, type SizeReport as i, type TemplateReport as j, type VisualReport as k, type DesignReport as l, type DeliverabilityReport as m, type ClientTruncation as n, type DeliverabilityCheck as o, type DeliverabilityIssue as p, type DesignIssue as q, type EstimateOptions as r, type ExportScope as s, type FixType as t, type ImageInfo as u, type ImageIssue as v, type InboxPreviewIssue as w, type InputFormat as x, type LinkIssue as y, type OverflowIssue as z };
412
+ 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 OverflowIssue as G, type Severity as H, type ImageReport as I, type SizeIssue as J, type SourceLocation as K, type LinkReport as L, type SpamIssue as M, type TemplateIssue as N, type OverflowReport as O, type PreviewResult as P, type TokenEstimate as Q, type TokenEstimateWithWarnings as R, type SupportLevel as S, type TransformResult as T, type VisualIssue as U, type VmlReport as V, type VmlIssue as W, estimateAiFixTokens as X, generateFixPrompt as Y, heuristicTokenCount as Z, 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 AccessibilityIssue as g, type InboxPreview as h, type SizeReport as i, type TemplateReport as j, type VisualReport as k, type DesignReport as l, type DeliverabilityReport as m, type ClientTruncation as n, type DeliverabilityCheck as o, type DeliverabilityIssue as p, type DesignIssue as q, type EstimateOptions as r, type ExportScope as s, type FixType as t, type ImageInfo as u, type ImageIssue as v, type InboxPreviewIssue as w, type InputFormat as x, type LinkInfo as y, type LinkIssue as z };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@emailens/engine",
3
- "version": "0.11.7",
3
+ "version": "0.11.9",
4
4
  "description": "Email compatibility engine for HTML, MJML, Maizzle and React Email: transforms CSS per email client, scores compatibility, simulates dark mode, suggests fixes, and runs spam, accessibility, link and image quality analysis.",
5
5
  "type": "module",
6
6
  "exports": {
@@ -125,4 +125,4 @@
125
125
  "bugs": {
126
126
  "url": "https://github.com/emailens/engine/issues"
127
127
  }
128
- }
128
+ }