@bleedingdev/modern-js-server-core 3.8.2-ultramodern.9 → 3.8.3-ultramodern.1
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, serverContext, 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,
|
|
@@ -218,7 +219,7 @@ var __webpack_exports__ = {};
|
|
|
218
219
|
response = await (0, external_ssrRender_js_namespaceObject.ssrRender)(request, options);
|
|
219
220
|
} catch (e) {
|
|
220
221
|
options.onError(e, index_js_namespaceObject.ErrorDigest.ERENDER);
|
|
221
|
-
|
|
222
|
+
fallbackWrapper('error');
|
|
222
223
|
response = await csrRender(request, {
|
|
223
224
|
...options,
|
|
224
225
|
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, serverContext, 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,
|
|
@@ -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({
|
|
@@ -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, serverContext, 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,
|
|
@@ -178,7 +179,7 @@ async function renderHandler(request, options, mode, fallbackWrapper, framework)
|
|
|
178
179
|
response = await ssrRender(request, options);
|
|
179
180
|
} catch (e) {
|
|
180
181
|
options.onError(e, ErrorDigest.ERENDER);
|
|
181
|
-
|
|
182
|
+
fallbackWrapper('error');
|
|
182
183
|
response = await csrRender(request, {
|
|
183
184
|
...options,
|
|
184
185
|
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, Render, UserConfig } from '../../types';
|
|
4
4
|
import type { Params } from '../../types/requestHandler';
|
|
5
5
|
interface CreateRenderOptions {
|
|
6
6
|
pwd: string;
|
|
@@ -8,7 +8,6 @@ interface CreateRenderOptions {
|
|
|
8
8
|
config: UserConfig;
|
|
9
9
|
cacheConfig?: CacheConfig;
|
|
10
10
|
staticGenerate?: boolean;
|
|
11
|
-
onFallback?: OnFallback;
|
|
12
11
|
metaName?: string;
|
|
13
12
|
forceCSR?: boolean;
|
|
14
13
|
forceCSRMap?: Map<string, boolean>;
|
|
@@ -16,5 +15,5 @@ interface CreateRenderOptions {
|
|
|
16
15
|
}
|
|
17
16
|
type MatchedRoute = [ServerRoute | undefined, Params];
|
|
18
17
|
export declare function matchRoute(router: Router<ServerRoute>, pathname: string, entryName?: string): MatchedRoute;
|
|
19
|
-
export declare function createRender({ routes, pwd, metaName, staticGenerate, cacheConfig, forceCSR, forceCSRMap, config,
|
|
18
|
+
export declare function createRender({ routes, pwd, metaName, staticGenerate, cacheConfig, forceCSR, forceCSRMap, config, }: CreateRenderOptions): Promise<Render>;
|
|
20
19
|
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
|
-
export type { APIServerStartInput, CacheConfig,
|
|
1
|
+
export type { APIServerStartInput, CacheConfig, FileChangeEvent, GetRenderHandlerOptions, MiddlewareObj, ServerConfig, ServerMiddleware, WebServerStartInput, } from './base';
|
|
2
2
|
export * from './plugin';
|
|
@@ -1,9 +1,8 @@
|
|
|
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
|
-
import type { APIServerStartInput,
|
|
6
|
-
export type FallbackFn = (input: FallbackInput) => Promise<FallbackInput>;
|
|
5
|
+
import type { APIServerStartInput, MiddlewareObj, ServerConfig, WebAdapter, WebServerStartInput } from './base';
|
|
7
6
|
export type PrepareWebServerFn = (input: WebServerStartInput) => Promise<WebAdapter | null>;
|
|
8
7
|
export type PrepareApiServerFn = (input: APIServerStartInput) => Promise<MiddlewareHandler>;
|
|
9
8
|
export type AfterMatchFn = (ctx: AfterMatchContext) => Promise<any>;
|
|
@@ -18,7 +17,6 @@ export interface ServerPluginExtends extends BaseServerPluginExtends {
|
|
|
18
17
|
};
|
|
19
18
|
extendHooks: {
|
|
20
19
|
prepareWebServer: AsyncPipelineHook<PrepareWebServerFn>;
|
|
21
|
-
fallback: AsyncHook<FallbackFn>;
|
|
22
20
|
prepareApiServer: AsyncPipelineHook<PrepareApiServerFn>;
|
|
23
21
|
afterMatch: AsyncPipelineHook<AfterMatchFn>;
|
|
24
22
|
afterRender: AsyncPipelineHook<AfterRenderFn>;
|
package/package.json
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"modern",
|
|
18
18
|
"modern.js"
|
|
19
19
|
],
|
|
20
|
-
"version": "3.8.
|
|
20
|
+
"version": "3.8.3-ultramodern.1",
|
|
21
21
|
"types": "./dist/types/index.d.ts",
|
|
22
22
|
"main": "./dist/cjs/index.js",
|
|
23
23
|
"exports": {
|
|
@@ -66,9 +66,9 @@
|
|
|
66
66
|
"node": ">=20"
|
|
67
67
|
},
|
|
68
68
|
"dependencies": {
|
|
69
|
-
"@modern-js/plugin": "npm:@bleedingdev/modern-js-plugin@3.8.
|
|
70
|
-
"@modern-js/runtime-utils": "npm:@bleedingdev/modern-js-runtime-utils@3.8.
|
|
71
|
-
"@modern-js/utils": "npm:@bleedingdev/modern-js-utils@3.8.
|
|
69
|
+
"@modern-js/plugin": "npm:@bleedingdev/modern-js-plugin@3.8.3-ultramodern.1",
|
|
70
|
+
"@modern-js/runtime-utils": "npm:@bleedingdev/modern-js-runtime-utils@3.8.3-ultramodern.1",
|
|
71
|
+
"@modern-js/utils": "npm:@bleedingdev/modern-js-utils@3.8.3-ultramodern.1",
|
|
72
72
|
"@swc/helpers": "^0.5.23",
|
|
73
73
|
"@web-std/fetch": "^4.2.1",
|
|
74
74
|
"@web-std/file": "^3.0.3",
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
"ts-deepmerge": "8.0.0"
|
|
80
80
|
},
|
|
81
81
|
"devDependencies": {
|
|
82
|
-
"@modern-js/types": "npm:@bleedingdev/modern-js-types@3.8.
|
|
82
|
+
"@modern-js/types": "npm:@bleedingdev/modern-js-types@3.8.3-ultramodern.1",
|
|
83
83
|
"@rslib/core": "0.23.2",
|
|
84
84
|
"@scripts/rstest-config": "2.66.0",
|
|
85
85
|
"@types/cloneable-readable": "^2.0.3",
|