@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,106 @@
|
|
|
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 pluginManager_exports = {};
|
|
20
|
+
__export(pluginManager_exports, {
|
|
21
|
+
PluginManager: () => PluginManager
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(pluginManager_exports);
|
|
24
|
+
var import_class_private_field_get = require("@swc/helpers/_/_class_private_field_get");
|
|
25
|
+
var import_class_private_field_init = require("@swc/helpers/_/_class_private_field_init");
|
|
26
|
+
var import_class_private_field_set = require("@swc/helpers/_/_class_private_field_set");
|
|
27
|
+
var import_class_private_method_get = require("@swc/helpers/_/_class_private_method_get");
|
|
28
|
+
var import_class_private_method_init = require("@swc/helpers/_/_class_private_method_init");
|
|
29
|
+
var import_plugin = require("@modern-js/plugin");
|
|
30
|
+
var import_utils = require("./utils");
|
|
31
|
+
var _appContext = /* @__PURE__ */ new WeakMap(), _plugins = /* @__PURE__ */ new WeakMap(), _options = /* @__PURE__ */ new WeakMap(), _configContext = /* @__PURE__ */ new WeakMap(), _createCoreManager = /* @__PURE__ */ new WeakSet(), _initConfigContext = /* @__PURE__ */ new WeakSet();
|
|
32
|
+
class PluginManager {
|
|
33
|
+
async init() {
|
|
34
|
+
const coreManager = (0, import_class_private_method_get._)(this, _createCoreManager, createCoreManager).call(this);
|
|
35
|
+
const runner = await coreManager.init();
|
|
36
|
+
await (0, import_class_private_method_get._)(this, _initConfigContext, initConfigContext).call(this, runner);
|
|
37
|
+
return runner;
|
|
38
|
+
}
|
|
39
|
+
addPlugins(plugins) {
|
|
40
|
+
(0, import_class_private_field_get._)(this, _plugins).push(...plugins);
|
|
41
|
+
}
|
|
42
|
+
constructor(options) {
|
|
43
|
+
(0, import_class_private_method_init._)(this, _createCoreManager);
|
|
44
|
+
(0, import_class_private_method_init._)(this, _initConfigContext);
|
|
45
|
+
(0, import_class_private_field_init._)(this, _appContext, {
|
|
46
|
+
writable: true,
|
|
47
|
+
value: void 0
|
|
48
|
+
});
|
|
49
|
+
(0, import_class_private_field_init._)(this, _plugins, {
|
|
50
|
+
writable: true,
|
|
51
|
+
value: void 0
|
|
52
|
+
});
|
|
53
|
+
(0, import_class_private_field_init._)(this, _options, {
|
|
54
|
+
writable: true,
|
|
55
|
+
value: void 0
|
|
56
|
+
});
|
|
57
|
+
(0, import_class_private_field_init._)(this, _configContext, {
|
|
58
|
+
writable: true,
|
|
59
|
+
value: void 0
|
|
60
|
+
});
|
|
61
|
+
(0, import_class_private_field_set._)(this, _plugins, []);
|
|
62
|
+
(0, import_class_private_field_set._)(this, _configContext, (0, import_plugin.createContext)({}));
|
|
63
|
+
(0, import_class_private_field_set._)(this, _appContext, options.appContext);
|
|
64
|
+
(0, import_class_private_field_set._)(this, _configContext, (0, import_plugin.createContext)(options.serverConfig || {}));
|
|
65
|
+
(0, import_class_private_field_set._)(this, _options, options);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
function createCoreManager() {
|
|
69
|
+
var _class_private_field_get_serverConfig;
|
|
70
|
+
const hooks = {
|
|
71
|
+
config: (0, import_plugin.createAsyncWaterfall)(),
|
|
72
|
+
prepare: (0, import_plugin.createAsyncWaterfall)(),
|
|
73
|
+
reset: (0, import_plugin.createParallelWorkflow)(),
|
|
74
|
+
prepareWebServer: (0, import_plugin.createAsyncPipeline)(),
|
|
75
|
+
fallback: (0, import_plugin.createParallelWorkflow)(),
|
|
76
|
+
prepareApiServer: (0, import_plugin.createAsyncPipeline)(),
|
|
77
|
+
afterMatch: (0, import_plugin.createAsyncPipeline)(),
|
|
78
|
+
afterRender: (0, import_plugin.createAsyncPipeline)(),
|
|
79
|
+
afterStreamingRender: (0, import_plugin.createAsyncPipeline)()
|
|
80
|
+
};
|
|
81
|
+
const pluginApi = {
|
|
82
|
+
useConfigContext: () => (0, import_class_private_field_get._)(this, _configContext).use().value,
|
|
83
|
+
useAppContext: () => (0, import_class_private_field_get._)(this, _appContext).use().value,
|
|
84
|
+
setAppContext: (c) => (0, import_class_private_field_get._)(this, _appContext).set(c)
|
|
85
|
+
};
|
|
86
|
+
const coreManager = (0, import_plugin.createAsyncManager)(hooks, pluginApi);
|
|
87
|
+
this.addPlugins(((_class_private_field_get_serverConfig = (0, import_class_private_field_get._)(this, _options).serverConfig) === null || _class_private_field_get_serverConfig === void 0 ? void 0 : _class_private_field_get_serverConfig.plugins) || []);
|
|
88
|
+
(0, import_class_private_field_get._)(this, _plugins).forEach((p) => {
|
|
89
|
+
const plugin = coreManager.createPlugin(p.setup, p);
|
|
90
|
+
coreManager.usePlugin(plugin);
|
|
91
|
+
});
|
|
92
|
+
return coreManager;
|
|
93
|
+
}
|
|
94
|
+
async function initConfigContext(runner) {
|
|
95
|
+
const { serverConfig, cliConfig } = (0, import_class_private_field_get._)(this, _options);
|
|
96
|
+
const mergedConfig = (0, import_utils.loadConfig)({
|
|
97
|
+
cliConfig,
|
|
98
|
+
serverConfig: serverConfig || {}
|
|
99
|
+
});
|
|
100
|
+
const finalServerConfig = await runner.config(mergedConfig);
|
|
101
|
+
(0, import_class_private_field_get._)(this, _configContext).set(finalServerConfig);
|
|
102
|
+
}
|
|
103
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
104
|
+
0 && (module.exports = {
|
|
105
|
+
PluginManager
|
|
106
|
+
});
|
|
@@ -19,7 +19,8 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
19
19
|
var customServer_exports = {};
|
|
20
20
|
__export(customServer_exports, {
|
|
21
21
|
CustomServer: () => CustomServer,
|
|
22
|
-
getLoaderCtx: () => import_loader2.getLoaderCtx
|
|
22
|
+
getLoaderCtx: () => import_loader2.getLoaderCtx,
|
|
23
|
+
getServerMidFromUnstableMid: () => getServerMidFromUnstableMid
|
|
23
24
|
});
|
|
24
25
|
module.exports = __toCommonJS(customServer_exports);
|
|
25
26
|
var import_time = require("@modern-js/runtime-utils/time");
|
|
@@ -102,7 +103,7 @@ class CustomServer {
|
|
|
102
103
|
return;
|
|
103
104
|
}
|
|
104
105
|
if (Array.isArray(serverMiddleware)) {
|
|
105
|
-
return
|
|
106
|
+
return getServerMidFromUnstableMid(serverMiddleware);
|
|
106
107
|
}
|
|
107
108
|
return async (c, next) => {
|
|
108
109
|
var _c_env_node_res, _c_env_node, _c_env;
|
|
@@ -142,6 +143,14 @@ class CustomServer {
|
|
|
142
143
|
});
|
|
143
144
|
}
|
|
144
145
|
}
|
|
146
|
+
function getServerMidFromUnstableMid(serverMiddleware) {
|
|
147
|
+
return serverMiddleware.map((middleware) => {
|
|
148
|
+
return async (c, next) => {
|
|
149
|
+
const context = createMiddlewareContextFromHono(c);
|
|
150
|
+
return middleware(context, next);
|
|
151
|
+
};
|
|
152
|
+
});
|
|
153
|
+
}
|
|
145
154
|
function isRedirect(headers, code) {
|
|
146
155
|
return [
|
|
147
156
|
301,
|
|
@@ -150,14 +159,6 @@ function isRedirect(headers, code) {
|
|
|
150
159
|
308
|
|
151
160
|
].includes(code || 0) || headers.get("Location");
|
|
152
161
|
}
|
|
153
|
-
function getUnstableMiddlewares(serverMiddleware) {
|
|
154
|
-
return serverMiddleware.map((middleware) => {
|
|
155
|
-
return async (c, next) => {
|
|
156
|
-
const context = createMiddlewareContextFromHono(c);
|
|
157
|
-
return middleware(context, next);
|
|
158
|
-
};
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
162
|
function createMiddlewareContextFromHono(c) {
|
|
162
163
|
const loaderContext = (0, import_loader.getLoaderCtx)(c);
|
|
163
164
|
return {
|
|
@@ -186,5 +187,6 @@ function createMiddlewareContextFromHono(c) {
|
|
|
186
187
|
// Annotate the CommonJS export names for ESM import in node:
|
|
187
188
|
0 && (module.exports = {
|
|
188
189
|
CustomServer,
|
|
189
|
-
getLoaderCtx
|
|
190
|
+
getLoaderCtx,
|
|
191
|
+
getServerMidFromUnstableMid
|
|
190
192
|
});
|
|
@@ -0,0 +1,44 @@
|
|
|
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 favicon_exports = {};
|
|
20
|
+
__export(favicon_exports, {
|
|
21
|
+
faviconPlugin: () => faviconPlugin
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(favicon_exports);
|
|
24
|
+
const faviconPlugin = () => ({
|
|
25
|
+
name: "@modern-js/plugin-favicon",
|
|
26
|
+
setup(api) {
|
|
27
|
+
return {
|
|
28
|
+
prepare() {
|
|
29
|
+
const { middlewares } = api.useAppContext();
|
|
30
|
+
middlewares.push({
|
|
31
|
+
name: "favicon-fallback",
|
|
32
|
+
path: "/favicon.ico",
|
|
33
|
+
handler: async (c, _next) => {
|
|
34
|
+
return c.body(null, 204);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
42
|
+
0 && (module.exports = {
|
|
43
|
+
faviconPlugin
|
|
44
|
+
});
|
|
@@ -15,25 +15,31 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
15
15
|
}
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
|
-
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
19
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
-
var
|
|
21
|
-
__export(
|
|
22
|
-
|
|
19
|
+
var plugins_exports = {};
|
|
20
|
+
__export(plugins_exports, {
|
|
21
|
+
faviconPlugin: () => import_favicon.faviconPlugin,
|
|
22
|
+
getLoaderCtx: () => import_customServer.getLoaderCtx,
|
|
23
|
+
getRenderHandler: () => import_render.getRenderHandler,
|
|
24
|
+
logPlugin: () => import_log.logPlugin,
|
|
25
|
+
monitorPlugin: () => import_monitor.monitorPlugin,
|
|
26
|
+
processedByPlugin: () => import_processedBy.processedByPlugin,
|
|
27
|
+
renderPlugin: () => import_render.renderPlugin
|
|
23
28
|
});
|
|
24
|
-
module.exports = __toCommonJS(
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
__reExport(middlewares_exports, require("./logger"), module.exports);
|
|
29
|
-
__reExport(middlewares_exports, require("./frameworkHeader"), module.exports);
|
|
29
|
+
module.exports = __toCommonJS(plugins_exports);
|
|
30
|
+
var import_render = require("./render");
|
|
31
|
+
var import_favicon = require("./favicon");
|
|
32
|
+
var import_processedBy = require("./processedBy");
|
|
30
33
|
var import_customServer = require("./customServer");
|
|
34
|
+
var import_log = require("./log");
|
|
35
|
+
var import_monitor = require("./monitor");
|
|
31
36
|
// Annotate the CommonJS export names for ESM import in node:
|
|
32
37
|
0 && (module.exports = {
|
|
38
|
+
faviconPlugin,
|
|
33
39
|
getLoaderCtx,
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
40
|
+
getRenderHandler,
|
|
41
|
+
logPlugin,
|
|
42
|
+
monitorPlugin,
|
|
43
|
+
processedByPlugin,
|
|
44
|
+
renderPlugin
|
|
39
45
|
});
|
|
@@ -16,11 +16,11 @@ 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 log_exports = {};
|
|
20
|
+
__export(log_exports, {
|
|
21
|
+
logPlugin: () => logPlugin
|
|
22
22
|
});
|
|
23
|
-
module.exports = __toCommonJS(
|
|
23
|
+
module.exports = __toCommonJS(log_exports);
|
|
24
24
|
var import_utils = require("../utils");
|
|
25
25
|
var LogPrefix;
|
|
26
26
|
(function(LogPrefix2) {
|
|
@@ -63,6 +63,10 @@ function logHandler() {
|
|
|
63
63
|
return async function logger(c, next) {
|
|
64
64
|
const { method } = c.req;
|
|
65
65
|
const logger2 = c.get("logger");
|
|
66
|
+
if (!logger2) {
|
|
67
|
+
await next();
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
66
70
|
const path = (0, import_utils.getPathname)(c.req.raw);
|
|
67
71
|
const logFn = logger2.debug;
|
|
68
72
|
log(logFn, "<--", method, path);
|
|
@@ -71,7 +75,21 @@ function logHandler() {
|
|
|
71
75
|
log(logFn, "-->", method, path, c.res.status, time(start));
|
|
72
76
|
};
|
|
73
77
|
}
|
|
78
|
+
const logPlugin = () => ({
|
|
79
|
+
name: "@modern-js/plugin-log",
|
|
80
|
+
setup(api) {
|
|
81
|
+
return {
|
|
82
|
+
prepare() {
|
|
83
|
+
const { middlewares } = api.useAppContext();
|
|
84
|
+
middlewares.push({
|
|
85
|
+
name: "print_log",
|
|
86
|
+
handler: logHandler()
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
});
|
|
74
92
|
// Annotate the CommonJS export names for ESM import in node:
|
|
75
93
|
0 && (module.exports = {
|
|
76
|
-
|
|
94
|
+
logPlugin
|
|
77
95
|
});
|
|
@@ -19,9 +19,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
19
19
|
var monitor_exports = {};
|
|
20
20
|
__export(monitor_exports, {
|
|
21
21
|
initReporter: () => initReporter,
|
|
22
|
-
|
|
23
|
-
injectMetrics: () => injectMetrics,
|
|
24
|
-
injectReporter: () => injectReporter
|
|
22
|
+
monitorPlugin: () => monitorPlugin
|
|
25
23
|
});
|
|
26
24
|
module.exports = __toCommonJS(monitor_exports);
|
|
27
25
|
var import_time = require("@modern-js/runtime-utils/time");
|
|
@@ -38,15 +36,6 @@ const defaultReporter = {
|
|
|
38
36
|
reportWarn() {
|
|
39
37
|
}
|
|
40
38
|
};
|
|
41
|
-
function injectReporter() {
|
|
42
|
-
return async (c, next) => {
|
|
43
|
-
const reporter = c.get("reporter");
|
|
44
|
-
if (!reporter) {
|
|
45
|
-
c.set("reporter", defaultReporter);
|
|
46
|
-
}
|
|
47
|
-
await next();
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
39
|
function initReporter(entryName) {
|
|
51
40
|
return async (c, next) => {
|
|
52
41
|
const reporter = c.get("reporter");
|
|
@@ -63,28 +52,36 @@ function initReporter(entryName) {
|
|
|
63
52
|
reporter.reportTiming(import_constants.ServerReportTimings.SERVER_HANDLE_REQUEST, cost);
|
|
64
53
|
};
|
|
65
54
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
55
|
+
const monitorPlugin = (options) => ({
|
|
56
|
+
name: "@modern-js/plugin-monitor",
|
|
57
|
+
setup(api) {
|
|
58
|
+
return {
|
|
59
|
+
prepare() {
|
|
60
|
+
const { middlewares } = api.useAppContext();
|
|
61
|
+
middlewares.push({
|
|
62
|
+
name: "monitor",
|
|
63
|
+
handler: async (c, next) => {
|
|
64
|
+
const logger = c.get("logger");
|
|
65
|
+
if (!logger && options.logger) {
|
|
66
|
+
c.set("logger", options.logger);
|
|
67
|
+
}
|
|
68
|
+
const metrics = c.get("metrics");
|
|
69
|
+
if (!metrics && options.metrics) {
|
|
70
|
+
c.set("metrics", metrics);
|
|
71
|
+
}
|
|
72
|
+
const reporter = c.get("reporter");
|
|
73
|
+
if (!reporter) {
|
|
74
|
+
c.set("reporter", reporter || defaultReporter);
|
|
75
|
+
}
|
|
76
|
+
await next();
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
});
|
|
84
83
|
// Annotate the CommonJS export names for ESM import in node:
|
|
85
84
|
0 && (module.exports = {
|
|
86
85
|
initReporter,
|
|
87
|
-
|
|
88
|
-
injectMetrics,
|
|
89
|
-
injectReporter
|
|
86
|
+
monitorPlugin
|
|
90
87
|
});
|
|
@@ -0,0 +1,44 @@
|
|
|
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 processedBy_exports = {};
|
|
20
|
+
__export(processedBy_exports, {
|
|
21
|
+
processedByPlugin: () => processedByPlugin
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(processedBy_exports);
|
|
24
|
+
const processedByPlugin = () => ({
|
|
25
|
+
name: "@modern-js/plugin-processed",
|
|
26
|
+
setup(api) {
|
|
27
|
+
return {
|
|
28
|
+
prepare() {
|
|
29
|
+
const { middlewares } = api.useAppContext();
|
|
30
|
+
middlewares.push({
|
|
31
|
+
name: "processed-by",
|
|
32
|
+
handler: async (c, next) => {
|
|
33
|
+
await next();
|
|
34
|
+
c.header("X-Processed-By", "Modern.js");
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
42
|
+
0 && (module.exports = {
|
|
43
|
+
processedByPlugin
|
|
44
|
+
});
|
|
@@ -0,0 +1,136 @@
|
|
|
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 render_exports = {};
|
|
20
|
+
__export(render_exports, {
|
|
21
|
+
getRenderHandler: () => getRenderHandler,
|
|
22
|
+
renderPlugin: () => renderPlugin
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(render_exports);
|
|
25
|
+
var import_constants = require("@modern-js/utils/universal/constants");
|
|
26
|
+
var import_monitor = require("../monitor");
|
|
27
|
+
var import_utils = require("../../utils");
|
|
28
|
+
var import_customServer = require("../customServer");
|
|
29
|
+
var import_render = require("./render");
|
|
30
|
+
const renderPlugin = (options = {}) => ({
|
|
31
|
+
name: "@modern-js/plugin-render",
|
|
32
|
+
setup(api) {
|
|
33
|
+
const { staticGenerate, cacheConfig } = options;
|
|
34
|
+
return {
|
|
35
|
+
async prepare() {
|
|
36
|
+
var _config_render, _config_render1;
|
|
37
|
+
const { middlewares, routes, metaName, distDirectory: pwd, serverBase } = api.useAppContext();
|
|
38
|
+
const runner = api.useHookRunners();
|
|
39
|
+
const config = api.useConfigContext();
|
|
40
|
+
if (!routes) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
const customServer = new import_customServer.CustomServer(runner, serverBase, pwd);
|
|
44
|
+
const serverMiddleware = ((_config_render = config.render) === null || _config_render === void 0 ? void 0 : _config_render.middleware) && (0, import_customServer.getServerMidFromUnstableMid)(config.render.middleware);
|
|
45
|
+
const pageRoutes = getPageRoutes(routes);
|
|
46
|
+
const render = await getRenderHandler({
|
|
47
|
+
pwd,
|
|
48
|
+
routes,
|
|
49
|
+
config,
|
|
50
|
+
metaName,
|
|
51
|
+
cacheConfig: ((_config_render1 = config.render) === null || _config_render1 === void 0 ? void 0 : _config_render1.cache) || cacheConfig,
|
|
52
|
+
staticGenerate
|
|
53
|
+
});
|
|
54
|
+
for (const route of pageRoutes) {
|
|
55
|
+
const { urlPath: originUrlPath, entryName } = route;
|
|
56
|
+
const urlPath = originUrlPath.endsWith("/") ? `${originUrlPath}*` : `${originUrlPath}/*`;
|
|
57
|
+
middlewares.push({
|
|
58
|
+
name: "init-reporter",
|
|
59
|
+
handler: (0, import_monitor.initReporter)(entryName || import_constants.MAIN_ENTRY_NAME)
|
|
60
|
+
});
|
|
61
|
+
const customServerHookMiddleware = customServer.getHookMiddleware(entryName || "main", routes);
|
|
62
|
+
middlewares.push({
|
|
63
|
+
name: "custom-server-hook",
|
|
64
|
+
path: urlPath,
|
|
65
|
+
handler: customServerHookMiddleware
|
|
66
|
+
});
|
|
67
|
+
const customServerMiddleware = serverMiddleware || await customServer.getServerMiddleware();
|
|
68
|
+
customServerMiddleware && middlewares.push({
|
|
69
|
+
name: "custom-server-middleware",
|
|
70
|
+
path: urlPath,
|
|
71
|
+
handler: customServerMiddleware
|
|
72
|
+
});
|
|
73
|
+
middlewares.push({
|
|
74
|
+
name: `render`,
|
|
75
|
+
path: urlPath,
|
|
76
|
+
handler: createRenderHandler(render)
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
function getPageRoutes(routes) {
|
|
84
|
+
return routes.filter((route) => !route.isApi).sort(import_utils.sortRoutes);
|
|
85
|
+
}
|
|
86
|
+
function createRenderHandler(render) {
|
|
87
|
+
return async (c, _) => {
|
|
88
|
+
var _c_env_node;
|
|
89
|
+
const logger = c.get("logger");
|
|
90
|
+
const reporter = c.get("reporter");
|
|
91
|
+
const templates = c.get("templates") || {};
|
|
92
|
+
const serverManifest = c.get("serverManifest") || {};
|
|
93
|
+
const locals = c.get("locals");
|
|
94
|
+
const metrics = c.get("metrics");
|
|
95
|
+
const loaderContext = (0, import_customServer.getLoaderCtx)(c);
|
|
96
|
+
const request = c.req.raw;
|
|
97
|
+
const nodeReq = (_c_env_node = c.env.node) === null || _c_env_node === void 0 ? void 0 : _c_env_node.req;
|
|
98
|
+
const res = await render(request, {
|
|
99
|
+
logger,
|
|
100
|
+
nodeReq,
|
|
101
|
+
reporter,
|
|
102
|
+
templates,
|
|
103
|
+
metrics,
|
|
104
|
+
serverManifest,
|
|
105
|
+
loaderContext,
|
|
106
|
+
locals
|
|
107
|
+
});
|
|
108
|
+
const { body, status, headers } = res;
|
|
109
|
+
const headersData = {};
|
|
110
|
+
headers.forEach((v, k) => {
|
|
111
|
+
headersData[k] = v;
|
|
112
|
+
});
|
|
113
|
+
return c.body(body, status, headersData);
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
async function getRenderHandler({ pwd, routes, config, cacheConfig, metaName, staticGenerate }) {
|
|
117
|
+
var _config_server, _config_security;
|
|
118
|
+
const ssrConfig = (_config_server = config.server) === null || _config_server === void 0 ? void 0 : _config_server.ssr;
|
|
119
|
+
const forceCSR = typeof ssrConfig === "object" ? ssrConfig.forceCSR : false;
|
|
120
|
+
const render = (0, import_render.createRender)({
|
|
121
|
+
routes,
|
|
122
|
+
pwd,
|
|
123
|
+
// TODO: need static Genrate
|
|
124
|
+
staticGenerate,
|
|
125
|
+
cacheConfig,
|
|
126
|
+
forceCSR,
|
|
127
|
+
nonce: (_config_security = config.security) === null || _config_security === void 0 ? void 0 : _config_security.nonce,
|
|
128
|
+
metaName: metaName || "modern-js"
|
|
129
|
+
});
|
|
130
|
+
return render;
|
|
131
|
+
}
|
|
132
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
133
|
+
0 && (module.exports = {
|
|
134
|
+
getRenderHandler,
|
|
135
|
+
renderPlugin
|
|
136
|
+
});
|
|
@@ -24,13 +24,26 @@ module.exports = __toCommonJS(render_exports);
|
|
|
24
24
|
var import_universal = require("@modern-js/utils/universal");
|
|
25
25
|
var import_trie_router = require("hono/router/trie-router");
|
|
26
26
|
var import_utils = require("../../utils");
|
|
27
|
-
var import_constants = require("
|
|
27
|
+
var import_constants = require("../../constants");
|
|
28
28
|
var import_dataHandler = require("./dataHandler");
|
|
29
29
|
var import_ssrRender = require("./ssrRender");
|
|
30
|
+
const DYNAMIC_ROUTE_REG = /\/:./;
|
|
30
31
|
function getRouter(routes) {
|
|
31
|
-
const
|
|
32
|
+
const dynamicRoutes = [];
|
|
33
|
+
const normalRoutes = [];
|
|
34
|
+
routes.forEach((route) => {
|
|
35
|
+
if (DYNAMIC_ROUTE_REG.test(route.urlPath)) {
|
|
36
|
+
dynamicRoutes.push(route);
|
|
37
|
+
} else {
|
|
38
|
+
normalRoutes.push(route);
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
const finalRoutes = [
|
|
42
|
+
...normalRoutes.sort(import_utils.sortRoutes),
|
|
43
|
+
...dynamicRoutes.sort(import_utils.sortRoutes)
|
|
44
|
+
];
|
|
32
45
|
const router = new import_trie_router.TrieRouter();
|
|
33
|
-
for (const route of
|
|
46
|
+
for (const route of finalRoutes) {
|
|
34
47
|
const { urlPath: originUrlPath } = route;
|
|
35
48
|
const urlPath = originUrlPath.endsWith("/") ? `${originUrlPath}*` : `${originUrlPath}/*`;
|
|
36
49
|
router.add("*", urlPath, route);
|
|
@@ -43,7 +56,7 @@ function matchRoute(router, request) {
|
|
|
43
56
|
const result = matched[0][0];
|
|
44
57
|
return result || [];
|
|
45
58
|
}
|
|
46
|
-
async function createRender({ routes, pwd, metaName, staticGenerate, forceCSR, nonce, onFallback: onFallbackFn }) {
|
|
59
|
+
async function createRender({ routes, pwd, metaName, staticGenerate, cacheConfig, forceCSR, nonce, onFallback: onFallbackFn }) {
|
|
47
60
|
const router = getRouter(routes);
|
|
48
61
|
return async (req, { logger, nodeReq, reporter, templates, serverManifest, locals, metrics, loaderContext }) => {
|
|
49
62
|
const [routeInfo, params] = matchRoute(router, req);
|
|
@@ -85,6 +98,7 @@ async function createRender({ routes, pwd, metaName, staticGenerate, forceCSR, n
|
|
|
85
98
|
nonce,
|
|
86
99
|
logger,
|
|
87
100
|
nodeReq,
|
|
101
|
+
cacheConfig,
|
|
88
102
|
reporter,
|
|
89
103
|
serverRoutes: routes,
|
|
90
104
|
params,
|
|
@@ -160,7 +174,8 @@ function csrRender(html) {
|
|
|
160
174
|
return new Response(html, {
|
|
161
175
|
status: 200,
|
|
162
176
|
headers: new Headers({
|
|
163
|
-
"content-type": "text/html; charset=UTF-8"
|
|
177
|
+
"content-type": "text/html; charset=UTF-8",
|
|
178
|
+
[import_constants.X_MODERNJS_RENDER]: "client"
|
|
164
179
|
})
|
|
165
180
|
});
|
|
166
181
|
}
|