@gravito/signal 1.0.0-alpha.3 → 1.0.0-alpha.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.zh-TW.md +27 -0
- package/dist/OrbitSignal-IPSA2CDO.mjs +7 -0
- package/dist/OrbitSignal-QSW5VQ5M.mjs +7 -0
- package/dist/OrbitSignal-R22QHWAA.mjs +7 -0
- package/dist/ReactRenderer-24SQ4KRU.mjs +27 -0
- package/dist/VueRenderer-SUP66ISX.mjs +29 -0
- package/dist/chunk-EBO3CZXG.mjs +15 -0
- package/dist/chunk-F6MVTUCT.mjs +421 -0
- package/dist/chunk-NEQCQSZI.mjs +406 -0
- package/dist/chunk-YLVDJSED.mjs +431 -0
- package/dist/index.d.mts +26 -10
- package/dist/index.d.ts +26 -10
- package/dist/index.js +58 -28
- package/dist/index.mjs +10 -10
- package/dist/server-renderer-4W4FI7YG.mjs +37269 -0
- package/package.json +13 -13
- package/src/OrbitSignal.ts +15 -11
- package/src/augmentation.ts +13 -0
- package/src/dev/DevServer.ts +26 -10
- package/src/index.ts +2 -0
- package/src/renderers/ReactRenderer.ts +5 -4
- package/src/renderers/TemplateRenderer.ts +7 -5
- package/src/renderers/VueRenderer.ts +5 -3
package/dist/index.js
CHANGED
|
@@ -91,21 +91,21 @@ var ReactRenderer_exports = {};
|
|
|
91
91
|
__export(ReactRenderer_exports, {
|
|
92
92
|
ReactRenderer: () => ReactRenderer
|
|
93
93
|
});
|
|
94
|
-
var
|
|
94
|
+
var ReactRenderer;
|
|
95
95
|
var init_ReactRenderer = __esm({
|
|
96
96
|
"src/renderers/ReactRenderer.ts"() {
|
|
97
97
|
"use strict";
|
|
98
|
-
import_react = require("react");
|
|
99
|
-
import_server = require("react-dom/server");
|
|
100
98
|
ReactRenderer = class {
|
|
101
99
|
constructor(component, props) {
|
|
102
100
|
this.component = component;
|
|
103
101
|
this.props = props;
|
|
104
102
|
}
|
|
105
103
|
async render(data) {
|
|
104
|
+
const { createElement } = await import("react");
|
|
105
|
+
const { renderToStaticMarkup } = await import("react-dom/server");
|
|
106
106
|
const mergedProps = { ...this.props, ...data };
|
|
107
|
-
const element =
|
|
108
|
-
const html =
|
|
107
|
+
const element = createElement(this.component, mergedProps);
|
|
108
|
+
const html = renderToStaticMarkup(element);
|
|
109
109
|
const fullHtml = html.startsWith("<!DOCTYPE") ? html : `<!DOCTYPE html>${html}`;
|
|
110
110
|
return {
|
|
111
111
|
html: fullHtml,
|
|
@@ -34889,11 +34889,11 @@ var require_compiler_ssr_cjs = __commonJS({
|
|
|
34889
34889
|
ast.codegenNode = compilerDom.createBlockStatement(context.body);
|
|
34890
34890
|
ast.ssrHelpers = Array.from(
|
|
34891
34891
|
/* @__PURE__ */ new Set([
|
|
34892
|
-
...Array.from(ast.helpers).filter((
|
|
34892
|
+
...Array.from(ast.helpers).filter((h) => h in ssrHelpers),
|
|
34893
34893
|
...context.helpers
|
|
34894
34894
|
])
|
|
34895
34895
|
);
|
|
34896
|
-
ast.helpers = new Set(Array.from(ast.helpers).filter((
|
|
34896
|
+
ast.helpers = new Set(Array.from(ast.helpers).filter((h) => !(h in ssrHelpers)));
|
|
34897
34897
|
}
|
|
34898
34898
|
function createSSRTransformContext(root, options, helpers = /* @__PURE__ */ new Set(), withSlotScopeId = false) {
|
|
34899
34899
|
const body = [];
|
|
@@ -36014,9 +36014,9 @@ var require_server_renderer_cjs_prod = __commonJS({
|
|
|
36014
36014
|
}
|
|
36015
36015
|
return ret;
|
|
36016
36016
|
}
|
|
36017
|
-
async function
|
|
36017
|
+
async function renderToString(input, context = {}) {
|
|
36018
36018
|
if (isVNode$1(input)) {
|
|
36019
|
-
return
|
|
36019
|
+
return renderToString(Vue.createApp({ render: () => input }), context);
|
|
36020
36020
|
}
|
|
36021
36021
|
const vnode = Vue.createVNode(input._component, input._props);
|
|
36022
36022
|
vnode.appContext = input._context;
|
|
@@ -36182,7 +36182,7 @@ var require_server_renderer_cjs_prod = __commonJS({
|
|
|
36182
36182
|
exports2.renderToNodeStream = renderToNodeStream;
|
|
36183
36183
|
exports2.renderToSimpleStream = renderToSimpleStream;
|
|
36184
36184
|
exports2.renderToStream = renderToStream;
|
|
36185
|
-
exports2.renderToString =
|
|
36185
|
+
exports2.renderToString = renderToString;
|
|
36186
36186
|
exports2.renderToWebStream = renderToWebStream;
|
|
36187
36187
|
exports2.ssrGetDirectiveProps = ssrGetDirectiveProps;
|
|
36188
36188
|
exports2.ssrGetDynamicModelProps = ssrGetDynamicModelProps;
|
|
@@ -37140,9 +37140,9 @@ ${codeFrame}` : message);
|
|
|
37140
37140
|
}
|
|
37141
37141
|
return ret;
|
|
37142
37142
|
}
|
|
37143
|
-
async function
|
|
37143
|
+
async function renderToString(input, context = {}) {
|
|
37144
37144
|
if (isVNode$1(input)) {
|
|
37145
|
-
return
|
|
37145
|
+
return renderToString(Vue.createApp({ render: () => input }), context);
|
|
37146
37146
|
}
|
|
37147
37147
|
const vnode = Vue.createVNode(input._component, input._props);
|
|
37148
37148
|
vnode.appContext = input._context;
|
|
@@ -37308,7 +37308,7 @@ ${codeFrame}` : message);
|
|
|
37308
37308
|
exports2.renderToNodeStream = renderToNodeStream;
|
|
37309
37309
|
exports2.renderToSimpleStream = renderToSimpleStream;
|
|
37310
37310
|
exports2.renderToStream = renderToStream;
|
|
37311
|
-
exports2.renderToString =
|
|
37311
|
+
exports2.renderToString = renderToString;
|
|
37312
37312
|
exports2.renderToWebStream = renderToWebStream;
|
|
37313
37313
|
exports2.ssrGetDirectiveProps = ssrGetDirectiveProps;
|
|
37314
37314
|
exports2.ssrGetDynamicModelProps = ssrGetDynamicModelProps;
|
|
@@ -37348,23 +37348,23 @@ var VueRenderer_exports = {};
|
|
|
37348
37348
|
__export(VueRenderer_exports, {
|
|
37349
37349
|
VueRenderer: () => VueRenderer
|
|
37350
37350
|
});
|
|
37351
|
-
var
|
|
37351
|
+
var VueRenderer;
|
|
37352
37352
|
var init_VueRenderer = __esm({
|
|
37353
37353
|
"src/renderers/VueRenderer.ts"() {
|
|
37354
37354
|
"use strict";
|
|
37355
|
-
import_server_renderer = __toESM(require_server_renderer());
|
|
37356
|
-
import_vue = require("vue");
|
|
37357
37355
|
VueRenderer = class {
|
|
37358
37356
|
constructor(component, props) {
|
|
37359
37357
|
this.component = component;
|
|
37360
37358
|
this.props = props;
|
|
37361
37359
|
}
|
|
37362
37360
|
async render(data) {
|
|
37361
|
+
const { createSSRApp, h } = await import("vue");
|
|
37362
|
+
const { renderToString } = await Promise.resolve().then(() => __toESM(require_server_renderer()));
|
|
37363
37363
|
const mergedProps = { ...this.props, ...data };
|
|
37364
|
-
const app =
|
|
37365
|
-
render: () =>
|
|
37364
|
+
const app = createSSRApp({
|
|
37365
|
+
render: () => h(this.component, mergedProps)
|
|
37366
37366
|
});
|
|
37367
|
-
const html = await
|
|
37367
|
+
const html = await renderToString(app);
|
|
37368
37368
|
const fullHtml = html.startsWith("<!DOCTYPE") ? html : `<!DOCTYPE html>${html}`;
|
|
37369
37369
|
return {
|
|
37370
37370
|
html: fullHtml,
|
|
@@ -37576,6 +37576,9 @@ var init_DevServer = __esm({
|
|
|
37576
37576
|
});
|
|
37577
37577
|
router.get(`${prefix}/:id`, (ctx) => {
|
|
37578
37578
|
const id = ctx.req.param("id");
|
|
37579
|
+
if (!id) {
|
|
37580
|
+
return ctx.text("Bad Request", 400);
|
|
37581
|
+
}
|
|
37579
37582
|
const entry = this.mailbox.get(id);
|
|
37580
37583
|
if (!entry) {
|
|
37581
37584
|
return ctx.text("Email not found", 404);
|
|
@@ -37584,6 +37587,9 @@ var init_DevServer = __esm({
|
|
|
37584
37587
|
});
|
|
37585
37588
|
router.get(`${prefix}/:id/html`, (ctx) => {
|
|
37586
37589
|
const id = ctx.req.param("id");
|
|
37590
|
+
if (!id) {
|
|
37591
|
+
return ctx.text("Bad Request", 400);
|
|
37592
|
+
}
|
|
37587
37593
|
const entry = this.mailbox.get(id);
|
|
37588
37594
|
if (!entry) {
|
|
37589
37595
|
return ctx.text("Not found", 404);
|
|
@@ -37592,16 +37598,21 @@ var init_DevServer = __esm({
|
|
|
37592
37598
|
});
|
|
37593
37599
|
router.get(`${prefix}/:id/text`, (ctx) => {
|
|
37594
37600
|
const id = ctx.req.param("id");
|
|
37601
|
+
if (!id) {
|
|
37602
|
+
return ctx.text("Bad Request", 400);
|
|
37603
|
+
}
|
|
37595
37604
|
const entry = this.mailbox.get(id);
|
|
37596
37605
|
if (!entry) {
|
|
37597
37606
|
return ctx.text("Not found", 404);
|
|
37598
37607
|
}
|
|
37599
|
-
|
|
37600
|
-
|
|
37601
|
-
});
|
|
37608
|
+
ctx.header("Content-Type", "text/plain; charset=utf-8");
|
|
37609
|
+
return ctx.text(entry.text || "No text content", 200);
|
|
37602
37610
|
});
|
|
37603
37611
|
router.get(`${prefix}/:id/raw`, (ctx) => {
|
|
37604
37612
|
const id = ctx.req.param("id");
|
|
37613
|
+
if (!id) {
|
|
37614
|
+
return ctx.json({ error: "Bad Request" }, 400);
|
|
37615
|
+
}
|
|
37605
37616
|
const entry = this.mailbox.get(id);
|
|
37606
37617
|
if (!entry) {
|
|
37607
37618
|
return ctx.json({ error: "Not found" }, 404);
|
|
@@ -37612,7 +37623,11 @@ var init_DevServer = __esm({
|
|
|
37612
37623
|
return ctx.text("Method not allowed", 405);
|
|
37613
37624
|
});
|
|
37614
37625
|
router.delete(`${prefix}/:id`, (ctx) => {
|
|
37615
|
-
const
|
|
37626
|
+
const id = ctx.req.param("id");
|
|
37627
|
+
if (!id) {
|
|
37628
|
+
return ctx.json({ success: false, error: "Bad Request" }, 400);
|
|
37629
|
+
}
|
|
37630
|
+
const success = this.mailbox.delete(id);
|
|
37616
37631
|
return ctx.json({ success });
|
|
37617
37632
|
});
|
|
37618
37633
|
router.delete(prefix, (ctx) => {
|
|
@@ -37686,6 +37701,9 @@ var init_OrbitSignal = __esm({
|
|
|
37686
37701
|
}
|
|
37687
37702
|
/**
|
|
37688
37703
|
* Get the singleton instance of OrbitSignal
|
|
37704
|
+
*
|
|
37705
|
+
* @returns The singleton instance of OrbitSignal.
|
|
37706
|
+
* @throws {Error} If OrbitSignal has not been initialized.
|
|
37689
37707
|
*/
|
|
37690
37708
|
static getInstance() {
|
|
37691
37709
|
if (!_OrbitSignal.instance) {
|
|
@@ -37695,6 +37713,9 @@ var init_OrbitSignal = __esm({
|
|
|
37695
37713
|
}
|
|
37696
37714
|
/**
|
|
37697
37715
|
* Configure the OrbitSignal instance
|
|
37716
|
+
*
|
|
37717
|
+
* @param config - The mail configuration object.
|
|
37718
|
+
* @returns A new instance of OrbitSignal.
|
|
37698
37719
|
*/
|
|
37699
37720
|
static configure(config) {
|
|
37700
37721
|
if (!config.transport && !config.devMode) {
|
|
@@ -37705,6 +37726,8 @@ var init_OrbitSignal = __esm({
|
|
|
37705
37726
|
}
|
|
37706
37727
|
/**
|
|
37707
37728
|
* Install the orbit into PlanetCore
|
|
37729
|
+
*
|
|
37730
|
+
* @param core - The PlanetCore instance.
|
|
37708
37731
|
*/
|
|
37709
37732
|
install(core) {
|
|
37710
37733
|
core.logger.info("[OrbitSignal] Initializing Mail Service (Exposed as: mail)");
|
|
@@ -37729,6 +37752,10 @@ var init_OrbitSignal = __esm({
|
|
|
37729
37752
|
}
|
|
37730
37753
|
/**
|
|
37731
37754
|
* Send a mailable instance
|
|
37755
|
+
*
|
|
37756
|
+
* @param mailable - The mailable object to send.
|
|
37757
|
+
* @returns A promise that resolves when the email is sent.
|
|
37758
|
+
* @throws {Error} If the message is missing "from" or "to" addresses, or if no transport is configured.
|
|
37732
37759
|
*/
|
|
37733
37760
|
async send(mailable) {
|
|
37734
37761
|
const envelope = await mailable.buildEnvelope(this.config);
|
|
@@ -37762,6 +37789,9 @@ var init_OrbitSignal = __esm({
|
|
|
37762
37789
|
*
|
|
37763
37790
|
* Push a mailable into the queue for execution.
|
|
37764
37791
|
* Requires OrbitStream to be installed and available in the context.
|
|
37792
|
+
*
|
|
37793
|
+
* @param mailable - The mailable object to queue.
|
|
37794
|
+
* @returns A promise that resolves when the job is pushed to the queue or sent immediately if no queue service is found.
|
|
37765
37795
|
*/
|
|
37766
37796
|
async queue(mailable) {
|
|
37767
37797
|
const queue = this.queueService;
|
|
@@ -37811,17 +37841,17 @@ var HtmlRenderer = class {
|
|
|
37811
37841
|
};
|
|
37812
37842
|
|
|
37813
37843
|
// src/renderers/TemplateRenderer.ts
|
|
37814
|
-
var import_prism = require("@gravito/prism");
|
|
37815
37844
|
var TemplateRenderer = class {
|
|
37816
|
-
engine;
|
|
37817
37845
|
template;
|
|
37846
|
+
viewsDir;
|
|
37818
37847
|
constructor(templateName, viewsDir) {
|
|
37819
37848
|
this.template = templateName;
|
|
37820
|
-
|
|
37821
|
-
this.engine = new import_prism.TemplateEngine(defaultDir);
|
|
37849
|
+
this.viewsDir = viewsDir || `${process.cwd()}/src/emails`;
|
|
37822
37850
|
}
|
|
37823
37851
|
async render(data) {
|
|
37824
|
-
const
|
|
37852
|
+
const { TemplateEngine } = await import("@gravito/prism");
|
|
37853
|
+
const engine = new TemplateEngine(this.viewsDir);
|
|
37854
|
+
const html = engine.render(this.template, data, {});
|
|
37825
37855
|
return {
|
|
37826
37856
|
html,
|
|
37827
37857
|
text: this.stripHtml(html)
|
package/dist/index.mjs
CHANGED
|
@@ -3,8 +3,8 @@ import {
|
|
|
3
3
|
LogTransport,
|
|
4
4
|
MemoryTransport,
|
|
5
5
|
OrbitSignal
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-YLVDJSED.mjs";
|
|
7
|
+
import "./chunk-EBO3CZXG.mjs";
|
|
8
8
|
|
|
9
9
|
// src/renderers/HtmlRenderer.ts
|
|
10
10
|
var HtmlRenderer = class {
|
|
@@ -23,17 +23,17 @@ var HtmlRenderer = class {
|
|
|
23
23
|
};
|
|
24
24
|
|
|
25
25
|
// src/renderers/TemplateRenderer.ts
|
|
26
|
-
import { TemplateEngine } from "@gravito/prism";
|
|
27
26
|
var TemplateRenderer = class {
|
|
28
|
-
engine;
|
|
29
27
|
template;
|
|
28
|
+
viewsDir;
|
|
30
29
|
constructor(templateName, viewsDir) {
|
|
31
30
|
this.template = templateName;
|
|
32
|
-
|
|
33
|
-
this.engine = new TemplateEngine(defaultDir);
|
|
31
|
+
this.viewsDir = viewsDir || `${process.cwd()}/src/emails`;
|
|
34
32
|
}
|
|
35
33
|
async render(data) {
|
|
36
|
-
const
|
|
34
|
+
const { TemplateEngine } = await import("@gravito/prism");
|
|
35
|
+
const engine = new TemplateEngine(this.viewsDir);
|
|
36
|
+
const html = engine.render(this.template, data, {});
|
|
37
37
|
return {
|
|
38
38
|
html,
|
|
39
39
|
text: this.stripHtml(html)
|
|
@@ -108,7 +108,7 @@ var Mailable = class {
|
|
|
108
108
|
*/
|
|
109
109
|
react(component, props) {
|
|
110
110
|
this.rendererResolver = async () => {
|
|
111
|
-
const { ReactRenderer } = await import("./ReactRenderer-
|
|
111
|
+
const { ReactRenderer } = await import("./ReactRenderer-24SQ4KRU.mjs");
|
|
112
112
|
return new ReactRenderer(component, props);
|
|
113
113
|
};
|
|
114
114
|
return this;
|
|
@@ -119,7 +119,7 @@ var Mailable = class {
|
|
|
119
119
|
*/
|
|
120
120
|
vue(component, props) {
|
|
121
121
|
this.rendererResolver = async () => {
|
|
122
|
-
const { VueRenderer } = await import("./VueRenderer-
|
|
122
|
+
const { VueRenderer } = await import("./VueRenderer-SUP66ISX.mjs");
|
|
123
123
|
return new VueRenderer(component, props);
|
|
124
124
|
};
|
|
125
125
|
return this;
|
|
@@ -144,7 +144,7 @@ var Mailable = class {
|
|
|
144
144
|
* Queue the mailable for sending.
|
|
145
145
|
*/
|
|
146
146
|
async queue() {
|
|
147
|
-
const { OrbitSignal: OrbitSignal2 } = await import("./OrbitSignal-
|
|
147
|
+
const { OrbitSignal: OrbitSignal2 } = await import("./OrbitSignal-IPSA2CDO.mjs");
|
|
148
148
|
return OrbitSignal2.getInstance().queue(this);
|
|
149
149
|
}
|
|
150
150
|
// ===== I18n Support =====
|