@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.
- package/dist/cjs/base/adapters/node/bff.js +1 -1
- package/dist/cjs/base/adapters/node/middlewares/serverManifest.js +26 -25
- package/dist/cjs/base/adapters/node/middlewares/serverPublic.js +3 -0
- package/dist/cjs/base/index.js +4 -0
- package/dist/cjs/base/middlewares/customServer/context.js +3 -4
- package/dist/cjs/base/middlewares/renderHandler/index.js +11 -3
- package/dist/cjs/base/middlewares/renderHandler/render.js +61 -18
- package/dist/cjs/base/middlewares/renderHandler/ssrRender.js +2 -2
- package/dist/cjs/base/utils/error.js +17 -2
- package/dist/cjs/core/plugin.js +2 -0
- package/dist/esm/base/adapters/node/bff.js +1 -1
- package/dist/esm/base/adapters/node/middlewares/serverManifest.js +60 -30
- package/dist/esm/base/adapters/node/middlewares/serverPublic.js +5 -0
- package/dist/esm/base/index.js +3 -1
- package/dist/esm/base/middlewares/customServer/context.js +3 -3
- package/dist/esm/base/middlewares/renderHandler/index.js +31 -5
- package/dist/esm/base/middlewares/renderHandler/render.js +229 -68
- package/dist/esm/base/middlewares/renderHandler/ssrRender.js +3 -3
- package/dist/esm/base/utils/error.js +15 -1
- package/dist/esm/core/plugin.js +2 -0
- package/dist/esm-node/base/adapters/node/bff.js +1 -1
- package/dist/esm-node/base/adapters/node/middlewares/serverManifest.js +27 -26
- package/dist/esm-node/base/adapters/node/middlewares/serverPublic.js +3 -0
- package/dist/esm-node/base/index.js +3 -1
- package/dist/esm-node/base/middlewares/customServer/context.js +3 -4
- package/dist/esm-node/base/middlewares/renderHandler/index.js +11 -3
- package/dist/esm-node/base/middlewares/renderHandler/render.js +62 -19
- package/dist/esm-node/base/middlewares/renderHandler/ssrRender.js +2 -2
- package/dist/esm-node/base/utils/error.js +14 -1
- package/dist/esm-node/core/plugin.js +2 -0
- package/dist/types/base/adapters/node/middlewares/serverManifest.d.ts +2 -2
- package/dist/types/base/index.d.ts +1 -1
- package/dist/types/base/middlewares/renderHandler/index.d.ts +1 -1
- package/dist/types/base/middlewares/renderHandler/render.d.ts +9 -2
- package/dist/types/base/middlewares/renderHandler/ssrRender.d.ts +3 -1
- package/dist/types/base/utils/error.d.ts +7 -0
- package/dist/types/core/plugin.d.ts +51 -2
- 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
|
-
|
|
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(
|
|
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
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
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
|
-
|
|
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.
|
|
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/
|
|
73
|
-
"@modern-js/utils": "2.49.
|
|
74
|
-
"@modern-js/
|
|
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
|
-
"@
|
|
85
|
-
"@scripts/jest-config": "2.49.
|
|
86
|
-
"@
|
|
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": {
|