@modern-js/server-core 3.8.3 → 3.9.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/plugins/compat/hooks.js +0 -1
- package/dist/cjs/plugins/compat/index.js +0 -1
- package/dist/cjs/plugins/render/inject.js +3 -13
- package/dist/cjs/plugins/render/render.js +9 -8
- package/dist/esm/plugins/compat/hooks.mjs +0 -1
- package/dist/esm/plugins/compat/index.mjs +1 -2
- package/dist/esm/plugins/render/inject.mjs +3 -13
- package/dist/esm/plugins/render/render.mjs +9 -8
- package/dist/esm-node/plugins/compat/hooks.mjs +0 -1
- package/dist/esm-node/plugins/compat/index.mjs +1 -2
- package/dist/esm-node/plugins/render/inject.mjs +3 -13
- package/dist/esm-node/plugins/render/render.mjs +9 -8
- package/dist/types/plugins/render/inject.d.ts +1 -1
- package/dist/types/plugins/render/render.d.ts +2 -3
- package/dist/types/types/plugins/base.d.ts +1 -13
- package/dist/types/types/plugins/index.d.ts +1 -1
- package/dist/types/types/plugins/plugin.d.ts +2 -4
- package/package.json +5 -5
|
@@ -33,7 +33,6 @@ function getHookRunners(context) {
|
|
|
33
33
|
config: (params)=>hooks.modifyConfig.call(params),
|
|
34
34
|
prepare: ()=>hooks.onPrepare.call(),
|
|
35
35
|
reset: (params)=>hooks.onReset.call(params),
|
|
36
|
-
fallback: (input)=>hooks.fallback.call(input),
|
|
37
36
|
prepareWebServer: (input)=>hooks.prepareWebServer.call(input),
|
|
38
37
|
prepareApiServer: (input)=>hooks.prepareApiServer.call(input),
|
|
39
38
|
afterMatch: (ctx)=>hooks.afterMatch.call(ctx),
|
|
@@ -36,7 +36,6 @@ const external_hooks_js_namespaceObject = require("./hooks.js");
|
|
|
36
36
|
const compatPlugin = ()=>({
|
|
37
37
|
name: '@modern-js/server-compat',
|
|
38
38
|
registryHooks: {
|
|
39
|
-
fallback: (0, plugin_namespaceObject.createAsyncHook)(),
|
|
40
39
|
prepareWebServer: (0, plugin_namespaceObject.createAsyncPipelineHook)(),
|
|
41
40
|
prepareApiServer: (0, plugin_namespaceObject.createAsyncPipelineHook)(),
|
|
42
41
|
afterMatch: (0, plugin_namespaceObject.createAsyncPipelineHook)(),
|
|
@@ -38,23 +38,14 @@ const injectRenderHandlerPlugin = ({ staticGenerate, cacheConfig })=>({
|
|
|
38
38
|
api.onPrepare(async ()=>{
|
|
39
39
|
const { distDirectory: pwd, routes, metaName } = api.getServerContext();
|
|
40
40
|
const config = api.getServerConfig();
|
|
41
|
-
const hooks = api.getHooks();
|
|
42
41
|
if (!routes) return;
|
|
43
|
-
const onFallback = async (reason, error, context)=>{
|
|
44
|
-
await hooks.fallback.call({
|
|
45
|
-
reason,
|
|
46
|
-
error,
|
|
47
|
-
context
|
|
48
|
-
});
|
|
49
|
-
};
|
|
50
42
|
const getRenderHandlerOptions = {
|
|
51
43
|
pwd: pwd,
|
|
52
44
|
routes,
|
|
53
45
|
config,
|
|
54
46
|
metaName,
|
|
55
47
|
cacheConfig: cacheConfig,
|
|
56
|
-
staticGenerate
|
|
57
|
-
onFallback
|
|
48
|
+
staticGenerate
|
|
58
49
|
};
|
|
59
50
|
const render = await getRenderHandler(getRenderHandlerOptions);
|
|
60
51
|
api.updateServerContext({
|
|
@@ -64,7 +55,7 @@ const injectRenderHandlerPlugin = ({ staticGenerate, cacheConfig })=>({
|
|
|
64
55
|
});
|
|
65
56
|
}
|
|
66
57
|
});
|
|
67
|
-
async function getRenderHandler({ pwd, routes, config, cacheConfig, metaName, staticGenerate
|
|
58
|
+
async function getRenderHandler({ pwd, routes, config, cacheConfig, metaName, staticGenerate }) {
|
|
68
59
|
const ssrConfig = config.server?.ssr;
|
|
69
60
|
const ssrByEntries = config.server?.ssrByEntries;
|
|
70
61
|
const forceCSR = 'object' == typeof ssrConfig ? ssrConfig.forceCSR : false;
|
|
@@ -81,8 +72,7 @@ async function getRenderHandler({ pwd, routes, config, cacheConfig, metaName, st
|
|
|
81
72
|
forceCSR,
|
|
82
73
|
forceCSRMap,
|
|
83
74
|
nonce: config.security?.nonce,
|
|
84
|
-
metaName: metaName || 'modern-js'
|
|
85
|
-
onFallback
|
|
75
|
+
metaName: metaName || 'modern-js'
|
|
86
76
|
});
|
|
87
77
|
return render;
|
|
88
78
|
}
|
|
@@ -108,7 +108,7 @@ var __webpack_exports__ = {};
|
|
|
108
108
|
delete _headers.cookie;
|
|
109
109
|
return _headers;
|
|
110
110
|
}
|
|
111
|
-
async function createRender({ routes, pwd, metaName, staticGenerate, cacheConfig, forceCSR, forceCSRMap, config
|
|
111
|
+
async function createRender({ routes, pwd, metaName, staticGenerate, cacheConfig, forceCSR, forceCSRMap, config }) {
|
|
112
112
|
const router = getRouter(routes);
|
|
113
113
|
return async (req, { monitors, nodeReq, templates, serverManifest, rscClientManifest, rscSSRManifest, rscServerManifest, locals, matchEntryName, matchPathname, loaderContext, contextForceCSR, reporter })=>{
|
|
114
114
|
const forMatchpathname = matchPathname ?? (0, index_js_namespaceObject.getPathname)(req);
|
|
@@ -116,13 +116,14 @@ var __webpack_exports__ = {};
|
|
|
116
116
|
const framework = (0, universal_namespaceObject.cutNameByHyphen)(metaName || 'modern-js');
|
|
117
117
|
const fallbackHeader = `x-${framework}-ssr-fallback`;
|
|
118
118
|
let fallbackReason = null;
|
|
119
|
-
const
|
|
120
|
-
request: req,
|
|
121
|
-
monitors
|
|
122
|
-
};
|
|
123
|
-
const fallbackWrapper = async (reason, error)=>{
|
|
119
|
+
const fallbackWrapper = (reason)=>{
|
|
124
120
|
fallbackReason = reason;
|
|
125
|
-
|
|
121
|
+
monitors?.warn('fallback to CSR reason: %o', {
|
|
122
|
+
type: reason
|
|
123
|
+
});
|
|
124
|
+
monitors?.counter('ssr-fallback', {
|
|
125
|
+
type: reason
|
|
126
|
+
});
|
|
126
127
|
};
|
|
127
128
|
if (!routeInfo) return new Response((0, index_js_namespaceObject.createErrorHtml)(404), {
|
|
128
129
|
status: 404,
|
|
@@ -217,7 +218,7 @@ var __webpack_exports__ = {};
|
|
|
217
218
|
response = await (0, external_ssrRender_js_namespaceObject.ssrRender)(request, options);
|
|
218
219
|
} catch (e) {
|
|
219
220
|
options.onError(e, index_js_namespaceObject.ErrorDigest.ERENDER);
|
|
220
|
-
|
|
221
|
+
fallbackWrapper('error');
|
|
221
222
|
response = await csrRender(request, {
|
|
222
223
|
...options,
|
|
223
224
|
html: injectFallbackReasonToHtml({
|
|
@@ -4,7 +4,6 @@ function getHookRunners(context) {
|
|
|
4
4
|
config: (params)=>hooks.modifyConfig.call(params),
|
|
5
5
|
prepare: ()=>hooks.onPrepare.call(),
|
|
6
6
|
reset: (params)=>hooks.onReset.call(params),
|
|
7
|
-
fallback: (input)=>hooks.fallback.call(input),
|
|
8
7
|
prepareWebServer: (input)=>hooks.prepareWebServer.call(input),
|
|
9
8
|
prepareApiServer: (input)=>hooks.prepareApiServer.call(input),
|
|
10
9
|
afterMatch: (ctx)=>hooks.afterMatch.call(ctx),
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createAsyncPipelineHook } from "@modern-js/plugin";
|
|
2
2
|
import { getHookRunners, handleSetupResult } from "./hooks.mjs";
|
|
3
3
|
const compatPlugin = ()=>({
|
|
4
4
|
name: '@modern-js/server-compat',
|
|
5
5
|
registryHooks: {
|
|
6
|
-
fallback: createAsyncHook(),
|
|
7
6
|
prepareWebServer: createAsyncPipelineHook(),
|
|
8
7
|
prepareApiServer: createAsyncPipelineHook(),
|
|
9
8
|
afterMatch: createAsyncPipelineHook(),
|
|
@@ -5,23 +5,14 @@ const injectRenderHandlerPlugin = ({ staticGenerate, cacheConfig })=>({
|
|
|
5
5
|
api.onPrepare(async ()=>{
|
|
6
6
|
const { distDirectory: pwd, routes, metaName } = api.getServerContext();
|
|
7
7
|
const config = api.getServerConfig();
|
|
8
|
-
const hooks = api.getHooks();
|
|
9
8
|
if (!routes) return;
|
|
10
|
-
const onFallback = async (reason, error, context)=>{
|
|
11
|
-
await hooks.fallback.call({
|
|
12
|
-
reason,
|
|
13
|
-
error,
|
|
14
|
-
context
|
|
15
|
-
});
|
|
16
|
-
};
|
|
17
9
|
const getRenderHandlerOptions = {
|
|
18
10
|
pwd: pwd,
|
|
19
11
|
routes,
|
|
20
12
|
config,
|
|
21
13
|
metaName,
|
|
22
14
|
cacheConfig: cacheConfig,
|
|
23
|
-
staticGenerate
|
|
24
|
-
onFallback
|
|
15
|
+
staticGenerate
|
|
25
16
|
};
|
|
26
17
|
const render = await getRenderHandler(getRenderHandlerOptions);
|
|
27
18
|
api.updateServerContext({
|
|
@@ -31,7 +22,7 @@ const injectRenderHandlerPlugin = ({ staticGenerate, cacheConfig })=>({
|
|
|
31
22
|
});
|
|
32
23
|
}
|
|
33
24
|
});
|
|
34
|
-
async function getRenderHandler({ pwd, routes, config, cacheConfig, metaName, staticGenerate
|
|
25
|
+
async function getRenderHandler({ pwd, routes, config, cacheConfig, metaName, staticGenerate }) {
|
|
35
26
|
const ssrConfig = config.server?.ssr;
|
|
36
27
|
const ssrByEntries = config.server?.ssrByEntries;
|
|
37
28
|
const forceCSR = 'object' == typeof ssrConfig ? ssrConfig.forceCSR : false;
|
|
@@ -48,8 +39,7 @@ async function getRenderHandler({ pwd, routes, config, cacheConfig, metaName, st
|
|
|
48
39
|
forceCSR,
|
|
49
40
|
forceCSRMap,
|
|
50
41
|
nonce: config.security?.nonce,
|
|
51
|
-
metaName: metaName || 'modern-js'
|
|
52
|
-
onFallback
|
|
42
|
+
metaName: metaName || 'modern-js'
|
|
53
43
|
});
|
|
54
44
|
return render;
|
|
55
45
|
}
|
|
@@ -67,7 +67,7 @@ function getHeadersWithoutCookie(headers) {
|
|
|
67
67
|
delete _headers.cookie;
|
|
68
68
|
return _headers;
|
|
69
69
|
}
|
|
70
|
-
async function createRender({ routes, pwd, metaName, staticGenerate, cacheConfig, forceCSR, forceCSRMap, config
|
|
70
|
+
async function createRender({ routes, pwd, metaName, staticGenerate, cacheConfig, forceCSR, forceCSRMap, config }) {
|
|
71
71
|
const router = getRouter(routes);
|
|
72
72
|
return async (req, { monitors, nodeReq, templates, serverManifest, rscClientManifest, rscSSRManifest, rscServerManifest, locals, matchEntryName, matchPathname, loaderContext, contextForceCSR, reporter })=>{
|
|
73
73
|
const forMatchpathname = matchPathname ?? getPathname(req);
|
|
@@ -75,13 +75,14 @@ async function createRender({ routes, pwd, metaName, staticGenerate, cacheConfig
|
|
|
75
75
|
const framework = cutNameByHyphen(metaName || 'modern-js');
|
|
76
76
|
const fallbackHeader = `x-${framework}-ssr-fallback`;
|
|
77
77
|
let fallbackReason = null;
|
|
78
|
-
const
|
|
79
|
-
request: req,
|
|
80
|
-
monitors
|
|
81
|
-
};
|
|
82
|
-
const fallbackWrapper = async (reason, error)=>{
|
|
78
|
+
const fallbackWrapper = (reason)=>{
|
|
83
79
|
fallbackReason = reason;
|
|
84
|
-
|
|
80
|
+
monitors?.warn('fallback to CSR reason: %o', {
|
|
81
|
+
type: reason
|
|
82
|
+
});
|
|
83
|
+
monitors?.counter('ssr-fallback', {
|
|
84
|
+
type: reason
|
|
85
|
+
});
|
|
85
86
|
};
|
|
86
87
|
if (!routeInfo) return new Response(createErrorHtml(404), {
|
|
87
88
|
status: 404,
|
|
@@ -176,7 +177,7 @@ async function renderHandler(request, options, mode, fallbackWrapper, framework)
|
|
|
176
177
|
response = await ssrRender(request, options);
|
|
177
178
|
} catch (e) {
|
|
178
179
|
options.onError(e, ErrorDigest.ERENDER);
|
|
179
|
-
|
|
180
|
+
fallbackWrapper('error');
|
|
180
181
|
response = await csrRender(request, {
|
|
181
182
|
...options,
|
|
182
183
|
html: injectFallbackReasonToHtml({
|
|
@@ -5,7 +5,6 @@ function getHookRunners(context) {
|
|
|
5
5
|
config: (params)=>hooks.modifyConfig.call(params),
|
|
6
6
|
prepare: ()=>hooks.onPrepare.call(),
|
|
7
7
|
reset: (params)=>hooks.onReset.call(params),
|
|
8
|
-
fallback: (input)=>hooks.fallback.call(input),
|
|
9
8
|
prepareWebServer: (input)=>hooks.prepareWebServer.call(input),
|
|
10
9
|
prepareApiServer: (input)=>hooks.prepareApiServer.call(input),
|
|
11
10
|
afterMatch: (ctx)=>hooks.afterMatch.call(ctx),
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import "node:module";
|
|
2
|
-
import {
|
|
2
|
+
import { createAsyncPipelineHook } from "@modern-js/plugin";
|
|
3
3
|
import { getHookRunners, handleSetupResult } from "./hooks.mjs";
|
|
4
4
|
const compatPlugin = ()=>({
|
|
5
5
|
name: '@modern-js/server-compat',
|
|
6
6
|
registryHooks: {
|
|
7
|
-
fallback: createAsyncHook(),
|
|
8
7
|
prepareWebServer: createAsyncPipelineHook(),
|
|
9
8
|
prepareApiServer: createAsyncPipelineHook(),
|
|
10
9
|
afterMatch: createAsyncPipelineHook(),
|
|
@@ -6,23 +6,14 @@ const injectRenderHandlerPlugin = ({ staticGenerate, cacheConfig })=>({
|
|
|
6
6
|
api.onPrepare(async ()=>{
|
|
7
7
|
const { distDirectory: pwd, routes, metaName } = api.getServerContext();
|
|
8
8
|
const config = api.getServerConfig();
|
|
9
|
-
const hooks = api.getHooks();
|
|
10
9
|
if (!routes) return;
|
|
11
|
-
const onFallback = async (reason, error, context)=>{
|
|
12
|
-
await hooks.fallback.call({
|
|
13
|
-
reason,
|
|
14
|
-
error,
|
|
15
|
-
context
|
|
16
|
-
});
|
|
17
|
-
};
|
|
18
10
|
const getRenderHandlerOptions = {
|
|
19
11
|
pwd: pwd,
|
|
20
12
|
routes,
|
|
21
13
|
config,
|
|
22
14
|
metaName,
|
|
23
15
|
cacheConfig: cacheConfig,
|
|
24
|
-
staticGenerate
|
|
25
|
-
onFallback
|
|
16
|
+
staticGenerate
|
|
26
17
|
};
|
|
27
18
|
const render = await getRenderHandler(getRenderHandlerOptions);
|
|
28
19
|
api.updateServerContext({
|
|
@@ -32,7 +23,7 @@ const injectRenderHandlerPlugin = ({ staticGenerate, cacheConfig })=>({
|
|
|
32
23
|
});
|
|
33
24
|
}
|
|
34
25
|
});
|
|
35
|
-
async function getRenderHandler({ pwd, routes, config, cacheConfig, metaName, staticGenerate
|
|
26
|
+
async function getRenderHandler({ pwd, routes, config, cacheConfig, metaName, staticGenerate }) {
|
|
36
27
|
const ssrConfig = config.server?.ssr;
|
|
37
28
|
const ssrByEntries = config.server?.ssrByEntries;
|
|
38
29
|
const forceCSR = 'object' == typeof ssrConfig ? ssrConfig.forceCSR : false;
|
|
@@ -49,8 +40,7 @@ async function getRenderHandler({ pwd, routes, config, cacheConfig, metaName, st
|
|
|
49
40
|
forceCSR,
|
|
50
41
|
forceCSRMap,
|
|
51
42
|
nonce: config.security?.nonce,
|
|
52
|
-
metaName: metaName || 'modern-js'
|
|
53
|
-
onFallback
|
|
43
|
+
metaName: metaName || 'modern-js'
|
|
54
44
|
});
|
|
55
45
|
return render;
|
|
56
46
|
}
|
|
@@ -68,7 +68,7 @@ function getHeadersWithoutCookie(headers) {
|
|
|
68
68
|
delete _headers.cookie;
|
|
69
69
|
return _headers;
|
|
70
70
|
}
|
|
71
|
-
async function createRender({ routes, pwd, metaName, staticGenerate, cacheConfig, forceCSR, forceCSRMap, config
|
|
71
|
+
async function createRender({ routes, pwd, metaName, staticGenerate, cacheConfig, forceCSR, forceCSRMap, config }) {
|
|
72
72
|
const router = getRouter(routes);
|
|
73
73
|
return async (req, { monitors, nodeReq, templates, serverManifest, rscClientManifest, rscSSRManifest, rscServerManifest, locals, matchEntryName, matchPathname, loaderContext, contextForceCSR, reporter })=>{
|
|
74
74
|
const forMatchpathname = matchPathname ?? getPathname(req);
|
|
@@ -76,13 +76,14 @@ async function createRender({ routes, pwd, metaName, staticGenerate, cacheConfig
|
|
|
76
76
|
const framework = cutNameByHyphen(metaName || 'modern-js');
|
|
77
77
|
const fallbackHeader = `x-${framework}-ssr-fallback`;
|
|
78
78
|
let fallbackReason = null;
|
|
79
|
-
const
|
|
80
|
-
request: req,
|
|
81
|
-
monitors
|
|
82
|
-
};
|
|
83
|
-
const fallbackWrapper = async (reason, error)=>{
|
|
79
|
+
const fallbackWrapper = (reason)=>{
|
|
84
80
|
fallbackReason = reason;
|
|
85
|
-
|
|
81
|
+
monitors?.warn('fallback to CSR reason: %o', {
|
|
82
|
+
type: reason
|
|
83
|
+
});
|
|
84
|
+
monitors?.counter('ssr-fallback', {
|
|
85
|
+
type: reason
|
|
86
|
+
});
|
|
86
87
|
};
|
|
87
88
|
if (!routeInfo) return new Response(createErrorHtml(404), {
|
|
88
89
|
status: 404,
|
|
@@ -177,7 +178,7 @@ async function renderHandler(request, options, mode, fallbackWrapper, framework)
|
|
|
177
178
|
response = await ssrRender(request, options);
|
|
178
179
|
} catch (e) {
|
|
179
180
|
options.onError(e, ErrorDigest.ERENDER);
|
|
180
|
-
|
|
181
|
+
fallbackWrapper('error');
|
|
181
182
|
response = await csrRender(request, {
|
|
182
183
|
...options,
|
|
183
184
|
html: injectFallbackReasonToHtml({
|
|
@@ -4,4 +4,4 @@ export interface InjectRenderHandlerOptions {
|
|
|
4
4
|
cacheConfig?: CacheConfig;
|
|
5
5
|
}
|
|
6
6
|
export declare const injectRenderHandlerPlugin: ({ staticGenerate, cacheConfig, }: InjectRenderHandlerOptions) => ServerPlugin;
|
|
7
|
-
export declare function getRenderHandler({ pwd, routes, config, cacheConfig, metaName, staticGenerate,
|
|
7
|
+
export declare function getRenderHandler({ pwd, routes, config, cacheConfig, metaName, staticGenerate, }: GetRenderHandlerOptions): Promise<Render>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ServerRoute } from '@modern-js/types';
|
|
2
2
|
import type { Router } from 'hono/router';
|
|
3
|
-
import type { CacheConfig,
|
|
3
|
+
import type { CacheConfig, UserConfig } from '../../types';
|
|
4
4
|
import type { Render } from '../../types';
|
|
5
5
|
import type { Params } from '../../types/requestHandler';
|
|
6
6
|
interface CreateRenderOptions {
|
|
@@ -9,7 +9,6 @@ interface CreateRenderOptions {
|
|
|
9
9
|
config: UserConfig;
|
|
10
10
|
cacheConfig?: CacheConfig;
|
|
11
11
|
staticGenerate?: boolean;
|
|
12
|
-
onFallback?: OnFallback;
|
|
13
12
|
metaName?: string;
|
|
14
13
|
forceCSR?: boolean;
|
|
15
14
|
forceCSRMap?: Map<string, boolean>;
|
|
@@ -17,5 +16,5 @@ interface CreateRenderOptions {
|
|
|
17
16
|
}
|
|
18
17
|
type MatchedRoute = [ServerRoute | undefined, Params];
|
|
19
18
|
export declare function matchRoute(router: Router<ServerRoute>, pathname: string, entryName?: string): MatchedRoute;
|
|
20
|
-
export declare function createRender({ routes, pwd, metaName, staticGenerate, cacheConfig, forceCSR, forceCSRMap, config,
|
|
19
|
+
export declare function createRender({ routes, pwd, metaName, staticGenerate, cacheConfig, forceCSR, forceCSRMap, config, }: CreateRenderOptions): Promise<Render>;
|
|
21
20
|
export {};
|
|
@@ -1,20 +1,9 @@
|
|
|
1
|
-
import type { CacheOption, Container, HttpMethodDecider, MiddlewareContext,
|
|
1
|
+
import type { CacheOption, Container, HttpMethodDecider, MiddlewareContext, ServerRoute } from '@modern-js/types';
|
|
2
2
|
import type { Context, MiddlewareHandler } from 'hono';
|
|
3
3
|
import type { UserConfig } from '../config';
|
|
4
4
|
import type { Render } from '../render';
|
|
5
5
|
import type { ServerPlugin } from './plugin';
|
|
6
6
|
export type { FileChangeEvent, ResetEvent } from '@modern-js/plugin';
|
|
7
|
-
export type FallbackReason = 'error' | 'header' | 'query' | `header,${string}`;
|
|
8
|
-
export type FallbackContext = {
|
|
9
|
-
request: Request;
|
|
10
|
-
monitors?: Monitors;
|
|
11
|
-
};
|
|
12
|
-
export type FallbackInput = {
|
|
13
|
-
reason: FallbackReason;
|
|
14
|
-
error: unknown;
|
|
15
|
-
context?: FallbackContext;
|
|
16
|
-
};
|
|
17
|
-
export type OnFallback = (reason: FallbackReason, error?: unknown, context?: FallbackContext) => Promise<void>;
|
|
18
7
|
export type APIServerStartInput = {
|
|
19
8
|
pwd: string;
|
|
20
9
|
prefix?: string;
|
|
@@ -44,7 +33,6 @@ export interface GetRenderHandlerOptions {
|
|
|
44
33
|
pwd: string;
|
|
45
34
|
routes: ServerRoute[];
|
|
46
35
|
config: UserConfig;
|
|
47
|
-
onFallback?: OnFallback;
|
|
48
36
|
cacheConfig?: CacheConfig;
|
|
49
37
|
staticGenerate?: boolean;
|
|
50
38
|
metaName?: string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './plugin';
|
|
2
|
-
export type { ServerConfig, CacheConfig,
|
|
2
|
+
export type { ServerConfig, CacheConfig, GetRenderHandlerOptions, FileChangeEvent, WebServerStartInput, APIServerStartInput, ServerMiddleware, MiddlewareObj, } from './base';
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { AsyncPipelineHook, ServerContext as BaseServerContext, ServerPlugin as BaseServerPlugin, ServerPluginAPI as BaseServerPluginAPI, ServerPluginExtends as BaseServerPluginExtends } from '@modern-js/plugin';
|
|
2
2
|
import type { Hooks } from '@modern-js/plugin/server';
|
|
3
3
|
import type { AfterMatchContext, AfterRenderContext, AfterStreamingRenderContext } from '@modern-js/types';
|
|
4
4
|
import type { MiddlewareHandler } from 'hono';
|
|
5
5
|
import type { MiddlewareObj } from './base';
|
|
6
|
-
import type { APIServerStartInput,
|
|
7
|
-
export type FallbackFn = (input: FallbackInput) => Promise<FallbackInput>;
|
|
6
|
+
import type { APIServerStartInput, ServerConfig, WebAdapter, WebServerStartInput } from './base';
|
|
8
7
|
export type PrepareWebServerFn = (input: WebServerStartInput) => Promise<WebAdapter | null>;
|
|
9
8
|
export type PrepareApiServerFn = (input: APIServerStartInput) => Promise<MiddlewareHandler>;
|
|
10
9
|
export type AfterMatchFn = (ctx: AfterMatchContext) => Promise<any>;
|
|
@@ -19,7 +18,6 @@ export interface ServerPluginExtends extends BaseServerPluginExtends {
|
|
|
19
18
|
};
|
|
20
19
|
extendHooks: {
|
|
21
20
|
prepareWebServer: AsyncPipelineHook<PrepareWebServerFn>;
|
|
22
|
-
fallback: AsyncHook<FallbackFn>;
|
|
23
21
|
prepareApiServer: AsyncPipelineHook<PrepareApiServerFn>;
|
|
24
22
|
afterMatch: AsyncPipelineHook<AfterMatchFn>;
|
|
25
23
|
afterRender: AsyncPipelineHook<AfterRenderFn>;
|
package/package.json
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"modern",
|
|
16
16
|
"modern.js"
|
|
17
17
|
],
|
|
18
|
-
"version": "3.
|
|
18
|
+
"version": "3.9.0",
|
|
19
19
|
"types": "./dist/types/index.d.ts",
|
|
20
20
|
"main": "./dist/cjs/index.js",
|
|
21
21
|
"exports": {
|
|
@@ -71,9 +71,9 @@
|
|
|
71
71
|
"flatted": "^3.4.4",
|
|
72
72
|
"hono": "^4.11.7",
|
|
73
73
|
"ts-deepmerge": "7.0.3",
|
|
74
|
-
"@modern-js/plugin": "3.
|
|
75
|
-
"@modern-js/runtime-utils": "3.
|
|
76
|
-
"@modern-js/utils": "3.
|
|
74
|
+
"@modern-js/plugin": "3.9.0",
|
|
75
|
+
"@modern-js/runtime-utils": "3.9.0",
|
|
76
|
+
"@modern-js/utils": "3.9.0"
|
|
77
77
|
},
|
|
78
78
|
"devDependencies": {
|
|
79
79
|
"@rslib/core": "0.23.2",
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
"http-proxy-middleware": "^2.0.10",
|
|
84
84
|
"typescript": "^5",
|
|
85
85
|
"@modern-js/rslib": "2.68.10",
|
|
86
|
-
"@modern-js/types": "3.
|
|
86
|
+
"@modern-js/types": "3.9.0",
|
|
87
87
|
"@scripts/rstest-config": "2.66.0"
|
|
88
88
|
},
|
|
89
89
|
"sideEffects": false,
|