gemi 0.4.11 → 0.4.12

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/app/App.d.ts CHANGED
@@ -5,6 +5,7 @@ import type { Plugin } from "./Plugin";
5
5
  import type { Middleware } from "../http/Middleware";
6
6
  import type { ServerWebSocket } from "bun";
7
7
  import { ComponentType } from "react";
8
+ import { Kernel } from "../kernel";
8
9
  interface RenderParams {
9
10
  styles: string[];
10
11
  manifest: Record<string, any>;
@@ -17,6 +18,7 @@ interface AppParams {
17
18
  plugins?: (new () => Plugin)[];
18
19
  middlewareAliases?: Record<string, new () => Middleware>;
19
20
  root: ComponentType;
21
+ kernel: new () => Kernel;
20
22
  }
21
23
  export declare class App {
22
24
  private renderParams;
@@ -32,6 +34,7 @@ export declare class App {
32
34
  private apiRouter;
33
35
  private viewRouter;
34
36
  private Root;
37
+ private kernel;
35
38
  constructor(params: AppParams);
36
39
  private prepare;
37
40
  getComponentTree(): ComponentTree;
@@ -1 +1 @@
1
- {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../app/App.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAsB,MAAM,oBAAoB,CAAC;AAKpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,KAAK,CAAC;AAU3C,OAAO,EAAE,aAAa,EAA2B,MAAM,OAAO,CAAC;AAK/D,UAAU,YAAY;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,UAAU,SAAS;IACjB,UAAU,EAAE,UAAU,UAAU,CAAC;IACjC,SAAS,EAAE,UAAU,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,UAAU,MAAM,CAAC,EAAE,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,UAAU,CAAC,CAAC;IACzD,IAAI,EAAE,aAAa,CAAC;CACrB;AAED,qBAAa,GAAG;IACd,OAAO,CAAC,YAAY,CAKlB;IACF,OAAO,CAAC,cAAc,CAGf;IACP,OAAO,CAAC,aAAa,CASd;IACP,OAAO,CAAC,aAAa,CAAgC;IAC9C,IAAI,SAAS;IACpB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,aAAa,CAAgB;IAC9B,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,UAAU,CAAC,CAAM;IAC7D,UAAU,SAAK;IACtB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,IAAI,CAAgB;gBAEhB,MAAM,EAAE,SAAS;IAU7B,OAAO,CAAC,OAAO;IAkCR,gBAAgB;IAIhB,eAAe,CAAC,MAAM,EAAE,YAAY;YAI7B,eAAe;IAqC7B,OAAO,CAAC,aAAa;IAmCf,gBAAgB,CAAC,GAAG,EAAE,OAAO;IAwF7B,iBAAiB,CAAC,GAAG,EAAE,OAAO;IAmL9B,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;IAU5C,OAAO,CAAC,sBAAsB,CAGtB;IACR,OAAO,CAAC,mBAAmB,CAEzB;IACF,OAAO,CAAC,oBAAoB,CAM1B;IAEF,SAAS;sBAdH,eAAe,WACV,MAAM,GAAG,MAAM;mBAES,eAAe;oBAI5C,eAAe,QACb,MAAM,UACJ,MAAM;MASd;CACH"}
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../app/App.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAsB,MAAM,oBAAoB,CAAC;AAKpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,KAAK,CAAC;AAU3C,OAAO,EAAE,aAAa,EAA2B,MAAM,OAAO,CAAC;AAI/D,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,UAAU,YAAY;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,UAAU,SAAS;IACjB,UAAU,EAAE,UAAU,UAAU,CAAC;IACjC,SAAS,EAAE,UAAU,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,UAAU,MAAM,CAAC,EAAE,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,UAAU,CAAC,CAAC;IACzD,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,UAAU,MAAM,CAAC;CAC1B;AAED,qBAAa,GAAG;IACd,OAAO,CAAC,YAAY,CAKlB;IACF,OAAO,CAAC,cAAc,CAGf;IACP,OAAO,CAAC,aAAa,CASd;IACP,OAAO,CAAC,aAAa,CAAgC;IAC9C,IAAI,SAAS;IACpB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,aAAa,CAAgB;IAC9B,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,UAAU,CAAC,CAAM;IAC7D,UAAU,SAAK;IACtB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,IAAI,CAAgB;IAC5B,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,SAAS;IAW7B,OAAO,CAAC,OAAO;IAkCR,gBAAgB;IAIhB,eAAe,CAAC,MAAM,EAAE,YAAY;YAI7B,eAAe;IAqC7B,OAAO,CAAC,aAAa;IAmCf,gBAAgB,CAAC,GAAG,EAAE,OAAO;IAwF7B,iBAAiB,CAAC,GAAG,EAAE,OAAO;IAmL9B,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;IAY5C,OAAO,CAAC,sBAAsB,CAGtB;IACR,OAAO,CAAC,mBAAmB,CAEzB;IACF,OAAO,CAAC,oBAAoB,CAM1B;IAEF,SAAS;sBAdH,eAAe,WACV,MAAM,GAAG,MAAM;mBAES,eAAe;oBAI5C,eAAe,QACb,MAAM,UACJ,MAAM;MASd;CACH"}
package/dist/app/index.js CHANGED
@@ -1867,11 +1867,13 @@ class App {
1867
1867
  apiRouter;
1868
1868
  viewRouter;
1869
1869
  Root;
1870
+ kernel;
1870
1871
  constructor(params) {
1871
1872
  this.params = params;
1872
1873
  this.apiRouter = params.apiRouter;
1873
1874
  this.viewRouter = params.viewRouter;
1874
1875
  this.Root = params.root;
1876
+ this.kernel = new params.kernel;
1875
1877
  this.prepare();
1876
1878
  this.appId = generateETag(Date.now());
1877
1879
  }
@@ -2179,11 +2181,13 @@ class App {
2179
2181
  }
2180
2182
  async fetch(req) {
2181
2183
  const url = new URL(req.url);
2182
- if (url.pathname.startsWith("/api")) {
2183
- return await this.handleApiRequest(req);
2184
- } else {
2185
- return await this.handleViewRequest(req);
2186
- }
2184
+ return this.kernel.run(async () => {
2185
+ if (url.pathname.startsWith("/api")) {
2186
+ return await this.handleApiRequest(req);
2187
+ } else {
2188
+ return await this.handleViewRequest(req);
2189
+ }
2190
+ });
2187
2191
  }
2188
2192
  handleWebSocketMessage = (ws, message) => {
2189
2193
  };
@@ -0,0 +1,8 @@
1
+ import { SendEmailParams } from "./types";
2
+ import { providers } from "./providers";
3
+ export declare class EmailServiceProvider {
4
+ provider: keyof typeof providers;
5
+ send: (params: SendEmailParams) => Promise<boolean>;
6
+ constructor();
7
+ }
8
+ //# sourceMappingURL=EmailServiceProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmailServiceProvider.d.ts","sourceRoot":"","sources":["../../email/EmailServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,qBAAa,oBAAoB;IAC/B,QAAQ,EAAE,MAAM,OAAO,SAAS,CAAY;IAC5C,IAAI,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;;CAKrD"}
@@ -4213,7 +4213,10 @@ var require_js = __commonJS((exports, module) => {
4213
4213
  }
4214
4214
  });
4215
4215
 
4216
- // ../../node_modules/@react-email/render/dist/index.mjs
4216
+ // kernel/Kernel.ts
4217
+ import {AsyncLocalStorage} from "async_hooks";
4218
+
4219
+ // ../../node_modules/resend/node_modules/@react-email/render/dist/index.mjs
4217
4220
  import * as ReactDomServer from "react-dom/server";
4218
4221
 
4219
4222
  // ../../node_modules/domelementtype/lib/esm/index.js
@@ -8561,7 +8564,7 @@ var concatMerge = (acc, src, options) => [...acc, ...src];
8561
8564
  var overwriteMerge = (acc, src, options) => [...src];
8562
8565
  var selectorsMerge = (acc, src, options) => acc.some((s2) => typeof s2 === "object") ? concatMerge(acc, src) : overwriteMerge(acc, src);
8563
8566
 
8564
- // ../../node_modules/@react-email/render/dist/index.mjs
8567
+ // ../../node_modules/resend/node_modules/@react-email/render/dist/index.mjs
8565
8568
  var import_js_beautify = __toESM(require_js(), 1);
8566
8569
  var __defProp2 = Object.defineProperty;
8567
8570
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
@@ -8624,23 +8627,6 @@ var plainTextSelectors = [
8624
8627
  options: { linkBrackets: false }
8625
8628
  }
8626
8629
  ];
8627
- var render2 = (component, options) => {
8628
- if (options == null ? undefined : options.plainText) {
8629
- return renderAsPlainText(component, options);
8630
- }
8631
- const doctype = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">';
8632
- const markup = ReactDomServer.renderToStaticMarkup(component);
8633
- const document = `${doctype}${markup}`;
8634
- if (options && options.pretty) {
8635
- return pretty(document);
8636
- }
8637
- return document;
8638
- };
8639
- var renderAsPlainText = (component, options) => {
8640
- return convert(ReactDomServer.renderToStaticMarkup(component), __spreadValues({
8641
- selectors: plainTextSelectors
8642
- }, (options == null ? undefined : options.plainText) === true ? options.htmlToTextOptions : {}));
8643
- };
8644
8630
  var decoder = new TextDecoder("utf-8");
8645
8631
  var readStream = (stream) => __async(undefined, null, function* () {
8646
8632
  let result = "";
@@ -8702,9 +8688,6 @@ var renderAsync = (component, options) => __async(undefined, null, function* ()
8702
8688
  return document;
8703
8689
  });
8704
8690
 
8705
- // email/Email.ts
8706
- import {Fragment, createElement} from "react";
8707
-
8708
8691
  // ../../node_modules/resend/dist/index.mjs
8709
8692
  var __defProp3 = Object.defineProperty;
8710
8693
  var __defProps = Object.defineProperties;
@@ -9054,38 +9037,100 @@ var Resend = class {
9054
9037
  }
9055
9038
  };
9056
9039
 
9057
- // email/Email.ts
9058
- var resend = new Resend(process.env.RESEND_API_KEY);
9040
+ // email/providers.ts
9041
+ var providers = {
9042
+ resend: async (params) => {
9043
+ const resend = new Resend(process.env.RESEND_API_KEY);
9044
+ const { data, error } = await resend.emails.send({
9045
+ ...params
9046
+ });
9047
+ if (error) {
9048
+ throw error;
9049
+ }
9050
+ console.log({ data });
9051
+ if (data) {
9052
+ return true;
9053
+ }
9054
+ }
9055
+ };
9059
9056
 
9060
- class Email {
9061
- params;
9062
- constructor(params) {
9063
- this.params = params;
9057
+ // email/EmailServiceProvider.ts
9058
+ class EmailServiceProvider {
9059
+ provider = "resend";
9060
+ send;
9061
+ constructor() {
9062
+ this.send = providers[this.provider];
9063
+ }
9064
+ }
9065
+
9066
+ // kernel/Kernel.ts
9067
+ var context = new AsyncLocalStorage;
9068
+
9069
+ class Kernel {
9070
+ emailServiceProvider = EmailServiceProvider;
9071
+ static getContext = () => context.getStore();
9072
+ run(cb) {
9073
+ return context.run({
9074
+ emailServiceProvider: new this.emailServiceProvider
9075
+ }, cb);
9064
9076
  }
9065
- async send() {
9066
- const { props, subject, to } = this.params;
9067
- const html = render2(this.render(props));
9077
+ }
9078
+ // email/Email.tsx
9079
+ import {renderToStaticMarkup as renderToStaticMarkup2} from "react-dom/server";
9080
+ var render4 = (component) => {
9081
+ const doctype = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">';
9082
+ const markup = renderToStaticMarkup2(component);
9083
+ const document = `${doctype}${markup}`;
9084
+ return document;
9085
+ };
9086
+
9087
+ class Email {
9088
+ static async send(Template, params) {
9089
+ const template = new Template;
9090
+ const {
9091
+ to = template.to,
9092
+ from = template.from,
9093
+ subject = template.subject,
9094
+ cc = template.cc,
9095
+ bcc = template.bcc,
9096
+ attachments = template.attachments,
9097
+ data
9098
+ } = params;
9099
+ const html = render4(template.render(data));
9068
9100
  if (process.env.EMAIL_DEBUG) {
9069
9101
  const fileName = `${process.env.ROOT_DIR}/.debug/emails/${new Date().toISOString()}${subject}.html`;
9070
- Bun.write(fileName, html);
9102
+ await Bun.write(fileName, html);
9071
9103
  Bun.spawnSync(["open", fileName]);
9072
9104
  return;
9073
9105
  }
9074
- try {
9075
- await resend.emails.send({
9076
- from: "enes@key5studio.com",
9077
- to,
9078
- html,
9079
- subject
9080
- });
9081
- } catch (err) {
9082
- console.log(err);
9083
- }
9106
+ await Kernel.getContext().emailServiceProvider.send({
9107
+ bcc,
9108
+ cc,
9109
+ from,
9110
+ subject,
9111
+ to,
9112
+ attachments,
9113
+ html
9114
+ });
9084
9115
  }
9085
- render(props) {
9086
- return createElement(Fragment);
9116
+ }
9117
+ // email/EmailTemplate.ts
9118
+ import {createElement, Fragment} from "react";
9119
+
9120
+ class EmailTemplate {
9121
+ from = "doe@gemijs.dev";
9122
+ to = ["hi@gemijs.dev"];
9123
+ subject = "Welcome";
9124
+ cc = [];
9125
+ bcc = [];
9126
+ attachments = [];
9127
+ render(_props) {
9128
+ console.log("EmailTemplate");
9129
+ return createElement(Fragment, null, "EmailTemplate");
9087
9130
  }
9088
9131
  }
9089
9132
  export {
9133
+ EmailTemplate,
9134
+ EmailServiceProvider,
9090
9135
  Email
9091
9136
  };
@@ -0,0 +1,5 @@
1
+ import { SendEmailParams } from "./types";
2
+ export declare const providers: {
3
+ resend: (params: SendEmailParams) => Promise<boolean>;
4
+ };
5
+ //# sourceMappingURL=providers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../email/providers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG1C,eAAO,MAAM,SAAS;qBACG,eAAe;CAgBvC,CAAC"}
@@ -0,0 +1,15 @@
1
+ type Attachment = {
2
+ filename: string;
3
+ content: Buffer;
4
+ };
5
+ export interface SendEmailParams {
6
+ from: string;
7
+ to: string[];
8
+ subject: string;
9
+ cc: string[];
10
+ bcc: string[];
11
+ attachments: Attachment[];
12
+ html: string;
13
+ }
14
+ export {};
15
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../email/types.ts"],"names":[],"mappings":"AAAA,KAAK,UAAU,GAAG;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;CACd"}
@@ -21,7 +21,7 @@ type ApiHandler<T extends new (app: App) => Controller, U = {}> = {
21
21
  prepare: Prepare;
22
22
  };
23
23
  };
24
- export type ApiRouteExec = (req: HttpRequest, params: Record<string, string>, app: App) => Promise<DataResponse | ErrorResponse>;
24
+ export type ApiRouteExec = (req: HttpRequest<unknown>, params: Record<string, string>, app: App) => Promise<DataResponse | ErrorResponse>;
25
25
  type ApiRouteConfig = {
26
26
  prepare: Prepare;
27
27
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ApiRouter.d.ts","sourceRoot":"","sources":["../../http/ApiRouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ApiRouter.d.ts","sourceRoot":"","sources":["../../http/ApiRouter.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- declare class Input<T> extends Map {
1
+ declare class Input<T = Record<string, any>> extends Map {
2
2
  constructor();
3
3
  toJSON(): T;
4
4
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HttpRequest.d.ts","sourceRoot":"","sources":["../../http/HttpRequest.ts"],"names":[],"mappings":"AAGA,cAAM,KAAK,CAAC,CAAC,CAAE,SAAQ,GAAG;;IAKjB,MAAM,IAAI,CAAC;CAGnB;AA4CD,qBAAa,WAAW,CAAC,CAAC,GAAG,EAAE;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEpC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAM;gBAE5D,GAAG,EAAE,OAAO;YAeV,SAAS;IAyCvB,OAAO,CAAC,aAAa;IAsBR,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAI1B,SAAS,IAAI,OAAO,CAAC;QAChC,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACjC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;KACjB,CAAC;IAsBW,SAAS,CAAC,MAAM,EAAE,eAAe;CAM/C;AAED,KAAK,eAAe,GAAG;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B,CAAC"}
1
+ {"version":3,"file":"HttpRequest.d.ts","sourceRoot":"","sources":["../../http/HttpRequest.ts"],"names":[],"mappings":"AAGA,cAAM,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAE,SAAQ,GAAG;;IAKvC,MAAM,IAAI,CAAC;CAGnB;AA4CD,qBAAa,WAAW,CAAC,CAAC,GAAG,EAAE;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEpC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAM;gBAE5D,GAAG,EAAE,OAAO;YAeV,SAAS;IAyCvB,OAAO,CAAC,aAAa;IAsBR,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAI1B,SAAS,IAAI,OAAO,CAAC;QAChC,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACjC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;KACjB,CAAC;IAsBW,SAAS,CAAC,MAAM,EAAE,eAAe;CAM/C;AAED,KAAK,eAAe,GAAG;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { EmailServiceProvider } from "../email/EmailServiceProvider";
2
+ interface KernelContext {
3
+ emailServiceProvider: EmailServiceProvider;
4
+ }
5
+ export declare class Kernel {
6
+ protected emailServiceProvider: typeof EmailServiceProvider;
7
+ static getContext: () => KernelContext;
8
+ run<T>(cb: () => T): T;
9
+ }
10
+ export {};
11
+ //# sourceMappingURL=Kernel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Kernel.d.ts","sourceRoot":"","sources":["../../kernel/Kernel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAErE,UAAU,aAAa;IACrB,oBAAoB,EAAE,oBAAoB,CAAC;CAC5C;AAID,qBAAa,MAAM;IACjB,SAAS,CAAC,oBAAoB,8BAAwB;IAEtD,MAAM,CAAC,UAAU,sBAA4B;IAE7C,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC;CAQnB"}
@@ -0,0 +1,2 @@
1
+ export { Kernel } from "./Kernel";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../kernel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gemi",
3
- "version": "0.4.11",
3
+ "version": "0.4.12",
4
4
  "devDependencies": {
5
5
  "@happy-dom/global-registrator": "^14.12.3",
6
6
  "@repo/eslint-config": "*",
@@ -27,7 +27,8 @@
27
27
  "./facades": "./dist/facades/index.js",
28
28
  "./email": "./dist/email/index.js",
29
29
  "./vite": "./dist/vite/index.js",
30
- "./server": "./dist/server/index.js"
30
+ "./server": "./dist/server/index.js",
31
+ "./kernel": "./dist/kernel/index.js"
31
32
  },
32
33
  "files": [
33
34
  "dist/**/*"
@@ -47,10 +48,12 @@
47
48
  "postpublish": "bun scripts/setupExports.ts dev"
48
49
  },
49
50
  "dependencies": {
51
+ "@react-email/components": "^0.0.21",
52
+ "@react-email/render": "0.0.17-canary.0",
50
53
  "commander": "^12.1.0",
51
54
  "history": "^5.3.0",
52
55
  "react-email": "^2.1.4",
53
- "resend": "^3.2.0",
56
+ "resend": "^3.4.0",
54
57
  "urlpattern-polyfill": "^10.0.0",
55
58
  "uuid": "^9.0.1"
56
59
  }