@gravito/signal 3.0.4 → 3.1.2

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.
Files changed (124) hide show
  1. package/README.md +26 -15
  2. package/dist/Mailable.d.ts +453 -0
  3. package/dist/OrbitSignal.d.ts +267 -0
  4. package/{src/Queueable.ts → dist/Queueable.d.ts} +1 -1
  5. package/{src/TypedMailable.ts → dist/TypedMailable.d.ts} +12 -13
  6. package/dist/dev/DevMailbox.d.ts +79 -0
  7. package/dist/dev/DevServer.d.ts +39 -0
  8. package/dist/dev/storage/FileMailboxStorage.d.ts +16 -0
  9. package/dist/dev/storage/MailboxStorage.d.ts +14 -0
  10. package/dist/dev/storage/MemoryMailboxStorage.d.ts +13 -0
  11. package/dist/dev/ui/mailbox.d.ts +11 -0
  12. package/dist/dev/ui/preview.d.ts +11 -0
  13. package/dist/dev/ui/shared.d.ts +15 -0
  14. package/dist/errors.d.ts +58 -0
  15. package/{src/events.ts → dist/events.d.ts} +20 -29
  16. package/dist/{lib-HJTRWKU5.mjs → index.cjs} +4687 -10983
  17. package/dist/index.d.ts +303 -1874
  18. package/dist/index.js +317 -45939
  19. package/dist/index.mjs +59748 -27
  20. package/dist/renderers/HtmlRenderer.d.ts +34 -0
  21. package/dist/renderers/MjmlRenderer.d.ts +41 -0
  22. package/dist/renderers/ReactMjmlRenderer.d.ts +38 -0
  23. package/dist/renderers/ReactRenderer.d.ts +46 -0
  24. package/{src/renderers/Renderer.ts → dist/renderers/Renderer.d.ts} +23 -24
  25. package/dist/renderers/TemplateRenderer.d.ts +55 -0
  26. package/dist/renderers/VueMjmlRenderer.d.ts +39 -0
  27. package/dist/renderers/VueRenderer.d.ts +47 -0
  28. package/dist/renderers/mjml-templates.d.ts +11 -0
  29. package/dist/transports/BaseTransport.d.ts +111 -0
  30. package/dist/transports/LogTransport.d.ts +42 -0
  31. package/dist/transports/MemoryTransport.d.ts +51 -0
  32. package/dist/transports/SesTransport.d.ts +79 -0
  33. package/dist/transports/SmtpTransport.d.ts +124 -0
  34. package/dist/transports/Transport.d.ts +44 -0
  35. package/dist/types.d.ts +294 -0
  36. package/{src/utils/html.ts → dist/utils/html.d.ts} +1 -15
  37. package/dist/webhooks/SendGridWebhookDriver.d.ts +45 -0
  38. package/dist/webhooks/SesWebhookDriver.d.ts +23 -0
  39. package/package.json +20 -8
  40. package/CHANGELOG.md +0 -74
  41. package/dist/MjmlRenderer-IUH663FT.mjs +0 -8
  42. package/dist/ReactMjmlRenderer-C3P5YO5L.mjs +0 -8
  43. package/dist/ReactRenderer-24SQ4KRU.mjs +0 -27
  44. package/dist/ReactRenderer-2JFLRVST.mjs +0 -45
  45. package/dist/ReactRenderer-CMCAOEPH.mjs +0 -28
  46. package/dist/ReactRenderer-KYNA4WKE.mjs +0 -28
  47. package/dist/ReactRenderer-LYEOSYFS.mjs +0 -28
  48. package/dist/ReactRenderer-V54CUUEI.mjs +0 -45
  49. package/dist/VueMjmlRenderer-4F4CXHDB.mjs +0 -8
  50. package/dist/VueMjmlRenderer-5WZR4CQG.mjs +0 -8
  51. package/dist/VueMjmlRenderer-U5YMWI44.mjs +0 -8
  52. package/dist/VueRenderer-3YBRQXME.mjs +0 -48
  53. package/dist/VueRenderer-46JGXTJ2.mjs +0 -48
  54. package/dist/VueRenderer-5KWD4R3C.mjs +0 -48
  55. package/dist/VueRenderer-C23U4O5E.mjs +0 -48
  56. package/dist/VueRenderer-DWTCD2RF.mjs +0 -31
  57. package/dist/VueRenderer-IIR5SYTM.mjs +0 -31
  58. package/dist/VueRenderer-LEVDFLHP.mjs +0 -31
  59. package/dist/VueRenderer-RNHSCCRI.mjs +0 -48
  60. package/dist/VueRenderer-SUP66ISX.mjs +0 -29
  61. package/dist/chunk-3WOR3XSL.mjs +0 -82
  62. package/dist/chunk-DBFIVHHG.mjs +0 -79
  63. package/dist/chunk-EBO3CZXG.mjs +0 -15
  64. package/dist/chunk-HEBXNMVQ.mjs +0 -48
  65. package/dist/chunk-KB7IDDBT.mjs +0 -82
  66. package/dist/chunk-LZL5UUPC.mjs +0 -82
  67. package/dist/chunk-W6LXIJKK.mjs +0 -57
  68. package/dist/chunk-XBIVBJS2.mjs +0 -8
  69. package/dist/index.d.mts +0 -2115
  70. package/dist/server-renderer-4IM3P5XZ.mjs +0 -37183
  71. package/dist/server-renderer-4W4FI7YG.mjs +0 -37269
  72. package/dist/server-renderer-7KWFSTPV.mjs +0 -37193
  73. package/dist/server-renderer-S5FPSTJ2.mjs +0 -37183
  74. package/dist/server-renderer-X5LUFVWT.mjs +0 -37193
  75. package/doc/OPTIMIZATION_PLAN.md +0 -496
  76. package/scripts/check-coverage.ts +0 -64
  77. package/src/Mailable.ts +0 -674
  78. package/src/OrbitSignal.ts +0 -451
  79. package/src/dev/DevMailbox.ts +0 -146
  80. package/src/dev/DevServer.ts +0 -192
  81. package/src/dev/storage/FileMailboxStorage.ts +0 -66
  82. package/src/dev/storage/MailboxStorage.ts +0 -15
  83. package/src/dev/storage/MemoryMailboxStorage.ts +0 -36
  84. package/src/dev/ui/mailbox.ts +0 -77
  85. package/src/dev/ui/preview.ts +0 -103
  86. package/src/dev/ui/shared.ts +0 -60
  87. package/src/errors.ts +0 -69
  88. package/src/index.ts +0 -41
  89. package/src/renderers/HtmlRenderer.ts +0 -41
  90. package/src/renderers/MjmlRenderer.ts +0 -73
  91. package/src/renderers/ReactMjmlRenderer.ts +0 -94
  92. package/src/renderers/ReactRenderer.ts +0 -66
  93. package/src/renderers/TemplateRenderer.ts +0 -84
  94. package/src/renderers/VueMjmlRenderer.ts +0 -99
  95. package/src/renderers/VueRenderer.ts +0 -71
  96. package/src/renderers/mjml-templates.ts +0 -50
  97. package/src/transports/BaseTransport.ts +0 -148
  98. package/src/transports/LogTransport.ts +0 -55
  99. package/src/transports/MemoryTransport.ts +0 -55
  100. package/src/transports/SesTransport.ts +0 -129
  101. package/src/transports/SmtpTransport.ts +0 -184
  102. package/src/transports/Transport.ts +0 -45
  103. package/src/types.ts +0 -309
  104. package/src/webhooks/SendGridWebhookDriver.ts +0 -80
  105. package/src/webhooks/SesWebhookDriver.ts +0 -44
  106. package/tests/DevMailbox.test.ts +0 -54
  107. package/tests/FileMailboxStorage.test.ts +0 -56
  108. package/tests/MjmlLayout.test.ts +0 -28
  109. package/tests/MjmlRenderer.test.ts +0 -53
  110. package/tests/OrbitSignalWebhook.test.ts +0 -56
  111. package/tests/ReactMjmlRenderer.test.ts +0 -33
  112. package/tests/SendGridWebhookDriver.test.ts +0 -69
  113. package/tests/SesWebhookDriver.test.ts +0 -46
  114. package/tests/VueMjmlRenderer.test.ts +0 -35
  115. package/tests/dev-server.test.ts +0 -66
  116. package/tests/log-transport.test.ts +0 -21
  117. package/tests/mailable-extra.test.ts +0 -68
  118. package/tests/mailable.test.ts +0 -77
  119. package/tests/orbit-signal.test.ts +0 -43
  120. package/tests/renderers.test.ts +0 -58
  121. package/tests/template-renderer.test.ts +0 -24
  122. package/tests/transports.test.ts +0 -52
  123. package/tests/ui.test.ts +0 -37
  124. package/tsconfig.json +0 -14
@@ -1,82 +0,0 @@
1
- import {
2
- stripHtml
3
- } from "./chunk-XBIVBJS2.mjs";
4
-
5
- // src/renderers/VueMjmlRenderer.ts
6
- var VueMjmlRenderer = class {
7
- /**
8
- * Creates an instance of VueMjmlRenderer.
9
- *
10
- * @param component - The Vue component to render.
11
- * @param props - Initial props for the component.
12
- * @param options - Optional MJML transformation options.
13
- * @param deps - Optional dependency injection for testing.
14
- */
15
- constructor(component, props, options = {}, deps = {}) {
16
- this.component = component;
17
- this.props = props;
18
- this.options = options;
19
- this.deps = deps;
20
- }
21
- /**
22
- * Renders the Vue component to a static HTML string via MJML.
23
- *
24
- * @param data - Runtime data to be merged with initial props.
25
- * @returns A promise resolving to the rendered content.
26
- * @throws {Error} If MJML rendering fails.
27
- */
28
- async render(data) {
29
- let { createSSRApp, h, renderToString, mjml2html } = this.deps;
30
- if (!createSSRApp || !h || !renderToString) {
31
- try {
32
- const vue = await import("vue");
33
- const vueServerRenderer = await import("./server-renderer-4IM3P5XZ.mjs");
34
- createSSRApp ??= vue.createSSRApp;
35
- h ??= vue.h;
36
- renderToString ??= vueServerRenderer.renderToString;
37
- } catch (_e) {
38
- throw new Error(
39
- '[OrbitSignal] The "vue" and "@vue/server-renderer" packages are required for VueMjmlRenderer. Please install them using "bun add vue @vue/server-renderer".'
40
- );
41
- }
42
- }
43
- if (!mjml2html) {
44
- try {
45
- mjml2html = (await import("./lib-HJTRWKU5.mjs")).default;
46
- } catch (_e) {
47
- throw new Error(
48
- '[OrbitSignal] The "mjml" package is required for VueMjmlRenderer. Please install it using "bun add mjml".'
49
- );
50
- }
51
- }
52
- const mergedProps = { ...this.props, ...data };
53
- const app = createSSRApp?.({
54
- render: () => h?.(this.component, mergedProps)
55
- });
56
- const mjml = await renderToString?.(app);
57
- if (!mjml) {
58
- throw new Error("Failed to render MJML template");
59
- }
60
- const result = mjml2html?.(mjml, {
61
- validationLevel: "soft",
62
- ...this.options
63
- });
64
- if (!result) {
65
- throw new Error("Failed to convert MJML to HTML");
66
- }
67
- const { html, errors } = result;
68
- if (errors && errors.length > 0 && this.options.validationLevel === "strict") {
69
- throw new Error(
70
- `MJML rendering failed: ${errors.map((e) => e.formattedMessage).join(", ")}`
71
- );
72
- }
73
- return {
74
- html,
75
- text: stripHtml(html)
76
- };
77
- }
78
- };
79
-
80
- export {
81
- VueMjmlRenderer
82
- };
@@ -1,79 +0,0 @@
1
- import {
2
- stripHtml
3
- } from "./chunk-XBIVBJS2.mjs";
4
-
5
- // src/renderers/ReactMjmlRenderer.ts
6
- var ReactMjmlRenderer = class {
7
- /**
8
- * Creates an instance of ReactMjmlRenderer.
9
- *
10
- * @param component - The React component to render.
11
- * @param props - Initial props for the component.
12
- * @param options - Optional MJML transformation options.
13
- * @param deps - Optional dependency injection for testing.
14
- */
15
- constructor(component, props, options = {}, deps = {}) {
16
- this.component = component;
17
- this.props = props;
18
- this.options = options;
19
- this.deps = deps;
20
- }
21
- /**
22
- * Renders the React component to a static HTML string via MJML.
23
- *
24
- * @param data - Runtime data to be merged with initial props.
25
- * @returns A promise resolving to the rendered content.
26
- * @throws {Error} If MJML rendering fails.
27
- */
28
- async render(data) {
29
- let { createElement, renderToStaticMarkup, mjml2html } = this.deps;
30
- if (!createElement || !renderToStaticMarkup) {
31
- try {
32
- const react = await import("react");
33
- const reactDomServer = await import("react-dom/server");
34
- createElement ??= react.createElement;
35
- renderToStaticMarkup ??= reactDomServer.renderToStaticMarkup;
36
- } catch (_e) {
37
- throw new Error(
38
- '[OrbitSignal] The "react" and "react-dom" packages are required for ReactMjmlRenderer. Please install them using "bun add react react-dom".'
39
- );
40
- }
41
- }
42
- if (!mjml2html) {
43
- try {
44
- mjml2html = (await import("./lib-HJTRWKU5.mjs")).default;
45
- } catch (_e) {
46
- throw new Error(
47
- '[OrbitSignal] The "mjml" package is required for ReactMjmlRenderer. Please install it using "bun add mjml".'
48
- );
49
- }
50
- }
51
- const mergedProps = { ...this.props, ...data };
52
- const element = createElement?.(this.component, mergedProps);
53
- const mjml = renderToStaticMarkup?.(element);
54
- if (!mjml) {
55
- throw new Error("Failed to render MJML template");
56
- }
57
- const result = mjml2html?.(mjml, {
58
- validationLevel: "soft",
59
- ...this.options
60
- });
61
- if (!result) {
62
- throw new Error("Failed to convert MJML to HTML");
63
- }
64
- const { html, errors } = result;
65
- if (errors && errors.length > 0 && this.options.validationLevel === "strict") {
66
- throw new Error(
67
- `MJML rendering failed: ${errors.map((e) => e.formattedMessage).join(", ")}`
68
- );
69
- }
70
- return {
71
- html,
72
- text: stripHtml(html)
73
- };
74
- }
75
- };
76
-
77
- export {
78
- ReactMjmlRenderer
79
- };
@@ -1,15 +0,0 @@
1
- var __getOwnPropNames = Object.getOwnPropertyNames;
2
- var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
3
- get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
4
- }) : x)(function(x) {
5
- if (typeof require !== "undefined") return require.apply(this, arguments);
6
- throw Error('Dynamic require of "' + x + '" is not supported');
7
- });
8
- var __commonJS = (cb, mod) => function __require2() {
9
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
10
- };
11
-
12
- export {
13
- __require,
14
- __commonJS
15
- };
@@ -1,48 +0,0 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
8
- get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
9
- }) : x)(function(x) {
10
- if (typeof require !== "undefined") return require.apply(this, arguments);
11
- throw Error('Dynamic require of "' + x + '" is not supported');
12
- });
13
- var __esm = (fn, res) => function __init() {
14
- return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
15
- };
16
- var __commonJS = (cb, mod) => function __require2() {
17
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
18
- };
19
- var __export = (target, all) => {
20
- for (var name in all)
21
- __defProp(target, name, { get: all[name], enumerable: true });
22
- };
23
- var __copyProps = (to, from, except, desc) => {
24
- if (from && typeof from === "object" || typeof from === "function") {
25
- for (let key of __getOwnPropNames(from))
26
- if (!__hasOwnProp.call(to, key) && key !== except)
27
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
28
- }
29
- return to;
30
- };
31
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
32
- // If the importer is in node compatibility mode or this is not an ESM
33
- // file that has been converted to a CommonJS file using a Babel-
34
- // compatible transform (i.e. "__esModule" has not been set), then set
35
- // "default" to the CommonJS "module.exports" for node compatibility.
36
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
37
- mod
38
- ));
39
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
40
-
41
- export {
42
- __require,
43
- __esm,
44
- __commonJS,
45
- __export,
46
- __toESM,
47
- __toCommonJS
48
- };
@@ -1,82 +0,0 @@
1
- import {
2
- stripHtml
3
- } from "./chunk-XBIVBJS2.mjs";
4
-
5
- // src/renderers/VueMjmlRenderer.ts
6
- var VueMjmlRenderer = class {
7
- /**
8
- * Creates an instance of VueMjmlRenderer.
9
- *
10
- * @param component - The Vue component to render.
11
- * @param props - Initial props for the component.
12
- * @param options - Optional MJML transformation options.
13
- * @param deps - Optional dependency injection for testing.
14
- */
15
- constructor(component, props, options = {}, deps = {}) {
16
- this.component = component;
17
- this.props = props;
18
- this.options = options;
19
- this.deps = deps;
20
- }
21
- /**
22
- * Renders the Vue component to a static HTML string via MJML.
23
- *
24
- * @param data - Runtime data to be merged with initial props.
25
- * @returns A promise resolving to the rendered content.
26
- * @throws {Error} If MJML rendering fails.
27
- */
28
- async render(data) {
29
- let { createSSRApp, h, renderToString, mjml2html } = this.deps;
30
- if (!createSSRApp || !h || !renderToString) {
31
- try {
32
- const vue = await import("vue");
33
- const vueServerRenderer = await import("./server-renderer-7KWFSTPV.mjs");
34
- createSSRApp ??= vue.createSSRApp;
35
- h ??= vue.h;
36
- renderToString ??= vueServerRenderer.renderToString;
37
- } catch (_e) {
38
- throw new Error(
39
- '[OrbitSignal] The "vue" and "@vue/server-renderer" packages are required for VueMjmlRenderer. Please install them using "bun add vue @vue/server-renderer".'
40
- );
41
- }
42
- }
43
- if (!mjml2html) {
44
- try {
45
- mjml2html = (await import("./lib-HJTRWKU5.mjs")).default;
46
- } catch (_e) {
47
- throw new Error(
48
- '[OrbitSignal] The "mjml" package is required for VueMjmlRenderer. Please install it using "bun add mjml".'
49
- );
50
- }
51
- }
52
- const mergedProps = { ...this.props, ...data };
53
- const app = createSSRApp?.({
54
- render: () => h?.(this.component, mergedProps)
55
- });
56
- const mjml = await renderToString?.(app);
57
- if (!mjml) {
58
- throw new Error("Failed to render MJML template");
59
- }
60
- const result = mjml2html?.(mjml, {
61
- validationLevel: "soft",
62
- ...this.options
63
- });
64
- if (!result) {
65
- throw new Error("Failed to convert MJML to HTML");
66
- }
67
- const { html, errors } = result;
68
- if (errors && errors.length > 0 && this.options.validationLevel === "strict") {
69
- throw new Error(
70
- `MJML rendering failed: ${errors.map((e) => e.formattedMessage).join(", ")}`
71
- );
72
- }
73
- return {
74
- html,
75
- text: stripHtml(html)
76
- };
77
- }
78
- };
79
-
80
- export {
81
- VueMjmlRenderer
82
- };
@@ -1,82 +0,0 @@
1
- import {
2
- stripHtml
3
- } from "./chunk-XBIVBJS2.mjs";
4
-
5
- // src/renderers/VueMjmlRenderer.ts
6
- var VueMjmlRenderer = class {
7
- /**
8
- * Creates an instance of VueMjmlRenderer.
9
- *
10
- * @param component - The Vue component to render.
11
- * @param props - Initial props for the component.
12
- * @param options - Optional MJML transformation options.
13
- * @param deps - Optional dependency injection for testing.
14
- */
15
- constructor(component, props, options = {}, deps = {}) {
16
- this.component = component;
17
- this.props = props;
18
- this.options = options;
19
- this.deps = deps;
20
- }
21
- /**
22
- * Renders the Vue component to a static HTML string via MJML.
23
- *
24
- * @param data - Runtime data to be merged with initial props.
25
- * @returns A promise resolving to the rendered content.
26
- * @throws {Error} If MJML rendering fails.
27
- */
28
- async render(data) {
29
- let { createSSRApp, h, renderToString, mjml2html } = this.deps;
30
- if (!createSSRApp || !h || !renderToString) {
31
- try {
32
- const vue = await import("vue");
33
- const vueServerRenderer = await import("./server-renderer-X5LUFVWT.mjs");
34
- createSSRApp ??= vue.createSSRApp;
35
- h ??= vue.h;
36
- renderToString ??= vueServerRenderer.renderToString;
37
- } catch (_e) {
38
- throw new Error(
39
- '[OrbitSignal] The "vue" and "@vue/server-renderer" packages are required for VueMjmlRenderer. Please install them using "bun add vue @vue/server-renderer".'
40
- );
41
- }
42
- }
43
- if (!mjml2html) {
44
- try {
45
- mjml2html = (await import("./lib-HJTRWKU5.mjs")).default;
46
- } catch (_e) {
47
- throw new Error(
48
- '[OrbitSignal] The "mjml" package is required for VueMjmlRenderer. Please install it using "bun add mjml".'
49
- );
50
- }
51
- }
52
- const mergedProps = { ...this.props, ...data };
53
- const app = createSSRApp?.({
54
- render: () => h?.(this.component, mergedProps)
55
- });
56
- const mjml = await renderToString?.(app);
57
- if (!mjml) {
58
- throw new Error("Failed to render MJML template");
59
- }
60
- const result = mjml2html?.(mjml, {
61
- validationLevel: "soft",
62
- ...this.options
63
- });
64
- if (!result) {
65
- throw new Error("Failed to convert MJML to HTML");
66
- }
67
- const { html, errors } = result;
68
- if (errors && errors.length > 0 && this.options.validationLevel === "strict") {
69
- throw new Error(
70
- `MJML rendering failed: ${errors.map((e) => e.formattedMessage).join(", ")}`
71
- );
72
- }
73
- return {
74
- html,
75
- text: stripHtml(html)
76
- };
77
- }
78
- };
79
-
80
- export {
81
- VueMjmlRenderer
82
- };
@@ -1,57 +0,0 @@
1
- import {
2
- stripHtml
3
- } from "./chunk-XBIVBJS2.mjs";
4
-
5
- // src/renderers/MjmlRenderer.ts
6
- var MjmlRenderer = class {
7
- /**
8
- * Creates an instance of MjmlRenderer.
9
- *
10
- * @param content - The MJML markup string to be rendered.
11
- * @param options - Optional MJML transformation options.
12
- * @param deps - Optional dependency injection for testing.
13
- */
14
- constructor(content, options = {}, deps = {}) {
15
- this.content = content;
16
- this.options = options;
17
- this.deps = deps;
18
- }
19
- /**
20
- * Renders the MJML content to static HTML.
21
- *
22
- * This method performs a dynamic import of `mjml` to ensure it's only
23
- * loaded if this renderer is actually used.
24
- *
25
- * @returns A promise resolving to the rendered content.
26
- * @throws {Error} If MJML dependencies cannot be loaded or rendering fails.
27
- */
28
- async render() {
29
- let mjml2html = this.deps.mjml2html;
30
- if (!mjml2html) {
31
- try {
32
- mjml2html = (await import("./lib-HJTRWKU5.mjs")).default;
33
- } catch (_e) {
34
- throw new Error(
35
- '[OrbitSignal] The "mjml" package is required for MjmlRenderer. Please install it using "bun add mjml".'
36
- );
37
- }
38
- }
39
- const { html, errors } = mjml2html(this.content, {
40
- validationLevel: "soft",
41
- ...this.options
42
- });
43
- if (errors && errors.length > 0 && this.options.validationLevel === "strict") {
44
- throw new Error(
45
- `MJML rendering failed: ${errors.map((e) => e.formattedMessage).join(", ")}`
46
- );
47
- }
48
- return {
49
- html,
50
- text: stripHtml(html)
51
- };
52
- }
53
- };
54
-
55
- export {
56
- MjmlRenderer
57
- };
@@ -1,8 +0,0 @@
1
- // src/utils/html.ts
2
- function stripHtml(html) {
3
- return html.replace(/<style(?:\s[^>]*)?>[\s\S]*?<\/style>/gi, "").replace(/<script(?:\s[^>]*)?>[\s\S]*?<\/script>/gi, "").replace(/<[^>]+>/g, "").replace(/&nbsp;/g, " ").replace(/&amp;/g, "&").replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&quot;/g, '"').replace(/&#39;/g, "'").replace(/\s+/g, " ").trim();
4
- }
5
-
6
- export {
7
- stripHtml
8
- };