@modern-js/plugin-bff 2.69.7 → 3.0.0-alpha.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 (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 +55 -33
  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
@@ -1,75 +0,0 @@
1
- import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
- import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
3
- import { generateClient } from "@modern-js/bff-core";
4
- import { logger } from "@modern-js/utils";
5
- function loader(source) {
6
- return _loader.apply(this, arguments);
7
- }
8
- function _loader() {
9
- _loader = _async_to_generator(function(source) {
10
- var resourcePath, callback, draftOptions, warning, options, lambdaDir, result;
11
- return _ts_generator(this, function(_state) {
12
- switch (_state.label) {
13
- case 0:
14
- this.cacheable();
15
- resourcePath = this.resourcePath;
16
- delete require.cache[resourcePath];
17
- callback = this.async();
18
- draftOptions = this.getOptions();
19
- warning = "The file ".concat(resourcePath, " is not allowd to be imported in src directory, only API definition files are allowed.");
20
- if (!draftOptions.existLambda) {
21
- logger.warn(warning);
22
- callback(null, "throw new Error('".concat(warning, "')"));
23
- return [
24
- 2
25
- ];
26
- }
27
- options = {
28
- prefix: Array.isArray(draftOptions.prefix) ? draftOptions.prefix[0] : draftOptions.prefix,
29
- appDir: draftOptions.appDir,
30
- apiDir: draftOptions.apiDir,
31
- lambdaDir: draftOptions.lambdaDir,
32
- target: draftOptions.target,
33
- port: Number(draftOptions.port),
34
- source,
35
- resourcePath,
36
- httpMethodDecider: draftOptions.httpMethodDecider
37
- };
38
- lambdaDir = draftOptions.lambdaDir;
39
- if (!resourcePath.startsWith(lambdaDir)) {
40
- logger.warn(warning);
41
- callback(null, "throw new Error('".concat(warning, "')"));
42
- return [
43
- 2
44
- ];
45
- }
46
- if (draftOptions.fetcher) {
47
- options.fetcher = draftOptions.fetcher;
48
- }
49
- if (draftOptions.requestCreator) {
50
- options.requestCreator = draftOptions.requestCreator;
51
- }
52
- options.requireResolve = require.resolve;
53
- return [
54
- 4,
55
- generateClient(options)
56
- ];
57
- case 1:
58
- result = _state.sent();
59
- if (result.isOk) {
60
- callback(void 0, result.value);
61
- } else {
62
- callback(void 0, "throw new Error('".concat(result.value, "')"));
63
- }
64
- return [
65
- 2
66
- ];
67
- }
68
- });
69
- });
70
- return _loader.apply(this, arguments);
71
- }
72
- var loader_default = loader;
73
- export {
74
- loader_default as default
75
- };
@@ -1,243 +0,0 @@
1
- import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
- import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
3
- import { _ as _instanceof } from "@swc/helpers/_/_instanceof";
4
- import { _ as _to_consumable_array } from "@swc/helpers/_/_to_consumable_array";
5
- import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
6
- import { Hono } from "@modern-js/server-core";
7
- import { isProd, logger } from "@modern-js/utils";
8
- import createHonoRoutes from "../../utils/createHonoRoutes";
9
- var before = [
10
- "custom-server-hook",
11
- "custom-server-middleware",
12
- "render"
13
- ];
14
- var HonoAdapter = /* @__PURE__ */ function() {
15
- "use strict";
16
- function HonoAdapter2(api) {
17
- _class_call_check(this, HonoAdapter2);
18
- var _this = this;
19
- this.apiMiddleware = [];
20
- this.apiServer = null;
21
- this.isHono = true;
22
- this.setHandlers = /* @__PURE__ */ _async_to_generator(function() {
23
- var apiHandlerInfos, honoHandlers;
24
- return _ts_generator(this, function(_state) {
25
- if (!_this.isHono) {
26
- return [
27
- 2
28
- ];
29
- }
30
- apiHandlerInfos = _this.api.useAppContext().apiHandlerInfos;
31
- honoHandlers = createHonoRoutes(apiHandlerInfos);
32
- _this.apiMiddleware = honoHandlers.map(function(param) {
33
- var path = param.path, method = param.method, handler = param.handler;
34
- return {
35
- name: "hono-bff-api",
36
- path,
37
- method,
38
- handler,
39
- order: "post",
40
- before
41
- };
42
- });
43
- return [
44
- 2
45
- ];
46
- });
47
- });
48
- this.registerApiRoutes = /* @__PURE__ */ _async_to_generator(function() {
49
- return _ts_generator(this, function(_state) {
50
- if (!_this.isHono) {
51
- return [
52
- 2
53
- ];
54
- }
55
- _this.apiServer = new Hono();
56
- _this.apiMiddleware.forEach(function(param) {
57
- var _param_path = param.path, path = _param_path === void 0 ? "*" : _param_path, _param_method = param.method, method = _param_method === void 0 ? "all" : _param_method, handler = param.handler;
58
- var _this_apiServer;
59
- var _this_apiServer1;
60
- var handlers = _this.wrapInArray(handler);
61
- (_this_apiServer1 = _this.apiServer) === null || _this_apiServer1 === void 0 ? void 0 : (_this_apiServer = _this_apiServer1)[method].apply(_this_apiServer, [
62
- path
63
- ].concat(_to_consumable_array(handlers)));
64
- });
65
- _this.apiServer.onError(function() {
66
- var _ref = _async_to_generator(function(err, c) {
67
- var serverConfig, onErrorHandler, result, configError;
68
- return _ts_generator(this, function(_state2) {
69
- switch (_state2.label) {
70
- case 0:
71
- _state2.trys.push([
72
- 0,
73
- 3,
74
- ,
75
- 4
76
- ]);
77
- serverConfig = _this.api.useConfigContext();
78
- onErrorHandler = serverConfig === null || serverConfig === void 0 ? void 0 : serverConfig.onError;
79
- if (!onErrorHandler)
80
- return [
81
- 3,
82
- 2
83
- ];
84
- return [
85
- 4,
86
- onErrorHandler(err, c)
87
- ];
88
- case 1:
89
- result = _state2.sent();
90
- if (_instanceof(result, Response)) {
91
- return [
92
- 2,
93
- result
94
- ];
95
- }
96
- _state2.label = 2;
97
- case 2:
98
- return [
99
- 3,
100
- 4
101
- ];
102
- case 3:
103
- configError = _state2.sent();
104
- logger.error("Error in serverConfig.onError handler: ".concat(configError));
105
- return [
106
- 3,
107
- 4
108
- ];
109
- case 4:
110
- return [
111
- 2,
112
- c.json({
113
- message: (err === null || err === void 0 ? void 0 : err.message) || "[BFF] Internal Server Error"
114
- }, (err === null || err === void 0 ? void 0 : err.status) || 500)
115
- ];
116
- }
117
- });
118
- });
119
- return function(err, c) {
120
- return _ref.apply(this, arguments);
121
- };
122
- }());
123
- return [
124
- 2
125
- ];
126
- });
127
- });
128
- this.registerMiddleware = function() {
129
- var _ref = _async_to_generator(function(options) {
130
- var prefix, bffRuntimeFramework, _this_api_useAppContext, globalMiddlewares, _globalMiddlewares, dynamicApiMiddleware;
131
- return _ts_generator(this, function(_state) {
132
- switch (_state.label) {
133
- case 0:
134
- prefix = options.prefix;
135
- bffRuntimeFramework = _this.api.useAppContext().bffRuntimeFramework;
136
- if (bffRuntimeFramework !== "hono") {
137
- _this.isHono = false;
138
- return [
139
- 2
140
- ];
141
- }
142
- _this_api_useAppContext = _this.api.useAppContext(), globalMiddlewares = _this_api_useAppContext.middlewares;
143
- return [
144
- 4,
145
- _this.setHandlers()
146
- ];
147
- case 1:
148
- _state.sent();
149
- if (!isProd())
150
- return [
151
- 3,
152
- 2
153
- ];
154
- (_globalMiddlewares = globalMiddlewares).push.apply(_globalMiddlewares, _to_consumable_array(_this.apiMiddleware));
155
- return [
156
- 3,
157
- 4
158
- ];
159
- case 2:
160
- return [
161
- 4,
162
- _this.registerApiRoutes()
163
- ];
164
- case 3:
165
- _state.sent();
166
- dynamicApiMiddleware = {
167
- name: "dynamic-bff-handler",
168
- path: "".concat(prefix, "/*"),
169
- method: "all",
170
- order: "post",
171
- before,
172
- handler: function() {
173
- var _ref2 = _async_to_generator(function(c, next) {
174
- var response;
175
- return _ts_generator(this, function(_state2) {
176
- switch (_state2.label) {
177
- case 0:
178
- if (!_this.apiServer)
179
- return [
180
- 3,
181
- 2
182
- ];
183
- return [
184
- 4,
185
- _this.apiServer.fetch(c.req, c.env)
186
- ];
187
- case 1:
188
- response = _state2.sent();
189
- if (response.status !== 404) {
190
- return [
191
- 2,
192
- new Response(response.body, response)
193
- ];
194
- }
195
- _state2.label = 2;
196
- case 2:
197
- return [
198
- 4,
199
- next()
200
- ];
201
- case 3:
202
- _state2.sent();
203
- return [
204
- 2
205
- ];
206
- }
207
- });
208
- });
209
- return function(c, next) {
210
- return _ref2.apply(this, arguments);
211
- };
212
- }()
213
- };
214
- globalMiddlewares.push(dynamicApiMiddleware);
215
- _state.label = 4;
216
- case 4:
217
- return [
218
- 2
219
- ];
220
- }
221
- });
222
- });
223
- return function(options) {
224
- return _ref.apply(this, arguments);
225
- };
226
- }();
227
- this.api = api;
228
- }
229
- var _proto = HonoAdapter2.prototype;
230
- _proto.wrapInArray = function wrapInArray(handler) {
231
- if (Array.isArray(handler)) {
232
- return handler;
233
- } else {
234
- return [
235
- handler
236
- ];
237
- }
238
- };
239
- return HonoAdapter2;
240
- }();
241
- export {
242
- HonoAdapter
243
- };
@@ -1,79 +0,0 @@
1
- import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
- import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
3
- import { useHonoContext } from "@modern-js/server-core";
4
- var Pipe = function(func) {
5
- return {
6
- name: "pipe",
7
- execute: function execute(executeHelper, next) {
8
- return _async_to_generator(function() {
9
- var inputs, ctx, res, isPiped, end, output;
10
- return _ts_generator(this, function(_state) {
11
- switch (_state.label) {
12
- case 0:
13
- inputs = executeHelper.inputs;
14
- ctx = useHonoContext();
15
- res = ctx.res;
16
- if (!(typeof func === "function"))
17
- return [
18
- 3,
19
- 3
20
- ];
21
- isPiped = true;
22
- end = function(value) {
23
- isPiped = false;
24
- if (typeof value === "function") {
25
- value(res);
26
- return;
27
- }
28
- return value;
29
- };
30
- return [
31
- 4,
32
- func(inputs, end)
33
- ];
34
- case 1:
35
- output = _state.sent();
36
- if (!isPiped) {
37
- if (output) {
38
- return [
39
- 2,
40
- executeHelper.result = output
41
- ];
42
- } else {
43
- return [
44
- 2
45
- ];
46
- }
47
- }
48
- executeHelper.inputs = output;
49
- return [
50
- 4,
51
- next()
52
- ];
53
- case 2:
54
- _state.sent();
55
- _state.label = 3;
56
- case 3:
57
- return [
58
- 2
59
- ];
60
- }
61
- });
62
- })();
63
- }
64
- };
65
- };
66
- var Middleware = function(middleware) {
67
- return {
68
- name: "middleware",
69
- metadata: function metadata(helper) {
70
- var middlewares = helper.getMetadata("pipe") || [];
71
- middlewares.push(middleware);
72
- helper.setMetadata("middleware", middlewares);
73
- }
74
- };
75
- };
76
- export {
77
- Middleware,
78
- Pipe
79
- };
@@ -1,258 +0,0 @@
1
- import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
- import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
3
- import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
4
- import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
5
- import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
6
- import path from "path";
7
- import { ApiRouter } from "@modern-js/bff-core";
8
- import { API_DIR, isProd, isWebOnly, requireExistModule } from "@modern-js/utils";
9
- import { isFunction } from "@modern-js/utils";
10
- import { API_APP_NAME } from "./constants";
11
- import { HonoAdapter } from "./runtime/hono/adapter";
12
- var Storage = /* @__PURE__ */ function() {
13
- "use strict";
14
- function Storage2() {
15
- _class_call_check(this, Storage2);
16
- this.middlewares = [];
17
- }
18
- var _proto = Storage2.prototype;
19
- _proto.reset = function reset() {
20
- this.middlewares = [];
21
- };
22
- return Storage2;
23
- }();
24
- var createTransformAPI = function(storage) {
25
- return {
26
- addMiddleware: function addMiddleware(fn) {
27
- storage.middlewares.push(fn);
28
- }
29
- };
30
- };
31
- function server_default() {
32
- return {
33
- name: "@modern-js/plugin-bff",
34
- setup: function(api) {
35
- var storage = new Storage();
36
- var transformAPI = createTransformAPI(storage);
37
- var apiAppPath = "";
38
- var apiRouter;
39
- var honoAdapter = new HonoAdapter(api);
40
- return {
41
- prepare: function prepare() {
42
- return _async_to_generator(function() {
43
- var _config_bff, _config_bff1, _config_bff2, appContext, appDirectory, distDirectory, render, root, apiPath, apiMod, middlewares, config, prefix, enableHandleWeb, httpMethodDecider, _api_useAppContext, pwd, globalMiddlewares, webOnly, handler, runner, renderHandler;
44
- return _ts_generator(this, function(_state) {
45
- switch (_state.label) {
46
- case 0:
47
- appContext = api.useAppContext();
48
- appDirectory = appContext.appDirectory, distDirectory = appContext.distDirectory, render = appContext.render;
49
- root = isProd() ? distDirectory : appDirectory;
50
- apiPath = path.resolve(root || process.cwd(), API_DIR);
51
- apiAppPath = path.resolve(apiPath, API_APP_NAME);
52
- return [
53
- 4,
54
- requireExistModule(apiAppPath)
55
- ];
56
- case 1:
57
- apiMod = _state.sent();
58
- if (apiMod && typeof apiMod === "function") {
59
- apiMod(transformAPI);
60
- }
61
- middlewares = storage.middlewares;
62
- api.setAppContext(_object_spread_props(_object_spread({}, appContext), {
63
- apiMiddlewares: middlewares
64
- }));
65
- config = api.useConfigContext();
66
- prefix = (config === null || config === void 0 ? void 0 : (_config_bff = config.bff) === null || _config_bff === void 0 ? void 0 : _config_bff.prefix) || "/api";
67
- enableHandleWeb = config === null || config === void 0 ? void 0 : (_config_bff1 = config.bff) === null || _config_bff1 === void 0 ? void 0 : _config_bff1.enableHandleWeb;
68
- httpMethodDecider = config === null || config === void 0 ? void 0 : (_config_bff2 = config.bff) === null || _config_bff2 === void 0 ? void 0 : _config_bff2.httpMethodDecider;
69
- _api_useAppContext = api.useAppContext(), pwd = _api_useAppContext.distDirectory, globalMiddlewares = _api_useAppContext.middlewares;
70
- return [
71
- 4,
72
- isWebOnly()
73
- ];
74
- case 2:
75
- webOnly = _state.sent();
76
- if (!webOnly)
77
- return [
78
- 3,
79
- 3
80
- ];
81
- handler = function() {
82
- var _ref = _async_to_generator(function(c, next) {
83
- return _ts_generator(this, function(_state2) {
84
- switch (_state2.label) {
85
- case 0:
86
- c.body("");
87
- return [
88
- 4,
89
- next()
90
- ];
91
- case 1:
92
- _state2.sent();
93
- return [
94
- 2
95
- ];
96
- }
97
- });
98
- });
99
- return function(c, next) {
100
- return _ref.apply(this, arguments);
101
- };
102
- }();
103
- return [
104
- 3,
105
- 5
106
- ];
107
- case 3:
108
- runner = api.useHookRunners();
109
- renderHandler = enableHandleWeb ? render : null;
110
- return [
111
- 4,
112
- runner.prepareApiServer({
113
- pwd,
114
- prefix,
115
- render: renderHandler,
116
- httpMethodDecider
117
- }, {
118
- onLast: function() {
119
- return null;
120
- }
121
- })
122
- ];
123
- case 4:
124
- handler = _state.sent();
125
- _state.label = 5;
126
- case 5:
127
- if (handler && isFunction(handler)) {
128
- globalMiddlewares.push({
129
- name: "bind-bff",
130
- handler: function(c, next) {
131
- if (!c.req.path.startsWith(prefix) && !enableHandleWeb) {
132
- return next();
133
- } else {
134
- return handler(c, next);
135
- }
136
- },
137
- order: "post",
138
- before: [
139
- "custom-server-hook",
140
- "custom-server-middleware",
141
- "render"
142
- ]
143
- });
144
- }
145
- honoAdapter.registerMiddleware({
146
- prefix,
147
- enableHandleWeb
148
- });
149
- return [
150
- 2
151
- ];
152
- }
153
- });
154
- })();
155
- },
156
- reset: function reset(param) {
157
- var event = param.event;
158
- return _async_to_generator(function() {
159
- var appContext, newApiModule, middlewares, apiHandlerInfos, appContext1;
160
- return _ts_generator(this, function(_state) {
161
- switch (_state.label) {
162
- case 0:
163
- storage.reset();
164
- appContext = api.useAppContext();
165
- return [
166
- 4,
167
- requireExistModule(apiAppPath)
168
- ];
169
- case 1:
170
- newApiModule = _state.sent();
171
- if (newApiModule && typeof newApiModule === "function") {
172
- newApiModule(transformAPI);
173
- }
174
- middlewares = storage.middlewares;
175
- api.setAppContext(_object_spread_props(_object_spread({}, appContext), {
176
- apiMiddlewares: middlewares
177
- }));
178
- if (!(event.type === "file-change"))
179
- return [
180
- 3,
181
- 5
182
- ];
183
- return [
184
- 4,
185
- apiRouter.getApiHandlers()
186
- ];
187
- case 2:
188
- apiHandlerInfos = _state.sent();
189
- appContext1 = api.useAppContext();
190
- api.setAppContext(_object_spread_props(_object_spread({}, appContext1), {
191
- apiHandlerInfos
192
- }));
193
- return [
194
- 4,
195
- honoAdapter.setHandlers()
196
- ];
197
- case 3:
198
- _state.sent();
199
- return [
200
- 4,
201
- honoAdapter.registerApiRoutes()
202
- ];
203
- case 4:
204
- _state.sent();
205
- _state.label = 5;
206
- case 5:
207
- return [
208
- 2
209
- ];
210
- }
211
- });
212
- })();
213
- },
214
- prepareApiServer: function prepareApiServer(props, next) {
215
- return _async_to_generator(function() {
216
- var pwd, prefix, httpMethodDecider, apiDir, appContext, apiDirectory, lambdaDirectory, apiMode, apiHandlerInfos;
217
- return _ts_generator(this, function(_state) {
218
- switch (_state.label) {
219
- case 0:
220
- pwd = props.pwd, prefix = props.prefix, httpMethodDecider = props.httpMethodDecider;
221
- apiDir = path.resolve(pwd, API_DIR);
222
- appContext = api.useAppContext();
223
- apiDirectory = appContext.apiDirectory, lambdaDirectory = appContext.lambdaDirectory;
224
- apiRouter = new ApiRouter({
225
- appDir: pwd,
226
- apiDir: apiDirectory || apiDir,
227
- lambdaDir: lambdaDirectory,
228
- prefix,
229
- httpMethodDecider
230
- });
231
- apiMode = apiRouter.getApiMode();
232
- return [
233
- 4,
234
- apiRouter.getApiHandlers()
235
- ];
236
- case 1:
237
- apiHandlerInfos = _state.sent();
238
- api.setAppContext(_object_spread_props(_object_spread({}, appContext), {
239
- apiRouter,
240
- apiHandlerInfos,
241
- apiMode
242
- }));
243
- return [
244
- 2,
245
- next(props)
246
- ];
247
- }
248
- });
249
- })();
250
- }
251
- };
252
- }
253
- };
254
- }
255
- ;
256
- export {
257
- server_default as default
258
- };