@modern-js/plugin-bff 2.69.4 → 3.0.0-alpha.0

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 (76) hide show
  1. package/dist/cjs/cli.js +256 -272
  2. package/dist/cjs/constants.js +43 -34
  3. package/dist/cjs/index.js +55 -19
  4. package/dist/cjs/loader.js +69 -65
  5. package/dist/cjs/runtime/create-request/index.js +39 -29
  6. package/dist/cjs/runtime/hono/adapter.js +128 -126
  7. package/dist/cjs/runtime/hono/index.js +78 -30
  8. package/dist/cjs/runtime/hono/operators.js +64 -67
  9. package/dist/cjs/server.js +159 -165
  10. package/dist/cjs/utils/clientGenerator.js +204 -206
  11. package/dist/cjs/utils/createHonoRoutes.js +128 -144
  12. package/dist/cjs/utils/crossProjectApiPlugin.js +91 -81
  13. package/dist/cjs/utils/pluginGenerator.js +66 -54
  14. package/dist/cjs/utils/runtimeGenerator.js +67 -45
  15. package/dist/esm/cli.mjs +214 -0
  16. package/dist/esm/constants.mjs +11 -0
  17. package/dist/esm/loader.mjs +39 -0
  18. package/dist/esm/runtime/create-request/{index.js → index.mjs} +1 -5
  19. package/dist/esm/runtime/hono/adapter.mjs +95 -0
  20. package/dist/{esm-node/runtime/hono/index.js → esm/runtime/hono/index.mjs} +2 -4
  21. package/dist/esm/runtime/hono/operators.mjs +31 -0
  22. package/dist/esm/server.mjs +122 -0
  23. package/dist/esm/utils/clientGenerator.mjs +175 -0
  24. package/dist/esm/utils/createHonoRoutes.mjs +91 -0
  25. package/dist/esm/utils/crossProjectApiPlugin.mjs +34 -0
  26. package/dist/esm/utils/pluginGenerator.mjs +29 -0
  27. package/dist/esm/utils/runtimeGenerator.mjs +43 -0
  28. package/dist/esm-node/cli.mjs +214 -0
  29. package/dist/esm-node/constants.mjs +11 -0
  30. package/dist/esm-node/index.mjs +1 -0
  31. package/dist/esm-node/loader.mjs +39 -0
  32. package/dist/esm-node/runtime/create-request/{index.js → index.mjs} +1 -5
  33. package/dist/esm-node/runtime/hono/adapter.mjs +95 -0
  34. package/dist/{esm/runtime/hono/index.js → esm-node/runtime/hono/index.mjs} +3 -5
  35. package/dist/esm-node/runtime/hono/operators.mjs +31 -0
  36. package/dist/esm-node/server.mjs +122 -0
  37. package/dist/esm-node/utils/clientGenerator.mjs +175 -0
  38. package/dist/esm-node/utils/createHonoRoutes.mjs +91 -0
  39. package/dist/esm-node/utils/crossProjectApiPlugin.mjs +34 -0
  40. package/dist/esm-node/utils/pluginGenerator.mjs +29 -0
  41. package/dist/esm-node/utils/runtimeGenerator.mjs +43 -0
  42. package/dist/types/loader.d.ts +2 -2
  43. package/dist/types/runtime/hono/adapter.d.ts +3 -3
  44. package/dist/types/server.d.ts +2 -2
  45. package/dist/types/utils/runtimeGenerator.d.ts +2 -1
  46. package/package.json +54 -32
  47. package/rslib.config.mts +4 -0
  48. package/dist/cjs/helper.js +0 -48
  49. package/dist/esm/cli.js +0 -425
  50. package/dist/esm/constants.js +0 -14
  51. package/dist/esm/helper.js +0 -13
  52. package/dist/esm/index.js +0 -1
  53. package/dist/esm/loader.js +0 -75
  54. package/dist/esm/runtime/hono/adapter.js +0 -243
  55. package/dist/esm/runtime/hono/operators.js +0 -79
  56. package/dist/esm/server.js +0 -258
  57. package/dist/esm/utils/clientGenerator.js +0 -517
  58. package/dist/esm/utils/createHonoRoutes.js +0 -319
  59. package/dist/esm/utils/crossProjectApiPlugin.js +0 -49
  60. package/dist/esm/utils/pluginGenerator.js +0 -94
  61. package/dist/esm/utils/runtimeGenerator.js +0 -55
  62. package/dist/esm-node/cli.js +0 -246
  63. package/dist/esm-node/constants.js +0 -14
  64. package/dist/esm-node/helper.js +0 -14
  65. package/dist/esm-node/loader.js +0 -49
  66. package/dist/esm-node/runtime/hono/adapter.js +0 -103
  67. package/dist/esm-node/runtime/hono/operators.js +0 -46
  68. package/dist/esm-node/server.js +0 -142
  69. package/dist/esm-node/utils/clientGenerator.js +0 -192
  70. package/dist/esm-node/utils/createHonoRoutes.js +0 -120
  71. package/dist/esm-node/utils/crossProjectApiPlugin.js +0 -47
  72. package/dist/esm-node/utils/pluginGenerator.js +0 -31
  73. package/dist/esm-node/utils/runtimeGenerator.js +0 -35
  74. package/dist/types/helper.d.ts +0 -2
  75. package/types.d.ts +0 -3
  76. /package/dist/{esm-node/index.js → esm/index.mjs} +0 -0
package/dist/cjs/index.js CHANGED
@@ -1,22 +1,58 @@
1
1
  "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __copyProps = (to, from, except, desc) => {
7
- if (from && typeof from === "object" || typeof from === "function") {
8
- for (let key of __getOwnPropNames(from))
9
- if (!__hasOwnProp.call(to, key) && key !== except)
10
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
- }
12
- return to;
2
+ var __webpack_modules__ = {
3
+ "./constants" (module) {
4
+ module.exports = require("./constants.js");
5
+ }
13
6
  };
14
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
- var src_exports = {};
17
- module.exports = __toCommonJS(src_exports);
18
- __reExport(src_exports, require("./constants"), module.exports);
19
- // Annotate the CommonJS export names for ESM import in node:
20
- 0 && (module.exports = {
21
- ...require("./constants")
7
+ var __webpack_module_cache__ = {};
8
+ function __webpack_require__(moduleId) {
9
+ var cachedModule = __webpack_module_cache__[moduleId];
10
+ if (void 0 !== cachedModule) return cachedModule.exports;
11
+ var module = __webpack_module_cache__[moduleId] = {
12
+ exports: {}
13
+ };
14
+ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
15
+ return module.exports;
16
+ }
17
+ (()=>{
18
+ __webpack_require__.n = (module)=>{
19
+ var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
20
+ __webpack_require__.d(getter, {
21
+ a: getter
22
+ });
23
+ return getter;
24
+ };
25
+ })();
26
+ (()=>{
27
+ __webpack_require__.d = (exports1, definition)=>{
28
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
29
+ enumerable: true,
30
+ get: definition[key]
31
+ });
32
+ };
33
+ })();
34
+ (()=>{
35
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
36
+ })();
37
+ (()=>{
38
+ __webpack_require__.r = (exports1)=>{
39
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
40
+ value: 'Module'
41
+ });
42
+ Object.defineProperty(exports1, '__esModule', {
43
+ value: true
44
+ });
45
+ };
46
+ })();
47
+ var __webpack_exports__ = {};
48
+ (()=>{
49
+ __webpack_require__.r(__webpack_exports__);
50
+ var _constants__rspack_import_0 = __webpack_require__("./constants");
51
+ var __rspack_reexport = {};
52
+ for(const __rspack_import_key in _constants__rspack_import_0)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_constants__rspack_import_0[__rspack_import_key];
53
+ __webpack_require__.d(__webpack_exports__, __rspack_reexport);
54
+ })();
55
+ for(var __rspack_i in __webpack_exports__)exports[__rspack_i] = __webpack_exports__[__rspack_i];
56
+ Object.defineProperty(exports, '__esModule', {
57
+ value: true
22
58
  });
@@ -1,69 +1,73 @@
1
1
  "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var loader_exports = {};
20
- __export(loader_exports, {
21
- default: () => loader_default
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ default: ()=>src_loader
22
28
  });
23
- module.exports = __toCommonJS(loader_exports);
24
- var import_bff_core = require("@modern-js/bff-core");
25
- var import_utils = require("@modern-js/utils");
29
+ const bff_core_namespaceObject = require("@modern-js/bff-core");
30
+ const utils_namespaceObject = require("@modern-js/utils");
26
31
  async function loader(source) {
27
- this.cacheable();
28
- const { resourcePath } = this;
29
- delete require.cache[resourcePath];
30
- const callback = this.async();
31
- const draftOptions = this.getOptions();
32
- const warning = `The file ${resourcePath} is not allowd to be imported in src directory, only API definition files are allowed.`;
33
- if (!draftOptions.existLambda) {
34
- import_utils.logger.warn(warning);
35
- callback(null, `throw new Error('${warning}')`);
36
- return;
37
- }
38
- const options = {
39
- prefix: Array.isArray(draftOptions.prefix) ? draftOptions.prefix[0] : draftOptions.prefix,
40
- appDir: draftOptions.appDir,
41
- apiDir: draftOptions.apiDir,
42
- lambdaDir: draftOptions.lambdaDir,
43
- target: draftOptions.target,
44
- port: Number(draftOptions.port),
45
- source,
46
- resourcePath,
47
- httpMethodDecider: draftOptions.httpMethodDecider
48
- };
49
- const { lambdaDir } = draftOptions;
50
- if (!resourcePath.startsWith(lambdaDir)) {
51
- import_utils.logger.warn(warning);
52
- callback(null, `throw new Error('${warning}')`);
53
- return;
54
- }
55
- if (draftOptions.fetcher) {
56
- options.fetcher = draftOptions.fetcher;
57
- }
58
- if (draftOptions.requestCreator) {
59
- options.requestCreator = draftOptions.requestCreator;
60
- }
61
- options.requireResolve = require.resolve;
62
- const result = await (0, import_bff_core.generateClient)(options);
63
- if (result.isOk) {
64
- callback(void 0, result.value);
65
- } else {
66
- callback(void 0, `throw new Error('${result.value}')`);
67
- }
32
+ this.cacheable();
33
+ const { resourcePath } = this;
34
+ delete require.cache[resourcePath];
35
+ const callback = this.async();
36
+ const draftOptions = this.getOptions();
37
+ const warning = `The file ${resourcePath} is not allowd to be imported in src directory, only API definition files are allowed.`;
38
+ if (!draftOptions.existLambda) {
39
+ utils_namespaceObject.logger.warn(warning);
40
+ callback(null, `throw new Error('${warning}')`);
41
+ return;
42
+ }
43
+ const options = {
44
+ prefix: Array.isArray(draftOptions.prefix) ? draftOptions.prefix[0] : draftOptions.prefix,
45
+ appDir: draftOptions.appDir,
46
+ apiDir: draftOptions.apiDir,
47
+ lambdaDir: draftOptions.lambdaDir,
48
+ target: draftOptions.target,
49
+ port: Number(draftOptions.port),
50
+ source,
51
+ resourcePath,
52
+ httpMethodDecider: draftOptions.httpMethodDecider
53
+ };
54
+ const { lambdaDir } = draftOptions;
55
+ if (!resourcePath.startsWith(lambdaDir)) {
56
+ utils_namespaceObject.logger.warn(warning);
57
+ callback(null, `throw new Error('${warning}')`);
58
+ return;
59
+ }
60
+ if (draftOptions.fetcher) options.fetcher = draftOptions.fetcher;
61
+ if (draftOptions.requestCreator) options.requestCreator = draftOptions.requestCreator;
62
+ options.requireResolve = require.resolve;
63
+ const result = await (0, bff_core_namespaceObject.generateClient)(options);
64
+ callback(void 0, result.isOk ? result.value : `throw new Error('${result.value}')`);
68
65
  }
69
- var loader_default = loader;
66
+ const src_loader = loader;
67
+ exports["default"] = __webpack_exports__["default"];
68
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
69
+ "default"
70
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
71
+ Object.defineProperty(exports, '__esModule', {
72
+ value: true
73
+ });
@@ -1,32 +1,42 @@
1
1
  "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var create_request_exports = {};
20
- __export(create_request_exports, {
21
- configure: () => import_create_request.configure,
22
- createRequest: () => import_create_request.createRequest,
23
- createUploader: () => import_create_request.createUploader
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ createUploader: ()=>create_request_namespaceObject.createUploader,
28
+ configure: ()=>create_request_namespaceObject.configure,
29
+ createRequest: ()=>create_request_namespaceObject.createRequest
24
30
  });
25
- module.exports = __toCommonJS(create_request_exports);
26
- var import_create_request = require("@modern-js/create-request");
27
- // Annotate the CommonJS export names for ESM import in node:
28
- 0 && (module.exports = {
29
- configure,
30
- createRequest,
31
- createUploader
31
+ const create_request_namespaceObject = require("@modern-js/create-request");
32
+ exports.configure = __webpack_exports__.configure;
33
+ exports.createRequest = __webpack_exports__.createRequest;
34
+ exports.createUploader = __webpack_exports__.createUploader;
35
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
36
+ "configure",
37
+ "createRequest",
38
+ "createUploader"
39
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
40
+ Object.defineProperty(exports, '__esModule', {
41
+ value: true
32
42
  });
@@ -1,137 +1,139 @@
1
1
  "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var adapter_exports = {};
30
- __export(adapter_exports, {
31
- HonoAdapter: () => HonoAdapter
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.n = (module)=>{
5
+ var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
6
+ __webpack_require__.d(getter, {
7
+ a: getter
8
+ });
9
+ return getter;
10
+ };
11
+ })();
12
+ (()=>{
13
+ __webpack_require__.d = (exports1, definition)=>{
14
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
+ enumerable: true,
16
+ get: definition[key]
17
+ });
18
+ };
19
+ })();
20
+ (()=>{
21
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
22
+ })();
23
+ (()=>{
24
+ __webpack_require__.r = (exports1)=>{
25
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
26
+ value: 'Module'
27
+ });
28
+ Object.defineProperty(exports1, '__esModule', {
29
+ value: true
30
+ });
31
+ };
32
+ })();
33
+ var __webpack_exports__ = {};
34
+ __webpack_require__.r(__webpack_exports__);
35
+ __webpack_require__.d(__webpack_exports__, {
36
+ HonoAdapter: ()=>HonoAdapter
32
37
  });
33
- module.exports = __toCommonJS(adapter_exports);
34
- var import_server_core = require("@modern-js/server-core");
35
- var import_utils = require("@modern-js/utils");
36
- var import_createHonoRoutes = __toESM(require("../../utils/createHonoRoutes"));
38
+ const server_core_namespaceObject = require("@modern-js/server-core");
39
+ const utils_namespaceObject = require("@modern-js/utils");
40
+ const createHonoRoutes_js_namespaceObject = require("../../utils/createHonoRoutes.js");
41
+ var createHonoRoutes_js_default = /*#__PURE__*/ __webpack_require__.n(createHonoRoutes_js_namespaceObject);
37
42
  const before = [
38
- "custom-server-hook",
39
- "custom-server-middleware",
40
- "render"
43
+ 'custom-server-hook',
44
+ 'custom-server-middleware',
45
+ 'render'
41
46
  ];
42
47
  class HonoAdapter {
43
- wrapInArray(handler) {
44
- if (Array.isArray(handler)) {
45
- return handler;
46
- } else {
47
- return [
48
- handler
49
- ];
48
+ wrapInArray(handler) {
49
+ if (Array.isArray(handler)) return handler;
50
+ return [
51
+ handler
52
+ ];
50
53
  }
51
- }
52
- constructor(api) {
53
- this.apiMiddleware = [];
54
- this.apiServer = null;
55
- this.isHono = true;
56
- this.setHandlers = async () => {
57
- if (!this.isHono) {
58
- return;
59
- }
60
- const { apiHandlerInfos } = this.api.useAppContext();
61
- const honoHandlers = (0, import_createHonoRoutes.default)(apiHandlerInfos);
62
- this.apiMiddleware = honoHandlers.map(({ path, method, handler }) => ({
63
- name: "hono-bff-api",
64
- path,
65
- method,
66
- handler,
67
- order: "post",
68
- before
69
- }));
70
- };
71
- this.registerApiRoutes = async () => {
72
- if (!this.isHono) {
73
- return;
74
- }
75
- this.apiServer = new import_server_core.Hono();
76
- this.apiMiddleware.forEach(({ path = "*", method = "all", handler }) => {
77
- var _this_apiServer;
78
- const handlers = this.wrapInArray(handler);
79
- (_this_apiServer = this.apiServer) === null || _this_apiServer === void 0 ? void 0 : _this_apiServer[method](path, ...handlers);
80
- });
81
- this.apiServer.onError(async (err, c) => {
82
- try {
83
- const serverConfig = this.api.useConfigContext();
84
- const onErrorHandler = serverConfig === null || serverConfig === void 0 ? void 0 : serverConfig.onError;
85
- if (onErrorHandler) {
86
- const result = await onErrorHandler(err, c);
87
- if (result instanceof Response) {
88
- return result;
54
+ constructor(api){
55
+ this.apiMiddleware = [];
56
+ this.apiServer = null;
57
+ this.isHono = true;
58
+ this.setHandlers = async ()=>{
59
+ if (!this.isHono) return;
60
+ const { apiHandlerInfos } = this.api.getServerContext();
61
+ const honoHandlers = createHonoRoutes_js_default()(apiHandlerInfos);
62
+ this.apiMiddleware = honoHandlers.map(({ path, method, handler })=>({
63
+ name: 'hono-bff-api',
64
+ path,
65
+ method,
66
+ handler,
67
+ order: 'post',
68
+ before
69
+ }));
70
+ };
71
+ this.registerApiRoutes = async ()=>{
72
+ if (!this.isHono) return;
73
+ this.apiServer = new server_core_namespaceObject.Hono();
74
+ this.apiMiddleware.forEach(({ path = '*', method = 'all', handler })=>{
75
+ const handlers = this.wrapInArray(handler);
76
+ if (0 === handlers.length) return;
77
+ const firstHandler = handlers[0];
78
+ const restHandlers = handlers.slice(1);
79
+ const m = method;
80
+ const server = this.apiServer;
81
+ if (!server) return;
82
+ const register = server[m];
83
+ register.call(server, path, firstHandler, ...restHandlers);
84
+ });
85
+ this.apiServer.onError(async (err, c)=>{
86
+ try {
87
+ const serverConfig = this.api.getServerConfig();
88
+ const onErrorHandler = serverConfig?.onError;
89
+ if (onErrorHandler) {
90
+ const result = await onErrorHandler(err, c);
91
+ if (result instanceof Response) return result;
92
+ } else utils_namespaceObject.logger.error(err);
93
+ } catch (configError) {
94
+ utils_namespaceObject.logger.error(`Error in serverConfig.onError handler: ${configError}`);
95
+ }
96
+ return c.json({
97
+ message: err?.message || '[BFF] Internal Server Error'
98
+ }, err?.status || 500);
99
+ });
100
+ };
101
+ this.registerMiddleware = async (options)=>{
102
+ const { prefix } = options;
103
+ const { bffRuntimeFramework } = this.api.getServerContext();
104
+ if ('hono' !== bffRuntimeFramework) {
105
+ this.isHono = false;
106
+ return;
89
107
  }
90
- }
91
- } catch (configError) {
92
- import_utils.logger.error(`Error in serverConfig.onError handler: ${configError}`);
93
- }
94
- return c.json({
95
- message: (err === null || err === void 0 ? void 0 : err.message) || "[BFF] Internal Server Error"
96
- }, (err === null || err === void 0 ? void 0 : err.status) || 500);
97
- });
98
- };
99
- this.registerMiddleware = async (options) => {
100
- const { prefix } = options;
101
- const { bffRuntimeFramework } = this.api.useAppContext();
102
- if (bffRuntimeFramework !== "hono") {
103
- this.isHono = false;
104
- return;
105
- }
106
- const { middlewares: globalMiddlewares } = this.api.useAppContext();
107
- await this.setHandlers();
108
- if ((0, import_utils.isProd)()) {
109
- globalMiddlewares.push(...this.apiMiddleware);
110
- } else {
111
- await this.registerApiRoutes();
112
- const dynamicApiMiddleware = {
113
- name: "dynamic-bff-handler",
114
- path: `${prefix}/*`,
115
- method: "all",
116
- order: "post",
117
- before,
118
- handler: async (c, next) => {
119
- if (this.apiServer) {
120
- const response = await this.apiServer.fetch(c.req, c.env);
121
- if (response.status !== 404) {
122
- return new Response(response.body, response);
123
- }
108
+ const { middlewares: globalMiddlewares } = this.api.getServerContext();
109
+ await this.setHandlers();
110
+ if ((0, utils_namespaceObject.isProd)()) globalMiddlewares.push(...this.apiMiddleware);
111
+ else {
112
+ await this.registerApiRoutes();
113
+ const dynamicApiMiddleware = {
114
+ name: 'dynamic-bff-handler',
115
+ path: `${prefix}/*`,
116
+ method: 'all',
117
+ order: 'post',
118
+ before,
119
+ handler: async (c, next)=>{
120
+ if (this.apiServer) {
121
+ const response = await this.apiServer.fetch(c.req.raw, c.env);
122
+ if (404 !== response.status) return new Response(response.body, response);
123
+ }
124
+ await next();
125
+ }
126
+ };
127
+ globalMiddlewares.push(dynamicApiMiddleware);
124
128
  }
125
- await next();
126
- }
127
129
  };
128
- globalMiddlewares.push(dynamicApiMiddleware);
129
- }
130
- };
131
- this.api = api;
132
- }
130
+ this.api = api;
131
+ }
133
132
  }
134
- // Annotate the CommonJS export names for ESM import in node:
135
- 0 && (module.exports = {
136
- HonoAdapter
133
+ exports.HonoAdapter = __webpack_exports__.HonoAdapter;
134
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
135
+ "HonoAdapter"
136
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
137
+ Object.defineProperty(exports, '__esModule', {
138
+ value: true
137
139
  });