@bleedingdev/modern-js-server-core 3.8.3-ultramodern.6 → 3.9.0-ultramodern.10
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/index.js +4 -0
- package/dist/cjs/adapters/node/plugins/static.js +107 -29
- package/dist/cjs/index.js +10 -34
- package/dist/cjs/plugins/compat/index.js +1 -0
- package/dist/cjs/serverBase.js +58 -17
- package/dist/cjs/utils/error.js +0 -10
- package/dist/esm/adapters/node/index.mjs +1 -0
- package/dist/esm/adapters/node/plugins/static.mjs +107 -32
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/plugins/compat/index.mjs +1 -0
- package/dist/esm/plugins/render/render.mjs +4 -5
- package/dist/esm/serverBase.mjs +58 -17
- package/dist/esm/utils/error.mjs +0 -1
- package/dist/esm-node/adapters/node/index.mjs +1 -0
- package/dist/esm-node/adapters/node/plugins/static.mjs +107 -32
- package/dist/esm-node/index.mjs +1 -1
- package/dist/esm-node/plugins/compat/index.mjs +1 -0
- package/dist/esm-node/plugins/render/render.mjs +4 -3
- package/dist/esm-node/serverBase.mjs +58 -17
- package/dist/esm-node/utils/error.mjs +0 -1
- package/dist/types/adapters/node/helper/index.d.ts +6 -6
- package/dist/types/adapters/node/helper/loadCache.d.ts +1 -1
- package/dist/types/adapters/node/helper/loadConfig.d.ts +1 -1
- package/dist/types/adapters/node/helper/loadEnv.d.ts +1 -1
- package/dist/types/adapters/node/helper/loadPlugin.d.ts +1 -1
- package/dist/types/adapters/node/helper/utils.d.ts +1 -1
- package/dist/types/adapters/node/hono.d.ts +2 -2
- package/dist/types/adapters/node/index.d.ts +7 -5
- package/dist/types/adapters/node/node.d.ts +1 -1
- package/dist/types/adapters/node/plugins/index.d.ts +3 -3
- package/dist/types/adapters/node/plugins/nodeServer.d.ts +1 -1
- package/dist/types/adapters/node/plugins/resource.d.ts +1 -1
- package/dist/types/adapters/node/plugins/static.d.ts +43 -5
- package/dist/types/helper.d.ts +1 -1
- package/dist/types/index.d.ts +13 -14
- package/dist/types/plugins/compat/hooks.d.ts +1 -1
- package/dist/types/plugins/compat/index.d.ts +2 -2
- package/dist/types/plugins/default.d.ts +2 -2
- package/dist/types/plugins/favicon.d.ts +1 -1
- package/dist/types/plugins/index.d.ts +8 -8
- package/dist/types/plugins/log.d.ts +1 -1
- package/dist/types/plugins/middlewares.d.ts +1 -1
- package/dist/types/plugins/monitors.d.ts +1 -1
- package/dist/types/plugins/processedBy.d.ts +1 -1
- package/dist/types/plugins/render/csrRscRender.d.ts +1 -1
- package/dist/types/plugins/render/dataHandler.d.ts +1 -1
- package/dist/types/plugins/render/index.d.ts +2 -2
- package/dist/types/plugins/render/inject.d.ts +1 -1
- package/dist/types/plugins/render/render.d.ts +2 -2
- package/dist/types/plugins/render/renderRscHandler.d.ts +1 -1
- package/dist/types/plugins/render/serverActionHandler.d.ts +1 -1
- package/dist/types/plugins/render/ssrCache.d.ts +1 -1
- package/dist/types/plugins/render/ssrRender.d.ts +2 -2
- package/dist/types/plugins/render/utils.d.ts +2 -2
- package/dist/types/plugins/route.d.ts +1 -1
- package/dist/types/serverBase.d.ts +9 -3
- package/dist/types/types/config/bff.d.ts +4 -15
- package/dist/types/types/config/index.d.ts +14 -14
- package/dist/types/types/config/server.d.ts +1 -3
- package/dist/types/types/config/source.d.ts +1 -1
- package/dist/types/types/index.d.ts +4 -4
- package/dist/types/types/plugins/base.d.ts +3 -3
- package/dist/types/types/plugins/index.d.ts +2 -2
- package/dist/types/types/plugins/plugin.d.ts +16 -2
- package/dist/types/types/render.d.ts +1 -1
- package/dist/types/types/requestHandler.d.ts +3 -4
- package/dist/types/types/server.d.ts +1 -1
- package/dist/types/utils/error.d.ts +0 -2
- package/dist/types/utils/index.d.ts +9 -9
- package/dist/types/utils/publicDir.d.ts +1 -1
- package/dist/types/utils/serverConfig.d.ts +1 -1
- package/package.json +8 -9
- package/dist/cjs/adapters/node/plugins/staticModuleFederation.js +0 -173
- package/dist/cjs/adapters/node/plugins/staticPrecompressed.js +0 -152
- package/dist/cjs/adapters/node/plugins/staticServing.js +0 -206
- package/dist/cjs/types/config/bffRuntime.js +0 -18
- package/dist/cjs/types/config/serverTelemetry.js +0 -18
- package/dist/esm/adapters/node/plugins/staticModuleFederation.mjs +0 -104
- package/dist/esm/adapters/node/plugins/staticPrecompressed.mjs +0 -111
- package/dist/esm/adapters/node/plugins/staticServing.mjs +0 -152
- package/dist/esm/types/config/bffRuntime.mjs +0 -0
- package/dist/esm/types/config/serverTelemetry.mjs +0 -0
- package/dist/esm-node/adapters/node/plugins/staticModuleFederation.mjs +0 -105
- package/dist/esm-node/adapters/node/plugins/staticPrecompressed.mjs +0 -112
- package/dist/esm-node/adapters/node/plugins/staticServing.mjs +0 -153
- package/dist/esm-node/types/config/bffRuntime.mjs +0 -1
- package/dist/esm-node/types/config/serverTelemetry.mjs +0 -1
- package/dist/types/adapters/node/plugins/staticModuleFederation.d.ts +0 -13
- package/dist/types/adapters/node/plugins/staticPrecompressed.d.ts +0 -13
- package/dist/types/adapters/node/plugins/staticServing.d.ts +0 -25
- package/dist/types/types/config/bffRuntime.d.ts +0 -116
- package/dist/types/types/config/serverTelemetry.d.ts +0 -319
- /package/dist/esm/{rslib-runtime.mjs → rslib-runtime~1.mjs} +0 -0
- /package/dist/esm-node/{rslib-runtime.mjs → rslib-runtime~0.mjs} +0 -0
|
@@ -44,12 +44,14 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
44
44
|
loadServerPlugins: ()=>index_js_namespaceObject.loadServerPlugins,
|
|
45
45
|
loadServerRuntimeConfig: ()=>index_js_namespaceObject.loadServerRuntimeConfig,
|
|
46
46
|
sendResponse: ()=>external_node_js_namespaceObject.sendResponse,
|
|
47
|
+
serveStaticAsset: ()=>static_js_namespaceObject.serveStaticAsset,
|
|
47
48
|
serverStaticPlugin: ()=>external_plugins_index_js_namespaceObject.serverStaticPlugin
|
|
48
49
|
});
|
|
49
50
|
const index_js_namespaceObject = require("./helper/index.js");
|
|
50
51
|
const external_hono_js_namespaceObject = require("./hono.js");
|
|
51
52
|
const external_node_js_namespaceObject = require("./node.js");
|
|
52
53
|
const external_plugins_index_js_namespaceObject = require("./plugins/index.js");
|
|
54
|
+
const static_js_namespaceObject = require("./plugins/static.js");
|
|
53
55
|
exports.connectMid2HonoMid = __webpack_exports__.connectMid2HonoMid;
|
|
54
56
|
exports.connectMockMid2HonoMid = __webpack_exports__.connectMockMid2HonoMid;
|
|
55
57
|
exports.createNodeServer = __webpack_exports__.createNodeServer;
|
|
@@ -66,6 +68,7 @@ exports.loadServerEnv = __webpack_exports__.loadServerEnv;
|
|
|
66
68
|
exports.loadServerPlugins = __webpack_exports__.loadServerPlugins;
|
|
67
69
|
exports.loadServerRuntimeConfig = __webpack_exports__.loadServerRuntimeConfig;
|
|
68
70
|
exports.sendResponse = __webpack_exports__.sendResponse;
|
|
71
|
+
exports.serveStaticAsset = __webpack_exports__.serveStaticAsset;
|
|
69
72
|
exports.serverStaticPlugin = __webpack_exports__.serverStaticPlugin;
|
|
70
73
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
71
74
|
"connectMid2HonoMid",
|
|
@@ -84,6 +87,7 @@ for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
|
84
87
|
"loadServerPlugins",
|
|
85
88
|
"loadServerRuntimeConfig",
|
|
86
89
|
"sendResponse",
|
|
90
|
+
"serveStaticAsset",
|
|
87
91
|
"serverStaticPlugin"
|
|
88
92
|
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
89
93
|
Object.defineProperty(exports, '__esModule', {
|
|
@@ -39,14 +39,62 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
39
39
|
__webpack_require__.d(__webpack_exports__, {
|
|
40
40
|
createPublicMiddleware: ()=>createPublicMiddleware,
|
|
41
41
|
createStaticMiddleware: ()=>createStaticMiddleware,
|
|
42
|
+
serveStaticAsset: ()=>serveStaticAsset,
|
|
42
43
|
serverStaticPlugin: ()=>serverStaticPlugin
|
|
43
44
|
});
|
|
45
|
+
const fileReader_namespaceObject = require("@modern-js/runtime-utils/fileReader");
|
|
46
|
+
const utils_namespaceObject = require("@modern-js/utils");
|
|
47
|
+
const mime_namespaceObject = require("hono/utils/mime");
|
|
44
48
|
const external_path_namespaceObject = require("path");
|
|
45
49
|
var external_path_default = /*#__PURE__*/ __webpack_require__.n(external_path_namespaceObject);
|
|
46
50
|
const index_js_namespaceObject = require("../../../utils/index.js");
|
|
47
51
|
const publicDir_js_namespaceObject = require("../../../utils/publicDir.js");
|
|
48
|
-
const
|
|
49
|
-
const
|
|
52
|
+
const isPathInside = (target, root)=>{
|
|
53
|
+
const relative = external_path_default().relative(external_path_default().resolve(root), external_path_default().resolve(target));
|
|
54
|
+
return '' === relative || !relative.startsWith(`..${external_path_default().sep}`) && '..' !== relative && !external_path_default().isAbsolute(relative);
|
|
55
|
+
};
|
|
56
|
+
async function serveStaticAsset(context, asset, respond) {
|
|
57
|
+
let { filename } = asset;
|
|
58
|
+
const { kind } = asset;
|
|
59
|
+
if (asset.root && !isPathInside(filename, asset.root)) return null;
|
|
60
|
+
if (asset.realpath) try {
|
|
61
|
+
const [realFilename, realRoot, stat] = await Promise.all([
|
|
62
|
+
utils_namespaceObject.fs.realpath(filename),
|
|
63
|
+
asset.root ? utils_namespaceObject.fs.realpath(asset.root) : Promise.resolve(void 0),
|
|
64
|
+
utils_namespaceObject.fs.stat(filename)
|
|
65
|
+
]);
|
|
66
|
+
if (!stat.isFile() || realRoot && !isPathInside(realFilename, realRoot)) return null;
|
|
67
|
+
filename = realFilename;
|
|
68
|
+
asset = {
|
|
69
|
+
...asset,
|
|
70
|
+
filename,
|
|
71
|
+
root: realRoot
|
|
72
|
+
};
|
|
73
|
+
} catch {
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
if ('static' === kind && !await utils_namespaceObject.fs.pathExists(filename)) return null;
|
|
77
|
+
if (respond) return respond(asset, (representation)=>serveStaticAsset(context, {
|
|
78
|
+
...asset,
|
|
79
|
+
...representation,
|
|
80
|
+
filename: representation?.filename ?? asset.filename,
|
|
81
|
+
mimeFilename: asset.mimeFilename ?? filename
|
|
82
|
+
}));
|
|
83
|
+
const mimeType = (0, mime_namespaceObject.getMimeType)(asset.mimeFilename ?? filename);
|
|
84
|
+
if ('static' === kind && mimeType) context.header('Content-Type', mimeType);
|
|
85
|
+
const size = 'static' === kind ? (await utils_namespaceObject.fs.lstat(filename)).size : void 0;
|
|
86
|
+
const data = 'static' === kind ? await fileReader_namespaceObject.fileReader.readFileFromSystem(filename, 'buffer') : await fileReader_namespaceObject.fileReader.readFile(filename, 'buffer');
|
|
87
|
+
if ('static' === kind && (asset.contentLength ?? true)) context.header('Content-Length', String(true === asset.contentLength && data ? data.byteLength : size));
|
|
88
|
+
if (null === data) return null;
|
|
89
|
+
if ('public' === kind && mimeType) context.header('Content-Type', mimeType);
|
|
90
|
+
Object.entries(asset.responseHeaders || {}).forEach(([key, value])=>{
|
|
91
|
+
context.header(key, value);
|
|
92
|
+
});
|
|
93
|
+
if ('public' === kind && asset.contentLength) context.header('Content-Length', String(data.byteLength));
|
|
94
|
+
const body = new Uint8Array(data.buffer, data.byteOffset, data.byteLength);
|
|
95
|
+
return context.body(body, 200);
|
|
96
|
+
}
|
|
97
|
+
const serverStaticPlugin = (options = {})=>({
|
|
50
98
|
name: '@modern-js/plugin-server-static',
|
|
51
99
|
setup (api) {
|
|
52
100
|
api.onPrepare(()=>{
|
|
@@ -57,7 +105,9 @@ const serverStaticPlugin = ()=>({
|
|
|
57
105
|
routes,
|
|
58
106
|
output: config.output || {},
|
|
59
107
|
html: config.html || {},
|
|
60
|
-
server: config.server || {}
|
|
108
|
+
server: config.server || {},
|
|
109
|
+
...api.getServerContext().staticAssetResponders,
|
|
110
|
+
...options
|
|
61
111
|
});
|
|
62
112
|
middlewares.push({
|
|
63
113
|
name: 'server-static',
|
|
@@ -66,16 +116,33 @@ const serverStaticPlugin = ()=>({
|
|
|
66
116
|
});
|
|
67
117
|
}
|
|
68
118
|
});
|
|
69
|
-
function createPublicMiddleware({ pwd, routes }) {
|
|
119
|
+
function createPublicMiddleware({ pwd, routes, pathPrefix = '/', respondAsset, respondPublicFallback }) {
|
|
70
120
|
return async (c, next)=>{
|
|
71
|
-
const
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
121
|
+
const respondPublic = async ()=>{
|
|
122
|
+
const route = matchPublicRoute(c.req, routes);
|
|
123
|
+
if (!route) return null;
|
|
124
|
+
const asset = {
|
|
125
|
+
filename: external_path_default().join(pwd, route.entryPath),
|
|
126
|
+
kind: 'public',
|
|
127
|
+
responseHeaders: route.responseHeaders
|
|
128
|
+
};
|
|
129
|
+
const serve = (representation)=>serveStaticAsset(c, {
|
|
130
|
+
...asset,
|
|
131
|
+
...representation,
|
|
132
|
+
filename: representation?.filename ?? asset.filename,
|
|
133
|
+
mimeFilename: asset.filename
|
|
134
|
+
});
|
|
135
|
+
const response = respondAsset ? await respondAsset(c, asset, serve, {
|
|
136
|
+
root: pwd,
|
|
137
|
+
pathPrefix
|
|
138
|
+
}) : void 0;
|
|
139
|
+
return void 0 === response ? serve() : response;
|
|
140
|
+
};
|
|
141
|
+
const response = respondPublicFallback ? await respondPublicFallback(c, respondPublic, {
|
|
142
|
+
root: pwd,
|
|
143
|
+
pathPrefix
|
|
144
|
+
}) : await respondPublic();
|
|
145
|
+
return response ?? next();
|
|
79
146
|
};
|
|
80
147
|
}
|
|
81
148
|
function matchPublicRoute(req, routes) {
|
|
@@ -120,29 +187,38 @@ function createStaticMiddleware(options) {
|
|
|
120
187
|
...staticReg,
|
|
121
188
|
...iconReg
|
|
122
189
|
].join('|')})`);
|
|
123
|
-
const publicMiddleware = createPublicMiddleware({
|
|
124
|
-
pwd,
|
|
125
|
-
routes: routes || []
|
|
126
|
-
});
|
|
127
|
-
const moduleFederationStaticServing = (0, external_staticServing_js_namespaceObject.createModuleFederationStaticServing)({
|
|
128
|
-
pwd,
|
|
129
|
-
pathPrefix
|
|
130
|
-
});
|
|
131
190
|
return async (c, next)=>{
|
|
132
191
|
const pageRoute = c.get('route');
|
|
133
192
|
const pathname = c.req.path;
|
|
134
193
|
if (pageRoute && '' === external_path_default().extname(pathname)) return next();
|
|
135
194
|
const hit = staticPathRegExp.test(pathname);
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
195
|
+
if (!hit) return createPublicMiddleware({
|
|
196
|
+
pwd,
|
|
197
|
+
routes: routes || [],
|
|
198
|
+
pathPrefix,
|
|
199
|
+
respondAsset: options.respondAsset,
|
|
200
|
+
respondPublicFallback: options.respondPublicFallback
|
|
201
|
+
})(c, next);
|
|
202
|
+
{
|
|
203
|
+
const filepath = external_path_default().join(pwd, pathname.replace(pathPrefix, ()=>''));
|
|
204
|
+
if (!isPathInside(filepath, pwd)) return next();
|
|
205
|
+
if (!await utils_namespaceObject.fs.pathExists(filepath)) return next();
|
|
206
|
+
const asset = {
|
|
207
|
+
filename: filepath,
|
|
208
|
+
kind: 'static'
|
|
209
|
+
};
|
|
210
|
+
const serve = (representation)=>serveStaticAsset(c, {
|
|
211
|
+
...asset,
|
|
212
|
+
...representation,
|
|
213
|
+
filename: representation?.filename ?? asset.filename,
|
|
214
|
+
mimeFilename: filepath
|
|
215
|
+
});
|
|
216
|
+
const response = options.respondAsset ? await options.respondAsset(c, asset, serve, {
|
|
217
|
+
root: pwd,
|
|
218
|
+
pathPrefix
|
|
219
|
+
}) : void 0;
|
|
220
|
+
return (void 0 === response ? await serve() : response) ?? next();
|
|
142
221
|
}
|
|
143
|
-
const moduleFederationResponse = await moduleFederationStaticServing.serveModuleFederationAsset(c, staticServingRequest);
|
|
144
|
-
if (null !== moduleFederationResponse) return moduleFederationResponse;
|
|
145
|
-
return publicMiddleware(c, next);
|
|
146
222
|
};
|
|
147
223
|
}
|
|
148
224
|
const prepareFavicons = (favicon)=>{
|
|
@@ -152,10 +228,12 @@ const prepareFavicons = (favicon)=>{
|
|
|
152
228
|
};
|
|
153
229
|
exports.createPublicMiddleware = __webpack_exports__.createPublicMiddleware;
|
|
154
230
|
exports.createStaticMiddleware = __webpack_exports__.createStaticMiddleware;
|
|
231
|
+
exports.serveStaticAsset = __webpack_exports__.serveStaticAsset;
|
|
155
232
|
exports.serverStaticPlugin = __webpack_exports__.serverStaticPlugin;
|
|
156
233
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
157
234
|
"createPublicMiddleware",
|
|
158
235
|
"createStaticMiddleware",
|
|
236
|
+
"serveStaticAsset",
|
|
159
237
|
"serverStaticPlugin"
|
|
160
238
|
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
161
239
|
Object.defineProperty(exports, '__esModule', {
|
package/dist/cjs/index.js
CHANGED
|
@@ -92,22 +92,19 @@ var __webpack_exports__ = {};
|
|
|
92
92
|
var __rspack_reexport = {};
|
|
93
93
|
for(const __rspack_import_key in _plugins__rspack_import_4)if ([
|
|
94
94
|
"Hono",
|
|
95
|
-
"createSafeJsonFailureResponse",
|
|
96
95
|
"createErrorHtml",
|
|
97
96
|
"useHonoContext",
|
|
98
|
-
"createServerBase",
|
|
99
97
|
"normalizePublicDir",
|
|
98
|
+
"createServerBase",
|
|
100
99
|
"resolvePublicDirPaths",
|
|
101
|
-
"getSafeFailureStatus",
|
|
102
100
|
"default",
|
|
103
101
|
"normalizePublicDirPath",
|
|
104
102
|
"onError",
|
|
105
|
-
"createSafeFailureHttpResult",
|
|
106
103
|
"ErrorDigest",
|
|
107
104
|
"getPublicDirConfig",
|
|
108
105
|
"getPublicDirPatterns",
|
|
109
|
-
"getLoaderCtx",
|
|
110
106
|
"getPublicDirRoutePrefixes",
|
|
107
|
+
"getLoaderCtx",
|
|
111
108
|
"run",
|
|
112
109
|
"AGGRED_DIR"
|
|
113
110
|
].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_plugins__rspack_import_4[__rspack_import_key];
|
|
@@ -117,22 +114,19 @@ var __webpack_exports__ = {};
|
|
|
117
114
|
var __rspack_reexport = {};
|
|
118
115
|
for(const __rspack_import_key in _types_config__rspack_import_6)if ([
|
|
119
116
|
"Hono",
|
|
120
|
-
"createSafeJsonFailureResponse",
|
|
121
117
|
"createErrorHtml",
|
|
122
118
|
"useHonoContext",
|
|
123
|
-
"createServerBase",
|
|
124
119
|
"normalizePublicDir",
|
|
120
|
+
"createServerBase",
|
|
125
121
|
"resolvePublicDirPaths",
|
|
126
|
-
"getSafeFailureStatus",
|
|
127
122
|
"default",
|
|
128
123
|
"normalizePublicDirPath",
|
|
129
124
|
"onError",
|
|
130
|
-
"createSafeFailureHttpResult",
|
|
131
125
|
"ErrorDigest",
|
|
132
126
|
"getPublicDirConfig",
|
|
133
127
|
"getPublicDirPatterns",
|
|
134
|
-
"getLoaderCtx",
|
|
135
128
|
"getPublicDirRoutePrefixes",
|
|
129
|
+
"getLoaderCtx",
|
|
136
130
|
"run",
|
|
137
131
|
"AGGRED_DIR"
|
|
138
132
|
].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_types_config__rspack_import_6[__rspack_import_key];
|
|
@@ -141,22 +135,19 @@ var __webpack_exports__ = {};
|
|
|
141
135
|
var __rspack_reexport = {};
|
|
142
136
|
for(const __rspack_import_key in _types_plugins__rspack_import_7)if ([
|
|
143
137
|
"Hono",
|
|
144
|
-
"createSafeJsonFailureResponse",
|
|
145
138
|
"createErrorHtml",
|
|
146
139
|
"useHonoContext",
|
|
147
|
-
"createServerBase",
|
|
148
140
|
"normalizePublicDir",
|
|
141
|
+
"createServerBase",
|
|
149
142
|
"resolvePublicDirPaths",
|
|
150
|
-
"getSafeFailureStatus",
|
|
151
143
|
"default",
|
|
152
144
|
"normalizePublicDirPath",
|
|
153
145
|
"onError",
|
|
154
|
-
"createSafeFailureHttpResult",
|
|
155
146
|
"ErrorDigest",
|
|
156
147
|
"getPublicDirConfig",
|
|
157
148
|
"getPublicDirPatterns",
|
|
158
|
-
"getLoaderCtx",
|
|
159
149
|
"getPublicDirRoutePrefixes",
|
|
150
|
+
"getLoaderCtx",
|
|
160
151
|
"run",
|
|
161
152
|
"AGGRED_DIR"
|
|
162
153
|
].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_types_plugins__rspack_import_7[__rspack_import_key];
|
|
@@ -165,22 +156,19 @@ var __webpack_exports__ = {};
|
|
|
165
156
|
var __rspack_reexport = {};
|
|
166
157
|
for(const __rspack_import_key in _types_render__rspack_import_8)if ([
|
|
167
158
|
"Hono",
|
|
168
|
-
"createSafeJsonFailureResponse",
|
|
169
159
|
"createErrorHtml",
|
|
170
160
|
"useHonoContext",
|
|
171
|
-
"createServerBase",
|
|
172
161
|
"normalizePublicDir",
|
|
162
|
+
"createServerBase",
|
|
173
163
|
"resolvePublicDirPaths",
|
|
174
|
-
"getSafeFailureStatus",
|
|
175
164
|
"default",
|
|
176
165
|
"normalizePublicDirPath",
|
|
177
166
|
"onError",
|
|
178
|
-
"createSafeFailureHttpResult",
|
|
179
167
|
"ErrorDigest",
|
|
180
168
|
"getPublicDirConfig",
|
|
181
169
|
"getPublicDirPatterns",
|
|
182
|
-
"getLoaderCtx",
|
|
183
170
|
"getPublicDirRoutePrefixes",
|
|
171
|
+
"getLoaderCtx",
|
|
184
172
|
"run",
|
|
185
173
|
"AGGRED_DIR"
|
|
186
174
|
].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_types_render__rspack_import_8[__rspack_import_key];
|
|
@@ -189,22 +177,19 @@ var __webpack_exports__ = {};
|
|
|
189
177
|
var __rspack_reexport = {};
|
|
190
178
|
for(const __rspack_import_key in _types_requestHandler__rspack_import_9)if ([
|
|
191
179
|
"Hono",
|
|
192
|
-
"createSafeJsonFailureResponse",
|
|
193
180
|
"createErrorHtml",
|
|
194
181
|
"useHonoContext",
|
|
195
|
-
"createServerBase",
|
|
196
182
|
"normalizePublicDir",
|
|
183
|
+
"createServerBase",
|
|
197
184
|
"resolvePublicDirPaths",
|
|
198
|
-
"getSafeFailureStatus",
|
|
199
185
|
"default",
|
|
200
186
|
"normalizePublicDirPath",
|
|
201
187
|
"onError",
|
|
202
|
-
"createSafeFailureHttpResult",
|
|
203
188
|
"ErrorDigest",
|
|
204
189
|
"getPublicDirConfig",
|
|
205
190
|
"getPublicDirPatterns",
|
|
206
|
-
"getLoaderCtx",
|
|
207
191
|
"getPublicDirRoutePrefixes",
|
|
192
|
+
"getLoaderCtx",
|
|
208
193
|
"run",
|
|
209
194
|
"AGGRED_DIR"
|
|
210
195
|
].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_types_requestHandler__rspack_import_9[__rspack_import_key];
|
|
@@ -216,14 +201,11 @@ var __webpack_exports__ = {};
|
|
|
216
201
|
ErrorDigest: ()=>_utils__rspack_import_10.ErrorDigest,
|
|
217
202
|
Hono: ()=>hono__rspack_import_0.Hono,
|
|
218
203
|
createErrorHtml: ()=>_utils__rspack_import_10.createErrorHtml,
|
|
219
|
-
createSafeFailureHttpResult: ()=>_utils__rspack_import_10.createSafeFailureHttpResult,
|
|
220
|
-
createSafeJsonFailureResponse: ()=>_utils__rspack_import_10.createSafeJsonFailureResponse,
|
|
221
204
|
createServerBase: ()=>_serverBase__rspack_import_5.createServerBase,
|
|
222
205
|
getLoaderCtx: ()=>_helper__rspack_import_3.getLoaderCtx,
|
|
223
206
|
getPublicDirConfig: ()=>_utils_publicDir__rspack_import_11.getPublicDirConfig,
|
|
224
207
|
getPublicDirPatterns: ()=>_utils_publicDir__rspack_import_11.getPublicDirPatterns,
|
|
225
208
|
getPublicDirRoutePrefixes: ()=>_utils_publicDir__rspack_import_11.getPublicDirRoutePrefixes,
|
|
226
|
-
getSafeFailureStatus: ()=>_utils__rspack_import_10.getSafeFailureStatus,
|
|
227
209
|
normalizePublicDir: ()=>_utils_publicDir__rspack_import_11.normalizePublicDir,
|
|
228
210
|
normalizePublicDirPath: ()=>_utils_publicDir__rspack_import_11.normalizePublicDirPath,
|
|
229
211
|
onError: ()=>_utils__rspack_import_10.onError,
|
|
@@ -236,14 +218,11 @@ exports.AGGRED_DIR = __webpack_exports__.AGGRED_DIR;
|
|
|
236
218
|
exports.ErrorDigest = __webpack_exports__.ErrorDigest;
|
|
237
219
|
exports.Hono = __webpack_exports__.Hono;
|
|
238
220
|
exports.createErrorHtml = __webpack_exports__.createErrorHtml;
|
|
239
|
-
exports.createSafeFailureHttpResult = __webpack_exports__.createSafeFailureHttpResult;
|
|
240
|
-
exports.createSafeJsonFailureResponse = __webpack_exports__.createSafeJsonFailureResponse;
|
|
241
221
|
exports.createServerBase = __webpack_exports__.createServerBase;
|
|
242
222
|
exports.getLoaderCtx = __webpack_exports__.getLoaderCtx;
|
|
243
223
|
exports.getPublicDirConfig = __webpack_exports__.getPublicDirConfig;
|
|
244
224
|
exports.getPublicDirPatterns = __webpack_exports__.getPublicDirPatterns;
|
|
245
225
|
exports.getPublicDirRoutePrefixes = __webpack_exports__.getPublicDirRoutePrefixes;
|
|
246
|
-
exports.getSafeFailureStatus = __webpack_exports__.getSafeFailureStatus;
|
|
247
226
|
exports.normalizePublicDir = __webpack_exports__.normalizePublicDir;
|
|
248
227
|
exports.normalizePublicDirPath = __webpack_exports__.normalizePublicDirPath;
|
|
249
228
|
exports.onError = __webpack_exports__.onError;
|
|
@@ -255,14 +234,11 @@ for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
|
255
234
|
"ErrorDigest",
|
|
256
235
|
"Hono",
|
|
257
236
|
"createErrorHtml",
|
|
258
|
-
"createSafeFailureHttpResult",
|
|
259
|
-
"createSafeJsonFailureResponse",
|
|
260
237
|
"createServerBase",
|
|
261
238
|
"getLoaderCtx",
|
|
262
239
|
"getPublicDirConfig",
|
|
263
240
|
"getPublicDirPatterns",
|
|
264
241
|
"getPublicDirRoutePrefixes",
|
|
265
|
-
"getSafeFailureStatus",
|
|
266
242
|
"normalizePublicDir",
|
|
267
243
|
"normalizePublicDirPath",
|
|
268
244
|
"onError",
|
|
@@ -36,6 +36,7 @@ const external_hooks_js_namespaceObject = require("./hooks.js");
|
|
|
36
36
|
const compatPlugin = ()=>({
|
|
37
37
|
name: '@modern-js/server-compat',
|
|
38
38
|
registryHooks: {
|
|
39
|
+
handleError: (0, plugin_namespaceObject.createAsyncPipelineHook)(),
|
|
39
40
|
prepareWebServer: (0, plugin_namespaceObject.createAsyncPipelineHook)(),
|
|
40
41
|
prepareApiServer: (0, plugin_namespaceObject.createAsyncPipelineHook)(),
|
|
41
42
|
afterMatch: (0, plugin_namespaceObject.createAsyncPipelineHook)(),
|
package/dist/cjs/serverBase.js
CHANGED
|
@@ -32,6 +32,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
32
32
|
createServerBase: ()=>createServerBase
|
|
33
33
|
});
|
|
34
34
|
const server_namespaceObject = require("@modern-js/plugin/server");
|
|
35
|
+
const utils_namespaceObject = require("@modern-js/utils");
|
|
35
36
|
const external_hono_namespaceObject = require("hono");
|
|
36
37
|
const external_context_js_namespaceObject = require("./context.js");
|
|
37
38
|
const hooks_js_namespaceObject = require("./plugins/compat/hooks.js");
|
|
@@ -50,22 +51,54 @@ function _class_private_method_init(obj, privateSet) {
|
|
|
50
51
|
var _applyMiddlewares = /*#__PURE__*/ new WeakSet();
|
|
51
52
|
class ServerBase {
|
|
52
53
|
async init() {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
54
|
+
try {
|
|
55
|
+
const { serverConfig, config: cliConfig } = this.serverOptions;
|
|
56
|
+
const mergedConfig = (0, index_js_namespaceObject.loadConfig)({
|
|
57
|
+
cliConfig,
|
|
58
|
+
serverConfig: serverConfig || {}
|
|
59
|
+
});
|
|
60
|
+
const { serverContext } = await server_namespaceObject.server.run({
|
|
61
|
+
plugins: this.plugins,
|
|
62
|
+
options: this.serverOptions,
|
|
63
|
+
config: mergedConfig,
|
|
64
|
+
handleSetupResult: hooks_js_namespaceObject.handleSetupResult
|
|
65
|
+
});
|
|
66
|
+
serverContext.serverBase = this;
|
|
67
|
+
this.serverContext = serverContext;
|
|
68
|
+
await serverContext.hooks.onPrepare.call();
|
|
69
|
+
_class_private_method_get(this, _applyMiddlewares, applyMiddlewares).call(this);
|
|
70
|
+
return this;
|
|
71
|
+
} catch (error) {
|
|
72
|
+
await this.dispose().catch((disposeError)=>{
|
|
73
|
+
utils_namespaceObject.logger.error(disposeError);
|
|
74
|
+
});
|
|
75
|
+
throw error;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
onDispose(disposer) {
|
|
79
|
+
if (this.disposePromise) throw new Error('Cannot register a disposer on a retired server.');
|
|
80
|
+
this.disposers.add(disposer);
|
|
81
|
+
return ()=>{
|
|
82
|
+
this.disposers.delete(disposer);
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
dispose() {
|
|
86
|
+
if (!this.disposePromise) {
|
|
87
|
+
const disposers = [
|
|
88
|
+
...this.disposers
|
|
89
|
+
].reverse();
|
|
90
|
+
this.disposers.clear();
|
|
91
|
+
this.disposePromise = Promise.resolve().then(async ()=>{
|
|
92
|
+
const errors = [];
|
|
93
|
+
for (const disposer of disposers)try {
|
|
94
|
+
await disposer();
|
|
95
|
+
} catch (error) {
|
|
96
|
+
errors.push(error);
|
|
97
|
+
}
|
|
98
|
+
if (errors.length > 0) throw new AggregateError(errors, 'Failed to dispose server.');
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
return this.disposePromise;
|
|
69
102
|
}
|
|
70
103
|
addPlugins(plugins) {
|
|
71
104
|
this.plugins.push(...plugins);
|
|
@@ -111,7 +144,15 @@ class ServerBase {
|
|
|
111
144
|
}
|
|
112
145
|
constructor(options){
|
|
113
146
|
_class_private_method_init(this, _applyMiddlewares);
|
|
114
|
-
this.plugins = [
|
|
147
|
+
this.plugins = [
|
|
148
|
+
{
|
|
149
|
+
name: '@modern-js/server-lifecycle',
|
|
150
|
+
_registryApi: ()=>({
|
|
151
|
+
onDispose: (disposer)=>this.onDispose(disposer)
|
|
152
|
+
})
|
|
153
|
+
}
|
|
154
|
+
];
|
|
155
|
+
this.disposers = new Set();
|
|
115
156
|
this.serverContext = null;
|
|
116
157
|
this.serverOptions = options;
|
|
117
158
|
this.app = new external_hono_namespaceObject.Hono();
|
package/dist/cjs/utils/error.js
CHANGED
|
@@ -30,12 +30,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
30
30
|
__webpack_require__.d(__webpack_exports__, {
|
|
31
31
|
ErrorDigest: ()=>error_ErrorDigest,
|
|
32
32
|
createErrorHtml: ()=>createErrorHtml,
|
|
33
|
-
createSafeFailureHttpResult: ()=>safe_failure_namespaceObject.createSafeFailureHttpResult,
|
|
34
|
-
createSafeJsonFailureResponse: ()=>safe_failure_namespaceObject.createSafeJsonFailureResponse,
|
|
35
|
-
getSafeFailureStatus: ()=>safe_failure_namespaceObject.getSafeFailureStatus,
|
|
36
33
|
onError: ()=>onError
|
|
37
34
|
});
|
|
38
|
-
const safe_failure_namespaceObject = require("@modern-js/runtime-extensions/safe-failure");
|
|
39
35
|
const external_request_js_namespaceObject = require("./request.js");
|
|
40
36
|
const ERROR_PAGE_TEXT = {
|
|
41
37
|
404: 'This page could not be found.',
|
|
@@ -90,16 +86,10 @@ function onError(digest, error, monitors, req) {
|
|
|
90
86
|
}
|
|
91
87
|
exports.ErrorDigest = __webpack_exports__.ErrorDigest;
|
|
92
88
|
exports.createErrorHtml = __webpack_exports__.createErrorHtml;
|
|
93
|
-
exports.createSafeFailureHttpResult = __webpack_exports__.createSafeFailureHttpResult;
|
|
94
|
-
exports.createSafeJsonFailureResponse = __webpack_exports__.createSafeJsonFailureResponse;
|
|
95
|
-
exports.getSafeFailureStatus = __webpack_exports__.getSafeFailureStatus;
|
|
96
89
|
exports.onError = __webpack_exports__.onError;
|
|
97
90
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
98
91
|
"ErrorDigest",
|
|
99
92
|
"createErrorHtml",
|
|
100
|
-
"createSafeFailureHttpResult",
|
|
101
|
-
"createSafeJsonFailureResponse",
|
|
102
|
-
"getSafeFailureStatus",
|
|
103
93
|
"onError"
|
|
104
94
|
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
105
95
|
Object.defineProperty(exports, '__esModule', {
|
|
@@ -2,3 +2,4 @@ export { loadCacheConfig, loadServerCliConfig, loadServerEnv, loadServerPlugins,
|
|
|
2
2
|
export { connectMid2HonoMid, connectMockMid2HonoMid, httpCallBack2HonoMid } from "./hono.mjs";
|
|
3
3
|
export { createNodeServer, createWebRequest, sendResponse } from "./node.mjs";
|
|
4
4
|
export { getHtmlTemplates, getServerManifest, injectNodeSeverPlugin, injectResourcePlugin, injectRscManifestPlugin, serverStaticPlugin } from "./plugins/index.mjs";
|
|
5
|
+
export { serveStaticAsset } from "./plugins/static.mjs";
|