@modern-js/server-core 2.46.1 → 2.47.1-alpha.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/base/adapters/node/bff.js +69 -0
- package/dist/cjs/base/adapters/node/hono.js +62 -0
- package/dist/cjs/base/adapters/node/index.js +32 -0
- package/dist/cjs/base/adapters/node/loadServer.js +56 -0
- package/dist/cjs/base/adapters/node/middlewares/index.js +26 -0
- package/dist/cjs/base/adapters/node/middlewares/mock.js +113 -0
- package/dist/cjs/base/adapters/node/middlewares/serverStatic.js +105 -0
- package/dist/cjs/base/adapters/node/middlewares/templates.js +65 -0
- package/dist/cjs/base/adapters/node/node.js +121 -0
- package/dist/cjs/base/adapters/node/polyfills/index.js +24 -0
- package/dist/cjs/base/adapters/node/polyfills/install.js +57 -0
- package/dist/cjs/base/adapters/node/polyfills/stream.js +159 -0
- package/dist/cjs/base/constants.js +55 -0
- package/dist/cjs/base/index.js +73 -0
- package/dist/cjs/base/middlewares/customServer/base.js +115 -0
- package/dist/cjs/base/middlewares/customServer/context.js +78 -0
- package/dist/cjs/base/middlewares/customServer/index.js +138 -0
- package/dist/cjs/base/middlewares/customServer/routerApi.js +48 -0
- package/dist/cjs/base/middlewares/customServer/template.js +60 -0
- package/dist/cjs/base/middlewares/dataHandler.js +69 -0
- package/dist/cjs/base/middlewares/faviconFallback.js +34 -0
- package/dist/cjs/base/middlewares/index.js +28 -0
- package/dist/cjs/base/middlewares/monitor.js +75 -0
- package/dist/cjs/base/middlewares/renderHandler/index.js +92 -0
- package/dist/cjs/base/middlewares/renderHandler/render.js +90 -0
- package/dist/cjs/base/middlewares/renderHandler/serverTiming.js +43 -0
- package/dist/cjs/base/middlewares/renderHandler/ssrCache.js +173 -0
- package/dist/cjs/base/middlewares/renderHandler/ssrRender.js +183 -0
- package/dist/cjs/base/serverBase.js +167 -0
- package/dist/cjs/base/utils/debug.js +29 -0
- package/dist/cjs/base/utils/entry.js +30 -0
- package/dist/cjs/base/utils/env.js +45 -0
- package/dist/cjs/base/utils/error.js +65 -0
- package/dist/cjs/base/utils/index.js +40 -0
- package/dist/cjs/base/utils/middlewareCollector.js +54 -0
- package/dist/cjs/base/utils/path.js +46 -0
- package/dist/cjs/base/utils/request.js +65 -0
- package/dist/cjs/base/utils/serverConfig.js +71 -0
- package/dist/cjs/base/utils/transformStream.js +38 -0
- package/dist/cjs/base/utils/warmup.js +43 -0
- package/dist/cjs/core/hono.js +16 -0
- package/dist/cjs/core/index.js +24 -0
- package/dist/cjs/{loadPlugins.js → core/loadPlugins.js} +1 -1
- package/dist/cjs/{plugin.js → core/plugin.js} +3 -3
- package/dist/cjs/core/render.js +16 -0
- package/dist/cjs/core/server.js +22 -0
- package/dist/cjs/index.js +6 -4
- package/dist/esm/base/adapters/node/bff.js +45 -0
- package/dist/esm/base/adapters/node/hono.js +37 -0
- package/dist/esm/base/adapters/node/index.js +6 -0
- package/dist/esm/base/adapters/node/loadServer.js +22 -0
- package/dist/esm/base/adapters/node/middlewares/index.js +3 -0
- package/dist/esm/base/adapters/node/middlewares/mock.js +79 -0
- package/dist/esm/base/adapters/node/middlewares/serverStatic.js +71 -0
- package/dist/esm/base/adapters/node/middlewares/templates.js +31 -0
- package/dist/esm/base/adapters/node/node.js +95 -0
- package/dist/esm/base/adapters/node/polyfills/index.js +2 -0
- package/dist/esm/base/adapters/node/polyfills/install.js +33 -0
- package/dist/esm/base/adapters/node/polyfills/stream.js +132 -0
- package/dist/esm/base/constants.js +29 -0
- package/dist/esm/base/index.js +32 -0
- package/dist/esm/base/middlewares/customServer/base.js +91 -0
- package/dist/esm/base/middlewares/customServer/context.js +51 -0
- package/dist/esm/base/middlewares/customServer/index.js +114 -0
- package/dist/esm/base/middlewares/customServer/routerApi.js +24 -0
- package/dist/esm/base/middlewares/customServer/template.js +36 -0
- package/dist/esm/base/middlewares/dataHandler.js +35 -0
- package/dist/esm/base/middlewares/faviconFallback.js +10 -0
- package/dist/esm/base/middlewares/index.js +4 -0
- package/dist/esm/base/middlewares/monitor.js +49 -0
- package/dist/esm/base/middlewares/renderHandler/index.js +67 -0
- package/dist/esm/base/middlewares/renderHandler/render.js +66 -0
- package/dist/esm/base/middlewares/renderHandler/serverTiming.js +19 -0
- package/dist/esm/base/middlewares/renderHandler/ssrCache.js +149 -0
- package/dist/esm/base/middlewares/renderHandler/ssrRender.js +149 -0
- package/dist/esm/base/serverBase.js +143 -0
- package/dist/esm/base/utils/debug.js +5 -0
- package/dist/esm/base/utils/entry.js +6 -0
- package/dist/esm/base/utils/env.js +20 -0
- package/dist/esm/base/utils/error.js +41 -0
- package/dist/esm/base/utils/index.js +10 -0
- package/dist/esm/base/utils/middlewareCollector.js +29 -0
- package/dist/esm/base/utils/path.js +12 -0
- package/dist/esm/base/utils/request.js +38 -0
- package/dist/esm/base/utils/serverConfig.js +35 -0
- package/dist/esm/base/utils/transformStream.js +14 -0
- package/dist/esm/base/utils/warmup.js +9 -0
- package/dist/esm/core/hono.js +0 -0
- package/dist/esm/core/index.js +2 -0
- package/dist/esm/{loadPlugins.js → core/loadPlugins.js} +1 -1
- package/dist/esm/{plugin.js → core/plugin.js} +3 -3
- package/dist/esm/core/render.js +0 -0
- package/dist/esm/core/server.js +1 -0
- package/dist/esm/index.js +3 -2
- package/dist/types/base/adapters/node/bff.d.ts +4 -0
- package/dist/types/base/adapters/node/hono.d.ts +30 -0
- package/dist/types/base/adapters/node/index.d.ts +6 -0
- package/dist/types/base/adapters/node/loadServer.d.ts +3 -0
- package/dist/types/base/adapters/node/middlewares/index.d.ts +3 -0
- package/dist/types/base/adapters/node/middlewares/mock.d.ts +5 -0
- package/dist/types/base/adapters/node/middlewares/serverStatic.d.ts +9 -0
- package/dist/types/base/adapters/node/middlewares/templates.d.ts +3 -0
- package/dist/types/base/adapters/node/node.d.ts +12 -0
- package/dist/types/base/adapters/node/polyfills/index.d.ts +2 -0
- package/dist/types/base/adapters/node/polyfills/install.d.ts +1 -0
- package/dist/types/base/adapters/node/polyfills/stream.d.ts +18 -0
- package/dist/types/base/constants.d.ts +23 -0
- package/dist/types/base/index.d.ts +9 -0
- package/dist/types/base/middlewares/customServer/base.d.ts +3 -0
- package/dist/types/base/middlewares/customServer/context.d.ts +7 -0
- package/dist/types/base/middlewares/customServer/index.d.ts +13 -0
- package/dist/types/base/middlewares/customServer/routerApi.d.ts +9 -0
- package/dist/types/base/middlewares/customServer/template.d.ts +11 -0
- package/dist/types/base/middlewares/dataHandler.d.ts +3 -0
- package/dist/types/base/middlewares/faviconFallback.d.ts +2 -0
- package/dist/types/base/middlewares/index.d.ts +4 -0
- package/dist/types/base/middlewares/monitor.d.ts +7 -0
- package/dist/types/base/middlewares/renderHandler/index.d.ts +9 -0
- package/dist/types/base/middlewares/renderHandler/render.d.ts +12 -0
- package/dist/types/base/middlewares/renderHandler/serverTiming.d.ts +7 -0
- package/dist/types/base/middlewares/renderHandler/ssrCache.d.ts +17 -0
- package/dist/types/base/middlewares/renderHandler/ssrRender.d.ts +18 -0
- package/dist/types/base/serverBase.d.ts +49 -0
- package/dist/types/base/utils/debug.d.ts +1 -0
- package/dist/types/base/utils/entry.d.ts +2 -0
- package/dist/types/base/utils/env.d.ts +2 -0
- package/dist/types/base/utils/error.d.ts +1 -0
- package/dist/types/base/utils/index.d.ts +10 -0
- package/dist/types/base/utils/middlewareCollector.d.ts +12 -0
- package/dist/types/base/utils/path.d.ts +3 -0
- package/dist/types/base/utils/request.d.ts +12 -0
- package/dist/types/base/utils/serverConfig.d.ts +14 -0
- package/dist/types/base/utils/transformStream.d.ts +2 -0
- package/dist/types/base/utils/warmup.d.ts +1 -0
- package/dist/types/core/hono.d.ts +1 -0
- package/dist/types/core/index.d.ts +2 -0
- package/dist/types/{loadPlugins.d.ts → core/loadPlugins.d.ts} +1 -1
- package/dist/types/{plugin.d.ts → core/plugin.d.ts} +60 -35
- package/dist/types/core/render.d.ts +11 -0
- package/dist/types/core/server.d.ts +71 -0
- package/dist/types/index.d.ts +3 -2
- package/package.json +29 -6
|
@@ -0,0 +1,57 @@
|
|
|
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 install_exports = {};
|
|
20
|
+
__export(install_exports, {
|
|
21
|
+
installGlobals: () => installGlobals
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(install_exports);
|
|
24
|
+
var import_fetch = require("@web-std/fetch");
|
|
25
|
+
var import_stream = require("@web-std/stream");
|
|
26
|
+
Object.defineProperty(import_fetch.Headers.prototype, "getSetCookie", {
|
|
27
|
+
value: function getSetCookie() {
|
|
28
|
+
const cookies = [];
|
|
29
|
+
this.forEach((value, name) => {
|
|
30
|
+
if (name.toLowerCase() === "set-cookie") {
|
|
31
|
+
cookies.push(value);
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
return cookies;
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
const installGlobals = () => {
|
|
38
|
+
if (!global.Headers) {
|
|
39
|
+
global.Headers = import_fetch.Headers;
|
|
40
|
+
}
|
|
41
|
+
if (!global.Request) {
|
|
42
|
+
global.Request = import_fetch.Request;
|
|
43
|
+
}
|
|
44
|
+
if (!global.Response) {
|
|
45
|
+
global.Response = import_fetch.Response;
|
|
46
|
+
}
|
|
47
|
+
if (!global.TransformStream) {
|
|
48
|
+
global.TransformStream = import_stream.TransformStream;
|
|
49
|
+
}
|
|
50
|
+
if (!global.ReadableStream) {
|
|
51
|
+
global.ReadableStream = import_stream.ReadableStream;
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
55
|
+
0 && (module.exports = {
|
|
56
|
+
installGlobals
|
|
57
|
+
});
|
|
@@ -0,0 +1,159 @@
|
|
|
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 stream_exports = {};
|
|
20
|
+
__export(stream_exports, {
|
|
21
|
+
createReadableStreamFromReadable: () => createReadableStreamFromReadable,
|
|
22
|
+
readableStreamToString: () => readableStreamToString,
|
|
23
|
+
writeAsyncIterableToWritable: () => writeAsyncIterableToWritable,
|
|
24
|
+
writeReadableStreamToWritable: () => writeReadableStreamToWritable
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(stream_exports);
|
|
27
|
+
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
28
|
+
var import_node_stream = require("node:stream");
|
|
29
|
+
var import_stream = require("@web-std/stream");
|
|
30
|
+
async function writeReadableStreamToWritable(stream, writable) {
|
|
31
|
+
const reader = stream.getReader();
|
|
32
|
+
const flushable = writable;
|
|
33
|
+
try {
|
|
34
|
+
while (true) {
|
|
35
|
+
const { done, value } = await reader.read();
|
|
36
|
+
if (done) {
|
|
37
|
+
writable.end();
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
writable.write(value);
|
|
41
|
+
if (typeof flushable.flush === "function") {
|
|
42
|
+
flushable.flush();
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
} catch (error) {
|
|
46
|
+
writable.destroy(error);
|
|
47
|
+
throw error;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
async function writeAsyncIterableToWritable(iterable, writable) {
|
|
51
|
+
try {
|
|
52
|
+
for await (const chunk of iterable) {
|
|
53
|
+
writable.write(chunk);
|
|
54
|
+
}
|
|
55
|
+
writable.end();
|
|
56
|
+
} catch (error) {
|
|
57
|
+
writable.destroy(error);
|
|
58
|
+
throw error;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
async function readableStreamToString(stream, encoding) {
|
|
62
|
+
const reader = stream.getReader();
|
|
63
|
+
const chunks = [];
|
|
64
|
+
while (true) {
|
|
65
|
+
const { done, value } = await reader.read();
|
|
66
|
+
if (done) {
|
|
67
|
+
break;
|
|
68
|
+
}
|
|
69
|
+
if (value) {
|
|
70
|
+
chunks.push(value);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return Buffer.concat(chunks).toString(encoding);
|
|
74
|
+
}
|
|
75
|
+
const createReadableStreamFromReadable = (source) => {
|
|
76
|
+
const pump = new StreamPump(source);
|
|
77
|
+
const stream = new import_stream.ReadableStream(pump, pump);
|
|
78
|
+
return stream;
|
|
79
|
+
};
|
|
80
|
+
class StreamPump {
|
|
81
|
+
size(chunk) {
|
|
82
|
+
return (chunk === null || chunk === void 0 ? void 0 : chunk.byteLength) || 0;
|
|
83
|
+
}
|
|
84
|
+
start(controller) {
|
|
85
|
+
this.controller = controller;
|
|
86
|
+
this.stream.on("data", this.enqueue);
|
|
87
|
+
this.stream.once("error", this.error);
|
|
88
|
+
this.stream.once("end", this.close);
|
|
89
|
+
this.stream.once("close", this.close);
|
|
90
|
+
}
|
|
91
|
+
pull() {
|
|
92
|
+
this.resume();
|
|
93
|
+
}
|
|
94
|
+
cancel(reason) {
|
|
95
|
+
if (this.stream.destroy) {
|
|
96
|
+
this.stream.destroy(reason);
|
|
97
|
+
}
|
|
98
|
+
this.stream.off("data", this.enqueue);
|
|
99
|
+
this.stream.off("error", this.error);
|
|
100
|
+
this.stream.off("end", this.close);
|
|
101
|
+
this.stream.off("close", this.close);
|
|
102
|
+
}
|
|
103
|
+
enqueue(chunk) {
|
|
104
|
+
if (this.controller) {
|
|
105
|
+
try {
|
|
106
|
+
const bytes = chunk instanceof Uint8Array ? chunk : Buffer.from(chunk);
|
|
107
|
+
const available = (this.controller.desiredSize || 0) - bytes.byteLength;
|
|
108
|
+
this.controller.enqueue(bytes);
|
|
109
|
+
if (available <= 0) {
|
|
110
|
+
this.pause();
|
|
111
|
+
}
|
|
112
|
+
} catch (error) {
|
|
113
|
+
this.controller.error(new Error("Could not create Buffer, chunk must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object"));
|
|
114
|
+
this.cancel();
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
pause() {
|
|
119
|
+
if (this.stream.pause) {
|
|
120
|
+
this.stream.pause();
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
resume() {
|
|
124
|
+
if (this.stream.readable && this.stream.resume) {
|
|
125
|
+
this.stream.resume();
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
close() {
|
|
129
|
+
if (this.controller) {
|
|
130
|
+
this.controller.close();
|
|
131
|
+
delete this.controller;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
error(error) {
|
|
135
|
+
if (this.controller) {
|
|
136
|
+
this.controller.error(error);
|
|
137
|
+
delete this.controller;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
constructor(stream) {
|
|
141
|
+
(0, import_define_property._)(this, "highWaterMark", void 0);
|
|
142
|
+
(0, import_define_property._)(this, "accumalatedSize", void 0);
|
|
143
|
+
(0, import_define_property._)(this, "stream", void 0);
|
|
144
|
+
(0, import_define_property._)(this, "controller", void 0);
|
|
145
|
+
this.highWaterMark = stream.readableHighWaterMark || new import_node_stream.Stream.Readable().readableHighWaterMark;
|
|
146
|
+
this.accumalatedSize = 0;
|
|
147
|
+
this.stream = stream;
|
|
148
|
+
this.enqueue = this.enqueue.bind(this);
|
|
149
|
+
this.error = this.error.bind(this);
|
|
150
|
+
this.close = this.close.bind(this);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
154
|
+
0 && (module.exports = {
|
|
155
|
+
createReadableStreamFromReadable,
|
|
156
|
+
readableStreamToString,
|
|
157
|
+
writeAsyncIterableToWritable,
|
|
158
|
+
writeReadableStreamToWritable
|
|
159
|
+
});
|
|
@@ -0,0 +1,55 @@
|
|
|
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 constants_exports = {};
|
|
20
|
+
__export(constants_exports, {
|
|
21
|
+
AGGRED_DIR: () => AGGRED_DIR,
|
|
22
|
+
REPLACE_REG: () => REPLACE_REG,
|
|
23
|
+
ServerReportTimings: () => ServerReportTimings
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(constants_exports);
|
|
26
|
+
const AGGRED_DIR = {
|
|
27
|
+
mock: "config/mock",
|
|
28
|
+
server: "server",
|
|
29
|
+
api: "api",
|
|
30
|
+
shared: "shared",
|
|
31
|
+
lambda: "lambda"
|
|
32
|
+
};
|
|
33
|
+
const REPLACE_REG = {
|
|
34
|
+
before: {
|
|
35
|
+
head: "<head[^>]*>",
|
|
36
|
+
body: "<body[^>]*>"
|
|
37
|
+
},
|
|
38
|
+
after: {
|
|
39
|
+
head: "</head>",
|
|
40
|
+
body: "</body>"
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
var ServerReportTimings;
|
|
44
|
+
(function(ServerReportTimings2) {
|
|
45
|
+
ServerReportTimings2["SERVER_HANDLE_REQUEST"] = "server-handle-request";
|
|
46
|
+
ServerReportTimings2["SERVER_MIDDLEWARE"] = "server-middleware";
|
|
47
|
+
ServerReportTimings2["SERVER_HOOK_AFTER_RENDER"] = "server-hook-after-render";
|
|
48
|
+
ServerReportTimings2["SERVER_HOOK_AFTER_MATCH"] = "server-hook-after-match";
|
|
49
|
+
})(ServerReportTimings || (ServerReportTimings = {}));
|
|
50
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
51
|
+
0 && (module.exports = {
|
|
52
|
+
AGGRED_DIR,
|
|
53
|
+
REPLACE_REG,
|
|
54
|
+
ServerReportTimings
|
|
55
|
+
});
|
|
@@ -0,0 +1,73 @@
|
|
|
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 base_exports = {};
|
|
20
|
+
__export(base_exports, {
|
|
21
|
+
AGGRED_DIR: () => import_constants.AGGRED_DIR,
|
|
22
|
+
bindBFFHandler: () => import_node.bindBFFHandler,
|
|
23
|
+
bindDataHandlers: () => import_middlewares.bindDataHandlers,
|
|
24
|
+
bindRenderHandler: () => import_middlewares.bindRenderHandler,
|
|
25
|
+
connectMid2HonoMid: () => import_node.connectMid2HonoMid,
|
|
26
|
+
createErrorHtml: () => import_utils.createErrorHtml,
|
|
27
|
+
createInjectHtml: () => import_node.createInjectHtml,
|
|
28
|
+
createNodeServer: () => import_node.createNodeServer,
|
|
29
|
+
createServerBase: () => createServerBase,
|
|
30
|
+
createStaticMiddleware: () => import_node.createStaticMiddleware,
|
|
31
|
+
favionFallbackMiddleware: () => import_middlewares.favionFallbackMiddleware,
|
|
32
|
+
getRenderHandler: () => import_middlewares.getRenderHandler,
|
|
33
|
+
httpCallBack2HonoMid: () => import_node.httpCallBack2HonoMid,
|
|
34
|
+
injectLogger: () => import_middlewares.injectLogger,
|
|
35
|
+
injectReporter: () => import_middlewares.injectReporter,
|
|
36
|
+
loadServerEnv: () => import_node.loadServerEnv,
|
|
37
|
+
registerMockHandlers: () => import_node.registerMockHandlers,
|
|
38
|
+
sendResponse: () => import_node.sendResponse
|
|
39
|
+
});
|
|
40
|
+
module.exports = __toCommonJS(base_exports);
|
|
41
|
+
var import_serverBase = require("./serverBase");
|
|
42
|
+
var import_utils = require("./utils");
|
|
43
|
+
var import_constants = require("./constants");
|
|
44
|
+
var import_node = require("./adapters/node");
|
|
45
|
+
var import_middlewares = require("./middlewares");
|
|
46
|
+
function createServerBase(options) {
|
|
47
|
+
if (options == null) {
|
|
48
|
+
throw new Error("can not start server without options");
|
|
49
|
+
}
|
|
50
|
+
const server = new import_serverBase.ServerBase(options);
|
|
51
|
+
return server;
|
|
52
|
+
}
|
|
53
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
54
|
+
0 && (module.exports = {
|
|
55
|
+
AGGRED_DIR,
|
|
56
|
+
bindBFFHandler,
|
|
57
|
+
bindDataHandlers,
|
|
58
|
+
bindRenderHandler,
|
|
59
|
+
connectMid2HonoMid,
|
|
60
|
+
createErrorHtml,
|
|
61
|
+
createInjectHtml,
|
|
62
|
+
createNodeServer,
|
|
63
|
+
createServerBase,
|
|
64
|
+
createStaticMiddleware,
|
|
65
|
+
favionFallbackMiddleware,
|
|
66
|
+
getRenderHandler,
|
|
67
|
+
httpCallBack2HonoMid,
|
|
68
|
+
injectLogger,
|
|
69
|
+
injectReporter,
|
|
70
|
+
loadServerEnv,
|
|
71
|
+
registerMockHandlers,
|
|
72
|
+
sendResponse
|
|
73
|
+
});
|
|
@@ -0,0 +1,115 @@
|
|
|
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 base_exports = {};
|
|
20
|
+
__export(base_exports, {
|
|
21
|
+
createBaseHookContext: () => createBaseHookContext
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(base_exports);
|
|
24
|
+
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
25
|
+
var import_cookie = require("hono/cookie");
|
|
26
|
+
var import_utils = require("../../utils");
|
|
27
|
+
function createBaseHookContext(c, logger, metrics) {
|
|
28
|
+
return {
|
|
29
|
+
request: new BaseHookRequest(c),
|
|
30
|
+
response: new BaseHookResponse(c),
|
|
31
|
+
logger,
|
|
32
|
+
metrics
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
class BaseHookRequest {
|
|
36
|
+
get url() {
|
|
37
|
+
return this.req.url;
|
|
38
|
+
}
|
|
39
|
+
get host() {
|
|
40
|
+
return (0, import_utils.getHost)(this.req.raw);
|
|
41
|
+
}
|
|
42
|
+
get pathname() {
|
|
43
|
+
return this.req.path;
|
|
44
|
+
}
|
|
45
|
+
get query() {
|
|
46
|
+
return this.req.query();
|
|
47
|
+
}
|
|
48
|
+
get headers() {
|
|
49
|
+
return this.req.header();
|
|
50
|
+
}
|
|
51
|
+
get cookies() {
|
|
52
|
+
return {
|
|
53
|
+
// FIXME: ModernRequest Type Error
|
|
54
|
+
get: (key) => {
|
|
55
|
+
return (0, import_cookie.getCookie)(this.c, key);
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
get cookie() {
|
|
60
|
+
return this.req.header("cookie");
|
|
61
|
+
}
|
|
62
|
+
constructor(c) {
|
|
63
|
+
(0, import_define_property._)(this, "req", void 0);
|
|
64
|
+
(0, import_define_property._)(this, "c", void 0);
|
|
65
|
+
this.c = c;
|
|
66
|
+
this.req = c.req;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
class BaseHookResponse {
|
|
70
|
+
get(key) {
|
|
71
|
+
return this.c.res.headers.get(key);
|
|
72
|
+
}
|
|
73
|
+
set(key, value) {
|
|
74
|
+
if ([
|
|
75
|
+
"set-cookie",
|
|
76
|
+
"Set-Cookie"
|
|
77
|
+
].includes(key)) {
|
|
78
|
+
this.c.header(key, value.toString(), {
|
|
79
|
+
append: true
|
|
80
|
+
});
|
|
81
|
+
} else {
|
|
82
|
+
this.c.header(key, value.toString());
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
status(code) {
|
|
86
|
+
this.c.status(code);
|
|
87
|
+
}
|
|
88
|
+
get cookies() {
|
|
89
|
+
const setCookie = (key, value) => {
|
|
90
|
+
this.c.header("set-cookie", `${key}=${value}`, {
|
|
91
|
+
append: true
|
|
92
|
+
});
|
|
93
|
+
};
|
|
94
|
+
const clearCookie = () => {
|
|
95
|
+
this.c.header("set-cookie", void 0);
|
|
96
|
+
};
|
|
97
|
+
return {
|
|
98
|
+
set: setCookie,
|
|
99
|
+
clear: clearCookie
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
raw(body, options) {
|
|
103
|
+
this.c.res = this.c.newResponse(body, options);
|
|
104
|
+
this.private_overrided = true;
|
|
105
|
+
}
|
|
106
|
+
constructor(c) {
|
|
107
|
+
(0, import_define_property._)(this, "private_overrided", false);
|
|
108
|
+
(0, import_define_property._)(this, "c", void 0);
|
|
109
|
+
this.c = c;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
113
|
+
0 && (module.exports = {
|
|
114
|
+
createBaseHookContext
|
|
115
|
+
});
|
|
@@ -0,0 +1,78 @@
|
|
|
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 context_exports = {};
|
|
20
|
+
__export(context_exports, {
|
|
21
|
+
createAfterMatchCtx: () => createAfterMatchCtx,
|
|
22
|
+
createAfterRenderCtx: () => createAfterRenderCtx,
|
|
23
|
+
createAfterStreamingRenderContext: () => createAfterStreamingRenderContext,
|
|
24
|
+
createCustomMiddlewaresCtx: () => createCustomMiddlewaresCtx
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(context_exports);
|
|
27
|
+
var import_routerApi = require("./routerApi");
|
|
28
|
+
var import_template = require("./template");
|
|
29
|
+
var import_base = require("./base");
|
|
30
|
+
function createAfterMatchCtx(c, entryName, logger, metrics) {
|
|
31
|
+
const baseContext = (0, import_base.createBaseHookContext)(c, logger, metrics);
|
|
32
|
+
return {
|
|
33
|
+
...baseContext,
|
|
34
|
+
router: new import_routerApi.RouterAPI(entryName)
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
async function createAfterRenderCtx(c, logger, metrics) {
|
|
38
|
+
const baseContext = (0, import_base.createBaseHookContext)(c, logger, metrics);
|
|
39
|
+
const resBody = await c.res.text();
|
|
40
|
+
return {
|
|
41
|
+
...baseContext,
|
|
42
|
+
template: new import_template.TemplateApi(resBody)
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
function createCustomMiddlewaresCtx(c, logger, metrics) {
|
|
46
|
+
var _c_env_node, _c_env_node1;
|
|
47
|
+
const baseContext = (0, import_base.createBaseHookContext)(c, logger, metrics);
|
|
48
|
+
const reporter = c.get("reporter");
|
|
49
|
+
return {
|
|
50
|
+
...baseContext,
|
|
51
|
+
reporter,
|
|
52
|
+
response: {
|
|
53
|
+
...baseContext.response,
|
|
54
|
+
locals: {}
|
|
55
|
+
},
|
|
56
|
+
source: {
|
|
57
|
+
req: (_c_env_node = c.env.node) === null || _c_env_node === void 0 ? void 0 : _c_env_node.req,
|
|
58
|
+
res: (_c_env_node1 = c.env.node) === null || _c_env_node1 === void 0 ? void 0 : _c_env_node1.res
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
function createAfterStreamingRenderContext(c, logger, route, metrics) {
|
|
63
|
+
const baseContext = (0, import_base.createBaseHookContext)(c, logger, metrics);
|
|
64
|
+
return (chunk) => {
|
|
65
|
+
return {
|
|
66
|
+
...baseContext,
|
|
67
|
+
route,
|
|
68
|
+
chunk
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
73
|
+
0 && (module.exports = {
|
|
74
|
+
createAfterMatchCtx,
|
|
75
|
+
createAfterRenderCtx,
|
|
76
|
+
createAfterStreamingRenderContext,
|
|
77
|
+
createCustomMiddlewaresCtx
|
|
78
|
+
});
|
|
@@ -0,0 +1,138 @@
|
|
|
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 customServer_exports = {};
|
|
20
|
+
__export(customServer_exports, {
|
|
21
|
+
CustomServer: () => CustomServer
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(customServer_exports);
|
|
24
|
+
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
25
|
+
var import_time = require("@modern-js/runtime-utils/time");
|
|
26
|
+
var import_utils = require("../../utils");
|
|
27
|
+
var import_constants = require("../../constants");
|
|
28
|
+
var import_context = require("./context");
|
|
29
|
+
const noop = () => {
|
|
30
|
+
};
|
|
31
|
+
class CustomServer {
|
|
32
|
+
getHookMiddleware(entryName, routes) {
|
|
33
|
+
return async (c, next) => {
|
|
34
|
+
const routeInfo = routes.find((route) => route.entryName === entryName);
|
|
35
|
+
const logger = c.get("logger");
|
|
36
|
+
const reporter = c.get("reporter");
|
|
37
|
+
const metrics = c.get("metrics");
|
|
38
|
+
const afterMatchCtx = (0, import_context.createAfterMatchCtx)(c, entryName, logger, metrics);
|
|
39
|
+
const getCost = (0, import_time.time)();
|
|
40
|
+
await this.runner.afterMatch(afterMatchCtx, {
|
|
41
|
+
onLast: noop
|
|
42
|
+
});
|
|
43
|
+
const cost = getCost();
|
|
44
|
+
cost && reporter.reportTiming(import_constants.ServerReportTimings.SERVER_HOOK_AFTER_MATCH, cost);
|
|
45
|
+
const {
|
|
46
|
+
// current,
|
|
47
|
+
url,
|
|
48
|
+
status
|
|
49
|
+
} = afterMatchCtx.router;
|
|
50
|
+
if (url) {
|
|
51
|
+
return c.redirect(url, status);
|
|
52
|
+
}
|
|
53
|
+
const { current } = afterMatchCtx.router;
|
|
54
|
+
if (current !== entryName) {
|
|
55
|
+
const rewriteRoute = routes.find((route) => route.entryName === current);
|
|
56
|
+
if (rewriteRoute) {
|
|
57
|
+
return this.serverBase.request(rewriteRoute.urlPath);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
if (c.finalized) {
|
|
61
|
+
return void 0;
|
|
62
|
+
}
|
|
63
|
+
await next();
|
|
64
|
+
if (c.finalized && !c.res.body) {
|
|
65
|
+
return void 0;
|
|
66
|
+
}
|
|
67
|
+
if (routeInfo.isStream) {
|
|
68
|
+
var _c_res_body;
|
|
69
|
+
const afterStreamingRenderContext = (0, import_context.createAfterStreamingRenderContext)(c, logger, routeInfo, metrics);
|
|
70
|
+
const injectStream = (0, import_utils.createTransformStream)((chunk) => {
|
|
71
|
+
const context = afterStreamingRenderContext(chunk);
|
|
72
|
+
return this.runner.afterStreamingRender(context, {
|
|
73
|
+
onLast: ({ chunk: chunk2 }) => chunk2
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
(_c_res_body = c.res.body) === null || _c_res_body === void 0 ? void 0 : _c_res_body.pipeThrough(injectStream);
|
|
77
|
+
const { headers, status: status2, statusText } = c.res;
|
|
78
|
+
c.res = c.body(injectStream.readable, {
|
|
79
|
+
headers,
|
|
80
|
+
status: status2,
|
|
81
|
+
statusText
|
|
82
|
+
});
|
|
83
|
+
} else {
|
|
84
|
+
const afterRenderCtx = await (0, import_context.createAfterRenderCtx)(c, logger, metrics);
|
|
85
|
+
const getCost2 = (0, import_time.time)();
|
|
86
|
+
await this.runner.afterRender(afterRenderCtx, {
|
|
87
|
+
onLast: noop
|
|
88
|
+
});
|
|
89
|
+
const cost2 = getCost2();
|
|
90
|
+
cost2 && reporter.reportTiming(import_constants.ServerReportTimings.SERVER_HOOK_AFTER_RENDER, cost2);
|
|
91
|
+
if (afterRenderCtx.response.private_overrided) {
|
|
92
|
+
return void 0;
|
|
93
|
+
}
|
|
94
|
+
const newBody = afterRenderCtx.template.get();
|
|
95
|
+
c.res = c.body(newBody);
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
getServerMiddleware() {
|
|
100
|
+
return async (c, next) => {
|
|
101
|
+
const serverMiddleware = await this.serverMiddlewarePromise;
|
|
102
|
+
if (!serverMiddleware) {
|
|
103
|
+
return next();
|
|
104
|
+
}
|
|
105
|
+
const reporter = c.get("reporter");
|
|
106
|
+
const logger = c.get("logger");
|
|
107
|
+
const metrics = c.get("metrics");
|
|
108
|
+
const customMiddlewareCtx = (0, import_context.createCustomMiddlewaresCtx)(c, logger, metrics);
|
|
109
|
+
const getCost = (0, import_time.time)();
|
|
110
|
+
await serverMiddleware(customMiddlewareCtx);
|
|
111
|
+
const cost = getCost();
|
|
112
|
+
cost && reporter.reportTiming(import_constants.ServerReportTimings.SERVER_MIDDLEWARE, cost);
|
|
113
|
+
if (!c.finalized) {
|
|
114
|
+
return next();
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
constructor(runner, serverBase, pwd) {
|
|
119
|
+
(0, import_define_property._)(this, "runner", void 0);
|
|
120
|
+
(0, import_define_property._)(this, "serverMiddlewarePromise", void 0);
|
|
121
|
+
(0, import_define_property._)(this, "serverBase", void 0);
|
|
122
|
+
this.runner = runner;
|
|
123
|
+
this.serverBase = serverBase;
|
|
124
|
+
const webExtension = [];
|
|
125
|
+
this.serverMiddlewarePromise = runner.prepareWebServer({
|
|
126
|
+
pwd,
|
|
127
|
+
config: {
|
|
128
|
+
middleware: webExtension
|
|
129
|
+
}
|
|
130
|
+
}, {
|
|
131
|
+
onLast: () => null
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
136
|
+
0 && (module.exports = {
|
|
137
|
+
CustomServer
|
|
138
|
+
});
|