@ereactthohir/core 1.2.2 → 1.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"Kernel.d.ts","sourceRoot":"","sources":["../../src/http/Kernel.ts"],"names":[],"mappings":"AAAA,OAAO,OAA4C,MAAM,SAAS,CAAC;AAOnE,qBAAa,MAAM;IACf,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC;;IAStB,MAAM;IAwCZ,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,IAAI;CAGpD"}
1
+ {"version":3,"file":"Kernel.d.ts","sourceRoot":"","sources":["../../src/http/Kernel.ts"],"names":[],"mappings":"AAAA,OAAO,OAA4C,MAAM,SAAS,CAAC;AAWnE,qBAAa,MAAM;IACf,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC;;IAStB,MAAM;IAgEZ,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,IAAI;CAGpD"}
@@ -10,6 +10,10 @@ const cors_1 = __importDefault(require("cors"));
10
10
  const Router_1 = require("../http/Router");
11
11
  const Logger_1 = require("../foundation/Logger");
12
12
  const ExceptionHandler_1 = require("./ExceptionHandler");
13
+ const View_1 = require("../foundation/View");
14
+ const react_1 = __importDefault(require("react"));
15
+ const path_1 = __importDefault(require("path"));
16
+ const fs_1 = __importDefault(require("fs"));
13
17
  class Kernel {
14
18
  constructor() {
15
19
  this.app = (0, express_1.default)();
@@ -34,6 +38,31 @@ class Kernel {
34
38
  res.setHeader('Content-Type', 'text/html');
35
39
  res.send(result);
36
40
  }
41
+ else if (result && typeof result === 'object' && result.view) {
42
+ try {
43
+ const projectRoot = process.cwd();
44
+ // Try common view locations
45
+ let viewPath = path_1.default.join(projectRoot, 'resources/views', `${result.view}.tsx`);
46
+ if (!fs_1.default.existsSync(viewPath)) {
47
+ viewPath = path_1.default.join(projectRoot, 'resources/pages', `${result.view}.tsx`);
48
+ }
49
+ if (fs_1.default.existsSync(viewPath)) {
50
+ // Use require/ts-node to load the component
51
+ const viewModule = require(viewPath);
52
+ const Component = viewModule.default || viewModule;
53
+ const html = View_1.View.render(react_1.default.createElement(Component, result.data || {}));
54
+ res.setHeader('Content-Type', 'text/html');
55
+ res.send(html);
56
+ }
57
+ else {
58
+ res.json(result);
59
+ }
60
+ }
61
+ catch (e) {
62
+ console.error('View rendering failed:', e);
63
+ res.json(result);
64
+ }
65
+ }
37
66
  else {
38
67
  res.json(result);
39
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Kernel.js","sourceRoot":"","sources":["../../src/http/Kernel.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAmE;AACnE,oDAA4B;AAC5B,gDAAwB;AACxB,2CAA+C;AAC/C,iDAA8C;AAC9C,yDAAsD;AAEtD,MAAa,MAAM;IAGf;QACI,IAAI,CAAC,GAAG,GAAG,IAAA,iBAAO,GAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAA,gBAAM,GAAE,CAAC,CAAC;QACvB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAA,cAAI,GAAE,CAAC,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACjC,CAAC;IAEM,KAAK,CAAC,MAAM;QACf,MAAM,MAAM,GAAG,cAAK,CAAC,SAAS,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,MAAM,uBAAuB,CAAC,CAAC;QAEvE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACnB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,EAAuC,CAAC;YAE/E,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;oBACnF,IAAI,CAAC;wBACD,eAAM,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,MAAM,eAAe,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;wBAEjE,MAAM,MAAM,GAAG,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU;4BAC9C,CAAC,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;4BAC/B,CAAC,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC;wBAE1B,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;4BACnB,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gCAC7B,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;gCAC3C,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;4BACrB,CAAC;iCAAM,CAAC;gCACJ,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;4BACrB,CAAC;wBACL,CAAC;oBACL,CAAC;oBAAC,OAAO,KAAU,EAAE,CAAC;wBAClB,IAAI,CAAC,KAAK,CAAC,CAAC;oBAChB,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,uBAAuB;QACvB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,mCAAgB,CAAC,MAAM,CAAC,CAAC;QAEtC,cAAc;QACd,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,mCAAgB,CAAC,aAAa,CAAC,CAAC;QAE7C,OAAO,IAAI,CAAC,GAAG,CAAC;IACpB,CAAC;IAEM,MAAM,CAAC,IAAY,EAAE,QAAqB;QAC7C,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;CACJ;AArDD,wBAqDC"}
1
+ {"version":3,"file":"Kernel.js","sourceRoot":"","sources":["../../src/http/Kernel.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ereactthohir/core",
3
- "version": "1.2.2",
3
+ "version": "1.2.3",
4
4
  "description": "Enterprise-grade core framework with caching, sessions, rate limiting, and advanced features",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",