gemi 0.2.0 → 0.2.1

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 (50) hide show
  1. package/dist/app/App.d.ts +24 -10
  2. package/dist/app/App.d.ts.map +1 -1
  3. package/dist/app/flattenViewRoutes.d.ts +12 -0
  4. package/dist/app/flattenViewRoutes.d.ts.map +1 -0
  5. package/dist/app/index.js +198 -89
  6. package/dist/bin/gemi +0 -0
  7. package/dist/client/ClientRouter.d.ts +1 -1
  8. package/dist/client/ClientRouter.d.ts.map +1 -1
  9. package/dist/client/ClientRouterContext.d.ts.map +1 -1
  10. package/dist/client/ServerDataProvider.d.ts +1 -1
  11. package/dist/client/ServerDataProvider.d.ts.map +1 -1
  12. package/dist/client/createRoot.d.ts +3 -0
  13. package/dist/client/createRoot.d.ts.map +1 -0
  14. package/dist/client/helpers/flattenComponentTree.d.ts +3 -0
  15. package/dist/client/helpers/flattenComponentTree.d.ts.map +1 -0
  16. package/dist/client/index-DiGoPyjN.mjs +717 -0
  17. package/dist/client/index.d.ts +2 -2
  18. package/dist/client/index.d.ts.map +1 -1
  19. package/dist/client/index.js +29132 -1288
  20. package/dist/client/init.d.ts +3 -0
  21. package/dist/client/init.d.ts.map +1 -0
  22. package/dist/email/index.js +111 -123
  23. package/dist/http/ApiRouter.d.ts +11 -11
  24. package/dist/http/ApiRouter.d.ts.map +1 -1
  25. package/dist/http/Controller.d.ts +3 -0
  26. package/dist/http/Controller.d.ts.map +1 -1
  27. package/dist/http/Router.d.ts +1 -1
  28. package/dist/http/Router.d.ts.map +1 -1
  29. package/dist/http/ViewRouter.d.ts +2 -2
  30. package/dist/http/ViewRouter.d.ts.map +1 -1
  31. package/dist/http/index.js +8 -4
  32. package/dist/runtime/index.js +8 -0
  33. package/dist/server/imageHandler.d.ts +2 -0
  34. package/dist/server/imageHandler.d.ts.map +1 -0
  35. package/dist/vite/index.js +35 -0
  36. package/package.json +7 -5
  37. package/dist/ApiRouter.d.ts +0 -5
  38. package/dist/ApiRouter.d.ts.map +0 -1
  39. package/dist/Controller.d.ts +0 -3
  40. package/dist/Controller.d.ts.map +0 -1
  41. package/dist/ViewRouter.d.ts +0 -3
  42. package/dist/ViewRouter.d.ts.map +0 -1
  43. package/dist/client/Root.d.ts +0 -2
  44. package/dist/client/Root.d.ts.map +0 -1
  45. package/dist/client/main.d.ts +0 -2
  46. package/dist/client/main.d.ts.map +0 -1
  47. package/dist/index.d.ts +0 -4
  48. package/dist/index.d.ts.map +0 -1
  49. package/dist/types.d.ts +0 -4
  50. package/dist/types.d.ts.map +0 -1
@@ -0,0 +1,3 @@
1
+ import { type ComponentType } from "react";
2
+ export declare function init(RootLayout: ComponentType<any>): void;
3
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../client/init.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAK3C,wBAAgB,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,CAAC,QASlD"}
@@ -8579,6 +8579,33 @@ var __spreadValues = (a, b) => {
8579
8579
  }
8580
8580
  return a;
8581
8581
  };
8582
+ var __require2 = ((x) => typeof __require !== "undefined" ? __require : typeof Proxy !== "undefined" ? new Proxy(x, {
8583
+ get: (a, b) => (typeof __require !== "undefined" ? __require : a)[b]
8584
+ }) : x)(function(x) {
8585
+ if (typeof __require !== "undefined")
8586
+ return __require.apply(this, arguments);
8587
+ throw Error('Dynamic require of "' + x + '" is not supported');
8588
+ });
8589
+ var __async = (__this, __arguments, generator) => {
8590
+ return new Promise((resolve, reject) => {
8591
+ var fulfilled = (value) => {
8592
+ try {
8593
+ step(generator.next(value));
8594
+ } catch (e2) {
8595
+ reject(e2);
8596
+ }
8597
+ };
8598
+ var rejected = (value) => {
8599
+ try {
8600
+ step(generator.throw(value));
8601
+ } catch (e2) {
8602
+ reject(e2);
8603
+ }
8604
+ };
8605
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
8606
+ step((generator = generator.apply(__this, __arguments)).next());
8607
+ });
8608
+ };
8582
8609
  var defaults = {
8583
8610
  unformatted: ["code", "pre", "em", "strong", "span"],
8584
8611
  indent_inner_html: true,
@@ -8615,140 +8642,89 @@ var renderAsPlainText = (component, options) => {
8615
8642
  }, (options == null ? undefined : options.plainText) === true ? options.htmlToTextOptions : {}));
8616
8643
  };
8617
8644
  var decoder = new TextDecoder("utf-8");
8618
-
8619
- // email/Email.ts
8620
- import {Fragment, createElement} from "react";
8621
-
8622
- // ../../node_modules/resend/node_modules/@react-email/render/dist/index.mjs
8623
- import * as ReactDomServer2 from "react-dom/server";
8624
- var import_js_beautify2 = __toESM(require_js(), 1);
8625
- var __defProp3 = Object.defineProperty;
8626
- var __getOwnPropSymbols2 = Object.getOwnPropertySymbols;
8627
- var __hasOwnProp3 = Object.prototype.hasOwnProperty;
8628
- var __propIsEnum2 = Object.prototype.propertyIsEnumerable;
8629
- var __knownSymbol = (name2, symbol) => {
8630
- if (symbol = Symbol[name2])
8631
- return symbol;
8632
- throw Error("Symbol." + name2 + " is not defined");
8633
- };
8634
- var __defNormalProp2 = (obj, key, value) => (key in obj) ? __defProp3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8635
- var __spreadValues2 = (a, b) => {
8636
- for (var prop in b || (b = {}))
8637
- if (__hasOwnProp3.call(b, prop))
8638
- __defNormalProp2(a, prop, b[prop]);
8639
- if (__getOwnPropSymbols2)
8640
- for (var prop of __getOwnPropSymbols2(b)) {
8641
- if (__propIsEnum2.call(b, prop))
8642
- __defNormalProp2(a, prop, b[prop]);
8643
- }
8644
- return a;
8645
- };
8646
- var __async = (__this, __arguments, generator) => {
8647
- return new Promise((resolve, reject) => {
8648
- var fulfilled = (value) => {
8649
- try {
8650
- step(generator.next(value));
8651
- } catch (e2) {
8652
- reject(e2);
8653
- }
8654
- };
8655
- var rejected = (value) => {
8656
- try {
8657
- step(generator.throw(value));
8658
- } catch (e2) {
8659
- reject(e2);
8660
- }
8661
- };
8662
- var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
8663
- step((generator = generator.apply(__this, __arguments)).next());
8664
- });
8665
- };
8666
- var __forAwait = (obj, it, method) => (it = obj[__knownSymbol("asyncIterator")]) ? it.call(obj) : (obj = obj[__knownSymbol("iterator")](), it = {}, method = (key, fn) => (fn = obj[key]) && (it[key] = (arg) => new Promise((yes, no, done) => (arg = fn.call(obj, arg), done = arg.done, Promise.resolve(arg.value).then((value) => yes({ value, done }), no)))), method("next"), method("return"), it);
8667
- var defaults2 = {
8668
- unformatted: ["code", "pre", "em", "strong", "span"],
8669
- indent_inner_html: true,
8670
- indent_char: " ",
8671
- indent_size: 2,
8672
- sep: "\n"
8673
- };
8674
- var pretty2 = (str, options = {}) => {
8675
- return import_js_beautify2.default.html(str, __spreadValues2(__spreadValues2({}, defaults2), options));
8676
- };
8677
- var plainTextSelectors2 = [
8678
- { selector: "img", format: "skip" },
8679
- { selector: "#__react-email-preview", format: "skip" },
8680
- {
8681
- selector: "a",
8682
- options: { linkBrackets: false }
8683
- }
8684
- ];
8685
- var decoder2 = new TextDecoder("utf-8");
8686
- var readStream = (readableStream) => __async(undefined, null, function* () {
8645
+ var readStream = (stream) => __async(undefined, null, function* () {
8687
8646
  let result = "";
8688
- if ("allReady" in readableStream) {
8689
- const reader = readableStream.getReader();
8690
- while (true) {
8691
- const { value, done } = yield reader.read();
8692
- if (done) {
8693
- break;
8647
+ if ("pipeTo" in stream) {
8648
+ const writableStream = new WritableStream({
8649
+ write(chunk) {
8650
+ result += decoder.decode(chunk);
8694
8651
  }
8695
- result += decoder2.decode(value);
8696
- }
8652
+ });
8653
+ yield stream.pipeTo(writableStream);
8697
8654
  } else {
8698
- try {
8699
- for (var iter = __forAwait(readableStream), more, temp, error;more = !(temp = yield iter.next()).done; more = false) {
8700
- const chunk = temp.value;
8701
- result += decoder2.decode(Buffer.from(chunk));
8702
- }
8703
- } catch (temp2) {
8704
- error = [temp2];
8705
- } finally {
8706
- try {
8707
- more && (temp = iter.return) && (yield temp.call(iter));
8708
- } finally {
8709
- if (error)
8710
- throw error[0];
8655
+ const { Writable } = __require2("stream");
8656
+ const writable = new Writable({
8657
+ write(chunk, _encoding, callback) {
8658
+ result += decoder.decode(chunk);
8659
+ callback();
8711
8660
  }
8712
- }
8661
+ });
8662
+ stream.pipe(writable);
8663
+ return new Promise((resolve, reject) => {
8664
+ writable.on("error", reject);
8665
+ writable.on("close", () => {
8666
+ resolve(result);
8667
+ });
8668
+ });
8713
8669
  }
8714
8670
  return result;
8715
8671
  });
8716
8672
  var renderAsync = (component, options) => __async(undefined, null, function* () {
8717
- var _a2;
8718
- const reactDOMServer = (yield import("react-dom/server")).default;
8719
- const renderToStream = (_a2 = reactDOMServer.renderToReadableStream) != null ? _a2 : reactDOMServer.renderToStaticNodeStream;
8720
- const doctype = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">';
8721
- const htmlOrReadableStream = yield renderToStream(component);
8722
- const html = typeof htmlOrReadableStream === "string" ? htmlOrReadableStream : yield readStream(htmlOrReadableStream);
8673
+ const reactDOMServer = yield import("react-dom/server");
8674
+ let html;
8675
+ if (Object.hasOwn(reactDOMServer, "renderToReadableStream")) {
8676
+ html = yield readStream(yield reactDOMServer.renderToReadableStream(component));
8677
+ } else {
8678
+ yield new Promise((resolve, reject) => {
8679
+ const stream = reactDOMServer.renderToPipeableStream(component, {
8680
+ onAllReady() {
8681
+ return __async(this, null, function* () {
8682
+ html = yield readStream(stream);
8683
+ resolve();
8684
+ });
8685
+ },
8686
+ onError(error) {
8687
+ reject(error);
8688
+ }
8689
+ });
8690
+ });
8691
+ }
8723
8692
  if (options == null ? undefined : options.plainText) {
8724
- return convert(html, __spreadValues2({
8725
- selectors: plainTextSelectors2
8693
+ return convert(html, __spreadValues({
8694
+ selectors: plainTextSelectors
8726
8695
  }, options.htmlToTextOptions));
8727
8696
  }
8728
- const document = `${doctype}${html}`;
8697
+ const doctype = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">';
8698
+ const document = `${doctype}${html.replace(/<!DOCTYPE.*?>/, "")}`;
8729
8699
  if (options == null ? undefined : options.pretty) {
8730
- return pretty2(document);
8700
+ return pretty(document);
8731
8701
  }
8732
8702
  return document;
8733
8703
  });
8734
8704
 
8705
+ // email/Email.ts
8706
+ import {Fragment, createElement} from "react";
8707
+
8735
8708
  // ../../node_modules/resend/dist/index.mjs
8736
- var __defProp4 = Object.defineProperty;
8737
- var __getOwnPropSymbols3 = Object.getOwnPropertySymbols;
8738
- var __hasOwnProp4 = Object.prototype.hasOwnProperty;
8739
- var __propIsEnum3 = Object.prototype.propertyIsEnumerable;
8740
- var __defNormalProp3 = (obj, key, value) => (key in obj) ? __defProp4(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8741
- var __spreadValues3 = (a, b) => {
8709
+ var __defProp3 = Object.defineProperty;
8710
+ var __defProps = Object.defineProperties;
8711
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
8712
+ var __getOwnPropSymbols2 = Object.getOwnPropertySymbols;
8713
+ var __hasOwnProp3 = Object.prototype.hasOwnProperty;
8714
+ var __propIsEnum2 = Object.prototype.propertyIsEnumerable;
8715
+ var __defNormalProp2 = (obj, key, value) => (key in obj) ? __defProp3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8716
+ var __spreadValues2 = (a, b) => {
8742
8717
  for (var prop in b || (b = {}))
8743
- if (__hasOwnProp4.call(b, prop))
8744
- __defNormalProp3(a, prop, b[prop]);
8745
- if (__getOwnPropSymbols3)
8746
- for (var prop of __getOwnPropSymbols3(b)) {
8747
- if (__propIsEnum3.call(b, prop))
8748
- __defNormalProp3(a, prop, b[prop]);
8718
+ if (__hasOwnProp3.call(b, prop))
8719
+ __defNormalProp2(a, prop, b[prop]);
8720
+ if (__getOwnPropSymbols2)
8721
+ for (var prop of __getOwnPropSymbols2(b)) {
8722
+ if (__propIsEnum2.call(b, prop))
8723
+ __defNormalProp2(a, prop, b[prop]);
8749
8724
  }
8750
8725
  return a;
8751
8726
  };
8727
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
8752
8728
  var __async2 = (__this, __arguments, generator) => {
8753
8729
  return new Promise((resolve, reject) => {
8754
8730
  var fulfilled = (value) => {
@@ -8769,7 +8745,7 @@ var __async2 = (__this, __arguments, generator) => {
8769
8745
  step((generator = generator.apply(__this, __arguments)).next());
8770
8746
  });
8771
8747
  };
8772
- var version = "3.2.0";
8748
+ var version = "3.3.0";
8773
8749
  var ApiKeys = class {
8774
8750
  constructor(resend) {
8775
8751
  this.resend = resend;
@@ -8875,7 +8851,7 @@ var Contacts = class {
8875
8851
  return __async2(this, null, function* () {
8876
8852
  const data = yield this.resend.patch(`/audiences/${payload.audienceId}/contacts/${payload.id}`, {
8877
8853
  unsubscribed: payload.unsubscribed,
8878
- first_name: payload.fistName,
8854
+ first_name: payload.firstName,
8879
8855
  last_name: payload.lastName
8880
8856
  });
8881
8857
  return data;
@@ -8914,7 +8890,8 @@ var Domains = class {
8914
8890
  return __async2(this, null, function* () {
8915
8891
  const data = yield this.resend.patch(`/domains/${payload.id}`, {
8916
8892
  click_tracking: payload.clickTracking,
8917
- open_tracking: payload.openTracking
8893
+ open_tracking: payload.openTracking,
8894
+ tls: payload.tls
8918
8895
  });
8919
8896
  return data;
8920
8897
  });
@@ -9000,11 +8977,22 @@ var Resend = class {
9000
8977
  return __async2(this, arguments, function* (path, options = {}) {
9001
8978
  const response = yield fetch(`${baseUrl}${path}`, options);
9002
8979
  if (!response.ok) {
9003
- const error = yield response.json();
9004
- if (isResendErrorResponse(error)) {
8980
+ let error = {
8981
+ message: response.statusText,
8982
+ name: "application_error"
8983
+ };
8984
+ try {
8985
+ error = yield response.json();
8986
+ if (isResendErrorResponse(error)) {
8987
+ return { data: null, error };
8988
+ }
8989
+ return { data: null, error };
8990
+ } catch (err) {
8991
+ if (err instanceof Error) {
8992
+ return { data: null, error: __spreadProps(__spreadValues2({}, error), { message: err.message }) };
8993
+ }
9005
8994
  return { data: null, error };
9006
8995
  }
9007
- return { data: null, error };
9008
8996
  }
9009
8997
  const data = yield response.json();
9010
8998
  return { data, error: null };
@@ -9012,7 +9000,7 @@ var Resend = class {
9012
9000
  }
9013
9001
  post(_0, _1) {
9014
9002
  return __async2(this, arguments, function* (path, entity, options = {}) {
9015
- const requestOptions = __spreadValues3({
9003
+ const requestOptions = __spreadValues2({
9016
9004
  method: "POST",
9017
9005
  headers: this.headers,
9018
9006
  body: JSON.stringify(entity)
@@ -9022,7 +9010,7 @@ var Resend = class {
9022
9010
  }
9023
9011
  get(_0) {
9024
9012
  return __async2(this, arguments, function* (path, options = {}) {
9025
- const requestOptions = __spreadValues3({
9013
+ const requestOptions = __spreadValues2({
9026
9014
  method: "GET",
9027
9015
  headers: this.headers
9028
9016
  }, options);
@@ -9031,7 +9019,7 @@ var Resend = class {
9031
9019
  }
9032
9020
  put(_0, _1) {
9033
9021
  return __async2(this, arguments, function* (path, entity, options = {}) {
9034
- const requestOptions = __spreadValues3({
9022
+ const requestOptions = __spreadValues2({
9035
9023
  method: "PUT",
9036
9024
  headers: this.headers,
9037
9025
  body: JSON.stringify(entity)
@@ -9041,7 +9029,7 @@ var Resend = class {
9041
9029
  }
9042
9030
  patch(_0, _1) {
9043
9031
  return __async2(this, arguments, function* (path, entity, options = {}) {
9044
- const requestOptions = __spreadValues3({
9032
+ const requestOptions = __spreadValues2({
9045
9033
  method: "PATCH",
9046
9034
  headers: this.headers,
9047
9035
  body: JSON.stringify(entity)
@@ -1,7 +1,7 @@
1
1
  import type { Controller } from "./Controller";
2
2
  import { type MiddlewareReturnType } from "./Router";
3
3
  import type { App } from "../app/App";
4
- type ControllerMethods<T extends new () => Controller> = {
4
+ type ControllerMethods<T extends new (app: App) => Controller> = {
5
5
  [K in keyof InstanceType<T>]: InstanceType<T>[K] extends Function ? K : never;
6
6
  }[keyof InstanceType<T>];
7
7
  type DataResponse = {
@@ -28,25 +28,25 @@ export declare class ApiRouter {
28
28
  constructor();
29
29
  middleware(req: Request): MiddlewareReturnType;
30
30
  private handleRequest;
31
- protected get<T extends new () => Controller>(controller: T, methodName: ControllerMethods<T>): {
31
+ protected get<T extends new (app: App) => Controller>(controller: T, methodName: ControllerMethods<T>): {
32
32
  method: string;
33
- exec: (req: Request, params: Record<string, string>) => Promise<DataResponse | ErrorResponse>;
33
+ exec: (req: Request, params: Record<string, string>, app: App) => Promise<DataResponse | ErrorResponse>;
34
34
  };
35
- protected post<T extends new () => Controller>(controller: T, methodName: ControllerMethods<T>): {
35
+ protected post<T extends new (app: App) => Controller>(controller: T, methodName: ControllerMethods<T>): {
36
36
  method: string;
37
- exec: (req: Request, params: Record<string, string>) => Promise<DataResponse | ErrorResponse>;
37
+ exec: (req: Request, params: Record<string, string>, app: App) => Promise<DataResponse | ErrorResponse>;
38
38
  };
39
- protected patch<T extends new () => Controller>(controller: T, methodName: ControllerMethods<T>): {
39
+ protected patch<T extends new (app: App) => Controller>(controller: T, methodName: ControllerMethods<T>): {
40
40
  method: string;
41
- exec: (req: Request, params: Record<string, string>) => Promise<DataResponse | ErrorResponse>;
41
+ exec: (req: Request, params: Record<string, string>, app: App) => Promise<DataResponse | ErrorResponse>;
42
42
  };
43
- protected put<T extends new () => Controller>(controller: T, methodName: ControllerMethods<T>): {
43
+ protected put<T extends new (app: App) => Controller>(controller: T, methodName: ControllerMethods<T>): {
44
44
  method: string;
45
- exec: (req: Request, params: Record<string, string>) => Promise<DataResponse | ErrorResponse>;
45
+ exec: (req: Request, params: Record<string, string>, app: App) => Promise<DataResponse | ErrorResponse>;
46
46
  };
47
- protected delete<T extends new () => Controller>(controller: T, methodName: ControllerMethods<T>): {
47
+ protected delete<T extends new (app: App) => Controller>(controller: T, methodName: ControllerMethods<T>): {
48
48
  method: string;
49
- exec: (req: Request, params: Record<string, string>) => Promise<DataResponse | ErrorResponse>;
49
+ exec: (req: Request, params: Record<string, string>, app: App) => Promise<DataResponse | ErrorResponse>;
50
50
  };
51
51
  }
52
52
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"ApiRouter.d.ts","sourceRoot":"","sources":["../../http/ApiRouter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAGtC,KAAK,iBAAiB,CAAC,CAAC,SAAS,UAAU,UAAU,IAAI;KACtD,CAAC,IAAI,MAAM,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,GAAG,CAAC,GAAG,KAAK;CAC9E,CAAC,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAEzB,KAAK,YAAY,GAAG;IAClB,IAAI,EAAE,GAAG,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC,CAAC;AACF,KAAK,aAAa,GAAG;IACnB,KAAK,EAAE,GAAG,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC,CAAC;AAYF,MAAM,MAAM,YAAY,GAAG,CACzB,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAC3B,OAAO,CAAC,YAAY,GAAG,aAAa,CAAC,CAAC;AAE3C,KAAK,cAAc,GAAG;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,YAAY,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,MAAM,CACnC,MAAM,EACN,cAAc,GAAG,cAAc,EAAE,GAAG,CAAC,KAAK,GAAG,EAAE,GAAG,KAAK,SAAS,CAAC,CAClE,CAAC;AAEF,qBAAa,SAAS;IACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAM;IACjC,WAAW,EAAE,MAAM,EAAE,CAAM;;IAI3B,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,oBAAoB;IAErD,OAAO,CAAC,aAAa;IAiCrB,SAAS,CAAC,GAAG,CAAC,CAAC,SAAS,UAAU,UAAU,EAC1C,UAAU,EAAE,CAAC,EACb,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC;;;;IAMlC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,UAAU,UAAU,EAC3C,UAAU,EAAE,CAAC,EACb,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC;;;;IAMlC,SAAS,CAAC,KAAK,CAAC,CAAC,SAAS,UAAU,UAAU,EAC5C,UAAU,EAAE,CAAC,EACb,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC;;;;IAMlC,SAAS,CAAC,GAAG,CAAC,CAAC,SAAS,UAAU,UAAU,EAC1C,UAAU,EAAE,CAAC,EACb,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC;;;;IAMlC,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,UAAU,UAAU,EAC7C,UAAU,EAAE,CAAC,EACb,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC;;;;CAKnC"}
1
+ {"version":3,"file":"ApiRouter.d.ts","sourceRoot":"","sources":["../../http/ApiRouter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAGtC,KAAK,iBAAiB,CAAC,CAAC,SAAS,KAAK,GAAG,EAAE,GAAG,KAAK,UAAU,IAAI;KAC9D,CAAC,IAAI,MAAM,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,GAAG,CAAC,GAAG,KAAK;CAC9E,CAAC,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAEzB,KAAK,YAAY,GAAG;IAClB,IAAI,EAAE,GAAG,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC,CAAC;AACF,KAAK,aAAa,GAAG;IACnB,KAAK,EAAE,GAAG,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC,CAAC;AAYF,MAAM,MAAM,YAAY,GAAG,CACzB,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAC3B,OAAO,CAAC,YAAY,GAAG,aAAa,CAAC,CAAC;AAE3C,KAAK,cAAc,GAAG;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,YAAY,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,MAAM,CACnC,MAAM,EACN,cAAc,GAAG,cAAc,EAAE,GAAG,CAAC,KAAK,GAAG,EAAE,GAAG,KAAK,SAAS,CAAC,CAClE,CAAC;AAEF,qBAAa,SAAS;IACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAM;IACjC,WAAW,EAAE,MAAM,EAAE,CAAM;;IAI3B,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,oBAAoB;IAErD,OAAO,CAAC,aAAa;IAkCrB,SAAS,CAAC,GAAG,CAAC,CAAC,SAAS,KAAK,GAAG,EAAE,GAAG,KAAK,UAAU,EAClD,UAAU,EAAE,CAAC,EACb,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC;;;;IAMlC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,GAAG,EAAE,GAAG,KAAK,UAAU,EACnD,UAAU,EAAE,CAAC,EACb,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC;;;;IAMlC,SAAS,CAAC,KAAK,CAAC,CAAC,SAAS,KAAK,GAAG,EAAE,GAAG,KAAK,UAAU,EACpD,UAAU,EAAE,CAAC,EACb,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC;;;;IAMlC,SAAS,CAAC,GAAG,CAAC,CAAC,SAAS,KAAK,GAAG,EAAE,GAAG,KAAK,UAAU,EAClD,UAAU,EAAE,CAAC,EACb,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC;;;;IAMlC,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,KAAK,GAAG,EAAE,GAAG,KAAK,UAAU,EACrD,UAAU,EAAE,CAAC,EACb,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC;;;;CAKnC"}
@@ -1,5 +1,8 @@
1
+ import { App } from "../app/App";
1
2
  import type { HttpRequest } from "./HttpRequest";
2
3
  export declare class Controller {
4
+ app: App;
3
5
  requests: Record<string, typeof HttpRequest<any>>;
6
+ constructor(app: App);
4
7
  }
5
8
  //# sourceMappingURL=Controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Controller.d.ts","sourceRoot":"","sources":["../../http/Controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,qBAAa,UAAU;IACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,CAAM;CACxD"}
1
+ {"version":3,"file":"Controller.d.ts","sourceRoot":"","sources":["../../http/Controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,qBAAa,UAAU;IAGF,GAAG,EAAE,GAAG;IAF3B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,CAAM;gBAEpC,GAAG,EAAE,GAAG;CAC5B"}
@@ -4,7 +4,7 @@ type MiddlewareResult = Partial<{
4
4
  cookies: Record<string, string>;
5
5
  }>;
6
6
  export type MiddlewareReturnType = void | Promise<MiddlewareResult> | MiddlewareResult;
7
- export type RouterMiddleware = (req: Request) => MiddlewareReturnType;
7
+ export type RouterMiddleware = (req: Request, ctx: any) => MiddlewareReturnType;
8
8
  export declare class AuthenticationError extends RequestBreakerError {
9
9
  constructor();
10
10
  payload: {
@@ -1 +1 @@
1
- {"version":3,"file":"Router.d.ts","sourceRoot":"","sources":["../../http/Router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE9C,KAAK,gBAAgB,GAAG,OAAO,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC,CAAC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAC5B,IAAI,GACJ,OAAO,CAAC,gBAAgB,CAAC,GACzB,gBAAgB,CAAC;AAErB,MAAM,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,oBAAoB,CAAC;AAEtE,qBAAa,mBAAoB,SAAQ,mBAAmB;;IAM1D,OAAO;;;;;;;;;;;;;;MAaL;CACH;AAED,qBAAa,eAAgB,SAAQ,mBAAmB;IACtD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAM;gBAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;CAuB7C"}
1
+ {"version":3,"file":"Router.d.ts","sourceRoot":"","sources":["../../http/Router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE9C,KAAK,gBAAgB,GAAG,OAAO,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC,CAAC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAC5B,IAAI,GACJ,OAAO,CAAC,gBAAgB,CAAC,GACzB,gBAAgB,CAAC;AAErB,MAAM,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,KAAK,oBAAoB,CAAC;AAEhF,qBAAa,mBAAoB,SAAQ,mBAAmB;;IAM1D,OAAO;;;;;;;;;;;;;;MAaL;CACH;AAED,qBAAa,eAAgB,SAAQ,mBAAmB;IACtD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAM;gBAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;CAuB7C"}
@@ -21,13 +21,13 @@ type ViewConfig = {
21
21
  };
22
22
  };
23
23
  export type ViewChildren = Record<string, ViewConfig | (new (app: App) => ViewRouter)>;
24
- export type ViewRouteExec = (req: Request, params: Record<string, string>) => any;
24
+ export type ViewRouteExec = (req: Request, params: Record<string, string>, app: App) => any;
25
25
  export declare class ViewRouter {
26
26
  routes: ViewChildren;
27
27
  middlewares: string[];
28
28
  constructor();
29
29
  middleware(req: Request): MiddlewareReturnType;
30
- protected view<T extends new () => Controller>(viewPath: string, handler?: ViewHandler<T>, children?: ViewChildren): ViewConfig;
30
+ protected view<T extends new (app: App) => Controller>(viewPath: string, handler?: ViewHandler<T>, children?: ViewChildren): ViewConfig;
31
31
  }
32
32
  export {};
33
33
  //# sourceMappingURL=ViewRouter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ViewRouter.d.ts","sourceRoot":"","sources":["../../http/ViewRouter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAEtC,KAAK,iBAAiB,CAAC,CAAC,SAAS,UAAU,UAAU,IAAI;KACtD,CAAC,IAAI,MAAM,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,GAAG,CAAC,GAAG,KAAK;CAC9E,CAAC,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAEzB,KAAK,WAAW,CAAC,CAAC,SAAS,UAAU,UAAU,IAAI;IACjD,UAAU,EAAE,CAAC;IACb,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;CAC7B,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC;IAC5D,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,YAAY,CAAC;IACvB,WAAW,EAAE,GAAG,EAAE,CAAC;CACpB,CAAC;AAEF,KAAK,UAAU,GAAG;IAChB,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,KAAK,WAAW,CAAC;IAC/C,WAAW,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,KAAK;QACnC,OAAO,EAAE,MAAM,WAAW,CAAC;KAC5B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,MAAM,CAC/B,MAAM,EACN,UAAU,GAAG,CAAC,KAAK,GAAG,EAAE,GAAG,KAAK,UAAU,CAAC,CAC5C,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,CAC1B,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAC3B,GAAG,CAAC;AAET,qBAAa,UAAU;IACd,MAAM,EAAE,YAAY,CAAM;IAC1B,WAAW,EAAE,MAAM,EAAE,CAAM;;IAG3B,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,oBAAoB;IAErD,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,UAAU,UAAU,EAC3C,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EACxB,QAAQ,GAAE,YAAiB,GAC1B,UAAU;CA0Bd"}
1
+ {"version":3,"file":"ViewRouter.d.ts","sourceRoot":"","sources":["../../http/ViewRouter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAEtC,KAAK,iBAAiB,CAAC,CAAC,SAAS,UAAU,UAAU,IAAI;KACtD,CAAC,IAAI,MAAM,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,GAAG,CAAC,GAAG,KAAK;CAC9E,CAAC,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAEzB,KAAK,WAAW,CAAC,CAAC,SAAS,UAAU,UAAU,IAAI;IACjD,UAAU,EAAE,CAAC;IACb,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;CAC7B,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC;IAC5D,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,YAAY,CAAC;IACvB,WAAW,EAAE,GAAG,EAAE,CAAC;CACpB,CAAC;AAEF,KAAK,UAAU,GAAG;IAChB,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,KAAK,WAAW,CAAC;IAC/C,WAAW,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,KAAK;QACnC,OAAO,EAAE,MAAM,WAAW,CAAC;KAC5B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,MAAM,CAC/B,MAAM,EACN,UAAU,GAAG,CAAC,KAAK,GAAG,EAAE,GAAG,KAAK,UAAU,CAAC,CAC5C,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,CAC1B,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,GAAG,EAAE,GAAG,KACL,GAAG,CAAC;AAET,qBAAa,UAAU;IACd,MAAM,EAAE,YAAY,CAAM;IAC1B,WAAW,EAAE,MAAM,EAAE,CAAM;;IAG3B,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,oBAAoB;IAErD,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,GAAG,EAAE,GAAG,KAAK,UAAU,EACnD,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EACxB,QAAQ,GAAE,YAAiB,GAC1B,UAAU;CA8Bd"}
@@ -20,7 +20,11 @@ var __require = createRequire(import.meta.url);
20
20
 
21
21
  // http/Controller.ts
22
22
  class Controller {
23
+ app;
23
24
  requests = {};
25
+ constructor(app) {
26
+ this.app = app;
27
+ }
24
28
  }
25
29
  // http/Error.ts
26
30
  class RequestBreakerError extends Error {
@@ -232,8 +236,8 @@ class ApiRouter {
232
236
  return (method) => {
233
237
  return {
234
238
  method,
235
- exec: async (req, params) => {
236
- const controllerInstance = new controller;
239
+ exec: async (req, params, app) => {
240
+ const controllerInstance = new controller(app);
237
241
  const handler = controllerInstance[methodName].bind(controllerInstance);
238
242
  const Req = controllerInstance.requests[methodName] ?? HttpRequest;
239
243
  const httpRequest = new Req(req);
@@ -285,12 +289,12 @@ class ViewRouter {
285
289
  view(viewPath, handler, children = {}) {
286
290
  function prepare(middlewares = []) {
287
291
  return {
288
- exec: async (req, params) => {
292
+ exec: async (req, params, app) => {
289
293
  if (!handler) {
290
294
  return { data: { [viewPath]: {} }, headers: {}, head: {} };
291
295
  }
292
296
  const [controller, methodName] = handler;
293
- const instance = new controller;
297
+ const instance = new controller(app);
294
298
  const method = instance[methodName].bind(instance);
295
299
  const { data, headers = {}, head = {} } = await method(req, params);
296
300
  return { data: { [viewPath]: data }, headers, head };
@@ -0,0 +1,8 @@
1
+ // runtime/index.ts
2
+ import {lazy} from "react";
3
+ window.views = Object.entries(window.manifest).reduce((acc, [path, importer]) => {
4
+ return {
5
+ ...acc,
6
+ [path]: lazy(importer)
7
+ };
8
+ }, {});
@@ -0,0 +1,2 @@
1
+ export declare function imageHandler(req: Request): Promise<Response>;
2
+ //# sourceMappingURL=imageHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imageHandler.d.ts","sourceRoot":"","sources":["../../server/imageHandler.ts"],"names":[],"mappings":"AAEA,wBAAsB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CA2DlE"}
@@ -0,0 +1,35 @@
1
+ import {createRequire} from "node:module";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getProtoOf = Object.getPrototypeOf;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __toESM = (mod, isNodeMode, target) => {
8
+ target = mod != null ? __create(__getProtoOf(mod)) : {};
9
+ const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
10
+ for (let key of __getOwnPropNames(mod))
11
+ if (!__hasOwnProp.call(to, key))
12
+ __defProp(to, key, {
13
+ get: () => mod[key],
14
+ enumerable: true
15
+ });
16
+ return to;
17
+ };
18
+ var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
19
+ var __require = createRequire(import.meta.url);
20
+
21
+ // vite/input.ts
22
+ import {join} from "node:path";
23
+ import {readFileSync, existsSync} from "node:fs";
24
+ async function input() {
25
+ const root = process.cwd();
26
+ const inputPath = join(root, ".gemi/rollupInput.json");
27
+ if (!existsSync(inputPath)) {
28
+ return ["app/main.tsx"];
29
+ }
30
+ const json = readFileSync(inputPath).toJSON();
31
+ return json;
32
+ }
33
+ export {
34
+ input
35
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gemi",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "devDependencies": {
5
5
  "@repo/eslint-config": "*",
6
6
  "@repo/typescript-config": "*",
@@ -9,7 +9,6 @@
9
9
  "@types/react": "^18.2.61",
10
10
  "@types/react-dom": "^18.2.19",
11
11
  "eslint": "^8.57.0",
12
- "react": "^18.2.0",
13
12
  "typescript": "^5.3.3"
14
13
  },
15
14
  "bin": {
@@ -20,7 +19,9 @@
20
19
  "./client": "./dist/client/index.js",
21
20
  "./app": "./dist/app/index.js",
22
21
  "./facades": "./dist/facades/index.js",
23
- "./email": "./dist/email/index.js"
22
+ "./email": "./dist/email/index.js",
23
+ "./vite": "./dist/vite/index.js",
24
+ "./runtime": "./dist/client/runtime.js"
24
25
  },
25
26
  "files": [
26
27
  "dist/**/*"
@@ -31,13 +32,14 @@
31
32
  "lint": "eslint . --max-warnings 0",
32
33
  "build": "bun run build:core && bun run build:bin && bun run build:types && bun run build:client && bun run build:client-types",
33
34
  "build:core": "bun ./scripts/build.ts",
34
- "build:bin": "bun build --compile ./bin/gemi.ts --external vite --external react-dom --outfile ./dist/bin/gemi",
35
- "build:client": "vite build -c vite.config.js",
35
+ "build:bin": "bun build --compile ./bin/gemi.ts --external vite --external react-dom --external react/jsx-runtime --outfile ./dist/bin/gemi",
36
+ "build:client": "vite build",
36
37
  "build:types": "tsc",
37
38
  "build:client-types": "tsc -p tsconfig.browser.json"
38
39
  },
39
40
  "dependencies": {
40
41
  "@react-email/components": "^0.0.19",
42
+ "commander": "^12.1.0",
41
43
  "history": "^5.3.0",
42
44
  "react-email": "^2.1.4",
43
45
  "resend": "^3.2.0",
@@ -1,5 +0,0 @@
1
- export declare class ApiRouter {
2
- constructor();
3
- private model;
4
- }
5
- //# sourceMappingURL=ApiRouter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ApiRouter.d.ts","sourceRoot":"","sources":["../http/ApiRouter.ts"],"names":[],"mappings":"AAAA,qBAAa,SAAS;;IAGpB,OAAO,CAAC,KAAK;CACd"}
@@ -1,3 +0,0 @@
1
- export declare class Controller {
2
- }
3
- //# sourceMappingURL=Controller.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Controller.d.ts","sourceRoot":"","sources":["../http/Controller.ts"],"names":[],"mappings":"AAAA,qBAAa,UAAU;CAAG"}
@@ -1,3 +0,0 @@
1
- export declare class ViewRouter {
2
- }
3
- //# sourceMappingURL=ViewRouter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ViewRouter.d.ts","sourceRoot":"","sources":["../http/ViewRouter.ts"],"names":[],"mappings":"AAAA,qBAAa,UAAU;CAAG"}
@@ -1,2 +0,0 @@
1
- export declare const Root: (props: any) => import("react/jsx-runtime").JSX.Element;
2
- //# sourceMappingURL=Root.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Root.d.ts","sourceRoot":"","sources":["../../client/Root.tsx"],"names":[],"mappings":"AAGA,eAAO,MAAM,IAAI,UAAW,GAAG,4CAyB9B,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare const Main: (props: any) => import("react/jsx-runtime").JSX.Element;
2
- //# sourceMappingURL=main.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../client/main.tsx"],"names":[],"mappings":"AAGA,eAAO,MAAM,IAAI,UAAW,GAAG,4CAS9B,CAAC"}
package/dist/index.d.ts DELETED
@@ -1,4 +0,0 @@
1
- export { Controller } from "./Controller";
2
- export { ApiRouter } from "./ApiRouter";
3
- export { ViewRouter } from "./ViewRouter";
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../http/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
package/dist/types.d.ts DELETED
@@ -1,4 +0,0 @@
1
- type ComponentTreeBranch = Record<string, ComponentTree>;
2
- export type ComponentTree = (string[] | ComponentTreeBranch)[];
3
- export {};
4
- //# sourceMappingURL=types.d.ts.map