@modern-js/plugin-koa 2.58.1 → 2.58.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.
@@ -32,11 +32,11 @@ __export(plugin_exports, {
32
32
  });
33
33
  module.exports = __toCommonJS(plugin_exports);
34
34
  var path = __toESM(require("path"));
35
+ var import_node = require("@modern-js/server-core/node");
36
+ var import_utils = require("@modern-js/utils");
35
37
  var import_koa = __toESM(require("koa"));
36
- var import_koa_router = __toESM(require("koa-router"));
37
38
  var import_koa_body = __toESM(require("koa-body"));
38
- var import_utils = require("@modern-js/utils");
39
- var import_node = require("@modern-js/server-core/node");
39
+ var import_koa_router = __toESM(require("koa-router"));
40
40
  var import_context = require("./context");
41
41
  var import_registerRoutes = __toESM(require("./registerRoutes"));
42
42
  const findAppModule = async (apiDir) => {
@@ -48,16 +48,16 @@ const findAppModule = async (apiDir) => {
48
48
  for (const filename of paths) {
49
49
  if (await import_utils.fs.pathExists(filename)) {
50
50
  delete require.cache[filename];
51
- return (0, import_utils.compatRequire)(filename);
51
+ return (0, import_utils.compatibleRequire)(filename);
52
52
  }
53
53
  }
54
54
  return null;
55
55
  };
56
- const initMiddlewares = (middleware, app) => {
57
- middleware.forEach((middlewareItem) => {
58
- const middlewareFunc = typeof middlewareItem === "string" ? (0, import_utils.compatRequire)(middlewareItem) : middlewareItem;
56
+ const initMiddlewares = async (middleware, app) => {
57
+ for (const middlewareItem of middleware) {
58
+ const middlewareFunc = typeof middlewareItem === "string" ? await (0, import_utils.compatibleRequire)(middlewareItem) : middlewareItem;
59
59
  app.use(middlewareFunc);
60
- });
60
+ }
61
61
  };
62
62
  const defaultErrorHandler = async (ctx, next) => {
63
63
  ctx.onerror = (err) => {
@@ -84,7 +84,7 @@ const createApp = async ({ apiDir, middlewares, mode, apiHandlerInfos, render })
84
84
  }));
85
85
  }
86
86
  if (middlewares && middlewares.length > 0) {
87
- initMiddlewares(middlewares, app);
87
+ await initMiddlewares(middlewares, app);
88
88
  }
89
89
  app.use(import_context.run);
90
90
  (0, import_registerRoutes.default)(router, apiHandlerInfos);
@@ -95,7 +95,7 @@ const createApp = async ({ apiDir, middlewares, mode, apiHandlerInfos, render })
95
95
  multipart: true
96
96
  }));
97
97
  if (middlewares && middlewares.length > 0) {
98
- initMiddlewares(middlewares, app);
98
+ await initMiddlewares(middlewares, app);
99
99
  }
100
100
  app.use(import_context.run);
101
101
  (0, import_registerRoutes.default)(router, apiHandlerInfos);
@@ -2,11 +2,11 @@ import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
2
  import { _ as _instanceof } from "@swc/helpers/_/_instanceof";
3
3
  import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
4
4
  import * as path from "path";
5
+ import { httpCallBack2HonoMid, sendResponse } from "@modern-js/server-core/node";
6
+ import { fs, compatibleRequire, logger } from "@modern-js/utils";
5
7
  import Koa from "koa";
6
- import Router from "koa-router";
7
8
  import koaBody from "koa-body";
8
- import { fs, compatRequire, logger } from "@modern-js/utils";
9
- import { httpCallBack2HonoMid, sendResponse } from "@modern-js/server-core/node";
9
+ import Router from "koa-router";
10
10
  import { run } from "./context";
11
11
  import registerRoutes from "./registerRoutes";
12
12
  var findAppModule = function() {
@@ -49,7 +49,7 @@ var findAppModule = function() {
49
49
  delete require.cache[filename];
50
50
  return [
51
51
  2,
52
- compatRequire(filename)
52
+ compatibleRequire(filename)
53
53
  ];
54
54
  }
55
55
  _state.label = 4;
@@ -97,12 +97,95 @@ var findAppModule = function() {
97
97
  return _ref.apply(this, arguments);
98
98
  };
99
99
  }();
100
- var initMiddlewares = function(middleware, app) {
101
- middleware.forEach(function(middlewareItem) {
102
- var middlewareFunc = typeof middlewareItem === "string" ? compatRequire(middlewareItem) : middlewareItem;
103
- app.use(middlewareFunc);
100
+ var initMiddlewares = function() {
101
+ var _ref = _async_to_generator(function(middleware, app) {
102
+ var _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, middlewareItem, middlewareFunc, _tmp, err;
103
+ return _ts_generator(this, function(_state) {
104
+ switch (_state.label) {
105
+ case 0:
106
+ _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
107
+ _state.label = 1;
108
+ case 1:
109
+ _state.trys.push([
110
+ 1,
111
+ 8,
112
+ 9,
113
+ 10
114
+ ]);
115
+ _iterator = middleware[Symbol.iterator]();
116
+ _state.label = 2;
117
+ case 2:
118
+ if (!!(_iteratorNormalCompletion = (_step = _iterator.next()).done))
119
+ return [
120
+ 3,
121
+ 7
122
+ ];
123
+ middlewareItem = _step.value;
124
+ if (!(typeof middlewareItem === "string"))
125
+ return [
126
+ 3,
127
+ 4
128
+ ];
129
+ return [
130
+ 4,
131
+ compatibleRequire(middlewareItem)
132
+ ];
133
+ case 3:
134
+ _tmp = _state.sent();
135
+ return [
136
+ 3,
137
+ 5
138
+ ];
139
+ case 4:
140
+ _tmp = middlewareItem;
141
+ _state.label = 5;
142
+ case 5:
143
+ middlewareFunc = _tmp;
144
+ app.use(middlewareFunc);
145
+ _state.label = 6;
146
+ case 6:
147
+ _iteratorNormalCompletion = true;
148
+ return [
149
+ 3,
150
+ 2
151
+ ];
152
+ case 7:
153
+ return [
154
+ 3,
155
+ 10
156
+ ];
157
+ case 8:
158
+ err = _state.sent();
159
+ _didIteratorError = true;
160
+ _iteratorError = err;
161
+ return [
162
+ 3,
163
+ 10
164
+ ];
165
+ case 9:
166
+ try {
167
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
168
+ _iterator.return();
169
+ }
170
+ } finally {
171
+ if (_didIteratorError) {
172
+ throw _iteratorError;
173
+ }
174
+ }
175
+ return [
176
+ 7
177
+ ];
178
+ case 10:
179
+ return [
180
+ 2
181
+ ];
182
+ }
183
+ });
104
184
  });
105
- };
185
+ return function initMiddlewares2(middleware, app) {
186
+ return _ref.apply(this, arguments);
187
+ };
188
+ }();
106
189
  var defaultErrorHandler = function() {
107
190
  var _ref = _async_to_generator(function(ctx, next) {
108
191
  return _ts_generator(this, function(_state) {
@@ -144,7 +227,7 @@ var createApp = function() {
144
227
  if (!(mode === "framework"))
145
228
  return [
146
229
  3,
147
- 2
230
+ 4
148
231
  ];
149
232
  return [
150
233
  4,
@@ -159,32 +242,58 @@ var createApp = function() {
159
242
  multipart: true
160
243
  }));
161
244
  }
162
- if (middlewares && middlewares.length > 0) {
163
- initMiddlewares(middlewares, app);
164
- }
165
- app.use(run);
166
- registerRoutes(router, apiHandlerInfos);
245
+ if (!(middlewares && middlewares.length > 0))
246
+ return [
247
+ 3,
248
+ 3
249
+ ];
167
250
  return [
168
- 3,
169
- 3
251
+ 4,
252
+ initMiddlewares(middlewares, app)
170
253
  ];
171
254
  case 2:
172
- if (mode === "function") {
173
- app = new Koa();
174
- app.use(defaultErrorHandler);
175
- app.use(koaBody({
176
- multipart: true
177
- }));
178
- if (middlewares && middlewares.length > 0) {
179
- initMiddlewares(middlewares, app);
180
- }
181
- app.use(run);
182
- registerRoutes(router, apiHandlerInfos);
183
- } else {
184
- throw new Error("mode must be function or framework");
185
- }
255
+ _state.sent();
186
256
  _state.label = 3;
187
257
  case 3:
258
+ app.use(run);
259
+ registerRoutes(router, apiHandlerInfos);
260
+ return [
261
+ 3,
262
+ 8
263
+ ];
264
+ case 4:
265
+ if (!(mode === "function"))
266
+ return [
267
+ 3,
268
+ 7
269
+ ];
270
+ app = new Koa();
271
+ app.use(defaultErrorHandler);
272
+ app.use(koaBody({
273
+ multipart: true
274
+ }));
275
+ if (!(middlewares && middlewares.length > 0))
276
+ return [
277
+ 3,
278
+ 6
279
+ ];
280
+ return [
281
+ 4,
282
+ initMiddlewares(middlewares, app)
283
+ ];
284
+ case 5:
285
+ _state.sent();
286
+ _state.label = 6;
287
+ case 6:
288
+ app.use(run);
289
+ registerRoutes(router, apiHandlerInfos);
290
+ return [
291
+ 3,
292
+ 8
293
+ ];
294
+ case 7:
295
+ throw new Error("mode must be function or framework");
296
+ case 8:
188
297
  app.use(router.routes());
189
298
  if (render) {
190
299
  app.use(function() {
package/dist/esm/utils.js CHANGED
@@ -3,7 +3,7 @@ import { _ as _instanceof } from "@swc/helpers/_/_instanceof";
3
3
  import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
4
4
  import { _ as _to_consumable_array } from "@swc/helpers/_/_to_consumable_array";
5
5
  import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
6
- import { httpMethods, isWithMetaHandler, ResponseMetaType, HttpMetadata } from "@modern-js/bff-core";
6
+ import { HttpMetadata, ResponseMetaType, httpMethods, isWithMetaHandler } from "@modern-js/bff-core";
7
7
  import { isSchemaHandler } from "@modern-js/bff-runtime";
8
8
  import typeIs from "type-is";
9
9
  var handleResponseMeta = function(ctx, handler) {
@@ -1,9 +1,9 @@
1
1
  import * as path from "path";
2
+ import { httpCallBack2HonoMid, sendResponse } from "@modern-js/server-core/node";
3
+ import { fs, compatibleRequire, logger } from "@modern-js/utils";
2
4
  import Koa from "koa";
3
- import Router from "koa-router";
4
5
  import koaBody from "koa-body";
5
- import { fs, compatRequire, logger } from "@modern-js/utils";
6
- import { httpCallBack2HonoMid, sendResponse } from "@modern-js/server-core/node";
6
+ import Router from "koa-router";
7
7
  import { run } from "./context";
8
8
  import registerRoutes from "./registerRoutes";
9
9
  const findAppModule = async (apiDir) => {
@@ -15,16 +15,16 @@ const findAppModule = async (apiDir) => {
15
15
  for (const filename of paths) {
16
16
  if (await fs.pathExists(filename)) {
17
17
  delete require.cache[filename];
18
- return compatRequire(filename);
18
+ return compatibleRequire(filename);
19
19
  }
20
20
  }
21
21
  return null;
22
22
  };
23
- const initMiddlewares = (middleware, app) => {
24
- middleware.forEach((middlewareItem) => {
25
- const middlewareFunc = typeof middlewareItem === "string" ? compatRequire(middlewareItem) : middlewareItem;
23
+ const initMiddlewares = async (middleware, app) => {
24
+ for (const middlewareItem of middleware) {
25
+ const middlewareFunc = typeof middlewareItem === "string" ? await compatibleRequire(middlewareItem) : middlewareItem;
26
26
  app.use(middlewareFunc);
27
- });
27
+ }
28
28
  };
29
29
  const defaultErrorHandler = async (ctx, next) => {
30
30
  ctx.onerror = (err) => {
@@ -51,7 +51,7 @@ const createApp = async ({ apiDir, middlewares, mode, apiHandlerInfos, render })
51
51
  }));
52
52
  }
53
53
  if (middlewares && middlewares.length > 0) {
54
- initMiddlewares(middlewares, app);
54
+ await initMiddlewares(middlewares, app);
55
55
  }
56
56
  app.use(run);
57
57
  registerRoutes(router, apiHandlerInfos);
@@ -62,7 +62,7 @@ const createApp = async ({ apiDir, middlewares, mode, apiHandlerInfos, render })
62
62
  multipart: true
63
63
  }));
64
64
  if (middlewares && middlewares.length > 0) {
65
- initMiddlewares(middlewares, app);
65
+ await initMiddlewares(middlewares, app);
66
66
  }
67
67
  app.use(run);
68
68
  registerRoutes(router, apiHandlerInfos);
@@ -1,4 +1,4 @@
1
- import { httpMethods, isWithMetaHandler, ResponseMetaType, HttpMetadata } from "@modern-js/bff-core";
1
+ import { HttpMetadata, ResponseMetaType, httpMethods, isWithMetaHandler } from "@modern-js/bff-core";
2
2
  import { isSchemaHandler } from "@modern-js/bff-runtime";
3
3
  import typeIs from "type-is";
4
4
  const handleResponseMeta = (ctx, handler) => {
@@ -1,4 +1,4 @@
1
- import type { CliPlugin } from '@modern-js/core';
2
1
  import type { AppTools } from '@modern-js/app-tools';
2
+ import type { CliPlugin } from '@modern-js/core';
3
3
  export declare const koaPlugin: () => CliPlugin<AppTools>;
4
4
  export default koaPlugin;
@@ -1,5 +1,5 @@
1
1
  import type { ServerManifest, ServerPlugin } from '@modern-js/server-core';
2
- import { InternalRequest } from '@modern-js/server-core';
2
+ import type { InternalRequest } from '@modern-js/server-core';
3
3
  declare module 'http' {
4
4
  interface IncomingMessage {
5
5
  __honoRequest?: InternalRequest;
@@ -1,4 +1,4 @@
1
- import { APIHandlerInfo } from '@modern-js/bff-core';
2
- import Router from 'koa-router';
1
+ import type { APIHandlerInfo } from '@modern-js/bff-core';
2
+ import type Router from 'koa-router';
3
3
  declare const registerRoutes: (router: Router, handlerInfos: APIHandlerInfo[]) => void;
4
4
  export default registerRoutes;
@@ -1,5 +1,5 @@
1
- import { HttpMethod, APIHandlerInfo } from '@modern-js/bff-core';
2
- import { Context } from 'koa';
1
+ import { type APIHandlerInfo, type HttpMethod } from '@modern-js/bff-core';
2
+ import type { Context } from 'koa';
3
3
  type Handler = APIHandlerInfo['handler'];
4
4
  export declare const createRouteHandler: (handler: Handler) => (ctx: Context) => Promise<{
5
5
  code: any;
package/package.json CHANGED
@@ -15,7 +15,7 @@
15
15
  "modern",
16
16
  "modern.js"
17
17
  ],
18
- "version": "2.58.1",
18
+ "version": "2.58.3",
19
19
  "jsnext:source": "./src/index.ts",
20
20
  "types": "./dist/types/cli/index.d.ts",
21
21
  "main": "./dist/cjs/cli/index.js",
@@ -33,6 +33,7 @@
33
33
  "default": "./dist/cjs/cli/index.js"
34
34
  },
35
35
  "./runtime": {
36
+ "types": "./dist/types/runtime/index.d.ts",
36
37
  "jsnext:source": "./src/runtime.ts",
37
38
  "default": "./dist/cjs/runtime.js"
38
39
  },
@@ -67,11 +68,11 @@
67
68
  "koa-body": "^4.2.0",
68
69
  "koa-router": "^10.0.0",
69
70
  "type-is": "^1.6.18",
70
- "@modern-js/bff-core": "2.58.1",
71
- "@modern-js/bff-runtime": "2.58.1",
72
- "@modern-js/server-core": "2.58.1",
73
- "@modern-js/types": "2.58.1",
74
- "@modern-js/utils": "2.58.1"
71
+ "@modern-js/bff-core": "2.58.3",
72
+ "@modern-js/server-core": "2.58.3",
73
+ "@modern-js/types": "2.58.3",
74
+ "@modern-js/utils": "2.58.3",
75
+ "@modern-js/bff-runtime": "2.58.3"
75
76
  },
76
77
  "devDependencies": {
77
78
  "@types/jest": "^29",
@@ -85,10 +86,10 @@
85
86
  "supertest": "^6.1.6",
86
87
  "typescript": "^5",
87
88
  "zod": "^3.22.3",
88
- "@modern-js/app-tools": "2.58.1",
89
- "@modern-js/core": "2.58.1",
90
- "@scripts/build": "2.58.1",
91
- "@scripts/jest-config": "2.58.1"
89
+ "@modern-js/core": "2.58.3",
90
+ "@scripts/build": "2.58.3",
91
+ "@scripts/jest-config": "2.58.3",
92
+ "@modern-js/app-tools": "2.58.3"
92
93
  },
93
94
  "peerDependencies": {
94
95
  "koa": "^2.13.4"
package/types.d.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  /// <reference path="./dist/types/index.d.ts" />
2
2
  declare module '@modern-js/runtime/koa' {
3
-
4
- import { Context, Middleware } from 'koa';
3
+ import type { Context, Middleware } from 'koa';
5
4
 
6
5
  export type { Middleware as RequestHandler };
7
6
 
@@ -12,9 +11,12 @@ declare module '@modern-js/runtime/koa' {
12
11
 
13
12
  // Todo: remove on next version
14
13
  declare module '@modern-js/runtime/server' {
15
-
16
- import { Context, Middleware } from 'koa';
17
- import type { AfterMatchContext, AfterRenderContext, NextFunction } from '@modern-js/types';
14
+ import type { Context, Middleware } from 'koa';
15
+ import type {
16
+ AfterMatchContext,
17
+ AfterRenderContext,
18
+ NextFunction,
19
+ } from '@modern-js/types';
18
20
 
19
21
  export type AfterRenderHook = (
20
22
  context: AfterRenderContext,
@@ -26,7 +28,6 @@ declare module '@modern-js/runtime/server' {
26
28
  next: NextFunction,
27
29
  ) => void;
28
30
 
29
-
30
31
  type KoaOptions = {
31
32
  addMiddleware: (...input: Middleware[]) => void;
32
33
  afterRender: (hook: AfterRenderHook) => void;