@modern-js/plugin-bff 2.69.5 → 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.
- package/dist/cjs/cli.js +256 -272
- package/dist/cjs/constants.js +43 -34
- package/dist/cjs/index.js +55 -19
- package/dist/cjs/loader.js +69 -65
- package/dist/cjs/runtime/create-request/index.js +39 -29
- package/dist/cjs/runtime/hono/adapter.js +128 -126
- package/dist/cjs/runtime/hono/index.js +78 -30
- package/dist/cjs/runtime/hono/operators.js +64 -67
- package/dist/cjs/server.js +159 -165
- package/dist/cjs/utils/clientGenerator.js +204 -206
- package/dist/cjs/utils/createHonoRoutes.js +128 -144
- package/dist/cjs/utils/crossProjectApiPlugin.js +91 -81
- package/dist/cjs/utils/pluginGenerator.js +66 -54
- package/dist/cjs/utils/runtimeGenerator.js +67 -45
- package/dist/esm/cli.mjs +214 -0
- package/dist/esm/constants.mjs +11 -0
- package/dist/esm/loader.mjs +39 -0
- package/dist/esm/runtime/create-request/{index.js → index.mjs} +1 -5
- package/dist/esm/runtime/hono/adapter.mjs +95 -0
- package/dist/{esm-node/runtime/hono/index.js → esm/runtime/hono/index.mjs} +2 -4
- package/dist/esm/runtime/hono/operators.mjs +31 -0
- package/dist/esm/server.mjs +122 -0
- package/dist/esm/utils/clientGenerator.mjs +175 -0
- package/dist/esm/utils/createHonoRoutes.mjs +91 -0
- package/dist/esm/utils/crossProjectApiPlugin.mjs +34 -0
- package/dist/esm/utils/pluginGenerator.mjs +29 -0
- package/dist/esm/utils/runtimeGenerator.mjs +43 -0
- package/dist/esm-node/cli.mjs +214 -0
- package/dist/esm-node/constants.mjs +11 -0
- package/dist/esm-node/index.mjs +1 -0
- package/dist/esm-node/loader.mjs +39 -0
- package/dist/esm-node/runtime/create-request/{index.js → index.mjs} +1 -5
- package/dist/esm-node/runtime/hono/adapter.mjs +95 -0
- package/dist/{esm/runtime/hono/index.js → esm-node/runtime/hono/index.mjs} +3 -5
- package/dist/esm-node/runtime/hono/operators.mjs +31 -0
- package/dist/esm-node/server.mjs +122 -0
- package/dist/esm-node/utils/clientGenerator.mjs +175 -0
- package/dist/esm-node/utils/createHonoRoutes.mjs +91 -0
- package/dist/esm-node/utils/crossProjectApiPlugin.mjs +34 -0
- package/dist/esm-node/utils/pluginGenerator.mjs +29 -0
- package/dist/esm-node/utils/runtimeGenerator.mjs +43 -0
- package/dist/types/loader.d.ts +2 -2
- package/dist/types/runtime/hono/adapter.d.ts +3 -3
- package/dist/types/server.d.ts +2 -2
- package/dist/types/utils/runtimeGenerator.d.ts +2 -1
- package/package.json +53 -31
- package/rslib.config.mts +4 -0
- package/dist/cjs/helper.js +0 -48
- package/dist/esm/cli.js +0 -425
- package/dist/esm/constants.js +0 -14
- package/dist/esm/helper.js +0 -13
- package/dist/esm/index.js +0 -1
- package/dist/esm/loader.js +0 -75
- package/dist/esm/runtime/hono/adapter.js +0 -243
- package/dist/esm/runtime/hono/operators.js +0 -79
- package/dist/esm/server.js +0 -258
- package/dist/esm/utils/clientGenerator.js +0 -517
- package/dist/esm/utils/createHonoRoutes.js +0 -319
- package/dist/esm/utils/crossProjectApiPlugin.js +0 -49
- package/dist/esm/utils/pluginGenerator.js +0 -94
- package/dist/esm/utils/runtimeGenerator.js +0 -55
- package/dist/esm-node/cli.js +0 -246
- package/dist/esm-node/constants.js +0 -14
- package/dist/esm-node/helper.js +0 -14
- package/dist/esm-node/loader.js +0 -49
- package/dist/esm-node/runtime/hono/adapter.js +0 -103
- package/dist/esm-node/runtime/hono/operators.js +0 -46
- package/dist/esm-node/server.js +0 -142
- package/dist/esm-node/utils/clientGenerator.js +0 -192
- package/dist/esm-node/utils/createHonoRoutes.js +0 -120
- package/dist/esm-node/utils/crossProjectApiPlugin.js +0 -47
- package/dist/esm-node/utils/pluginGenerator.js +0 -31
- package/dist/esm-node/utils/runtimeGenerator.js +0 -35
- package/dist/types/helper.d.ts +0 -2
- package/types.d.ts +0 -3
- /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
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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
|
|
15
|
-
|
|
16
|
-
var
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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
|
});
|
package/dist/cjs/loader.js
CHANGED
|
@@ -1,69 +1,73 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
var
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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
|
-
|
|
24
|
-
|
|
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
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
options.
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
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
|
-
|
|
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
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
var
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
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
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
var
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
)
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
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
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
var
|
|
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
|
-
|
|
39
|
-
|
|
40
|
-
|
|
43
|
+
'custom-server-hook',
|
|
44
|
+
'custom-server-middleware',
|
|
45
|
+
'render'
|
|
41
46
|
];
|
|
42
47
|
class HonoAdapter {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
handler
|
|
49
|
-
];
|
|
48
|
+
wrapInArray(handler) {
|
|
49
|
+
if (Array.isArray(handler)) return handler;
|
|
50
|
+
return [
|
|
51
|
+
handler
|
|
52
|
+
];
|
|
50
53
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
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
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
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
|
-
|
|
129
|
-
|
|
130
|
-
};
|
|
131
|
-
this.api = api;
|
|
132
|
-
}
|
|
130
|
+
this.api = api;
|
|
131
|
+
}
|
|
133
132
|
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
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
|
});
|