@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,178 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var ssrCache_exports = {};
|
|
30
|
+
__export(ssrCache_exports, {
|
|
31
|
+
getCacheResult: () => getCacheResult,
|
|
32
|
+
matchCacheControl: () => matchCacheControl
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(ssrCache_exports);
|
|
35
|
+
var import_storer = require("@modern-js/runtime-utils/storer");
|
|
36
|
+
var import_utils = require("../../utils");
|
|
37
|
+
async function processCache(key, render, ssrContext, ttl, container, status) {
|
|
38
|
+
const renderResult = await render(ssrContext);
|
|
39
|
+
if (!renderResult) {
|
|
40
|
+
return {
|
|
41
|
+
data: ""
|
|
42
|
+
};
|
|
43
|
+
} else if (typeof renderResult === "string") {
|
|
44
|
+
const current = Date.now();
|
|
45
|
+
const cache = {
|
|
46
|
+
val: renderResult,
|
|
47
|
+
cursor: current
|
|
48
|
+
};
|
|
49
|
+
await container.set(key, JSON.stringify(cache), {
|
|
50
|
+
ttl
|
|
51
|
+
});
|
|
52
|
+
return {
|
|
53
|
+
data: renderResult,
|
|
54
|
+
status
|
|
55
|
+
};
|
|
56
|
+
} else {
|
|
57
|
+
const { Readable } = await Promise.resolve().then(() => __toESM(require("stream"))).catch((_) => ({
|
|
58
|
+
Readable: void 0
|
|
59
|
+
}));
|
|
60
|
+
const runtimeEnv = (0, import_utils.getRuntimeEnv)();
|
|
61
|
+
const streamModule = "../../adapters/node/polyfills/stream";
|
|
62
|
+
const { createReadableStreamFromReadable } = runtimeEnv === "node" ? await Promise.resolve().then(() => __toESM(require(streamModule))).catch((_) => ({
|
|
63
|
+
createReadableStreamFromReadable: void 0
|
|
64
|
+
})) : {
|
|
65
|
+
createReadableStreamFromReadable: void 0
|
|
66
|
+
};
|
|
67
|
+
const body = (
|
|
68
|
+
// TODO: remove node:stream, move it to ssr entry.
|
|
69
|
+
Readable && renderResult instanceof Readable ? createReadableStreamFromReadable === null || createReadableStreamFromReadable === void 0 ? void 0 : createReadableStreamFromReadable(renderResult) : renderResult
|
|
70
|
+
);
|
|
71
|
+
let html = "";
|
|
72
|
+
const stream = (0, import_utils.createTransformStream)((chunk) => {
|
|
73
|
+
html += chunk;
|
|
74
|
+
return chunk;
|
|
75
|
+
});
|
|
76
|
+
const reader = body.getReader();
|
|
77
|
+
const writer = stream.writable.getWriter();
|
|
78
|
+
const push = () => {
|
|
79
|
+
reader.read().then(({ done, value }) => {
|
|
80
|
+
if (done) {
|
|
81
|
+
const current = Date.now();
|
|
82
|
+
const cache = {
|
|
83
|
+
val: html,
|
|
84
|
+
cursor: current
|
|
85
|
+
};
|
|
86
|
+
container.set(key, JSON.stringify(cache), {
|
|
87
|
+
ttl
|
|
88
|
+
});
|
|
89
|
+
writer.close();
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
writer.write(value);
|
|
93
|
+
push();
|
|
94
|
+
});
|
|
95
|
+
};
|
|
96
|
+
push();
|
|
97
|
+
return {
|
|
98
|
+
data: stream.readable,
|
|
99
|
+
status
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
const CACHE_NAMESPACE = "__ssr__cache";
|
|
104
|
+
const storage = (0, import_storer.createMemoryStorage)(CACHE_NAMESPACE);
|
|
105
|
+
function computedKey(req, cacheControl) {
|
|
106
|
+
const pathname = (0, import_utils.getPathname)(req);
|
|
107
|
+
const { customKey } = cacheControl;
|
|
108
|
+
const defaultKey = pathname.replace(/.+\/+$/, "");
|
|
109
|
+
if (customKey) {
|
|
110
|
+
if (typeof customKey === "string") {
|
|
111
|
+
return customKey;
|
|
112
|
+
} else {
|
|
113
|
+
return customKey(defaultKey);
|
|
114
|
+
}
|
|
115
|
+
} else {
|
|
116
|
+
return defaultKey;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
function matchCacheControl(cacheOption, req) {
|
|
120
|
+
if (!cacheOption || !req) {
|
|
121
|
+
return void 0;
|
|
122
|
+
} else if (isCacheControl(cacheOption)) {
|
|
123
|
+
return cacheOption;
|
|
124
|
+
} else if (isCacheOptionProvider(cacheOption)) {
|
|
125
|
+
return cacheOption(req);
|
|
126
|
+
} else {
|
|
127
|
+
const url = req.url;
|
|
128
|
+
const options = Object.entries(cacheOption);
|
|
129
|
+
for (const [key, option] of options) {
|
|
130
|
+
if (key === "*" || new RegExp(key).test(url)) {
|
|
131
|
+
if (typeof option === "function") {
|
|
132
|
+
return option(req);
|
|
133
|
+
} else {
|
|
134
|
+
return option;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return void 0;
|
|
139
|
+
}
|
|
140
|
+
function isCacheOptionProvider(option) {
|
|
141
|
+
return typeof option === "function";
|
|
142
|
+
}
|
|
143
|
+
function isCacheControl(option) {
|
|
144
|
+
return typeof option === "object" && option !== null && "maxAge" in option;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
async function getCacheResult(request, options) {
|
|
148
|
+
const { cacheControl, render, ssrContext, container = storage } = options;
|
|
149
|
+
const key = computedKey(request, cacheControl);
|
|
150
|
+
const value = await container.get(key);
|
|
151
|
+
const { maxAge, staleWhileRevalidate } = cacheControl;
|
|
152
|
+
const ttl = maxAge + staleWhileRevalidate;
|
|
153
|
+
if (value) {
|
|
154
|
+
const cache = JSON.parse(value);
|
|
155
|
+
const interval = Date.now() - cache.cursor;
|
|
156
|
+
if (interval <= maxAge) {
|
|
157
|
+
return {
|
|
158
|
+
data: cache.val,
|
|
159
|
+
status: "hit"
|
|
160
|
+
};
|
|
161
|
+
} else if (interval <= staleWhileRevalidate + maxAge) {
|
|
162
|
+
processCache(key, render, ssrContext, ttl, container);
|
|
163
|
+
return {
|
|
164
|
+
data: cache.val,
|
|
165
|
+
status: "stale"
|
|
166
|
+
};
|
|
167
|
+
} else {
|
|
168
|
+
return processCache(key, render, ssrContext, ttl, container, "expired");
|
|
169
|
+
}
|
|
170
|
+
} else {
|
|
171
|
+
return processCache(key, render, ssrContext, ttl, container, "miss");
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
175
|
+
0 && (module.exports = {
|
|
176
|
+
getCacheResult,
|
|
177
|
+
matchCacheControl
|
|
178
|
+
});
|
|
@@ -37,6 +37,7 @@ var isbot = __toESM(require("isbot"));
|
|
|
37
37
|
var import_utils = require("../../utils");
|
|
38
38
|
var import_constants2 = require("../../constants");
|
|
39
39
|
var import_serverTiming = require("./serverTiming");
|
|
40
|
+
var import_ssrCache = require("./ssrCache");
|
|
40
41
|
const defaultReporter = {
|
|
41
42
|
init() {
|
|
42
43
|
},
|
|
@@ -49,7 +50,7 @@ const defaultReporter = {
|
|
|
49
50
|
reportWarn() {
|
|
50
51
|
}
|
|
51
52
|
};
|
|
52
|
-
async function ssrRender(request, { routeInfo, html, staticGenerate, nonce, metaName, reporter, logger, nodeReq, serverManifest, locals, params, metrics, loaderContext }) {
|
|
53
|
+
async function ssrRender(request, { routeInfo, html, staticGenerate, nonce, metaName, reporter, logger, nodeReq, serverManifest, locals, params, metrics, loaderContext, cacheConfig }) {
|
|
53
54
|
var _serverManifest_renderBundles;
|
|
54
55
|
const { entryName } = routeInfo;
|
|
55
56
|
const loadableStats = serverManifest.loadableStats || {};
|
|
@@ -111,18 +112,16 @@ async function ssrRender(request, { routeInfo, html, staticGenerate, nonce, meta
|
|
|
111
112
|
let ssrResult;
|
|
112
113
|
let cacheStatus;
|
|
113
114
|
const render = renderBundle[import_constants.SERVER_RENDER_FUNCTION_NAME];
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
const {
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
ssrResult = await render(ssrContext);
|
|
125
|
-
}
|
|
115
|
+
const cacheControl = await (0, import_ssrCache.matchCacheControl)(cacheConfig === null || cacheConfig === void 0 ? void 0 : cacheConfig.strategy, nodeReq || new IncomingMessgeProxy(request));
|
|
116
|
+
if (cacheControl) {
|
|
117
|
+
const { data: data2, status } = await (0, import_ssrCache.getCacheResult)(request, {
|
|
118
|
+
cacheControl,
|
|
119
|
+
container: cacheConfig === null || cacheConfig === void 0 ? void 0 : cacheConfig.container,
|
|
120
|
+
render,
|
|
121
|
+
ssrContext
|
|
122
|
+
});
|
|
123
|
+
ssrResult = data2;
|
|
124
|
+
cacheStatus = status;
|
|
126
125
|
} else {
|
|
127
126
|
ssrResult = await render(ssrContext);
|
|
128
127
|
}
|
|
@@ -130,6 +129,7 @@ async function ssrRender(request, { routeInfo, html, staticGenerate, nonce, meta
|
|
|
130
129
|
if (cacheStatus) {
|
|
131
130
|
responseProxy.headers.set(import_constants2.X_RENDER_CACHE, cacheStatus);
|
|
132
131
|
}
|
|
132
|
+
responseProxy.headers.set(import_constants2.X_MODERNJS_RENDER, "server");
|
|
133
133
|
if (redirection.url) {
|
|
134
134
|
const { headers: headers2 } = responseProxy;
|
|
135
135
|
headers2.set("Location", redirection.url);
|
|
@@ -0,0 +1,178 @@
|
|
|
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 serverBase_exports = {};
|
|
20
|
+
__export(serverBase_exports, {
|
|
21
|
+
ServerBase: () => ServerBase,
|
|
22
|
+
createServerBase: () => createServerBase
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(serverBase_exports);
|
|
25
|
+
var import_class_private_method_get = require("@swc/helpers/_/_class_private_method_get");
|
|
26
|
+
var import_class_private_method_init = require("@swc/helpers/_/_class_private_method_init");
|
|
27
|
+
var import_hono = require("hono");
|
|
28
|
+
var import_plugin = require("@modern-js/plugin");
|
|
29
|
+
var import_pluginManager = require("./pluginManager");
|
|
30
|
+
var _getAppContext = /* @__PURE__ */ new WeakSet(), _applyMiddlewares = /* @__PURE__ */ new WeakSet();
|
|
31
|
+
class ServerBase {
|
|
32
|
+
/**
|
|
33
|
+
* 初始化顺序
|
|
34
|
+
* - 初始化 pluginManager;
|
|
35
|
+
* - 执行 runner.prepare;
|
|
36
|
+
* - 应用 middlewares
|
|
37
|
+
*/
|
|
38
|
+
async init() {
|
|
39
|
+
const runner = await this.pluginManager.init();
|
|
40
|
+
this.runner = runner;
|
|
41
|
+
await runner.prepare();
|
|
42
|
+
(0, import_class_private_method_get._)(this, _applyMiddlewares, applyMiddlewares).call(this);
|
|
43
|
+
return this;
|
|
44
|
+
}
|
|
45
|
+
addPlugins(plugins) {
|
|
46
|
+
this.pluginManager.addPlugins(plugins);
|
|
47
|
+
}
|
|
48
|
+
get all() {
|
|
49
|
+
return this.app.all.bind(this.app);
|
|
50
|
+
}
|
|
51
|
+
get use() {
|
|
52
|
+
return this.app.use.bind(this.app);
|
|
53
|
+
}
|
|
54
|
+
get get() {
|
|
55
|
+
return this.app.get.bind(this.app);
|
|
56
|
+
}
|
|
57
|
+
get post() {
|
|
58
|
+
return this.app.post.bind(this.app);
|
|
59
|
+
}
|
|
60
|
+
get put() {
|
|
61
|
+
return this.app.put.bind(this.app);
|
|
62
|
+
}
|
|
63
|
+
get delete() {
|
|
64
|
+
return this.app.delete.bind(this.app);
|
|
65
|
+
}
|
|
66
|
+
get patch() {
|
|
67
|
+
return this.app.patch.bind(this.app);
|
|
68
|
+
}
|
|
69
|
+
get handle() {
|
|
70
|
+
return this.app.fetch.bind(this.app);
|
|
71
|
+
}
|
|
72
|
+
get request() {
|
|
73
|
+
return this.app.request.bind(this.app);
|
|
74
|
+
}
|
|
75
|
+
get notFound() {
|
|
76
|
+
return this.app.notFound.bind(this.app);
|
|
77
|
+
}
|
|
78
|
+
get onError() {
|
|
79
|
+
return this.app.onError.bind(this.app);
|
|
80
|
+
}
|
|
81
|
+
constructor(options) {
|
|
82
|
+
(0, import_class_private_method_init._)(this, _getAppContext);
|
|
83
|
+
(0, import_class_private_method_init._)(this, _applyMiddlewares);
|
|
84
|
+
this.options = options;
|
|
85
|
+
const { config, serverConfig } = options;
|
|
86
|
+
const appContext = (0, import_class_private_method_get._)(this, _getAppContext, getAppContext).call(this);
|
|
87
|
+
this.appContext = appContext;
|
|
88
|
+
this.pluginManager = new import_pluginManager.PluginManager({
|
|
89
|
+
cliConfig: config,
|
|
90
|
+
appContext,
|
|
91
|
+
serverConfig
|
|
92
|
+
});
|
|
93
|
+
this.app = new import_hono.Hono();
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
function getAppContext() {
|
|
97
|
+
const { appContext: context, pwd, routes, metaName } = this.options;
|
|
98
|
+
const appContext = {
|
|
99
|
+
routes,
|
|
100
|
+
middlewares: [],
|
|
101
|
+
appDirectory: (context === null || context === void 0 ? void 0 : context.appDirectory) || "",
|
|
102
|
+
apiDirectory: context === null || context === void 0 ? void 0 : context.apiDirectory,
|
|
103
|
+
lambdaDirectory: context === null || context === void 0 ? void 0 : context.lambdaDirectory,
|
|
104
|
+
sharedDirectory: (context === null || context === void 0 ? void 0 : context.sharedDirectory) || "",
|
|
105
|
+
distDirectory: pwd,
|
|
106
|
+
plugins: [],
|
|
107
|
+
metaName: metaName || "modern-js",
|
|
108
|
+
serverBase: this
|
|
109
|
+
};
|
|
110
|
+
return (0, import_plugin.createContext)(appContext);
|
|
111
|
+
}
|
|
112
|
+
function applyMiddlewares() {
|
|
113
|
+
const { middlewares } = this.appContext.get();
|
|
114
|
+
const preMiddlewares = [];
|
|
115
|
+
const defaultMiddlewares = [];
|
|
116
|
+
const postMiddlewares = [];
|
|
117
|
+
for (const middleware of middlewares) {
|
|
118
|
+
switch (middleware.order) {
|
|
119
|
+
case "pre":
|
|
120
|
+
preMiddlewares.push(middleware);
|
|
121
|
+
break;
|
|
122
|
+
case "post":
|
|
123
|
+
postMiddlewares.push(middleware);
|
|
124
|
+
break;
|
|
125
|
+
default:
|
|
126
|
+
defaultMiddlewares.push(middleware);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
const finalMiddlewares = [];
|
|
130
|
+
const insertMiddleware = (middleware) => {
|
|
131
|
+
if (middleware.before) {
|
|
132
|
+
const targetIndex = finalMiddlewares.findIndex((item) => {
|
|
133
|
+
var _middleware_before;
|
|
134
|
+
if ((_middleware_before = middleware.before) === null || _middleware_before === void 0 ? void 0 : _middleware_before.includes(item.name)) {
|
|
135
|
+
return true;
|
|
136
|
+
} else {
|
|
137
|
+
return false;
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
if (targetIndex !== -1) {
|
|
141
|
+
finalMiddlewares.splice(targetIndex, 0, middleware);
|
|
142
|
+
} else {
|
|
143
|
+
finalMiddlewares.push(middleware);
|
|
144
|
+
}
|
|
145
|
+
} else {
|
|
146
|
+
finalMiddlewares.push(middleware);
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
preMiddlewares.forEach(insertMiddleware);
|
|
150
|
+
defaultMiddlewares.forEach(insertMiddleware);
|
|
151
|
+
postMiddlewares.forEach(insertMiddleware);
|
|
152
|
+
for (const middleware of finalMiddlewares) {
|
|
153
|
+
const { path = "*", method = "all", handler } = middleware;
|
|
154
|
+
const handlers = handler2Handlers(handler);
|
|
155
|
+
this.app[method](path, ...handlers);
|
|
156
|
+
}
|
|
157
|
+
function handler2Handlers(handler) {
|
|
158
|
+
if (Array.isArray(handler)) {
|
|
159
|
+
return handler;
|
|
160
|
+
} else {
|
|
161
|
+
return [
|
|
162
|
+
handler
|
|
163
|
+
];
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
function createServerBase(options) {
|
|
168
|
+
if (options == null) {
|
|
169
|
+
throw new Error("can not start server without options");
|
|
170
|
+
}
|
|
171
|
+
const server = new ServerBase(options);
|
|
172
|
+
return server;
|
|
173
|
+
}
|
|
174
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
175
|
+
0 && (module.exports = {
|
|
176
|
+
ServerBase,
|
|
177
|
+
createServerBase
|
|
178
|
+
});
|
|
@@ -13,16 +13,16 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
13
13
|
};
|
|
14
14
|
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
15
15
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
16
|
-
var
|
|
17
|
-
module.exports = __toCommonJS(
|
|
18
|
-
__reExport(
|
|
19
|
-
__reExport(
|
|
20
|
-
__reExport(
|
|
21
|
-
__reExport(
|
|
16
|
+
var types_exports = {};
|
|
17
|
+
module.exports = __toCommonJS(types_exports);
|
|
18
|
+
__reExport(types_exports, require("./config"), module.exports);
|
|
19
|
+
__reExport(types_exports, require("./plugin"), module.exports);
|
|
20
|
+
__reExport(types_exports, require("./render"), module.exports);
|
|
21
|
+
__reExport(types_exports, require("./server"), module.exports);
|
|
22
22
|
// Annotate the CommonJS export names for ESM import in node:
|
|
23
23
|
0 && (module.exports = {
|
|
24
|
-
...require("./
|
|
25
|
-
...require("./
|
|
26
|
-
...require("./
|
|
27
|
-
...require("./
|
|
24
|
+
...require("./config"),
|
|
25
|
+
...require("./plugin"),
|
|
26
|
+
...require("./render"),
|
|
27
|
+
...require("./server")
|
|
28
28
|
});
|
|
@@ -0,0 +1,16 @@
|
|
|
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 __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
+
}
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
15
|
+
var plugin_exports = {};
|
|
16
|
+
module.exports = __toCommonJS(plugin_exports);
|
|
@@ -22,6 +22,7 @@ __reExport(utils_exports, require("./error"), module.exports);
|
|
|
22
22
|
__reExport(utils_exports, require("./warmup"), module.exports);
|
|
23
23
|
__reExport(utils_exports, require("./entry"), module.exports);
|
|
24
24
|
__reExport(utils_exports, require("./request"), module.exports);
|
|
25
|
+
__reExport(utils_exports, require("./serverConfig"), module.exports);
|
|
25
26
|
// Annotate the CommonJS export names for ESM import in node:
|
|
26
27
|
0 && (module.exports = {
|
|
27
28
|
...require("./env"),
|
|
@@ -30,5 +31,6 @@ __reExport(utils_exports, require("./request"), module.exports);
|
|
|
30
31
|
...require("./error"),
|
|
31
32
|
...require("./warmup"),
|
|
32
33
|
...require("./entry"),
|
|
33
|
-
...require("./request")
|
|
34
|
+
...require("./request"),
|
|
35
|
+
...require("./serverConfig")
|
|
34
36
|
});
|
|
@@ -16,19 +16,20 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var
|
|
20
|
-
__export(
|
|
21
|
-
|
|
19
|
+
var serverConfig_exports = {};
|
|
20
|
+
__export(serverConfig_exports, {
|
|
21
|
+
loadConfig: () => loadConfig
|
|
22
22
|
});
|
|
23
|
-
module.exports = __toCommonJS(
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
23
|
+
module.exports = __toCommonJS(serverConfig_exports);
|
|
24
|
+
var import_deepmerge_ts = require("deepmerge-ts");
|
|
25
|
+
const loadConfig = ({ cliConfig, serverConfig }) => {
|
|
26
|
+
const config = (0, import_deepmerge_ts.deepmerge)({
|
|
27
|
+
...cliConfig,
|
|
28
|
+
plugins: []
|
|
29
|
+
}, serverConfig);
|
|
30
|
+
return config;
|
|
30
31
|
};
|
|
31
32
|
// Annotate the CommonJS export names for ESM import in node:
|
|
32
33
|
0 && (module.exports = {
|
|
33
|
-
|
|
34
|
+
loadConfig
|
|
34
35
|
});
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { loadServerEnv } from "./loadEnv";
|
|
2
|
+
import { loadServerPlugins } from "./loadPlugin";
|
|
3
|
+
import { loadServerConfig } from "./loadConfig";
|
|
4
|
+
import { loadCacheConfig } from "./loadCache";
|
|
5
|
+
export {
|
|
6
|
+
loadCacheConfig,
|
|
7
|
+
loadServerConfig,
|
|
8
|
+
loadServerEnv,
|
|
9
|
+
loadServerPlugins
|
|
10
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import path from "path";
|
|
2
|
+
import { SERVER_DIR, requireExistModule } from "@modern-js/utils";
|
|
3
|
+
var CACHE_FILENAME = "cache";
|
|
4
|
+
function loadCacheConfig(pwd) {
|
|
5
|
+
var serverCacheFilepath = path.resolve(pwd, SERVER_DIR, CACHE_FILENAME);
|
|
6
|
+
var mod = requireExistModule(serverCacheFilepath, {
|
|
7
|
+
interop: false
|
|
8
|
+
});
|
|
9
|
+
if (mod === null || mod === void 0 ? void 0 : mod.cacheOption) {
|
|
10
|
+
return {
|
|
11
|
+
strategy: mod.cacheOption,
|
|
12
|
+
container: mod.customContainer
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
return void 0;
|
|
16
|
+
}
|
|
17
|
+
export {
|
|
18
|
+
loadCacheConfig
|
|
19
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import path from "path";
|
|
2
|
+
import { compatRequire, fs, DEFAULT_SERVER_CONFIG, requireExistModule } from "@modern-js/utils";
|
|
3
|
+
var requireConfig = function(serverConfigPath) {
|
|
4
|
+
if (fs.pathExistsSync(serverConfigPath)) {
|
|
5
|
+
return compatRequire(serverConfigPath);
|
|
6
|
+
}
|
|
7
|
+
return void 0;
|
|
8
|
+
};
|
|
9
|
+
function loadServerConfigNew(serverConfigPath) {
|
|
10
|
+
var mod = requireExistModule(serverConfigPath);
|
|
11
|
+
if (mod) {
|
|
12
|
+
return mod;
|
|
13
|
+
}
|
|
14
|
+
return void 0;
|
|
15
|
+
}
|
|
16
|
+
function loadServerConfigOld(pwd, configFile) {
|
|
17
|
+
var serverConfigPath = path.join(pwd, "".concat(configFile, ".js"));
|
|
18
|
+
var serverConfig = requireConfig(serverConfigPath);
|
|
19
|
+
return serverConfig;
|
|
20
|
+
}
|
|
21
|
+
function loadServerConfig(pwd) {
|
|
22
|
+
var oldServerFile = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : DEFAULT_SERVER_CONFIG, newServerConfigPath = arguments.length > 2 ? arguments[2] : void 0;
|
|
23
|
+
var newServerConfig = newServerConfigPath && loadServerConfigNew(newServerConfigPath);
|
|
24
|
+
if (newServerConfig) {
|
|
25
|
+
return newServerConfig;
|
|
26
|
+
}
|
|
27
|
+
var oldServerConfig = loadServerConfigOld(pwd, oldServerFile);
|
|
28
|
+
return oldServerConfig;
|
|
29
|
+
}
|
|
30
|
+
export {
|
|
31
|
+
loadServerConfig
|
|
32
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { compatRequire, tryResolve } from "@modern-js/utils";
|
|
2
|
+
function resolveServerPlugin(plugin, appDirectory) {
|
|
3
|
+
var name = plugin.name, options = plugin.options;
|
|
4
|
+
var pluginPath = tryResolve(name, appDirectory);
|
|
5
|
+
var module = compatRequire(pluginPath);
|
|
6
|
+
var pluginInstance = module(options);
|
|
7
|
+
return pluginInstance;
|
|
8
|
+
}
|
|
9
|
+
function loadServerPlugins(serverPlugins, appDirectory) {
|
|
10
|
+
var instances = serverPlugins.map(function(plugin) {
|
|
11
|
+
return resolveServerPlugin(plugin, appDirectory);
|
|
12
|
+
});
|
|
13
|
+
return instances;
|
|
14
|
+
}
|
|
15
|
+
export {
|
|
16
|
+
loadServerPlugins
|
|
17
|
+
};
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import { loadServerEnv } from "./loadServer";
|
|
2
1
|
import { httpCallBack2HonoMid, connectMid2HonoMid } from "./hono";
|
|
3
2
|
import { createNodeServer, sendResponse, createWebRequest, writeReadableStreamToWritable } from "./node";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import { serverStaticPlugin, injectResourcePlugin, getHtmlTemplates, getServerManifest, injectNodeSeverPlugin } from "./plugins";
|
|
4
|
+
import { loadServerPlugins, loadServerEnv, loadServerConfig, loadCacheConfig } from "./helper";
|
|
6
5
|
export {
|
|
7
|
-
bindBFFHandler,
|
|
8
6
|
connectMid2HonoMid,
|
|
9
7
|
createNodeServer,
|
|
10
|
-
createStaticMiddleware,
|
|
11
8
|
createWebRequest,
|
|
12
9
|
getHtmlTemplates,
|
|
13
10
|
getServerManifest,
|
|
14
11
|
httpCallBack2HonoMid,
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
injectNodeSeverPlugin,
|
|
13
|
+
injectResourcePlugin,
|
|
14
|
+
loadCacheConfig,
|
|
15
|
+
loadServerConfig,
|
|
17
16
|
loadServerEnv,
|
|
18
|
-
|
|
17
|
+
loadServerPlugins,
|
|
19
18
|
sendResponse,
|
|
19
|
+
serverStaticPlugin,
|
|
20
20
|
writeReadableStreamToWritable
|
|
21
21
|
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
|
|
2
|
+
import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
|
|
3
|
+
var injectNodeSeverPlugin = function(param) {
|
|
4
|
+
var nodeServer = param.nodeServer;
|
|
5
|
+
return {
|
|
6
|
+
name: "@modern-js/plugin-inject-node-server",
|
|
7
|
+
setup: function setup(api) {
|
|
8
|
+
var appContext = api.useAppContext();
|
|
9
|
+
api.setAppContext(_object_spread_props(_object_spread({}, appContext), {
|
|
10
|
+
nodeServer
|
|
11
|
+
}));
|
|
12
|
+
return {};
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
export {
|
|
17
|
+
injectNodeSeverPlugin
|
|
18
|
+
};
|