@modern-js/server-core 2.49.2 → 2.49.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.
Files changed (38) hide show
  1. package/dist/cjs/base/adapters/node/bff.js +1 -1
  2. package/dist/cjs/base/adapters/node/middlewares/serverManifest.js +26 -25
  3. package/dist/cjs/base/adapters/node/middlewares/serverPublic.js +3 -0
  4. package/dist/cjs/base/index.js +4 -0
  5. package/dist/cjs/base/middlewares/customServer/context.js +3 -4
  6. package/dist/cjs/base/middlewares/renderHandler/index.js +11 -3
  7. package/dist/cjs/base/middlewares/renderHandler/render.js +61 -18
  8. package/dist/cjs/base/middlewares/renderHandler/ssrRender.js +2 -2
  9. package/dist/cjs/base/utils/error.js +17 -2
  10. package/dist/cjs/core/plugin.js +2 -0
  11. package/dist/esm/base/adapters/node/bff.js +1 -1
  12. package/dist/esm/base/adapters/node/middlewares/serverManifest.js +60 -30
  13. package/dist/esm/base/adapters/node/middlewares/serverPublic.js +5 -0
  14. package/dist/esm/base/index.js +3 -1
  15. package/dist/esm/base/middlewares/customServer/context.js +3 -3
  16. package/dist/esm/base/middlewares/renderHandler/index.js +31 -5
  17. package/dist/esm/base/middlewares/renderHandler/render.js +229 -68
  18. package/dist/esm/base/middlewares/renderHandler/ssrRender.js +3 -3
  19. package/dist/esm/base/utils/error.js +15 -1
  20. package/dist/esm/core/plugin.js +2 -0
  21. package/dist/esm-node/base/adapters/node/bff.js +1 -1
  22. package/dist/esm-node/base/adapters/node/middlewares/serverManifest.js +27 -26
  23. package/dist/esm-node/base/adapters/node/middlewares/serverPublic.js +3 -0
  24. package/dist/esm-node/base/index.js +3 -1
  25. package/dist/esm-node/base/middlewares/customServer/context.js +3 -4
  26. package/dist/esm-node/base/middlewares/renderHandler/index.js +11 -3
  27. package/dist/esm-node/base/middlewares/renderHandler/render.js +62 -19
  28. package/dist/esm-node/base/middlewares/renderHandler/ssrRender.js +2 -2
  29. package/dist/esm-node/base/utils/error.js +14 -1
  30. package/dist/esm-node/core/plugin.js +2 -0
  31. package/dist/types/base/adapters/node/middlewares/serverManifest.d.ts +2 -2
  32. package/dist/types/base/index.d.ts +1 -1
  33. package/dist/types/base/middlewares/renderHandler/index.d.ts +1 -1
  34. package/dist/types/base/middlewares/renderHandler/render.d.ts +9 -2
  35. package/dist/types/base/middlewares/renderHandler/ssrRender.d.ts +3 -1
  36. package/dist/types/base/utils/error.d.ts +7 -0
  37. package/dist/types/core/plugin.d.ts +51 -2
  38. package/package.json +7 -7
@@ -1,11 +1,36 @@
1
1
  import { cutNameByHyphen } from "@modern-js/utils/universal";
2
+ import { TrieRouter } from "hono/router/trie-router";
2
3
  import { REPLACE_REG } from "../../../base/constants";
3
- import { createErrorHtml, sortRoutes, parseQuery, transformResponse, getPathname } from "../../utils";
4
+ import { createErrorHtml, sortRoutes, parseQuery, transformResponse, getPathname, onError as onErrorFn, ErrorDigest } from "../../utils";
4
5
  import { dataHandler } from "./dataHandler";
5
6
  import { ssrRender } from "./ssrRender";
6
- async function createRender({ routes, pwd, metaName, staticGenerate, forceCSR, nonce }) {
7
+ function getRouter(routes) {
8
+ const sorted = routes.sort(sortRoutes);
9
+ const router = new TrieRouter();
10
+ for (const route of sorted) {
11
+ const { urlPath: originUrlPath } = route;
12
+ const urlPath = originUrlPath.endsWith("/") ? `${originUrlPath}*` : `${originUrlPath}/*`;
13
+ router.add("*", urlPath, route);
14
+ }
15
+ return router;
16
+ }
17
+ function matchRoute(router, request) {
18
+ const pathname = getPathname(request);
19
+ const matched = router.match("*", pathname);
20
+ const result = matched[0][0];
21
+ return result || [];
22
+ }
23
+ async function createRender({ routes, pwd, metaName, staticGenerate, forceCSR, nonce, onFallback: onFallbackFn }) {
24
+ const router = getRouter(routes);
7
25
  return async (req, { logger, nodeReq, reporter, templates, serverManifest, locals, metrics }) => {
8
- const routeInfo = matchRoute(req, routes);
26
+ const [routeInfo, params] = matchRoute(router, req);
27
+ const onFallback = async (reason, error) => {
28
+ return onFallbackFn === null || onFallbackFn === void 0 ? void 0 : onFallbackFn(reason, {
29
+ logger,
30
+ reporter,
31
+ metrics
32
+ }, error);
33
+ };
9
34
  if (!routeInfo) {
10
35
  return new Response(createErrorHtml(404), {
11
36
  status: 404,
@@ -23,7 +48,11 @@ async function createRender({ routes, pwd, metaName, staticGenerate, forceCSR, n
23
48
  }
24
49
  });
25
50
  }
26
- const renderMode = getRenderMode(req, metaName || "modern-js", routeInfo.isSSR, forceCSR, nodeReq);
51
+ const renderMode = await getRenderMode(req, metaName || "modern-js", routeInfo.isSSR, forceCSR, nodeReq, onFallback);
52
+ const onError = async (e) => {
53
+ onErrorFn(logger, ErrorDigest.ERENDER, e, req);
54
+ await (onFallback === null || onFallback === void 0 ? void 0 : onFallback("error", e));
55
+ };
27
56
  const renderOptions = {
28
57
  pwd,
29
58
  html,
@@ -35,6 +64,7 @@ async function createRender({ routes, pwd, metaName, staticGenerate, forceCSR, n
35
64
  nodeReq,
36
65
  reporter,
37
66
  serverRoutes: routes,
67
+ params,
38
68
  locals,
39
69
  serverManifest,
40
70
  metrics
@@ -43,38 +73,46 @@ async function createRender({ routes, pwd, metaName, staticGenerate, forceCSR, n
43
73
  case "data":
44
74
  let response = await dataHandler(req, renderOptions);
45
75
  if (!response) {
46
- response = await renderHandler(req, renderOptions, "ssr");
76
+ response = await renderHandler(req, renderOptions, "ssr", onError);
47
77
  }
48
78
  return response;
49
79
  case "ssr":
50
80
  case "csr":
51
- return renderHandler(req, renderOptions, renderMode);
81
+ return renderHandler(req, renderOptions, renderMode, onError);
52
82
  default:
53
83
  throw new Error(`Unknown render mode: ${renderMode}`);
54
84
  }
55
85
  };
56
86
  }
57
- async function renderHandler(request, options, mode) {
87
+ async function renderHandler(request, options, mode, onError) {
58
88
  const serverData = {
59
89
  router: {
60
90
  baseUrl: options.routeInfo.urlPath,
61
- params: {}
91
+ params: options.params
62
92
  }
63
93
  };
64
- const response = await (mode === "ssr" ? ssrRender(request, options) : csrRender(options.html));
65
- return transformResponse(response, injectServerData(serverData));
66
- }
67
- function matchRoute(req, routes) {
68
- const sorted = routes.sort(sortRoutes);
69
- for (const route of sorted) {
70
- const pathname = getPathname(req);
71
- if (pathname.startsWith(route.urlPath)) {
72
- return route;
94
+ let response;
95
+ if (mode === "ssr") {
96
+ try {
97
+ response = await ssrRender(request, options);
98
+ } catch (e) {
99
+ await onError(e);
100
+ response = csrRender(options.html);
73
101
  }
102
+ } else {
103
+ response = csrRender(options.html);
104
+ }
105
+ const newRes = transformResponse(response, injectServerData(serverData));
106
+ const { routeInfo } = options;
107
+ applyExtendHeaders(newRes, routeInfo);
108
+ return newRes;
109
+ function applyExtendHeaders(r, route) {
110
+ Object.entries(route.responseHeaders || {}).forEach(([k, v]) => {
111
+ r.headers.set(k, v);
112
+ });
74
113
  }
75
- return void 0;
76
114
  }
77
- function getRenderMode(req, framework, isSSR, forceCSR, nodeReq) {
115
+ async function getRenderMode(req, framework, isSSR, forceCSR, nodeReq, onFallback) {
78
116
  const query = parseQuery(req);
79
117
  const fallbackHeader = `x-${cutNameByHyphen(framework)}-ssr-fallback`;
80
118
  if (isSSR) {
@@ -82,6 +120,11 @@ function getRenderMode(req, framework, isSSR, forceCSR, nodeReq) {
82
120
  return "data";
83
121
  }
84
122
  if (forceCSR && (query.csr || req.headers.get(fallbackHeader) || (nodeReq === null || nodeReq === void 0 ? void 0 : nodeReq.headers[fallbackHeader]))) {
123
+ if (query.csr) {
124
+ await (onFallback === null || onFallback === void 0 ? void 0 : onFallback("query"));
125
+ } else {
126
+ await (onFallback === null || onFallback === void 0 ? void 0 : onFallback("header"));
127
+ }
85
128
  return "csr";
86
129
  }
87
130
  return "ssr";
@@ -15,7 +15,7 @@ const defaultReporter = {
15
15
  reportWarn() {
16
16
  }
17
17
  };
18
- async function ssrRender(request, { routeInfo, html, staticGenerate, nonce, metaName, reporter, logger, nodeReq, serverManifest, locals, metrics }) {
18
+ async function ssrRender(request, { routeInfo, html, staticGenerate, nonce, metaName, reporter, logger, nodeReq, serverManifest, locals, params, metrics }) {
19
19
  var _serverManifest_renderBundles;
20
20
  const { entryName } = routeInfo;
21
21
  const loadableStats = serverManifest.loadableStats || {};
@@ -35,7 +35,7 @@ async function ssrRender(request, { routeInfo, html, staticGenerate, nonce, meta
35
35
  const ssrContext = {
36
36
  request: {
37
37
  baseUrl: routeInfo.urlPath,
38
- params: {},
38
+ params,
39
39
  pathname: nodeReq ? getPathnameFromNodeReq(nodeReq) : getPathname(request),
40
40
  host,
41
41
  query,
@@ -36,6 +36,19 @@ const createErrorHtml = (status) => {
36
36
  </html>
37
37
  `;
38
38
  };
39
+ var ErrorDigest;
40
+ (function(ErrorDigest2) {
41
+ ErrorDigest2["ENOTF"] = "Page could not be found";
42
+ ErrorDigest2["EINTER"] = "Internal server error";
43
+ ErrorDigest2["ERENDER"] = "SSR render failed";
44
+ })(ErrorDigest || (ErrorDigest = {}));
45
+ function onError(logger, digest, error, req) {
46
+ const headers = req === null || req === void 0 ? void 0 : req.headers;
47
+ headers === null || headers === void 0 ? void 0 : headers.delete("cookie");
48
+ logger.error(req ? `Server Error - ${digest}, error = %s, req.url = %s, req.headers = %o` : `Server Error - ${digest}, error = %s`, error instanceof Error ? error.stack || error.message : error, req === null || req === void 0 ? void 0 : req.url, headers);
49
+ }
39
50
  export {
40
- createErrorHtml
51
+ ErrorDigest,
52
+ createErrorHtml,
53
+ onError
41
54
  };
@@ -3,6 +3,7 @@ const gather = createParallelWorkflow();
3
3
  const config = createWaterfall();
4
4
  const prepare = createWaterfall();
5
5
  const prepareWebServer = createAsyncPipeline();
6
+ const fallback = createParallelWorkflow();
6
7
  const prepareApiServer = createAsyncPipeline();
7
8
  const onApiChange = createAsyncWaterfall();
8
9
  const repack = createWaterfall();
@@ -26,6 +27,7 @@ const serverHooks = {
26
27
  gather,
27
28
  config,
28
29
  prepare,
30
+ fallback,
29
31
  prepareWebServer,
30
32
  prepareApiServer,
31
33
  repack,
@@ -1,4 +1,4 @@
1
- import type { ServerRoute } from '@modern-js/types';
1
+ import type { ServerRoute, Logger } from '@modern-js/types';
2
2
  import { Middleware, ServerEnv, ServerManifest } from '../../../../core/server';
3
- export declare function getServerManifest(pwd: string, routes: ServerRoute[]): Promise<ServerManifest>;
3
+ export declare function getServerManifest(pwd: string, routes: ServerRoute[], logger: Logger): Promise<ServerManifest>;
4
4
  export declare function injectServerManifest(pwd: string, routes?: ServerRoute[]): Middleware<ServerEnv>;
@@ -1,4 +1,4 @@
1
- export { createErrorHtml } from './utils';
1
+ export { createErrorHtml, onError, ErrorDigest } from './utils';
2
2
  export { AGGRED_DIR } from './constants';
3
3
  export { favionFallbackMiddleware, injectReporter, injectLogger, getRenderHandler, bindRenderHandler, logHandler, processedBy, } from './middlewares';
4
4
  export type { BindRenderHandleOptions } from './middlewares';
@@ -5,5 +5,5 @@ export type BindRenderHandleOptions = {
5
5
  staticGenerate?: boolean;
6
6
  disableCustomHook?: boolean;
7
7
  };
8
- export declare function getRenderHandler(options: ServerBaseOptions & BindRenderHandleOptions): Promise<Render | null>;
8
+ export declare function getRenderHandler(options: ServerBaseOptions & BindRenderHandleOptions, serverBase?: ServerBase): Promise<Render | null>;
9
9
  export declare function bindRenderHandler(server: ServerBase, options: ServerBaseOptions & BindRenderHandleOptions): Promise<void>;
@@ -1,12 +1,19 @@
1
- import { ServerRoute } from '@modern-js/types';
1
+ import { Logger, Metrics, Reporter, ServerRoute } from '@modern-js/types';
2
+ import type { FallbackReason } from '../../../core/plugin';
2
3
  import { Render } from '../../../core/render';
4
+ export type OnFallback = (reason: FallbackReason, utils: {
5
+ logger: Logger;
6
+ metrics?: Metrics;
7
+ reporter?: Reporter;
8
+ }, error?: unknown) => Promise<void>;
3
9
  interface CreateRenderOptions {
4
10
  routes: ServerRoute[];
5
11
  pwd: string;
6
12
  staticGenerate?: boolean;
13
+ onFallback?: OnFallback;
7
14
  metaName?: string;
8
15
  forceCSR?: boolean;
9
16
  nonce?: string;
10
17
  }
11
- export declare function createRender({ routes, pwd, metaName, staticGenerate, forceCSR, nonce, }: CreateRenderOptions): Promise<Render>;
18
+ export declare function createRender({ routes, pwd, metaName, staticGenerate, forceCSR, nonce, onFallback: onFallbackFn, }: CreateRenderOptions): Promise<Render>;
12
19
  export {};
@@ -2,6 +2,7 @@
2
2
  import type { IncomingMessage } from 'http';
3
3
  import type { Logger, Metrics, Reporter, ServerRoute } from '@modern-js/types';
4
4
  import { ServerManifest } from '../../../core/server';
5
+ export type Params = Record<string, any>;
5
6
  export interface SSRRenderOptions {
6
7
  pwd: string;
7
8
  html: string;
@@ -10,6 +11,7 @@ export interface SSRRenderOptions {
10
11
  metaName: string;
11
12
  logger: Logger;
12
13
  serverManifest: ServerManifest;
14
+ params: Params;
13
15
  /** Produce by custom server hook */
14
16
  locals?: Record<string, any>;
15
17
  reporter?: Reporter;
@@ -17,5 +19,5 @@ export interface SSRRenderOptions {
17
19
  nodeReq?: IncomingMessage;
18
20
  nonce?: string;
19
21
  }
20
- export declare function ssrRender(request: Request, { routeInfo, html, staticGenerate, nonce, metaName, reporter, logger, nodeReq, serverManifest, locals, metrics, }: SSRRenderOptions): Promise<Response>;
22
+ export declare function ssrRender(request: Request, { routeInfo, html, staticGenerate, nonce, metaName, reporter, logger, nodeReq, serverManifest, locals, params, metrics, }: SSRRenderOptions): Promise<Response>;
21
23
  export declare function getPathnameFromNodeReq(nodeReq: IncomingMessage): string;
@@ -1 +1,8 @@
1
+ import type { Logger } from '@modern-js/types';
1
2
  export declare const createErrorHtml: (status: number) => string;
3
+ export declare enum ErrorDigest {
4
+ ENOTF = "Page could not be found",
5
+ EINTER = "Internal server error",
6
+ ERENDER = "SSR render failed"
7
+ }
8
+ export declare function onError(logger: Logger, digest: ErrorDigest, error: Error | string, req?: Request): void;
@@ -1,14 +1,13 @@
1
1
  /// <reference types="node" />
2
2
  import type { IncomingMessage, ServerResponse } from 'node:http';
3
3
  import { CommonAPI, ToThreads, AsyncSetup, PluginOptions, ToRunners } from '@modern-js/plugin';
4
- import type { ModernServerContext, AfterMatchContext, AfterRenderContext, MiddlewareContext, ISAppContext, HttpMethodDecider, ServerInitHookContext, AfterStreamingRenderContext } from '@modern-js/types';
4
+ import type { ModernServerContext, AfterMatchContext, AfterRenderContext, MiddlewareContext, ISAppContext, HttpMethodDecider, ServerInitHookContext, AfterStreamingRenderContext, Logger, Metrics, Reporter } from '@modern-js/types';
5
5
  import { MiddlewareHandler as Middleware } from 'hono';
6
6
  import type { BffUserConfig, UserConfig } from '../types/config';
7
7
  import { Render } from './render';
8
8
  export type WebAdapter = (ctx: MiddlewareContext) => void | Promise<void>;
9
9
  export type NodeRequest = IncomingMessage;
10
10
  export type NodeResponse = ServerResponse;
11
- export type Adapter = (req: NodeRequest, res: NodeResponse) => void | Promise<void>;
12
11
  export type WebServerStartInput = {
13
12
  pwd: string;
14
13
  config: Record<string, any>;
@@ -27,6 +26,7 @@ type Change = {
27
26
  filename: string;
28
27
  event: 'add' | 'change' | 'unlink';
29
28
  };
29
+ export type FallbackReason = 'error' | 'header' | 'query';
30
30
  export type Route = Record<string, unknown>;
31
31
  export type RequestResult = {
32
32
  isfinish: boolean;
@@ -56,6 +56,13 @@ declare const serverHooks: {
56
56
  }, unknown>;
57
57
  config: import("@modern-js/plugin").Waterfall<ServerConfig>;
58
58
  prepare: import("@modern-js/plugin").Waterfall<void>;
59
+ fallback: import("@modern-js/plugin").ParallelWorkflow<{
60
+ reason: FallbackReason;
61
+ error: unknown;
62
+ logger: Logger;
63
+ metrics?: Metrics | undefined;
64
+ reporter?: Reporter | undefined;
65
+ }, unknown>;
59
66
  prepareWebServer: import("@modern-js/plugin").AsyncPipeline<WebServerStartInput, WebAdapter | null>;
60
67
  prepareApiServer: import("@modern-js/plugin").AsyncPipeline<APIServerStartInput, Middleware>;
61
68
  repack: import("@modern-js/plugin").Waterfall<void>;
@@ -81,6 +88,13 @@ export declare const createServerManager: () => import("@modern-js/plugin").Asyn
81
88
  }, unknown>;
82
89
  config: import("@modern-js/plugin").Waterfall<ServerConfig>;
83
90
  prepare: import("@modern-js/plugin").Waterfall<void>;
91
+ fallback: import("@modern-js/plugin").ParallelWorkflow<{
92
+ reason: FallbackReason;
93
+ error: unknown;
94
+ logger: Logger;
95
+ metrics?: Metrics | undefined;
96
+ reporter?: Reporter | undefined;
97
+ }, unknown>;
84
98
  prepareWebServer: import("@modern-js/plugin").AsyncPipeline<WebServerStartInput, WebAdapter | null>;
85
99
  prepareApiServer: import("@modern-js/plugin").AsyncPipeline<APIServerStartInput, Middleware>;
86
100
  repack: import("@modern-js/plugin").Waterfall<void>;
@@ -102,6 +116,13 @@ export declare const serverManager: import("@modern-js/plugin").AsyncManager<{
102
116
  }, unknown>;
103
117
  config: import("@modern-js/plugin").Waterfall<ServerConfig>;
104
118
  prepare: import("@modern-js/plugin").Waterfall<void>;
119
+ fallback: import("@modern-js/plugin").ParallelWorkflow<{
120
+ reason: FallbackReason;
121
+ error: unknown;
122
+ logger: Logger;
123
+ metrics?: Metrics | undefined;
124
+ reporter?: Reporter | undefined;
125
+ }, unknown>;
105
126
  prepareWebServer: import("@modern-js/plugin").AsyncPipeline<WebServerStartInput, WebAdapter | null>;
106
127
  prepareApiServer: import("@modern-js/plugin").AsyncPipeline<APIServerStartInput, Middleware>;
107
128
  repack: import("@modern-js/plugin").Waterfall<void>;
@@ -129,6 +150,13 @@ export declare const createPlugin: (setup?: AsyncSetup<{
129
150
  }, unknown>;
130
151
  config: import("@modern-js/plugin").Waterfall<ServerConfig>;
131
152
  prepare: import("@modern-js/plugin").Waterfall<void>;
153
+ fallback: import("@modern-js/plugin").ParallelWorkflow<{
154
+ reason: FallbackReason;
155
+ error: unknown;
156
+ logger: Logger;
157
+ metrics?: Metrics | undefined;
158
+ reporter?: Reporter | undefined;
159
+ }, unknown>;
132
160
  prepareWebServer: import("@modern-js/plugin").AsyncPipeline<WebServerStartInput, WebAdapter | null>;
133
161
  prepareApiServer: import("@modern-js/plugin").AsyncPipeline<APIServerStartInput, Middleware>;
134
162
  repack: import("@modern-js/plugin").Waterfall<void>;
@@ -149,6 +177,13 @@ export declare const createPlugin: (setup?: AsyncSetup<{
149
177
  }, unknown>;
150
178
  config: import("@modern-js/plugin").Waterfall<ServerConfig>;
151
179
  prepare: import("@modern-js/plugin").Waterfall<void>;
180
+ fallback: import("@modern-js/plugin").ParallelWorkflow<{
181
+ reason: FallbackReason;
182
+ error: unknown;
183
+ logger: Logger;
184
+ metrics?: Metrics | undefined;
185
+ reporter?: Reporter | undefined;
186
+ }, unknown>;
152
187
  prepareWebServer: import("@modern-js/plugin").AsyncPipeline<WebServerStartInput, WebAdapter | null>;
153
188
  prepareApiServer: import("@modern-js/plugin").AsyncPipeline<APIServerStartInput, Middleware>;
154
189
  repack: import("@modern-js/plugin").Waterfall<void>;
@@ -165,6 +200,13 @@ export declare const createPlugin: (setup?: AsyncSetup<{
165
200
  }, unknown>;
166
201
  config: import("@modern-js/plugin").Waterfall<ServerConfig>;
167
202
  prepare: import("@modern-js/plugin").Waterfall<void>;
203
+ fallback: import("@modern-js/plugin").ParallelWorkflow<{
204
+ reason: FallbackReason;
205
+ error: unknown;
206
+ logger: Logger;
207
+ metrics?: Metrics | undefined;
208
+ reporter?: Reporter | undefined;
209
+ }, unknown>;
168
210
  prepareWebServer: import("@modern-js/plugin").AsyncPipeline<WebServerStartInput, WebAdapter | null>;
169
211
  prepareApiServer: import("@modern-js/plugin").AsyncPipeline<APIServerStartInput, Middleware>;
170
212
  repack: import("@modern-js/plugin").Waterfall<void>;
@@ -185,6 +227,13 @@ export declare const createPlugin: (setup?: AsyncSetup<{
185
227
  }, unknown>;
186
228
  config: import("@modern-js/plugin").Waterfall<ServerConfig>;
187
229
  prepare: import("@modern-js/plugin").Waterfall<void>;
230
+ fallback: import("@modern-js/plugin").ParallelWorkflow<{
231
+ reason: FallbackReason;
232
+ error: unknown;
233
+ logger: Logger;
234
+ metrics?: Metrics | undefined;
235
+ reporter?: Reporter | undefined;
236
+ }, unknown>;
188
237
  prepareWebServer: import("@modern-js/plugin").AsyncPipeline<WebServerStartInput, WebAdapter | null>;
189
238
  prepareApiServer: import("@modern-js/plugin").AsyncPipeline<APIServerStartInput, Middleware>;
190
239
  repack: import("@modern-js/plugin").Waterfall<void>;
package/package.json CHANGED
@@ -15,7 +15,7 @@
15
15
  "modern",
16
16
  "modern.js"
17
17
  ],
18
- "version": "2.49.2",
18
+ "version": "2.49.3",
19
19
  "jsnext:source": "./src/index.ts",
20
20
  "types": "./dist/types/index.d.ts",
21
21
  "main": "./dist/cjs/index.js",
@@ -69,9 +69,9 @@
69
69
  "hono": "^3.12.2",
70
70
  "isbot": "3.8.0",
71
71
  "merge-deep": "^3.0.3",
72
- "@modern-js/plugin": "2.49.2",
73
- "@modern-js/utils": "2.49.2",
74
- "@modern-js/runtime-utils": "2.49.2"
72
+ "@modern-js/utils": "2.49.3",
73
+ "@modern-js/runtime-utils": "2.49.3",
74
+ "@modern-js/plugin": "2.49.3"
75
75
  },
76
76
  "devDependencies": {
77
77
  "@types/jest": "^29",
@@ -81,9 +81,9 @@
81
81
  "jest": "^29",
82
82
  "ts-jest": "^29.1.0",
83
83
  "typescript": "^5",
84
- "@scripts/build": "2.49.2",
85
- "@scripts/jest-config": "2.49.2",
86
- "@modern-js/types": "2.49.2"
84
+ "@modern-js/types": "2.49.3",
85
+ "@scripts/jest-config": "2.49.3",
86
+ "@scripts/build": "2.49.3"
87
87
  },
88
88
  "sideEffects": false,
89
89
  "publishConfig": {