@modern-js/server-core 2.47.1-alpha.0 → 2.48.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/index.js +4 -6
- package/dist/cjs/{core/loadPlugins.js → loadPlugins.js} +1 -1
- package/dist/cjs/{core/plugin.js → plugin.js} +3 -1
- package/dist/esm/index.js +2 -3
- package/dist/esm/{core/loadPlugins.js → loadPlugins.js} +1 -1
- package/dist/esm/{core/plugin.js → plugin.js} +3 -1
- package/dist/types/index.d.ts +2 -3
- package/dist/types/{core/loadPlugins.d.ts → loadPlugins.d.ts} +1 -1
- package/dist/types/{core/plugin.d.ts → plugin.d.ts} +35 -32
- package/package.json +6 -29
- package/dist/cjs/base/adapters/node/bff.js +0 -69
- package/dist/cjs/base/adapters/node/hono.js +0 -62
- package/dist/cjs/base/adapters/node/index.js +0 -32
- package/dist/cjs/base/adapters/node/loadServer.js +0 -56
- package/dist/cjs/base/adapters/node/middlewares/index.js +0 -26
- package/dist/cjs/base/adapters/node/middlewares/mock.js +0 -113
- package/dist/cjs/base/adapters/node/middlewares/serverStatic.js +0 -105
- package/dist/cjs/base/adapters/node/middlewares/templates.js +0 -65
- package/dist/cjs/base/adapters/node/node.js +0 -121
- package/dist/cjs/base/adapters/node/polyfills/index.js +0 -24
- package/dist/cjs/base/adapters/node/polyfills/install.js +0 -57
- package/dist/cjs/base/adapters/node/polyfills/stream.js +0 -159
- package/dist/cjs/base/constants.js +0 -55
- package/dist/cjs/base/index.js +0 -73
- package/dist/cjs/base/middlewares/customServer/base.js +0 -115
- package/dist/cjs/base/middlewares/customServer/context.js +0 -78
- package/dist/cjs/base/middlewares/customServer/index.js +0 -138
- package/dist/cjs/base/middlewares/customServer/routerApi.js +0 -48
- package/dist/cjs/base/middlewares/customServer/template.js +0 -60
- package/dist/cjs/base/middlewares/dataHandler.js +0 -69
- package/dist/cjs/base/middlewares/faviconFallback.js +0 -34
- package/dist/cjs/base/middlewares/index.js +0 -28
- package/dist/cjs/base/middlewares/monitor.js +0 -75
- package/dist/cjs/base/middlewares/renderHandler/index.js +0 -92
- package/dist/cjs/base/middlewares/renderHandler/render.js +0 -90
- package/dist/cjs/base/middlewares/renderHandler/serverTiming.js +0 -43
- package/dist/cjs/base/middlewares/renderHandler/ssrCache.js +0 -173
- package/dist/cjs/base/middlewares/renderHandler/ssrRender.js +0 -183
- package/dist/cjs/base/serverBase.js +0 -167
- package/dist/cjs/base/utils/debug.js +0 -29
- package/dist/cjs/base/utils/entry.js +0 -30
- package/dist/cjs/base/utils/env.js +0 -45
- package/dist/cjs/base/utils/error.js +0 -65
- package/dist/cjs/base/utils/index.js +0 -40
- package/dist/cjs/base/utils/middlewareCollector.js +0 -54
- package/dist/cjs/base/utils/path.js +0 -46
- package/dist/cjs/base/utils/request.js +0 -65
- package/dist/cjs/base/utils/serverConfig.js +0 -71
- package/dist/cjs/base/utils/transformStream.js +0 -38
- package/dist/cjs/base/utils/warmup.js +0 -43
- package/dist/cjs/core/hono.js +0 -16
- package/dist/cjs/core/index.js +0 -24
- package/dist/cjs/core/render.js +0 -16
- package/dist/cjs/core/server.js +0 -22
- package/dist/esm/base/adapters/node/bff.js +0 -45
- package/dist/esm/base/adapters/node/hono.js +0 -37
- package/dist/esm/base/adapters/node/index.js +0 -6
- package/dist/esm/base/adapters/node/loadServer.js +0 -22
- package/dist/esm/base/adapters/node/middlewares/index.js +0 -3
- package/dist/esm/base/adapters/node/middlewares/mock.js +0 -79
- package/dist/esm/base/adapters/node/middlewares/serverStatic.js +0 -71
- package/dist/esm/base/adapters/node/middlewares/templates.js +0 -31
- package/dist/esm/base/adapters/node/node.js +0 -95
- package/dist/esm/base/adapters/node/polyfills/index.js +0 -2
- package/dist/esm/base/adapters/node/polyfills/install.js +0 -33
- package/dist/esm/base/adapters/node/polyfills/stream.js +0 -132
- package/dist/esm/base/constants.js +0 -29
- package/dist/esm/base/index.js +0 -32
- package/dist/esm/base/middlewares/customServer/base.js +0 -91
- package/dist/esm/base/middlewares/customServer/context.js +0 -51
- package/dist/esm/base/middlewares/customServer/index.js +0 -114
- package/dist/esm/base/middlewares/customServer/routerApi.js +0 -24
- package/dist/esm/base/middlewares/customServer/template.js +0 -36
- package/dist/esm/base/middlewares/dataHandler.js +0 -35
- package/dist/esm/base/middlewares/faviconFallback.js +0 -10
- package/dist/esm/base/middlewares/index.js +0 -4
- package/dist/esm/base/middlewares/monitor.js +0 -49
- package/dist/esm/base/middlewares/renderHandler/index.js +0 -67
- package/dist/esm/base/middlewares/renderHandler/render.js +0 -66
- package/dist/esm/base/middlewares/renderHandler/serverTiming.js +0 -19
- package/dist/esm/base/middlewares/renderHandler/ssrCache.js +0 -149
- package/dist/esm/base/middlewares/renderHandler/ssrRender.js +0 -149
- package/dist/esm/base/serverBase.js +0 -143
- package/dist/esm/base/utils/debug.js +0 -5
- package/dist/esm/base/utils/entry.js +0 -6
- package/dist/esm/base/utils/env.js +0 -20
- package/dist/esm/base/utils/error.js +0 -41
- package/dist/esm/base/utils/index.js +0 -10
- package/dist/esm/base/utils/middlewareCollector.js +0 -29
- package/dist/esm/base/utils/path.js +0 -12
- package/dist/esm/base/utils/request.js +0 -38
- package/dist/esm/base/utils/serverConfig.js +0 -35
- package/dist/esm/base/utils/transformStream.js +0 -14
- package/dist/esm/base/utils/warmup.js +0 -9
- package/dist/esm/core/hono.js +0 -0
- package/dist/esm/core/index.js +0 -2
- package/dist/esm/core/render.js +0 -0
- package/dist/esm/core/server.js +0 -1
- package/dist/types/base/adapters/node/bff.d.ts +0 -4
- package/dist/types/base/adapters/node/hono.d.ts +0 -30
- package/dist/types/base/adapters/node/index.d.ts +0 -6
- package/dist/types/base/adapters/node/loadServer.d.ts +0 -3
- package/dist/types/base/adapters/node/middlewares/index.d.ts +0 -3
- package/dist/types/base/adapters/node/middlewares/mock.d.ts +0 -5
- package/dist/types/base/adapters/node/middlewares/serverStatic.d.ts +0 -9
- package/dist/types/base/adapters/node/middlewares/templates.d.ts +0 -3
- package/dist/types/base/adapters/node/node.d.ts +0 -12
- package/dist/types/base/adapters/node/polyfills/index.d.ts +0 -2
- package/dist/types/base/adapters/node/polyfills/install.d.ts +0 -1
- package/dist/types/base/adapters/node/polyfills/stream.d.ts +0 -18
- package/dist/types/base/constants.d.ts +0 -23
- package/dist/types/base/index.d.ts +0 -9
- package/dist/types/base/middlewares/customServer/base.d.ts +0 -3
- package/dist/types/base/middlewares/customServer/context.d.ts +0 -7
- package/dist/types/base/middlewares/customServer/index.d.ts +0 -13
- package/dist/types/base/middlewares/customServer/routerApi.d.ts +0 -9
- package/dist/types/base/middlewares/customServer/template.d.ts +0 -11
- package/dist/types/base/middlewares/dataHandler.d.ts +0 -3
- package/dist/types/base/middlewares/faviconFallback.d.ts +0 -2
- package/dist/types/base/middlewares/index.d.ts +0 -4
- package/dist/types/base/middlewares/monitor.d.ts +0 -7
- package/dist/types/base/middlewares/renderHandler/index.d.ts +0 -9
- package/dist/types/base/middlewares/renderHandler/render.d.ts +0 -12
- package/dist/types/base/middlewares/renderHandler/serverTiming.d.ts +0 -7
- package/dist/types/base/middlewares/renderHandler/ssrCache.d.ts +0 -17
- package/dist/types/base/middlewares/renderHandler/ssrRender.d.ts +0 -18
- package/dist/types/base/serverBase.d.ts +0 -49
- package/dist/types/base/utils/debug.d.ts +0 -1
- package/dist/types/base/utils/entry.d.ts +0 -2
- package/dist/types/base/utils/env.d.ts +0 -2
- package/dist/types/base/utils/error.d.ts +0 -1
- package/dist/types/base/utils/index.d.ts +0 -10
- package/dist/types/base/utils/middlewareCollector.d.ts +0 -12
- package/dist/types/base/utils/path.d.ts +0 -3
- package/dist/types/base/utils/request.d.ts +0 -12
- package/dist/types/base/utils/serverConfig.d.ts +0 -14
- package/dist/types/base/utils/transformStream.d.ts +0 -2
- package/dist/types/base/utils/warmup.d.ts +0 -1
- package/dist/types/core/hono.d.ts +0 -1
- package/dist/types/core/index.d.ts +0 -2
- package/dist/types/core/render.d.ts +0 -11
- package/dist/types/core/server.d.ts +0 -71
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { compatRequire, fs, DEFAULT_SERVER_CONFIG } from "@modern-js/utils";
|
|
2
|
-
import mergeDeep from "merge-deep";
|
|
3
|
-
import { getPathModule } from "./path";
|
|
4
|
-
const getServerConfigPath = async (distDirectory, serverConfigFile = DEFAULT_SERVER_CONFIG) => {
|
|
5
|
-
const path = await getPathModule();
|
|
6
|
-
const serverConfigPath = path.join(distDirectory, serverConfigFile);
|
|
7
|
-
return `${serverConfigPath}.js`;
|
|
8
|
-
};
|
|
9
|
-
const requireConfig = (serverConfigPath) => {
|
|
10
|
-
if (fs.pathExistsSync(serverConfigPath)) {
|
|
11
|
-
return compatRequire(serverConfigPath);
|
|
12
|
-
}
|
|
13
|
-
return {};
|
|
14
|
-
};
|
|
15
|
-
const loadConfig = ({ cliConfig, serverConfig, resolvedConfigPath }) => {
|
|
16
|
-
let config = null;
|
|
17
|
-
if (process.env.NODE_ENV === "production") {
|
|
18
|
-
const resolvedConfig = requireConfig(resolvedConfigPath);
|
|
19
|
-
config = mergeDeep({
|
|
20
|
-
...resolvedConfig,
|
|
21
|
-
plugins: []
|
|
22
|
-
}, serverConfig, cliConfig);
|
|
23
|
-
} else {
|
|
24
|
-
config = mergeDeep({
|
|
25
|
-
...cliConfig,
|
|
26
|
-
plugins: []
|
|
27
|
-
}, serverConfig);
|
|
28
|
-
}
|
|
29
|
-
return config;
|
|
30
|
-
};
|
|
31
|
-
export {
|
|
32
|
-
getServerConfigPath,
|
|
33
|
-
loadConfig,
|
|
34
|
-
requireConfig
|
|
35
|
-
};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
function createTransformStream(fn) {
|
|
2
|
-
const decoder = new TextDecoder();
|
|
3
|
-
const encoder = new TextEncoder();
|
|
4
|
-
return new TransformStream({
|
|
5
|
-
async transform(chunk, controller) {
|
|
6
|
-
const content = decoder.decode(chunk);
|
|
7
|
-
const newContent = await fn(content);
|
|
8
|
-
controller.enqueue(encoder.encode(newContent));
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
}
|
|
12
|
-
export {
|
|
13
|
-
createTransformStream
|
|
14
|
-
};
|
package/dist/esm/core/hono.js
DELETED
|
File without changes
|
package/dist/esm/core/index.js
DELETED
package/dist/esm/core/render.js
DELETED
|
File without changes
|
package/dist/esm/core/server.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./hono";
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { ServerBaseOptions } from '../../../core/server';
|
|
2
|
-
import { BindRenderHandleOptions } from '../../../base/middlewares';
|
|
3
|
-
import { ServerBase } from '../../serverBase';
|
|
4
|
-
export declare const bindBFFHandler: (server: ServerBase, options: ServerBaseOptions & BindRenderHandleOptions) => Promise<void>;
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { Metrics, Reporter } from '@modern-js/types/server';
|
|
2
|
-
import { Logger } from '@modern-js/types';
|
|
3
|
-
import { NodeRequest, NodeResponse } from '../../../core/plugin';
|
|
4
|
-
import { HonoContext, HonoRequest, Middleware, Next } from '../../../core/server';
|
|
5
|
-
type NodeBindings = {
|
|
6
|
-
node: {
|
|
7
|
-
req: NodeRequest & {
|
|
8
|
-
__honoRequest: HonoRequest;
|
|
9
|
-
__templates: Record<string, string>;
|
|
10
|
-
};
|
|
11
|
-
res: NodeResponse;
|
|
12
|
-
};
|
|
13
|
-
};
|
|
14
|
-
type NodeVariables = {
|
|
15
|
-
reporter: Reporter;
|
|
16
|
-
logger: Logger;
|
|
17
|
-
templates?: Record<string, string>;
|
|
18
|
-
metrics?: Metrics;
|
|
19
|
-
};
|
|
20
|
-
export type HonoNodeEnv = {
|
|
21
|
-
Bindings: NodeBindings;
|
|
22
|
-
Variables: NodeVariables;
|
|
23
|
-
};
|
|
24
|
-
export type ServerNodeMiddleware = Middleware<HonoNodeEnv>;
|
|
25
|
-
export type ServerNodeContext = HonoContext<HonoNodeEnv>;
|
|
26
|
-
type Handler = (req: NodeRequest, res: NodeResponse) => void | Promise<void>;
|
|
27
|
-
export declare const httpCallBack2HonoMid: (handler: Handler) => (context: HonoContext<HonoNodeEnv>, next: Next) => Promise<void>;
|
|
28
|
-
type ConnectMiddleware = ((req: NodeRequest, res: NodeResponse, callback: (...args: unknown[]) => void) => void) | ((req: NodeRequest, res: NodeResponse) => void);
|
|
29
|
-
export declare const connectMid2HonoMid: (handler: ConnectMiddleware) => Middleware;
|
|
30
|
-
export {};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { OutputNormalizedConfig, HtmlNormalizedConfig } from '../../../../types/config';
|
|
2
|
-
import { Middleware } from '../../../../core/server';
|
|
3
|
-
interface ServerStaticOptions {
|
|
4
|
-
pwd: string;
|
|
5
|
-
output: OutputNormalizedConfig;
|
|
6
|
-
html: HtmlNormalizedConfig;
|
|
7
|
-
}
|
|
8
|
-
export declare function createStaticMiddleware(options: ServerStaticOptions): Middleware;
|
|
9
|
-
export {};
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { Server as NodeServer } from 'node:http';
|
|
3
|
-
import { NodeRequest, NodeResponse } from '../../../core/plugin';
|
|
4
|
-
import { RequestHandler } from '../../../core/server';
|
|
5
|
-
export declare const createWebRequest: (req: NodeRequest, res: NodeResponse) => Request;
|
|
6
|
-
export declare const sendResponse: (response: Response, res: NodeResponse) => Promise<void>;
|
|
7
|
-
declare const getRequestListener: (handler: RequestHandler) => (req: NodeRequest, res: NodeResponse) => Promise<void>;
|
|
8
|
-
type NodeServerWrapper = NodeServer & {
|
|
9
|
-
getRequestHandler: () => ReturnType<typeof getRequestListener>;
|
|
10
|
-
};
|
|
11
|
-
export declare const createNodeServer: (handleRequest: RequestHandler) => NodeServerWrapper;
|
|
12
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const installGlobals: () => void;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
/// <reference types="node" />
|
|
3
|
-
/**
|
|
4
|
-
* The following code is modified based on
|
|
5
|
-
* https://github.com/remix-run/remix/blob/f7defe0b46c50947f6269d5ab5b6e3fe59339054/packages/remix-node/stream.ts#L3
|
|
6
|
-
*
|
|
7
|
-
* MIT Licensed
|
|
8
|
-
* Author Michael Jackson
|
|
9
|
-
* Copyright 2021 Remix Software Inc.
|
|
10
|
-
* https://github.com/remix-run/remix/blob/f7defe0b46c50947f6269d5ab5b6e3fe59339054/LICENSE.md
|
|
11
|
-
*/
|
|
12
|
-
import type { Readable, Writable } from 'node:stream';
|
|
13
|
-
export declare function writeReadableStreamToWritable(stream: ReadableStream, writable: Writable): Promise<void>;
|
|
14
|
-
export declare function writeAsyncIterableToWritable(iterable: AsyncIterable<Uint8Array>, writable: Writable): Promise<void>;
|
|
15
|
-
export declare function readableStreamToString(stream: ReadableStream<Uint8Array>, encoding?: BufferEncoding): Promise<string>;
|
|
16
|
-
export declare const createReadableStreamFromReadable: (source: Readable & {
|
|
17
|
-
readableHighWaterMark?: number;
|
|
18
|
-
}) => ReadableStream<Uint8Array>;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
export declare const AGGRED_DIR: {
|
|
2
|
-
mock: string;
|
|
3
|
-
server: string;
|
|
4
|
-
api: string;
|
|
5
|
-
shared: string;
|
|
6
|
-
lambda: string;
|
|
7
|
-
};
|
|
8
|
-
export declare const REPLACE_REG: {
|
|
9
|
-
before: {
|
|
10
|
-
head: string;
|
|
11
|
-
body: string;
|
|
12
|
-
};
|
|
13
|
-
after: {
|
|
14
|
-
head: string;
|
|
15
|
-
body: string;
|
|
16
|
-
};
|
|
17
|
-
};
|
|
18
|
-
export declare enum ServerReportTimings {
|
|
19
|
-
SERVER_HANDLE_REQUEST = "server-handle-request",
|
|
20
|
-
SERVER_MIDDLEWARE = "server-middleware",
|
|
21
|
-
SERVER_HOOK_AFTER_RENDER = "server-hook-after-render",
|
|
22
|
-
SERVER_HOOK_AFTER_MATCH = "server-hook-after-match"
|
|
23
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { ServerBaseOptions, Next, Middleware, HonoEnv } from '../core/server';
|
|
2
|
-
import { ServerBase } from './serverBase';
|
|
3
|
-
export { createErrorHtml } from './utils';
|
|
4
|
-
export { AGGRED_DIR } from './constants';
|
|
5
|
-
export { httpCallBack2HonoMid, createNodeServer, loadServerEnv, connectMid2HonoMid, sendResponse, createStaticMiddleware, bindBFFHandler, registerMockHandlers, createInjectHtml, } from './adapters/node';
|
|
6
|
-
export { favionFallbackMiddleware, bindDataHandlers, injectReporter, getRenderHandler, injectLogger, bindRenderHandler, } from './middlewares';
|
|
7
|
-
export type { BindRenderHandleOptions } from './middlewares';
|
|
8
|
-
export declare function createServerBase<E extends HonoEnv>(options: ServerBaseOptions): ServerBase<E>;
|
|
9
|
-
export type { ServerBaseOptions, Next, Middleware, ServerBase };
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { AfterMatchContext, AfterRenderContext, Metrics, MiddlewareContext, Logger, AfterStreamingRenderContext, ServerRoute } from '@modern-js/types';
|
|
2
|
-
import { HonoContext } from '../../../core/server';
|
|
3
|
-
import type { HonoNodeEnv } from '../../adapters/node';
|
|
4
|
-
export declare function createAfterMatchCtx(c: HonoContext, entryName: string, logger: Logger, metrics?: Metrics): AfterMatchContext;
|
|
5
|
-
export declare function createAfterRenderCtx(c: HonoContext, logger: Logger, metrics?: Metrics): Promise<AfterRenderContext>;
|
|
6
|
-
export declare function createCustomMiddlewaresCtx(c: HonoContext<HonoNodeEnv>, logger: Logger, metrics?: Metrics): MiddlewareContext;
|
|
7
|
-
export declare function createAfterStreamingRenderContext(c: HonoContext, logger: Logger, route: Partial<ServerRoute>, metrics?: Metrics): (chunk: string) => AfterStreamingRenderContext;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { ServerRoute } from '@modern-js/types';
|
|
2
|
-
import { ServerBase } from '../../serverBase';
|
|
3
|
-
import { ServerHookRunner } from '../../../core/plugin';
|
|
4
|
-
import { Middleware } from '../../../core/server';
|
|
5
|
-
import { HonoNodeEnv } from '../../adapters/node';
|
|
6
|
-
export declare class CustomServer {
|
|
7
|
-
private runner;
|
|
8
|
-
private serverMiddlewarePromise;
|
|
9
|
-
private serverBase;
|
|
10
|
-
constructor(runner: ServerHookRunner, serverBase: ServerBase, pwd: string);
|
|
11
|
-
getHookMiddleware(entryName: string, routes: ServerRoute[]): Middleware<HonoNodeEnv>;
|
|
12
|
-
getServerMiddleware(): Middleware<HonoNodeEnv>;
|
|
13
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export declare class TemplateApi {
|
|
2
|
-
private body;
|
|
3
|
-
constructor(body: string);
|
|
4
|
-
set(content: string): void;
|
|
5
|
-
get(): string;
|
|
6
|
-
prependHead(fragment: string): void;
|
|
7
|
-
appendHead(fragment: string): void;
|
|
8
|
-
prependBody(fragment: string): void;
|
|
9
|
-
appendBody(fragment: string): void;
|
|
10
|
-
private replaceBody;
|
|
11
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { Next } from 'hono';
|
|
2
|
-
import { Logger } from '@modern-js/types';
|
|
3
|
-
import { HonoContext } from '../../core/server';
|
|
4
|
-
import { HonoNodeEnv } from '../adapters/node';
|
|
5
|
-
export declare function injectReporter(): (c: HonoContext<HonoNodeEnv>, next: Next) => Promise<void>;
|
|
6
|
-
export declare function initReporter(entryName: string): (c: HonoContext<HonoNodeEnv>, next: Next) => Promise<void>;
|
|
7
|
-
export declare function injectLogger(inputLogger: Logger): (c: HonoContext<HonoNodeEnv>, next: Next) => Promise<void>;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { Render } from '../../../core/render';
|
|
2
|
-
import { ServerBaseOptions } from '../../../core/server';
|
|
3
|
-
import { ServerBase } from '../../serverBase';
|
|
4
|
-
export type BindRenderHandleOptions = {
|
|
5
|
-
metaName?: string;
|
|
6
|
-
staticGenerate?: boolean;
|
|
7
|
-
};
|
|
8
|
-
export declare function getRenderHandler(options: ServerBaseOptions & BindRenderHandleOptions): Render | null;
|
|
9
|
-
export declare function bindRenderHandler(server: ServerBase, options: ServerBaseOptions & BindRenderHandleOptions): Promise<void>;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { ServerRoute } from '@modern-js/types';
|
|
2
|
-
import { Render } from '../../../core/render';
|
|
3
|
-
interface CreateRenderOptions {
|
|
4
|
-
routes: ServerRoute[];
|
|
5
|
-
pwd: string;
|
|
6
|
-
staticGenerate?: boolean;
|
|
7
|
-
metaName?: string;
|
|
8
|
-
forceCSR?: boolean;
|
|
9
|
-
nonce?: string;
|
|
10
|
-
}
|
|
11
|
-
export declare function createRender({ routes, pwd, metaName, staticGenerate, forceCSR, nonce, }: CreateRenderOptions): Render;
|
|
12
|
-
export {};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { ServerTiming as ServerTimingInterafce } from '@modern-js/types';
|
|
2
|
-
export declare class ServerTiming implements ServerTimingInterafce {
|
|
3
|
-
private headers;
|
|
4
|
-
private meta;
|
|
5
|
-
constructor(headers: Headers, meta: string);
|
|
6
|
-
addServeTiming(name: string, dur: number, desc?: string): this;
|
|
7
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
/// <reference types="node/http" />
|
|
3
|
-
/// <reference types="dist/types/core/server" />
|
|
4
|
-
import type { IncomingMessage } from 'http';
|
|
5
|
-
import { Readable } from 'stream';
|
|
6
|
-
import type { CacheControl, CacheOption, Container } from '@modern-js/types';
|
|
7
|
-
import type { SSRServerContext, ServerRender } from '../../../core/server';
|
|
8
|
-
declare class ServerCache {
|
|
9
|
-
customContainer?: Container;
|
|
10
|
-
cacheOption?: CacheOption;
|
|
11
|
-
private cacheManger?;
|
|
12
|
-
loadCacheMod(pwd?: string): Promise<void>;
|
|
13
|
-
matchCacheControl(req?: IncomingMessage): CacheControl | Promise<CacheControl> | undefined;
|
|
14
|
-
getCache(req: Request, cacheControl: CacheControl, render: ServerRender, ssrContext: SSRServerContext): Promise<string | Readable | ReadableStream<any>>;
|
|
15
|
-
}
|
|
16
|
-
export declare const ssrCache: ServerCache;
|
|
17
|
-
export {};
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/// <reference types="node/http" />
|
|
2
|
-
/// <reference types="dist/types/core/server" />
|
|
3
|
-
import type { IncomingMessage } from 'http';
|
|
4
|
-
import type { Logger, Reporter, ServerRoute } from '@modern-js/types';
|
|
5
|
-
interface SSRRenderOptions {
|
|
6
|
-
pwd: string;
|
|
7
|
-
mode: 'string' | 'stream';
|
|
8
|
-
html: string;
|
|
9
|
-
routeInfo: ServerRoute;
|
|
10
|
-
staticGenerate: boolean;
|
|
11
|
-
metaName: string;
|
|
12
|
-
logger: Logger;
|
|
13
|
-
reporter?: Reporter;
|
|
14
|
-
nodeReq?: IncomingMessage;
|
|
15
|
-
nonce?: string;
|
|
16
|
-
}
|
|
17
|
-
export declare function ssrRender(request: Request, { routeInfo, pwd, html, staticGenerate, nonce, metaName, reporter, logger, nodeReq, }: SSRRenderOptions): Promise<Response>;
|
|
18
|
-
export {};
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { Hono } from 'hono';
|
|
2
|
-
import { ServerHookRunner } from '../core';
|
|
3
|
-
import { HonoEnv, ServerBaseOptions } from '../core/server';
|
|
4
|
-
declare module '@modern-js/types' {
|
|
5
|
-
interface ISAppContext {
|
|
6
|
-
serverBase?: ServerBase;
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
export declare class ServerBase<E extends HonoEnv = any> {
|
|
10
|
-
options: ServerBaseOptions;
|
|
11
|
-
runner: ServerHookRunner;
|
|
12
|
-
private app;
|
|
13
|
-
private serverConfig;
|
|
14
|
-
constructor(options: ServerBaseOptions);
|
|
15
|
-
/**
|
|
16
|
-
* 初始化顺序
|
|
17
|
-
* - 获取 server runtime config
|
|
18
|
-
* - 设置 context
|
|
19
|
-
* - 创建 hooksRunner
|
|
20
|
-
* - 合并插件,内置插件和 serverConfig 中配置的插件
|
|
21
|
-
* - 执行 config hook
|
|
22
|
-
* - 获取最终的配置
|
|
23
|
-
* - 设置配置到 context
|
|
24
|
-
* - 执行 prepare hook
|
|
25
|
-
*/
|
|
26
|
-
init(): Promise<this>;
|
|
27
|
-
private createHookRunner;
|
|
28
|
-
private initServerConfig;
|
|
29
|
-
private injectContext;
|
|
30
|
-
private initAppContext;
|
|
31
|
-
/**
|
|
32
|
-
* Execute config hooks
|
|
33
|
-
* @param runner
|
|
34
|
-
* @param options
|
|
35
|
-
*/
|
|
36
|
-
private runConfigHook;
|
|
37
|
-
private initConfig;
|
|
38
|
-
get all(): import("hono/types").HandlerInterface<E, "all", {}, "/">;
|
|
39
|
-
get use(): import("hono/types").MiddlewareHandlerInterface<E, {}, "/">;
|
|
40
|
-
get get(): import("hono/types").HandlerInterface<E, "get", {}, "/">;
|
|
41
|
-
get post(): import("hono/types").HandlerInterface<E, "post", {}, "/">;
|
|
42
|
-
get put(): import("hono/types").HandlerInterface<E, "put", {}, "/">;
|
|
43
|
-
get delete(): import("hono/types").HandlerInterface<E, "delete", {}, "/">;
|
|
44
|
-
get patch(): import("hono/types").HandlerInterface<E, "patch", {}, "/">;
|
|
45
|
-
get handle(): (request: Request, Env?: {} | E["Bindings"] | undefined, executionCtx?: import("hono/dist/types/context").ExecutionContext | undefined) => Response | Promise<Response>;
|
|
46
|
-
get request(): (input: RequestInfo | URL, requestInit?: RequestInit | undefined, Env?: {} | E["Bindings"] | undefined, executionCtx?: import("hono/dist/types/context").ExecutionContext | undefined) => Response | Promise<Response>;
|
|
47
|
-
get notFound(): (handler: import("hono").NotFoundHandler<E>) => Hono<E, {}, "/">;
|
|
48
|
-
get onError(): (handler: import("hono").ErrorHandler<E>) => Hono<E, {}, "/">;
|
|
49
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const debug: import("@modern-js/utils/compiled/debug").Debugger;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const createErrorHtml: (status: number) => string;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export * from './env';
|
|
2
|
-
export * from './request';
|
|
3
|
-
export * from './serverConfig';
|
|
4
|
-
export * from './debug';
|
|
5
|
-
export * from './transformStream';
|
|
6
|
-
export * from './middlewareCollector';
|
|
7
|
-
export * from './error';
|
|
8
|
-
export * from './warmup';
|
|
9
|
-
export * from './entry';
|
|
10
|
-
export * from './path';
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export type CollectMiddlewaresResult = {
|
|
2
|
-
web: any[];
|
|
3
|
-
api: any[];
|
|
4
|
-
};
|
|
5
|
-
export declare const mergeExtension: (users: any[]) => {
|
|
6
|
-
middleware: any[];
|
|
7
|
-
};
|
|
8
|
-
export declare const createMiddlewareCollecter: () => {
|
|
9
|
-
getMiddlewares: () => CollectMiddlewaresResult;
|
|
10
|
-
addWebMiddleware: (input: any) => void;
|
|
11
|
-
addAPIMiddleware: (input: any) => void;
|
|
12
|
-
};
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export declare function parseQuery(request: Request): Record<string, string>;
|
|
2
|
-
export declare function parseHeaders(request: Request): Record<string, string | undefined>;
|
|
3
|
-
/**
|
|
4
|
-
* The function is modified based on
|
|
5
|
-
* https://github.com/honojs/hono/blob/main/src/utils/url.ts
|
|
6
|
-
*
|
|
7
|
-
* MIT Licensed
|
|
8
|
-
* https://github.com/honojs/hono/blob/main/LICENSE
|
|
9
|
-
*
|
|
10
|
-
*/
|
|
11
|
-
export declare function getPathname(request: Request): string;
|
|
12
|
-
export declare function getHost(request: Request): string;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { ServerConfig } from '../../core/plugin';
|
|
2
|
-
import { ServerOptions } from '../../types/config';
|
|
3
|
-
export declare const getServerConfigPath: (distDirectory: string, serverConfigFile?: string) => Promise<string>;
|
|
4
|
-
export declare const requireConfig: (serverConfigPath: string) => any;
|
|
5
|
-
/**
|
|
6
|
-
* 对配置进行合并,开发环境下,cliConfig 与 serverConfig 进行深合并
|
|
7
|
-
* 生产环境下,resolvedConfig 与 serverConfig 进行深合并
|
|
8
|
-
* resolvedConfigPath: 构建序列化后的 modern.config.js 文件路径
|
|
9
|
-
*/
|
|
10
|
-
export declare const loadConfig: ({ cliConfig, serverConfig, resolvedConfigPath, }: {
|
|
11
|
-
cliConfig: ServerOptions;
|
|
12
|
-
serverConfig: ServerConfig;
|
|
13
|
-
resolvedConfigPath: string;
|
|
14
|
-
}) => any;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function warmup(bundles: Array<string | undefined>): void;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export type { NotFoundHandler, Context as HonoContext, Env as HonoEnv, HonoRequest, Next, MiddlewareHandler as HonoMiddleware, } from 'hono';
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { IncomingMessage } from 'node:http';
|
|
3
|
-
import { Logger, Reporter } from '@modern-js/types';
|
|
4
|
-
export interface RenderOptions {
|
|
5
|
-
logger: Logger;
|
|
6
|
-
/** ssr render html templates */
|
|
7
|
-
tpls: Record<string, string>;
|
|
8
|
-
reporter?: Reporter;
|
|
9
|
-
nodeReq?: IncomingMessage;
|
|
10
|
-
}
|
|
11
|
-
export type Render = (request: Request, options: RenderOptions) => Promise<Response>;
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
/// <reference types="node" />
|
|
3
|
-
/// <reference types="node" />
|
|
4
|
-
import type { IncomingMessage, Server, ServerResponse } from 'node:http';
|
|
5
|
-
import { Readable } from 'node:stream';
|
|
6
|
-
import type { Metrics, Logger, NextFunction, ModernServerContext, InternalPlugins, Reporter, BaseSSRServerContext, ServerRoute } from '@modern-js/types';
|
|
7
|
-
import { MiddlewareHandler } from 'hono';
|
|
8
|
-
import { ServerOptions } from '../types/config/index';
|
|
9
|
-
import { ServerHookRunner, ServerPlugin } from './plugin';
|
|
10
|
-
import { HonoEnv } from './hono';
|
|
11
|
-
declare module 'http' {
|
|
12
|
-
interface IncomingMessage {
|
|
13
|
-
logger: Logger;
|
|
14
|
-
metrics: Metrics;
|
|
15
|
-
reporter?: Reporter;
|
|
16
|
-
body?: any;
|
|
17
|
-
}
|
|
18
|
-
interface OutgoingMessage {
|
|
19
|
-
set: (key: string, value: any) => this;
|
|
20
|
-
modernFlushedHeaders?: boolean;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
export type ServerBaseOptions = {
|
|
24
|
-
/** server working directory, and then also dist directory */
|
|
25
|
-
pwd: string;
|
|
26
|
-
config: ServerOptions;
|
|
27
|
-
serverConfigFile?: string;
|
|
28
|
-
routes?: ServerRoute[];
|
|
29
|
-
plugins?: ServerPlugin[];
|
|
30
|
-
internalPlugins?: InternalPlugins;
|
|
31
|
-
appContext: {
|
|
32
|
-
appDirectory?: string;
|
|
33
|
-
sharedDirectory?: string;
|
|
34
|
-
apiDirectory?: string;
|
|
35
|
-
lambdaDirectory?: string;
|
|
36
|
-
};
|
|
37
|
-
runMode?: 'apiOnly' | 'ssrOnly' | 'webOnly';
|
|
38
|
-
};
|
|
39
|
-
export type SSRServerContext = BaseSSRServerContext & {
|
|
40
|
-
staticGenerate?: boolean;
|
|
41
|
-
};
|
|
42
|
-
export type ServerRender = (ssrContext: SSRServerContext) => Promise<string | Readable | ReadableStream>;
|
|
43
|
-
export type RenderResult = {
|
|
44
|
-
content: string | Buffer;
|
|
45
|
-
contentType: string;
|
|
46
|
-
contentStream?: Readable;
|
|
47
|
-
statusCode?: number;
|
|
48
|
-
redirect?: boolean;
|
|
49
|
-
};
|
|
50
|
-
export type ConfWithBFF = {
|
|
51
|
-
bff?: {
|
|
52
|
-
prefix: string;
|
|
53
|
-
} & ServerOptions['bff'];
|
|
54
|
-
};
|
|
55
|
-
export type Then<T> = T extends PromiseLike<infer U> ? U : T;
|
|
56
|
-
export type { Metrics, Logger, NextFunction };
|
|
57
|
-
export type HookNames = 'afterMatch' | 'afterRender';
|
|
58
|
-
export interface ModernServerInterface {
|
|
59
|
-
pwd: string;
|
|
60
|
-
distDir: string;
|
|
61
|
-
onInit: (runner: ServerHookRunner, app: Server) => Promise<void>;
|
|
62
|
-
getRequestHandler: () => (req: IncomingMessage, res: ServerResponse, next?: () => void) => void;
|
|
63
|
-
createHTTPServer: (handler: (req: IncomingMessage, res: ServerResponse, next?: () => void) => void) => Promise<Server>;
|
|
64
|
-
render: (req: IncomingMessage, res: ServerResponse, url?: string) => Promise<string | Readable | null>;
|
|
65
|
-
close?: () => Promise<void>;
|
|
66
|
-
}
|
|
67
|
-
export type ServerConstructor = (options: ServerBaseOptions) => ModernServerInterface;
|
|
68
|
-
export type ModernServerHandler = (context: ModernServerContext, next: NextFunction) => Promise<void> | void;
|
|
69
|
-
export type Middleware<Env extends HonoEnv = any> = MiddlewareHandler<Env>;
|
|
70
|
-
export type RequestHandler = (request: Request, ...args: any[]) => Response | Promise<Response>;
|
|
71
|
-
export * from './hono';
|