@modern-js/server-core 2.53.0 → 2.54.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/adapters/node/helper/index.js +37 -0
- package/dist/cjs/{base/adapters/node/middlewares/templates.js → adapters/node/helper/loadCache.js} +19 -33
- package/dist/cjs/{base/utils/serverConfig.js → adapters/node/helper/loadConfig.js} +26 -31
- package/dist/cjs/{base/adapters/node/loadServer.js → adapters/node/helper/loadEnv.js} +3 -3
- package/dist/cjs/{base/utils/debug.js → adapters/node/helper/loadPlugin.js} +16 -6
- package/dist/cjs/{base/adapters → adapters}/node/index.js +17 -16
- package/dist/cjs/{core → adapters/node/plugins}/index.js +8 -4
- package/dist/cjs/{base/middlewares/frameworkHeader.js → adapters/node/plugins/nodeServer.js} +16 -9
- package/dist/cjs/{base/adapters/node/middlewares/serverManifest.js → adapters/node/plugins/resource.js} +56 -5
- package/dist/cjs/{base/adapters/node/middlewares/serverStatic.js → adapters/node/plugins/static.js} +61 -7
- package/dist/cjs/{base/constants.js → constants.js} +3 -0
- package/dist/cjs/index.js +28 -6
- package/dist/cjs/pluginManager.js +106 -0
- package/dist/cjs/{base/middlewares → plugins}/customServer/index.js +13 -11
- package/dist/cjs/plugins/favicon.js +44 -0
- package/dist/cjs/{base/middlewares → plugins}/index.js +21 -15
- package/dist/cjs/{base/middlewares/logger.js → plugins/log.js} +23 -5
- package/dist/cjs/{base/middlewares → plugins}/monitor.js +30 -33
- package/dist/cjs/plugins/processedBy.js +44 -0
- package/dist/cjs/plugins/render/index.js +136 -0
- package/dist/cjs/{base/middlewares/renderHandler → plugins/render}/render.js +20 -5
- package/dist/cjs/plugins/render/ssrCache.js +178 -0
- package/dist/cjs/{base/middlewares/renderHandler → plugins/render}/ssrRender.js +13 -13
- package/dist/cjs/serverBase.js +178 -0
- package/dist/cjs/{base/adapters/node/middlewares → types}/index.js +10 -10
- package/dist/cjs/types/plugin.js +16 -0
- package/dist/cjs/{base/utils → utils}/index.js +3 -1
- package/dist/cjs/{base/middlewares/faviconFallback.js → utils/serverConfig.js} +12 -11
- package/dist/esm/adapters/node/helper/index.js +10 -0
- package/dist/esm/adapters/node/helper/loadCache.js +19 -0
- package/dist/esm/adapters/node/helper/loadConfig.js +32 -0
- package/dist/esm/adapters/node/helper/loadPlugin.js +17 -0
- package/dist/{esm-node/base → esm}/adapters/node/index.js +8 -8
- package/dist/esm/adapters/node/plugins/index.js +3 -0
- package/dist/esm/adapters/node/plugins/nodeServer.js +18 -0
- package/dist/esm/{base/adapters/node/middlewares/serverManifest.js → adapters/node/plugins/resource.js} +139 -1
- package/dist/esm/{base/adapters/node/middlewares/serverStatic.js → adapters/node/plugins/static.js} +108 -2
- package/dist/esm/{base/constants.js → constants.js} +2 -0
- package/dist/esm/index.js +15 -3
- package/dist/esm/pluginManager.js +140 -0
- package/dist/esm/{base/middlewares → plugins}/customServer/index.js +12 -11
- package/dist/esm/plugins/favicon.js +34 -0
- package/dist/esm/plugins/index.js +15 -0
- package/dist/esm/{base/middlewares/logger.js → plugins/log.js} +33 -2
- package/dist/esm/plugins/monitor.js +120 -0
- package/dist/esm/plugins/processedBy.js +42 -0
- package/dist/esm/plugins/render/index.js +229 -0
- package/dist/esm/{base/middlewares/renderHandler → plugins/render}/render.js +20 -7
- package/dist/esm/plugins/render/ssrCache.js +266 -0
- package/dist/esm/{base/middlewares/renderHandler → plugins/render}/ssrRender.js +26 -45
- package/dist/esm/serverBase.js +250 -0
- package/dist/esm/types/index.js +4 -0
- package/dist/esm/types/render.js +0 -0
- package/dist/esm/types/server.js +0 -0
- package/dist/esm/{base/utils → utils}/index.js +1 -0
- package/dist/esm/utils/serverConfig.js +13 -0
- package/dist/esm-node/adapters/node/helper/index.js +10 -0
- package/dist/esm-node/adapters/node/helper/loadCache.js +19 -0
- package/dist/esm-node/adapters/node/helper/loadConfig.js +31 -0
- package/dist/esm-node/adapters/node/helper/loadPlugin.js +15 -0
- package/dist/{esm/base → esm-node}/adapters/node/index.js +8 -8
- package/dist/esm-node/adapters/node/plugins/index.js +3 -0
- package/dist/esm-node/adapters/node/plugins/nodeServer.js +14 -0
- package/dist/esm-node/{base/adapters/node/middlewares/serverManifest.js → adapters/node/plugins/resource.js} +49 -1
- package/dist/esm-node/{base/adapters/node/middlewares/serverStatic.js → adapters/node/plugins/static.js} +54 -2
- package/dist/esm-node/{base/constants.js → constants.js} +2 -0
- package/dist/esm-node/index.js +15 -3
- package/dist/esm-node/pluginManager.js +82 -0
- package/dist/esm-node/{base/middlewares → plugins}/customServer/index.js +11 -10
- package/dist/esm-node/plugins/favicon.js +20 -0
- package/dist/esm-node/plugins/index.js +15 -0
- package/dist/esm-node/{base/middlewares/logger.js → plugins/log.js} +19 -1
- package/dist/esm-node/plugins/monitor.js +62 -0
- package/dist/esm-node/plugins/processedBy.js +20 -0
- package/dist/esm-node/plugins/render/index.js +111 -0
- package/dist/esm-node/{base/middlewares/renderHandler → plugins/render}/render.js +20 -5
- package/dist/esm-node/plugins/render/ssrCache.js +143 -0
- package/dist/esm-node/{base/middlewares/renderHandler → plugins/render}/ssrRender.js +14 -14
- package/dist/esm-node/serverBase.js +153 -0
- package/dist/esm-node/types/index.js +4 -0
- package/dist/esm-node/{base/utils → utils}/index.js +1 -0
- package/dist/esm-node/utils/serverConfig.js +11 -0
- package/dist/types/adapters/node/helper/index.d.ts +4 -0
- package/dist/types/adapters/node/helper/loadCache.d.ts +2 -0
- package/dist/types/adapters/node/helper/loadConfig.d.ts +2 -0
- package/dist/types/{base/adapters/node/loadServer.d.ts → adapters/node/helper/loadEnv.d.ts} +1 -1
- package/dist/types/adapters/node/helper/loadPlugin.d.ts +3 -0
- package/dist/types/{base/adapters → adapters}/node/hono.d.ts +1 -2
- package/dist/types/{base/adapters → adapters}/node/index.d.ts +2 -3
- package/dist/types/{base/adapters → adapters}/node/node.d.ts +1 -2
- package/dist/types/adapters/node/plugins/index.d.ts +3 -0
- package/dist/types/adapters/node/plugins/nodeServer.d.ts +4 -0
- package/dist/types/adapters/node/plugins/resource.d.ts +7 -0
- package/dist/types/adapters/node/plugins/static.d.ts +15 -0
- package/dist/types/{base/constants.d.ts → constants.d.ts} +1 -0
- package/dist/types/index.d.ts +9 -3
- package/dist/types/pluginManager.d.ts +31 -0
- package/dist/types/{base/middlewares → plugins}/customServer/base.d.ts +1 -1
- package/dist/types/{base/middlewares → plugins}/customServer/context.d.ts +1 -1
- package/dist/types/{base/middlewares → plugins}/customServer/index.d.ts +3 -3
- package/dist/types/{base/middlewares → plugins}/customServer/loader.d.ts +1 -1
- package/dist/types/plugins/favicon.d.ts +2 -0
- package/dist/types/plugins/index.d.ts +6 -0
- package/dist/types/plugins/log.d.ts +2 -0
- package/dist/types/plugins/monitor.d.ts +9 -0
- package/dist/types/plugins/processedBy.d.ts +2 -0
- package/dist/types/plugins/render/index.d.ts +16 -0
- package/dist/types/{base/middlewares/renderHandler → plugins/render}/render.d.ts +5 -4
- package/dist/types/plugins/render/ssrCache.d.ts +19 -0
- package/dist/types/{base/middlewares/renderHandler → plugins/render}/ssrRender.d.ts +3 -2
- package/dist/types/{base/serverBase.d.ts → serverBase.d.ts} +13 -30
- package/dist/types/types/config/index.d.ts +1 -0
- package/dist/types/types/config/server.d.ts +1 -0
- package/dist/types/types/index.d.ts +4 -0
- package/dist/types/types/plugin.d.ts +134 -0
- package/dist/types/{base/utils → utils}/index.d.ts +1 -0
- package/dist/types/utils/serverConfig.d.ts +8 -0
- package/package.json +15 -31
- package/dist/cjs/base/adapters/node/bff.js +0 -70
- package/dist/cjs/base/adapters/node/middlewares/mock.js +0 -113
- package/dist/cjs/base/adapters/node/middlewares/serverPublic.js +0 -70
- package/dist/cjs/base/index.js +0 -55
- package/dist/cjs/base/middlewares/renderHandler/index.js +0 -129
- package/dist/cjs/base/middlewares/renderHandler/ssrCache.js +0 -207
- package/dist/cjs/base/serverBase.js +0 -203
- package/dist/cjs/core/loadPlugins.js +0 -50
- package/dist/cjs/core/plugin.js +0 -84
- package/dist/esm/base/adapters/node/bff.js +0 -128
- package/dist/esm/base/adapters/node/middlewares/index.js +0 -4
- package/dist/esm/base/adapters/node/middlewares/mock.js +0 -198
- package/dist/esm/base/adapters/node/middlewares/serverPublic.js +0 -90
- package/dist/esm/base/adapters/node/middlewares/templates.js +0 -114
- package/dist/esm/base/index.js +0 -19
- package/dist/esm/base/middlewares/faviconFallback.js +0 -28
- package/dist/esm/base/middlewares/frameworkHeader.js +0 -27
- package/dist/esm/base/middlewares/index.js +0 -9
- package/dist/esm/base/middlewares/monitor.js +0 -157
- package/dist/esm/base/middlewares/renderHandler/index.js +0 -246
- package/dist/esm/base/middlewares/renderHandler/ssrCache.js +0 -317
- package/dist/esm/base/serverBase.js +0 -383
- package/dist/esm/base/utils/debug.js +0 -5
- package/dist/esm/base/utils/serverConfig.js +0 -58
- package/dist/esm/core/index.js +0 -1
- package/dist/esm/core/loadPlugins.js +0 -26
- package/dist/esm/core/plugin.js +0 -61
- package/dist/esm-node/base/adapters/node/bff.js +0 -46
- package/dist/esm-node/base/adapters/node/middlewares/index.js +0 -4
- package/dist/esm-node/base/adapters/node/middlewares/mock.js +0 -79
- package/dist/esm-node/base/adapters/node/middlewares/serverPublic.js +0 -36
- package/dist/esm-node/base/adapters/node/middlewares/templates.js +0 -32
- package/dist/esm-node/base/index.js +0 -19
- package/dist/esm-node/base/middlewares/faviconFallback.js +0 -10
- package/dist/esm-node/base/middlewares/frameworkHeader.js +0 -7
- package/dist/esm-node/base/middlewares/index.js +0 -9
- package/dist/esm-node/base/middlewares/monitor.js +0 -63
- package/dist/esm-node/base/middlewares/renderHandler/index.js +0 -94
- package/dist/esm-node/base/middlewares/renderHandler/ssrCache.js +0 -172
- package/dist/esm-node/base/serverBase.js +0 -168
- package/dist/esm-node/base/utils/debug.js +0 -5
- package/dist/esm-node/base/utils/serverConfig.js +0 -34
- package/dist/esm-node/core/index.js +0 -1
- package/dist/esm-node/core/loadPlugins.js +0 -26
- package/dist/esm-node/core/plugin.js +0 -53
- package/dist/types/base/adapters/node/bff.d.ts +0 -3
- package/dist/types/base/adapters/node/middlewares/index.d.ts +0 -4
- package/dist/types/base/adapters/node/middlewares/mock.d.ts +0 -5
- package/dist/types/base/adapters/node/middlewares/serverManifest.d.ts +0 -4
- package/dist/types/base/adapters/node/middlewares/serverPublic.d.ts +0 -7
- package/dist/types/base/adapters/node/middlewares/serverStatic.d.ts +0 -11
- package/dist/types/base/adapters/node/middlewares/templates.d.ts +0 -4
- package/dist/types/base/index.d.ts +0 -7
- package/dist/types/base/middlewares/faviconFallback.d.ts +0 -2
- package/dist/types/base/middlewares/frameworkHeader.d.ts +0 -2
- package/dist/types/base/middlewares/index.d.ts +0 -6
- package/dist/types/base/middlewares/logger.d.ts +0 -2
- package/dist/types/base/middlewares/monitor.d.ts +0 -6
- package/dist/types/base/middlewares/renderHandler/index.d.ts +0 -9
- package/dist/types/base/middlewares/renderHandler/ssrCache.d.ts +0 -28
- package/dist/types/base/utils/debug.d.ts +0 -1
- package/dist/types/base/utils/serverConfig.d.ts +0 -14
- package/dist/types/core/index.d.ts +0 -1
- package/dist/types/core/loadPlugins.d.ts +0 -3
- package/dist/types/core/plugin.d.ts +0 -251
- package/dist/cjs/{base/adapters → adapters}/node/hono.js +0 -0
- package/dist/cjs/{base/adapters → adapters}/node/node.js +0 -0
- package/dist/cjs/{base/adapters → adapters}/node/polyfills/index.js +0 -0
- package/dist/cjs/{base/adapters → adapters}/node/polyfills/install.js +0 -0
- package/dist/cjs/{base/adapters → adapters}/node/polyfills/stream.js +0 -0
- package/dist/cjs/{base/middlewares → plugins}/customServer/base.js +0 -0
- package/dist/cjs/{base/middlewares → plugins}/customServer/context.js +0 -0
- package/dist/cjs/{base/middlewares → plugins}/customServer/loader.js +0 -0
- package/dist/cjs/{base/middlewares → plugins}/customServer/routerApi.js +0 -0
- package/dist/cjs/{base/middlewares → plugins}/customServer/template.js +0 -0
- package/dist/cjs/{base/middlewares/renderHandler → plugins/render}/dataHandler.js +0 -0
- package/dist/cjs/{base/middlewares/renderHandler → plugins/render}/serverTiming.js +0 -0
- package/dist/cjs/{core → types}/render.js +0 -0
- package/dist/cjs/{core → types}/server.js +0 -0
- package/dist/cjs/{base/utils → utils}/entry.js +0 -0
- package/dist/cjs/{base/utils → utils}/env.js +0 -0
- package/dist/cjs/{base/utils → utils}/error.js +0 -0
- package/dist/cjs/{base/utils → utils}/middlewareCollector.js +0 -0
- package/dist/cjs/{base/utils → utils}/request.js +0 -0
- package/dist/cjs/{base/utils → utils}/transformStream.js +0 -0
- package/dist/cjs/{base/utils → utils}/warmup.js +0 -0
- package/dist/esm/{base/adapters/node/loadServer.js → adapters/node/helper/loadEnv.js} +0 -0
- package/dist/esm/{base/adapters → adapters}/node/hono.js +0 -0
- package/dist/esm/{base/adapters → adapters}/node/node.js +0 -0
- package/dist/esm/{base/adapters → adapters}/node/polyfills/index.js +0 -0
- package/dist/esm/{base/adapters → adapters}/node/polyfills/install.js +0 -0
- package/dist/esm/{base/adapters → adapters}/node/polyfills/stream.js +0 -0
- package/dist/esm/{base/middlewares → plugins}/customServer/base.js +0 -0
- package/dist/esm/{base/middlewares → plugins}/customServer/context.js +0 -0
- package/dist/esm/{base/middlewares → plugins}/customServer/loader.js +0 -0
- package/dist/esm/{base/middlewares → plugins}/customServer/routerApi.js +0 -0
- package/dist/esm/{base/middlewares → plugins}/customServer/template.js +0 -0
- package/dist/esm/{base/middlewares/renderHandler → plugins/render}/dataHandler.js +0 -0
- package/dist/esm/{base/middlewares/renderHandler → plugins/render}/serverTiming.js +0 -0
- package/dist/esm/{core/server.js → types/plugin.js} +0 -0
- package/dist/esm/{base/utils → utils}/entry.js +0 -0
- package/dist/esm/{base/utils → utils}/env.js +0 -0
- package/dist/esm/{base/utils → utils}/error.js +0 -0
- package/dist/esm/{base/utils → utils}/middlewareCollector.js +0 -0
- package/dist/esm/{base/utils → utils}/request.js +0 -0
- package/dist/esm/{base/utils → utils}/transformStream.js +0 -0
- package/dist/esm/{base/utils → utils}/warmup.js +0 -0
- package/dist/esm-node/{base/adapters/node/loadServer.js → adapters/node/helper/loadEnv.js} +0 -0
- package/dist/esm-node/{base/adapters → adapters}/node/hono.js +0 -0
- package/dist/esm-node/{base/adapters → adapters}/node/node.js +0 -0
- package/dist/esm-node/{base/adapters → adapters}/node/polyfills/index.js +0 -0
- package/dist/esm-node/{base/adapters → adapters}/node/polyfills/install.js +0 -0
- package/dist/esm-node/{base/adapters → adapters}/node/polyfills/stream.js +0 -0
- package/dist/esm-node/{base/middlewares → plugins}/customServer/base.js +0 -0
- package/dist/esm-node/{base/middlewares → plugins}/customServer/context.js +0 -0
- package/dist/esm-node/{base/middlewares → plugins}/customServer/loader.js +0 -0
- package/dist/esm-node/{base/middlewares → plugins}/customServer/routerApi.js +0 -0
- package/dist/esm-node/{base/middlewares → plugins}/customServer/template.js +0 -0
- package/dist/esm-node/{base/middlewares/renderHandler → plugins/render}/dataHandler.js +0 -0
- package/dist/esm-node/{base/middlewares/renderHandler → plugins/render}/serverTiming.js +0 -0
- package/dist/esm-node/{core/render.js → types/plugin.js} +0 -0
- package/dist/{esm/core → esm-node/types}/render.js +0 -0
- package/dist/esm-node/{core → types}/server.js +0 -0
- package/dist/esm-node/{base/utils → utils}/entry.js +0 -0
- package/dist/esm-node/{base/utils → utils}/env.js +0 -0
- package/dist/esm-node/{base/utils → utils}/error.js +0 -0
- package/dist/esm-node/{base/utils → utils}/middlewareCollector.js +0 -0
- package/dist/esm-node/{base/utils → utils}/request.js +0 -0
- package/dist/esm-node/{base/utils → utils}/transformStream.js +0 -0
- package/dist/esm-node/{base/utils → utils}/warmup.js +0 -0
- package/dist/types/{base/adapters → adapters}/node/polyfills/index.d.ts +0 -0
- package/dist/types/{base/adapters → adapters}/node/polyfills/install.d.ts +0 -0
- package/dist/types/{base/adapters → adapters}/node/polyfills/stream.d.ts +0 -0
- package/dist/types/{base/middlewares → plugins}/customServer/routerApi.d.ts +0 -0
- package/dist/types/{base/middlewares → plugins}/customServer/template.d.ts +0 -0
- package/dist/types/{base/middlewares/renderHandler → plugins/render}/dataHandler.d.ts +0 -0
- package/dist/types/{base/middlewares/renderHandler → plugins/render}/serverTiming.d.ts +0 -0
- package/dist/types/{core → types}/render.d.ts +0 -0
- package/dist/types/{core → types}/server.d.ts +1 -1
- /package/dist/types/{base/utils → utils}/entry.d.ts +0 -0
- /package/dist/types/{base/utils → utils}/env.d.ts +0 -0
- /package/dist/types/{base/utils → utils}/error.d.ts +0 -0
- /package/dist/types/{base/utils → utils}/middlewareCollector.d.ts +0 -0
- /package/dist/types/{base/utils → utils}/request.d.ts +0 -0
- /package/dist/types/{base/utils → utils}/transformStream.d.ts +0 -0
- /package/dist/types/{base/utils → utils}/warmup.d.ts +0 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { AppContext, CliConfig, ServerPlugin, ServerConfig } from './types';
|
|
2
|
+
export interface PluginManagerOptions {
|
|
3
|
+
cliConfig: CliConfig;
|
|
4
|
+
appContext: AppContext;
|
|
5
|
+
plugins?: ServerPlugin[];
|
|
6
|
+
serverConfig?: ServerConfig;
|
|
7
|
+
}
|
|
8
|
+
export declare class PluginManager {
|
|
9
|
+
#private;
|
|
10
|
+
constructor(options: PluginManagerOptions);
|
|
11
|
+
init(): Promise<import("@modern-js/plugin").ToRunners<{
|
|
12
|
+
config: import("@modern-js/plugin").AsyncWaterfall<ServerConfig>;
|
|
13
|
+
prepare: import("@modern-js/plugin").AsyncWaterfall<void>;
|
|
14
|
+
reset: import("@modern-js/plugin").ParallelWorkflow<{
|
|
15
|
+
event: import("./types").ResetEvent;
|
|
16
|
+
}>;
|
|
17
|
+
prepareWebServer: import("@modern-js/plugin").AsyncPipeline<import("./types").WebServerStartInput, import("./types").WebAdapter | import("@modern-js/types").UnstableMiddleware[] | null>;
|
|
18
|
+
fallback: import("@modern-js/plugin").ParallelWorkflow<{
|
|
19
|
+
reason: import("./types").FallbackReason;
|
|
20
|
+
error: unknown;
|
|
21
|
+
logger: import("@modern-js/types").Logger;
|
|
22
|
+
metrics?: import("@modern-js/types").Metrics | undefined;
|
|
23
|
+
reporter?: import("@modern-js/types").Reporter | undefined;
|
|
24
|
+
}>;
|
|
25
|
+
prepareApiServer: import("@modern-js/plugin").AsyncPipeline<import("./types").APIServerStartInput, import("hono/types").MiddlewareHandler>;
|
|
26
|
+
afterMatch: import("@modern-js/plugin").AsyncPipeline<import("@modern-js/types").AfterMatchContext, any>;
|
|
27
|
+
afterRender: import("@modern-js/plugin").AsyncPipeline<import("@modern-js/types").AfterRenderContext, any>;
|
|
28
|
+
afterStreamingRender: import("@modern-js/plugin").AsyncPipeline<import("@modern-js/types").AfterStreamingRenderContext, string>;
|
|
29
|
+
}>>;
|
|
30
|
+
addPlugins(plugins: ServerPlugin[]): void;
|
|
31
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AfterMatchContext, AfterRenderContext, MiddlewareContext, AfterStreamingRenderContext, ServerRoute, HookContext } from '@modern-js/types';
|
|
2
|
-
import { Context, ServerEnv } from '
|
|
2
|
+
import { Context, ServerEnv } from '../../types';
|
|
3
3
|
import type { ServerNodeEnv } from '../../adapters/node/hono';
|
|
4
4
|
import { ResArgs } from './base';
|
|
5
5
|
export declare function getAfterMatchCtx(entryName: string, baseHookCtx: HookContext): AfterMatchContext;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { ServerRoute } from '@modern-js/types';
|
|
1
|
+
import { ServerRoute, UnstableMiddleware } from '@modern-js/types';
|
|
2
2
|
import { ServerBase } from '../../serverBase';
|
|
3
|
-
import { ServerHookRunner } from '
|
|
4
|
-
import { Middleware, ServerEnv } from '../../../core/server';
|
|
3
|
+
import { ServerHookRunner, Middleware, ServerEnv } from '../../types';
|
|
5
4
|
import type { ServerNodeEnv } from '../../adapters/node/hono';
|
|
6
5
|
export { getLoaderCtx } from './loader';
|
|
7
6
|
export declare class CustomServer {
|
|
@@ -12,3 +11,4 @@ export declare class CustomServer {
|
|
|
12
11
|
getHookMiddleware(entryName: string, routes: ServerRoute[]): Middleware<ServerEnv>;
|
|
13
12
|
getServerMiddleware(): Promise<Middleware<ServerNodeEnv & ServerEnv> | Array<Middleware<ServerNodeEnv & ServerEnv>> | undefined>;
|
|
14
13
|
}
|
|
14
|
+
export declare function getServerMidFromUnstableMid(serverMiddleware: UnstableMiddleware[]): Array<Middleware<ServerNodeEnv & ServerEnv>>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { renderPlugin, getRenderHandler, type RenderPluginOptions, type GetRenderHandlerOptions, } from './render';
|
|
2
|
+
export { faviconPlugin } from './favicon';
|
|
3
|
+
export { processedByPlugin } from './processedBy';
|
|
4
|
+
export { getLoaderCtx } from './customServer';
|
|
5
|
+
export { logPlugin } from './log';
|
|
6
|
+
export { monitorPlugin } from './monitor';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Logger, Metrics, Reporter } from '@modern-js/types';
|
|
2
|
+
import { Context, Next, ServerEnv, ServerPlugin } from '../types';
|
|
3
|
+
export interface MonitorOptions {
|
|
4
|
+
logger?: Logger;
|
|
5
|
+
metrics?: Metrics;
|
|
6
|
+
reporter?: Reporter;
|
|
7
|
+
}
|
|
8
|
+
export declare function initReporter(entryName: string): (c: Context<ServerEnv>, next: Next) => Promise<void>;
|
|
9
|
+
export declare const monitorPlugin: (options: MonitorOptions) => ServerPlugin;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ServerRoute } from '@modern-js/types';
|
|
2
|
+
import { ServerPlugin, Render, UserConfig, CacheConfig } from '../../types';
|
|
3
|
+
export interface RenderPluginOptions {
|
|
4
|
+
staticGenerate?: boolean;
|
|
5
|
+
cacheConfig?: CacheConfig;
|
|
6
|
+
}
|
|
7
|
+
export declare const renderPlugin: (options?: RenderPluginOptions) => ServerPlugin;
|
|
8
|
+
export interface GetRenderHandlerOptions {
|
|
9
|
+
pwd: string;
|
|
10
|
+
routes: ServerRoute[];
|
|
11
|
+
config: UserConfig;
|
|
12
|
+
cacheConfig?: CacheConfig;
|
|
13
|
+
staticGenerate?: boolean;
|
|
14
|
+
metaName?: string;
|
|
15
|
+
}
|
|
16
|
+
export declare function getRenderHandler({ pwd, routes, config, cacheConfig, metaName, staticGenerate, }: GetRenderHandlerOptions): Promise<Render>;
|
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
import { Logger, Metrics, Reporter, ServerRoute } from '@modern-js/types';
|
|
2
|
-
import type { FallbackReason } from '
|
|
3
|
-
import { Render } from '
|
|
2
|
+
import type { CacheConfig, FallbackReason } from '../../types';
|
|
3
|
+
import { Render } from '../../types';
|
|
4
4
|
export type OnFallback = (reason: FallbackReason, utils: {
|
|
5
5
|
logger: Logger;
|
|
6
6
|
metrics?: Metrics;
|
|
7
7
|
reporter?: Reporter;
|
|
8
8
|
}, error?: unknown) => Promise<void>;
|
|
9
9
|
interface CreateRenderOptions {
|
|
10
|
-
routes: ServerRoute[];
|
|
11
10
|
pwd: string;
|
|
11
|
+
routes: ServerRoute[];
|
|
12
|
+
cacheConfig?: CacheConfig;
|
|
12
13
|
staticGenerate?: boolean;
|
|
13
14
|
onFallback?: OnFallback;
|
|
14
15
|
metaName?: string;
|
|
15
16
|
forceCSR?: boolean;
|
|
16
17
|
nonce?: string;
|
|
17
18
|
}
|
|
18
|
-
export declare function createRender({ routes, pwd, metaName, staticGenerate, forceCSR, nonce, onFallback: onFallbackFn, }: CreateRenderOptions): Promise<Render>;
|
|
19
|
+
export declare function createRender({ routes, pwd, metaName, staticGenerate, cacheConfig, forceCSR, nonce, onFallback: onFallbackFn, }: CreateRenderOptions): Promise<Render>;
|
|
19
20
|
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
import type { IncomingMessage } from 'http';
|
|
4
|
+
import type * as nodeStream from 'stream';
|
|
5
|
+
import type { CacheControl, CacheOption, Container } from '@modern-js/types';
|
|
6
|
+
import type { SSRServerContext, ServerRender } from '../../types';
|
|
7
|
+
export type CacheStatus = 'hit' | 'stale' | 'expired' | 'miss';
|
|
8
|
+
export type CacheResult = {
|
|
9
|
+
data: string | nodeStream.Readable | ReadableStream;
|
|
10
|
+
status?: CacheStatus;
|
|
11
|
+
};
|
|
12
|
+
export declare function matchCacheControl(cacheOption?: CacheOption, req?: IncomingMessage): CacheControl | Promise<CacheControl> | undefined;
|
|
13
|
+
export interface GetCacheResultOptions {
|
|
14
|
+
cacheControl: CacheControl;
|
|
15
|
+
render: ServerRender;
|
|
16
|
+
ssrContext: SSRServerContext;
|
|
17
|
+
container?: Container;
|
|
18
|
+
}
|
|
19
|
+
export declare function getCacheResult(request: Request, options: GetCacheResultOptions): Promise<CacheResult>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import type { IncomingMessage } from 'http';
|
|
3
3
|
import type { Logger, Metrics, Reporter, ServerRoute } from '@modern-js/types';
|
|
4
|
-
import { ServerManifest } from '
|
|
4
|
+
import { CacheConfig, ServerManifest } from '../../types';
|
|
5
5
|
export type Params = Record<string, any>;
|
|
6
6
|
export interface SSRRenderOptions {
|
|
7
7
|
pwd: string;
|
|
@@ -15,10 +15,11 @@ export interface SSRRenderOptions {
|
|
|
15
15
|
params: Params;
|
|
16
16
|
/** Produce by custom server hook */
|
|
17
17
|
locals?: Record<string, any>;
|
|
18
|
+
cacheConfig?: CacheConfig;
|
|
18
19
|
reporter?: Reporter;
|
|
19
20
|
metrics?: Metrics;
|
|
20
21
|
nodeReq?: IncomingMessage;
|
|
21
22
|
nonce?: string;
|
|
22
23
|
}
|
|
23
|
-
export declare function ssrRender(request: Request, { routeInfo, html, staticGenerate, nonce, metaName, reporter, logger, nodeReq, serverManifest, locals, params, metrics, loaderContext, }: SSRRenderOptions): Promise<Response>;
|
|
24
|
+
export declare function ssrRender(request: Request, { routeInfo, html, staticGenerate, nonce, metaName, reporter, logger, nodeReq, serverManifest, locals, params, metrics, loaderContext, cacheConfig, }: SSRRenderOptions): Promise<Response>;
|
|
24
25
|
export declare function getPathnameFromNodeReq(nodeReq: IncomingMessage): string;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ServerRoute } from '@modern-js/types';
|
|
2
2
|
import { Hono } from 'hono';
|
|
3
|
-
import { ServerHookRunner, ServerPlugin } from '
|
|
4
|
-
import type {
|
|
5
|
-
import type { ServerOptions } from '../types/config';
|
|
3
|
+
import type { Env, ServerConfig, ServerHookRunner, ServerPlugin } from './types';
|
|
4
|
+
import type { CliConfig } from './types/config';
|
|
6
5
|
declare module '@modern-js/types' {
|
|
7
6
|
interface ISAppContext {
|
|
8
7
|
serverBase?: ServerBase;
|
|
@@ -11,11 +10,10 @@ declare module '@modern-js/types' {
|
|
|
11
10
|
export type ServerBaseOptions = {
|
|
12
11
|
/** server working directory, and then also dist directory */
|
|
13
12
|
pwd: string;
|
|
14
|
-
config:
|
|
15
|
-
|
|
13
|
+
config: CliConfig;
|
|
14
|
+
serverConfig?: ServerConfig;
|
|
15
|
+
metaName?: string;
|
|
16
16
|
routes?: ServerRoute[];
|
|
17
|
-
plugins?: ServerPlugin[];
|
|
18
|
-
internalPlugins?: InternalPlugins;
|
|
19
17
|
appContext: {
|
|
20
18
|
appDirectory?: string;
|
|
21
19
|
sharedDirectory?: string;
|
|
@@ -25,36 +23,21 @@ export type ServerBaseOptions = {
|
|
|
25
23
|
runMode?: 'apiOnly' | 'ssrOnly' | 'webOnly';
|
|
26
24
|
};
|
|
27
25
|
export declare class ServerBase<E extends Env = any> {
|
|
26
|
+
#private;
|
|
28
27
|
options: ServerBaseOptions;
|
|
29
28
|
runner: ServerHookRunner;
|
|
30
29
|
private app;
|
|
31
|
-
private
|
|
30
|
+
private appContext;
|
|
31
|
+
private pluginManager;
|
|
32
32
|
constructor(options: ServerBaseOptions);
|
|
33
33
|
/**
|
|
34
34
|
* 初始化顺序
|
|
35
|
-
* -
|
|
36
|
-
* -
|
|
37
|
-
* -
|
|
38
|
-
* - 合并插件,内置插件和 serverConfig 中配置的插件
|
|
39
|
-
* - 执行 config hook
|
|
40
|
-
* - 获取最终的配置
|
|
41
|
-
* - 设置配置到 context
|
|
42
|
-
* - 执行 prepare hook
|
|
35
|
+
* - 初始化 pluginManager;
|
|
36
|
+
* - 执行 runner.prepare;
|
|
37
|
+
* - 应用 middlewares
|
|
43
38
|
*/
|
|
44
39
|
init(): Promise<this>;
|
|
45
|
-
|
|
46
|
-
private loadInternalPlugins;
|
|
47
|
-
private loadExternalPlugins;
|
|
48
|
-
private initServerConfig;
|
|
49
|
-
private injectContext;
|
|
50
|
-
private initAppContext;
|
|
51
|
-
/**
|
|
52
|
-
* Execute config hooks
|
|
53
|
-
* @param runner
|
|
54
|
-
* @param options
|
|
55
|
-
*/
|
|
56
|
-
private runConfigHook;
|
|
57
|
-
private initConfig;
|
|
40
|
+
addPlugins(plugins: ServerPlugin[]): void;
|
|
58
41
|
get all(): import("hono/types").HandlerInterface<E, "all", {}, "/">;
|
|
59
42
|
get use(): import("hono/types").MiddlewareHandlerInterface<E, {}, "/">;
|
|
60
43
|
get get(): import("hono/types").HandlerInterface<E, "get", {}, "/">;
|
|
@@ -36,6 +36,7 @@ export type SSR = boolean | {
|
|
|
36
36
|
disablePrerender?: boolean;
|
|
37
37
|
unsafeHeaders?: string[];
|
|
38
38
|
scriptLoading?: 'defer' | 'blocking' | 'module' | 'async';
|
|
39
|
+
loaderFailureMode?: 'clientRender' | 'errorBoundary';
|
|
39
40
|
};
|
|
40
41
|
export type SSRByEntries = Record<string, SSR>;
|
|
41
42
|
export interface ServerUserConfig {
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/** Hooks */
|
|
3
|
+
import type { Server as NodeServer, IncomingMessage, ServerResponse } from 'http';
|
|
4
|
+
import { AsyncWaterfall, ParallelWorkflow, ToRunners, ToThreads, CommonAPI, PluginOptions, AsyncSetup, createContext, AsyncPipeline } from '@modern-js/plugin';
|
|
5
|
+
import { AfterMatchContext, AfterRenderContext, AfterStreamingRenderContext, CacheOption, Container, HttpMethodDecider, ISAppContext, Logger, Metrics, MiddlewareContext, Reporter, ServerRoute, UnstableMiddleware } from '@modern-js/types';
|
|
6
|
+
import { MiddlewareHandler } from 'hono';
|
|
7
|
+
import { UserConfig } from './config';
|
|
8
|
+
import { Render } from './render';
|
|
9
|
+
export type ChangeEvent = 'add' | 'change' | 'unlink';
|
|
10
|
+
export interface Change {
|
|
11
|
+
filename: string;
|
|
12
|
+
event: ChangeEvent;
|
|
13
|
+
}
|
|
14
|
+
export interface RepackEvent {
|
|
15
|
+
type: 'repack';
|
|
16
|
+
}
|
|
17
|
+
export interface FileChangeEvent {
|
|
18
|
+
type: 'file-change';
|
|
19
|
+
payload: Change[];
|
|
20
|
+
}
|
|
21
|
+
export type ResetEvent = RepackEvent | FileChangeEvent;
|
|
22
|
+
export type FallbackReason = 'error' | 'header' | 'query';
|
|
23
|
+
type FallbackInput = {
|
|
24
|
+
reason: FallbackReason;
|
|
25
|
+
error: unknown;
|
|
26
|
+
logger: Logger;
|
|
27
|
+
metrics?: Metrics;
|
|
28
|
+
reporter?: Reporter;
|
|
29
|
+
};
|
|
30
|
+
export type APIServerStartInput = {
|
|
31
|
+
pwd: string;
|
|
32
|
+
prefix?: string;
|
|
33
|
+
httpMethodDecider?: HttpMethodDecider;
|
|
34
|
+
config?: {
|
|
35
|
+
middleware?: Array<any>;
|
|
36
|
+
};
|
|
37
|
+
render?: Render | null;
|
|
38
|
+
};
|
|
39
|
+
export type WebServerStartInput = {
|
|
40
|
+
pwd: string;
|
|
41
|
+
config: Record<string, any>;
|
|
42
|
+
};
|
|
43
|
+
export type WebAdapter = (ctx: MiddlewareContext) => void | Promise<void>;
|
|
44
|
+
export interface ServerHooks {
|
|
45
|
+
config: AsyncWaterfall<ServerConfig>;
|
|
46
|
+
prepare: AsyncWaterfall<void>;
|
|
47
|
+
reset: ParallelWorkflow<{
|
|
48
|
+
event: ResetEvent;
|
|
49
|
+
}>;
|
|
50
|
+
/**
|
|
51
|
+
* @deprecated
|
|
52
|
+
*
|
|
53
|
+
* deprecate it next major version
|
|
54
|
+
* */
|
|
55
|
+
prepareWebServer: AsyncPipeline<WebServerStartInput, WebAdapter | Array<UnstableMiddleware> | null>;
|
|
56
|
+
/**
|
|
57
|
+
* @deprecated
|
|
58
|
+
*
|
|
59
|
+
* deprecate it when server runtime entry refactor
|
|
60
|
+
*
|
|
61
|
+
*/
|
|
62
|
+
fallback: ParallelWorkflow<FallbackInput>;
|
|
63
|
+
/**
|
|
64
|
+
* @deprecated
|
|
65
|
+
*
|
|
66
|
+
* deprecate it next major version
|
|
67
|
+
*/
|
|
68
|
+
prepareApiServer: AsyncPipeline<APIServerStartInput, MiddlewareHandler>;
|
|
69
|
+
/**
|
|
70
|
+
* @deprecated
|
|
71
|
+
*
|
|
72
|
+
* deprecate it next major version
|
|
73
|
+
*/
|
|
74
|
+
afterMatch: AsyncPipeline<AfterMatchContext, any>;
|
|
75
|
+
/**
|
|
76
|
+
* @deprecated
|
|
77
|
+
*
|
|
78
|
+
* deprecate it next major version
|
|
79
|
+
*/
|
|
80
|
+
afterRender: AsyncPipeline<AfterRenderContext, any>;
|
|
81
|
+
/**
|
|
82
|
+
* @deprecated
|
|
83
|
+
*
|
|
84
|
+
* deprecate it next major version
|
|
85
|
+
* */
|
|
86
|
+
afterStreamingRender: AsyncPipeline<AfterStreamingRenderContext, string>;
|
|
87
|
+
}
|
|
88
|
+
export type ServerHookCallback = ToThreads<ServerHooks>;
|
|
89
|
+
/** Plugin Api */
|
|
90
|
+
type MiddlewareOrder = 'pre' | 'post' | 'default';
|
|
91
|
+
type Middleware = {
|
|
92
|
+
name: string;
|
|
93
|
+
path?: string;
|
|
94
|
+
method?: 'options' | 'get' | 'post' | 'put' | 'delete' | 'patch' | 'all';
|
|
95
|
+
handler: MiddlewareHandler | MiddlewareHandler[];
|
|
96
|
+
before?: Array<Middleware['name']>;
|
|
97
|
+
order?: MiddlewareOrder;
|
|
98
|
+
};
|
|
99
|
+
declare module '@modern-js/types' {
|
|
100
|
+
interface ISAppContext {
|
|
101
|
+
middlewares: Middleware[];
|
|
102
|
+
metaName: string;
|
|
103
|
+
routes?: ServerRoute[];
|
|
104
|
+
nodeServer?: NodeServer;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
export type NodeRequest = IncomingMessage;
|
|
108
|
+
export type NodeResponse = ServerResponse;
|
|
109
|
+
export { NodeServer };
|
|
110
|
+
export type AppContext = ReturnType<typeof createContext<ISAppContext>>;
|
|
111
|
+
export type ConfigContext = ReturnType<typeof createContext<ServerConfig>>;
|
|
112
|
+
export type ServerPluginAPI = {
|
|
113
|
+
setAppContext: (c: ISAppContext) => void;
|
|
114
|
+
useAppContext: () => ISAppContext;
|
|
115
|
+
useConfigContext: () => ServerConfig;
|
|
116
|
+
};
|
|
117
|
+
export type PluginAPI = ServerPluginAPI & CommonAPI<ServerHooks>;
|
|
118
|
+
/** Runner */
|
|
119
|
+
export type ServerHookRunner = ToRunners<ServerHooks>;
|
|
120
|
+
/** Plugin options of a server plugin. */
|
|
121
|
+
export type ServerPlugin = PluginOptions<ServerHooks, AsyncSetup<ServerHooks, PluginAPI>>;
|
|
122
|
+
export type CacheConfig = {
|
|
123
|
+
strategy: CacheOption;
|
|
124
|
+
container?: Container;
|
|
125
|
+
};
|
|
126
|
+
type RenderMiddleware = UnstableMiddleware;
|
|
127
|
+
export interface RenderConfig {
|
|
128
|
+
cache?: CacheConfig;
|
|
129
|
+
middleware?: RenderMiddleware[];
|
|
130
|
+
}
|
|
131
|
+
export type ServerConfig = {
|
|
132
|
+
render?: RenderConfig;
|
|
133
|
+
plugins?: ServerPlugin[];
|
|
134
|
+
} & UserConfig;
|
package/package.json
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"modern",
|
|
16
16
|
"modern.js"
|
|
17
17
|
],
|
|
18
|
-
"version": "2.
|
|
18
|
+
"version": "2.54.0",
|
|
19
19
|
"jsnext:source": "./src/index.ts",
|
|
20
20
|
"types": "./dist/types/index.d.ts",
|
|
21
21
|
"main": "./dist/cjs/index.js",
|
|
@@ -23,26 +23,13 @@
|
|
|
23
23
|
"exports": {
|
|
24
24
|
".": {
|
|
25
25
|
"types": "./dist/types/index.d.ts",
|
|
26
|
-
"
|
|
27
|
-
"jsnext:source": "./src/index.ts",
|
|
28
|
-
"import": "./dist/esm/index.js",
|
|
29
|
-
"require": "./dist/cjs/index.js"
|
|
30
|
-
},
|
|
26
|
+
"import": "./dist/esm-node/index.d.ts",
|
|
31
27
|
"default": "./dist/cjs/index.js"
|
|
32
28
|
},
|
|
33
|
-
"./
|
|
34
|
-
"types": "./dist/types/
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"require": "./dist/cjs/base/index.js",
|
|
38
|
-
"import": "./dist/esm/base/index.js"
|
|
39
|
-
},
|
|
40
|
-
"default": "./dist/esm-node/base/index.js"
|
|
41
|
-
},
|
|
42
|
-
"./base/node": {
|
|
43
|
-
"types": "./dist/types/base/adapters/node/index.d.ts",
|
|
44
|
-
"import": "./dist/esm/base/adapters/node/index.js",
|
|
45
|
-
"default": "./dist/cjs/base/adapters/node/index.js"
|
|
29
|
+
"./node": {
|
|
30
|
+
"types": "./dist/types/adapters/node/index.d.ts",
|
|
31
|
+
"import": "./dist/esm-node/adapters/node/index.js",
|
|
32
|
+
"default": "./dist/cjs/adapters/node/index.js"
|
|
46
33
|
}
|
|
47
34
|
},
|
|
48
35
|
"typesVersions": {
|
|
@@ -50,11 +37,8 @@
|
|
|
50
37
|
".": [
|
|
51
38
|
"./dist/types/index.d.ts"
|
|
52
39
|
],
|
|
53
|
-
"
|
|
54
|
-
"./dist/types/
|
|
55
|
-
],
|
|
56
|
-
"base/node": [
|
|
57
|
-
"./dist/types/base/adapters/node/index.d.ts"
|
|
40
|
+
"node": [
|
|
41
|
+
"./dist/types/adapters/node/index.d.ts"
|
|
58
42
|
]
|
|
59
43
|
}
|
|
60
44
|
},
|
|
@@ -67,11 +51,11 @@
|
|
|
67
51
|
"@web-std/stream": "^1.0.3",
|
|
68
52
|
"@web-std/file": "^3.0.3",
|
|
69
53
|
"hono": "^3.12.2",
|
|
54
|
+
"deepmerge-ts": "7.0.2",
|
|
70
55
|
"isbot": "3.8.0",
|
|
71
|
-
"
|
|
72
|
-
"@modern-js/
|
|
73
|
-
"@modern-js/
|
|
74
|
-
"@modern-js/utils": "2.53.0"
|
|
56
|
+
"@modern-js/runtime-utils": "2.54.0",
|
|
57
|
+
"@modern-js/utils": "2.54.0",
|
|
58
|
+
"@modern-js/plugin": "2.54.0"
|
|
75
59
|
},
|
|
76
60
|
"devDependencies": {
|
|
77
61
|
"@types/jest": "^29",
|
|
@@ -81,9 +65,9 @@
|
|
|
81
65
|
"jest": "^29",
|
|
82
66
|
"ts-jest": "^29.1.0",
|
|
83
67
|
"typescript": "^5",
|
|
84
|
-
"@scripts/build": "2.
|
|
85
|
-
"@modern-js/types": "2.
|
|
86
|
-
"@scripts/jest-config": "2.
|
|
68
|
+
"@scripts/build": "2.54.0",
|
|
69
|
+
"@modern-js/types": "2.54.0",
|
|
70
|
+
"@scripts/jest-config": "2.54.0"
|
|
87
71
|
},
|
|
88
72
|
"sideEffects": false,
|
|
89
73
|
"publishConfig": {
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var bff_exports = {};
|
|
20
|
-
__export(bff_exports, {
|
|
21
|
-
bindBFFHandler: () => bindBFFHandler
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(bff_exports);
|
|
24
|
-
var import_utils = require("@modern-js/utils");
|
|
25
|
-
var import_middlewares = require("../../../base/middlewares");
|
|
26
|
-
var import_utils2 = require("../../utils");
|
|
27
|
-
const bindBFFHandler = async (server, options) => {
|
|
28
|
-
var _options_config_bff, _options_config, _options_config_bff1, _options_config1, _options_config_bff2, _options_config2;
|
|
29
|
-
const prefix = (options === null || options === void 0 ? void 0 : (_options_config = options.config) === null || _options_config === void 0 ? void 0 : (_options_config_bff = _options_config.bff) === null || _options_config_bff === void 0 ? void 0 : _options_config_bff.prefix) || "/api";
|
|
30
|
-
const enableHandleWeb = options === null || options === void 0 ? void 0 : (_options_config1 = options.config) === null || _options_config1 === void 0 ? void 0 : (_options_config_bff1 = _options_config1.bff) === null || _options_config_bff1 === void 0 ? void 0 : _options_config_bff1.enableHandleWeb;
|
|
31
|
-
const httpMethodDecider = options === null || options === void 0 ? void 0 : (_options_config2 = options.config) === null || _options_config2 === void 0 ? void 0 : (_options_config_bff2 = _options_config2.bff) === null || _options_config_bff2 === void 0 ? void 0 : _options_config_bff2.httpMethodDecider;
|
|
32
|
-
const runtimeEnv = (0, import_utils2.getRuntimeEnv)();
|
|
33
|
-
if (runtimeEnv !== "node") {
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
const { getMiddlewares, ...collector } = (0, import_utils2.createMiddlewareCollecter)();
|
|
37
|
-
const { runner } = server;
|
|
38
|
-
await runner.gather(collector);
|
|
39
|
-
const webOnly = await (0, import_utils.isWebOnly)();
|
|
40
|
-
let handler;
|
|
41
|
-
if (webOnly) {
|
|
42
|
-
handler = async (c, next) => {
|
|
43
|
-
c.body("");
|
|
44
|
-
await next();
|
|
45
|
-
};
|
|
46
|
-
} else {
|
|
47
|
-
const renderHandler = enableHandleWeb ? await (0, import_middlewares.getRenderHandler)(options, server) : null;
|
|
48
|
-
handler = await server.runner.prepareApiServer({
|
|
49
|
-
pwd: options.pwd,
|
|
50
|
-
prefix,
|
|
51
|
-
render: renderHandler,
|
|
52
|
-
httpMethodDecider
|
|
53
|
-
}, {
|
|
54
|
-
onLast: () => null
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
if (handler) {
|
|
58
|
-
server.all(`*`, (c, next) => {
|
|
59
|
-
if (!c.req.path.startsWith(prefix) && !enableHandleWeb) {
|
|
60
|
-
return next();
|
|
61
|
-
} else {
|
|
62
|
-
return handler(c, next);
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
};
|
|
67
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
68
|
-
0 && (module.exports = {
|
|
69
|
-
bindBFFHandler
|
|
70
|
-
});
|