@modern-js/server-core 2.49.2 → 2.49.3-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/base/adapters/node/bff.js +1 -1
- package/dist/cjs/base/adapters/node/middlewares/serverManifest.js +26 -25
- 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 +33 -7
- 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/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 +181 -39
- 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/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 +34 -8
- 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/utils/error.d.ts +7 -0
- package/dist/types/core/plugin.d.ts +51 -2
- package/package.json +5 -5
|
@@ -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 {};
|
|
@@ -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-alpha.0",
|
|
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/
|
|
72
|
+
"@modern-js/runtime-utils": "2.49.2",
|
|
73
73
|
"@modern-js/utils": "2.49.2",
|
|
74
|
-
"@modern-js/
|
|
74
|
+
"@modern-js/plugin": "2.49.2"
|
|
75
75
|
},
|
|
76
76
|
"devDependencies": {
|
|
77
77
|
"@types/jest": "^29",
|
|
@@ -82,8 +82,8 @@
|
|
|
82
82
|
"ts-jest": "^29.1.0",
|
|
83
83
|
"typescript": "^5",
|
|
84
84
|
"@scripts/build": "2.49.2",
|
|
85
|
-
"@
|
|
86
|
-
"@
|
|
85
|
+
"@modern-js/types": "2.49.2",
|
|
86
|
+
"@scripts/jest-config": "2.49.2"
|
|
87
87
|
},
|
|
88
88
|
"sideEffects": false,
|
|
89
89
|
"publishConfig": {
|