@rsbuild/core 0.7.0-beta.3 → 0.7.0-beta.4
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/bin/rsbuild.js +4 -3
- package/compiled/css-loader/index.js +20 -20
- package/compiled/less-loader/index.js +8 -8
- package/compiled/postcss-loader/index.js +11 -11
- package/compiled/rspack-manifest-plugin/index.js +4 -4
- package/dist/client/{hmr.mjs → hmr.js} +2 -3
- package/dist/client/{overlay.mjs → overlay.js} +2 -6
- package/dist/{rspack/ignoreCssLoader.js → ignoreCssLoader.cjs} +2 -0
- package/dist/index.cjs +7201 -0
- package/dist/index.js +7435 -40
- package/dist/{rspack/transformLoader.js → transformLoader.cjs} +2 -0
- package/dist/{rspack/transformRawLoader.js → transformRawLoader.cjs} +37 -13
- package/{dist → dist-types}/constants.d.ts +3 -0
- package/dist-types/helpers.d.ts +32 -0
- package/{dist → dist-types}/index.d.ts +6 -0
- package/{dist → dist-types}/internal.d.ts +5 -2
- package/dist-types/package.json +1 -0
- package/{dist → dist-types}/plugins/html.d.ts +2 -1
- package/{dist → dist-types}/plugins/index.d.ts +1 -0
- package/dist-types/plugins/minimize.d.ts +12 -0
- package/{dist/provider → dist-types}/plugins/progress.d.ts +1 -1
- package/{dist/provider → dist-types}/plugins/resolve.d.ts +1 -1
- package/{dist/provider → dist-types}/plugins/rspackProfile.d.ts +1 -1
- package/{dist/provider → dist-types}/plugins/swc.d.ts +1 -1
- package/dist-types/server/devMiddleware.d.ts +18 -0
- package/{dist → dist-types}/server/helper.d.ts +11 -0
- package/package.json +14 -16
- package/dist/cli/commands.js +0 -110
- package/dist/cli/init.js +0 -101
- package/dist/cli/prepare.js +0 -43
- package/dist/client/format.js +0 -72
- package/dist/config.js +0 -306
- package/dist/constants.js +0 -40
- package/dist/createContext.js +0 -116
- package/dist/createRsbuild.js +0 -103
- package/dist/initHooks.js +0 -82
- package/dist/initPlugins.js +0 -152
- package/dist/internal.js +0 -79
- package/dist/loadEnv.js +0 -93
- package/dist/mergeConfig.js +0 -80
- package/dist/pluginHelper.js +0 -66
- package/dist/pluginManager.js +0 -180
- package/dist/plugins/asset.js +0 -101
- package/dist/plugins/basic.js +0 -77
- package/dist/plugins/bundleAnalyzer.js +0 -69
- package/dist/plugins/cache.js +0 -116
- package/dist/plugins/cleanOutput.js +0 -68
- package/dist/plugins/css.js +0 -257
- package/dist/plugins/define.js +0 -45
- package/dist/plugins/entry.js +0 -76
- package/dist/plugins/externals.js +0 -48
- package/dist/plugins/fileSize.js +0 -199
- package/dist/plugins/html.js +0 -327
- package/dist/plugins/index.js +0 -66
- package/dist/plugins/inlineChunk.js +0 -69
- package/dist/plugins/less.js +0 -107
- package/dist/plugins/manifest.js +0 -142
- package/dist/plugins/moduleFederation.js +0 -125
- package/dist/plugins/moment.js +0 -43
- package/dist/plugins/nodeAddons.js +0 -74
- package/dist/plugins/output.js +0 -63
- package/dist/plugins/performance.js +0 -56
- package/dist/plugins/resourceHints.js +0 -86
- package/dist/plugins/rsdoctor.js +0 -81
- package/dist/plugins/sass.js +0 -154
- package/dist/plugins/server.js +0 -59
- package/dist/plugins/splitChunks.js +0 -236
- package/dist/plugins/startUrl.js +0 -146
- package/dist/plugins/target.js +0 -54
- package/dist/plugins/wasm.js +0 -51
- package/dist/provider/build.js +0 -84
- package/dist/provider/createCompiler.js +0 -143
- package/dist/provider/initConfigs.js +0 -92
- package/dist/provider/inspectConfig.js +0 -85
- package/dist/provider/plugins/minimize.d.ts +0 -2
- package/dist/provider/plugins/minimize.js +0 -49
- package/dist/provider/plugins/progress.js +0 -49
- package/dist/provider/plugins/resolve.js +0 -42
- package/dist/provider/plugins/rspackProfile.js +0 -112
- package/dist/provider/plugins/swc.js +0 -152
- package/dist/provider/plugins/transition.d.ts +0 -5
- package/dist/provider/plugins/transition.js +0 -35
- package/dist/provider/provider.js +0 -158
- package/dist/provider/rspackConfig.js +0 -144
- package/dist/provider/shared.d.ts +0 -16
- package/dist/provider/shared.js +0 -215
- package/dist/rspack/HtmlAppIconPlugin.js +0 -98
- package/dist/rspack/HtmlBasicPlugin.js +0 -229
- package/dist/rspack/InlineChunkHtmlPlugin.js +0 -196
- package/dist/rspack/preload/HtmlPreloadOrPrefetchPlugin.js +0 -173
- package/dist/rspack/preload/helpers/determineAsValue.js +0 -83
- package/dist/rspack/preload/helpers/doesChunkBelongToHtml.js +0 -77
- package/dist/rspack/preload/helpers/extractChunks.js +0 -83
- package/dist/rspack/preload/helpers/index.js +0 -28
- package/dist/rspack/preload/helpers/type.js +0 -16
- package/dist/server/compilerDevMiddleware.js +0 -129
- package/dist/server/devMiddleware.d.ts +0 -3
- package/dist/server/devMiddleware.js +0 -74
- package/dist/server/devServer.js +0 -195
- package/dist/server/getDevMiddlewares.js +0 -177
- package/dist/server/helper.js +0 -237
- package/dist/server/httpServer.js +0 -45
- package/dist/server/index.js +0 -31
- package/dist/server/middlewares.js +0 -162
- package/dist/server/prodServer.js +0 -196
- package/dist/server/proxy.js +0 -93
- package/dist/server/restart.js +0 -66
- package/dist/server/socketServer.js +0 -178
- package/dist/server/watchFiles.js +0 -90
- package/dist/types.js +0 -16
- /package/{dist → dist-types}/cli/commands.d.ts +0 -0
- /package/{dist → dist-types}/cli/init.d.ts +0 -0
- /package/{dist → dist-types}/cli/prepare.d.ts +0 -0
- /package/{dist → dist-types}/client/format.d.ts +0 -0
- /package/{dist → dist-types}/client/hmr.d.ts +0 -0
- /package/{dist → dist-types}/client/overlay.d.ts +0 -0
- /package/{dist → dist-types}/config.d.ts +0 -0
- /package/{dist → dist-types}/createContext.d.ts +0 -0
- /package/{dist → dist-types}/createRsbuild.d.ts +0 -0
- /package/{dist → dist-types}/initHooks.d.ts +0 -0
- /package/{dist → dist-types}/initPlugins.d.ts +0 -0
- /package/{dist → dist-types}/loadEnv.d.ts +0 -0
- /package/{dist/rspack → dist-types/loader}/ignoreCssLoader.d.ts +0 -0
- /package/{dist/rspack → dist-types/loader}/transformLoader.d.ts +0 -0
- /package/{dist/rspack → dist-types/loader}/transformRawLoader.d.ts +0 -0
- /package/{dist → dist-types}/mergeConfig.d.ts +0 -0
- /package/{dist → dist-types}/pluginHelper.d.ts +0 -0
- /package/{dist → dist-types}/pluginManager.d.ts +0 -0
- /package/{dist → dist-types}/plugins/asset.d.ts +0 -0
- /package/{dist → dist-types}/plugins/basic.d.ts +0 -0
- /package/{dist → dist-types}/plugins/bundleAnalyzer.d.ts +0 -0
- /package/{dist → dist-types}/plugins/cache.d.ts +0 -0
- /package/{dist → dist-types}/plugins/cleanOutput.d.ts +0 -0
- /package/{dist → dist-types}/plugins/css.d.ts +0 -0
- /package/{dist → dist-types}/plugins/define.d.ts +0 -0
- /package/{dist → dist-types}/plugins/entry.d.ts +0 -0
- /package/{dist → dist-types}/plugins/externals.d.ts +0 -0
- /package/{dist → dist-types}/plugins/fileSize.d.ts +0 -0
- /package/{dist → dist-types}/plugins/inlineChunk.d.ts +0 -0
- /package/{dist → dist-types}/plugins/less.d.ts +0 -0
- /package/{dist → dist-types}/plugins/manifest.d.ts +0 -0
- /package/{dist → dist-types}/plugins/moduleFederation.d.ts +0 -0
- /package/{dist → dist-types}/plugins/moment.d.ts +0 -0
- /package/{dist → dist-types}/plugins/nodeAddons.d.ts +0 -0
- /package/{dist → dist-types}/plugins/output.d.ts +0 -0
- /package/{dist → dist-types}/plugins/performance.d.ts +0 -0
- /package/{dist → dist-types}/plugins/resourceHints.d.ts +0 -0
- /package/{dist → dist-types}/plugins/rsdoctor.d.ts +0 -0
- /package/{dist → dist-types}/plugins/sass.d.ts +0 -0
- /package/{dist → dist-types}/plugins/server.d.ts +0 -0
- /package/{dist → dist-types}/plugins/splitChunks.d.ts +0 -0
- /package/{dist → dist-types}/plugins/startUrl.d.ts +0 -0
- /package/{dist → dist-types}/plugins/target.d.ts +0 -0
- /package/{dist → dist-types}/plugins/wasm.d.ts +0 -0
- /package/{dist → dist-types}/provider/build.d.ts +0 -0
- /package/{dist → dist-types}/provider/createCompiler.d.ts +0 -0
- /package/{dist → dist-types}/provider/initConfigs.d.ts +0 -0
- /package/{dist → dist-types}/provider/inspectConfig.d.ts +0 -0
- /package/{dist → dist-types}/provider/provider.d.ts +0 -0
- /package/{dist → dist-types}/provider/rspackConfig.d.ts +0 -0
- /package/{dist → dist-types}/rspack/HtmlAppIconPlugin.d.ts +0 -0
- /package/{dist → dist-types}/rspack/HtmlBasicPlugin.d.ts +0 -0
- /package/{dist → dist-types}/rspack/InlineChunkHtmlPlugin.d.ts +0 -0
- /package/{dist → dist-types}/rspack/preload/HtmlPreloadOrPrefetchPlugin.d.ts +0 -0
- /package/{dist → dist-types}/rspack/preload/helpers/determineAsValue.d.ts +0 -0
- /package/{dist → dist-types}/rspack/preload/helpers/doesChunkBelongToHtml.d.ts +0 -0
- /package/{dist → dist-types}/rspack/preload/helpers/extractChunks.d.ts +0 -0
- /package/{dist → dist-types}/rspack/preload/helpers/index.d.ts +0 -0
- /package/{dist → dist-types}/rspack/preload/helpers/type.d.ts +0 -0
- /package/{dist → dist-types}/server/compilerDevMiddleware.d.ts +0 -0
- /package/{dist → dist-types}/server/devServer.d.ts +0 -0
- /package/{dist → dist-types}/server/getDevMiddlewares.d.ts +0 -0
- /package/{dist → dist-types}/server/httpServer.d.ts +0 -0
- /package/{dist → dist-types}/server/index.d.ts +0 -0
- /package/{dist → dist-types}/server/middlewares.d.ts +0 -0
- /package/{dist → dist-types}/server/prodServer.d.ts +0 -0
- /package/{dist → dist-types}/server/proxy.d.ts +0 -0
- /package/{dist → dist-types}/server/restart.d.ts +0 -0
- /package/{dist → dist-types}/server/socketServer.d.ts +0 -0
- /package/{dist → dist-types}/server/watchFiles.d.ts +0 -0
- /package/{dist → dist-types}/types.d.ts +0 -0
package/dist/server/helper.js
DELETED
|
@@ -1,237 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __export = (target, all) => {
|
|
9
|
-
for (var name in all)
|
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
-
};
|
|
12
|
-
var __copyProps = (to, from, except, desc) => {
|
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
-
for (let key of __getOwnPropNames(from))
|
|
15
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
-
}
|
|
18
|
-
return to;
|
|
19
|
-
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
-
mod
|
|
27
|
-
));
|
|
28
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
var helper_exports = {};
|
|
30
|
-
__export(helper_exports, {
|
|
31
|
-
HMR_SOCK_PATH: () => HMR_SOCK_PATH,
|
|
32
|
-
formatRoutes: () => formatRoutes,
|
|
33
|
-
getDevOptions: () => getDevOptions,
|
|
34
|
-
getPort: () => getPort,
|
|
35
|
-
getServerOptions: () => getServerOptions,
|
|
36
|
-
mergeDevOptions: () => mergeDevOptions,
|
|
37
|
-
printServerURLs: () => printServerURLs
|
|
38
|
-
});
|
|
39
|
-
module.exports = __toCommonJS(helper_exports);
|
|
40
|
-
var import_node_net = __toESM(require("node:net"));
|
|
41
|
-
var import_shared = require("@rsbuild/shared");
|
|
42
|
-
const formatPrefix = (prefix) => {
|
|
43
|
-
if (!prefix) {
|
|
44
|
-
return "/";
|
|
45
|
-
}
|
|
46
|
-
const hasLeadingSlash = prefix.startsWith("/");
|
|
47
|
-
const hasTailSlash = prefix.endsWith("/");
|
|
48
|
-
return `${hasLeadingSlash ? "" : "/"}${prefix}${hasTailSlash ? "" : "/"}`;
|
|
49
|
-
};
|
|
50
|
-
const formatRoutes = (entry, prefix, outputStructure) => {
|
|
51
|
-
const formattedPrefix = formatPrefix(prefix);
|
|
52
|
-
return Object.keys(entry).map((entryName) => {
|
|
53
|
-
const isIndex = entryName === "index" && outputStructure !== "nested";
|
|
54
|
-
const displayName = isIndex ? "" : entryName;
|
|
55
|
-
return {
|
|
56
|
-
entryName,
|
|
57
|
-
pathname: formattedPrefix + displayName
|
|
58
|
-
};
|
|
59
|
-
}).sort((a) => a.entryName === "index" ? -1 : 1);
|
|
60
|
-
};
|
|
61
|
-
function getURLMessages(urls, routes) {
|
|
62
|
-
if (routes.length === 1) {
|
|
63
|
-
return urls.map(
|
|
64
|
-
({ label, url }) => ` ${`> ${label.padEnd(10)}`}${import_shared.color.cyan(
|
|
65
|
-
(0, import_shared.normalizeUrl)(`${url}${routes[0].pathname}`)
|
|
66
|
-
)}
|
|
67
|
-
`
|
|
68
|
-
).join("");
|
|
69
|
-
}
|
|
70
|
-
let message = "";
|
|
71
|
-
const maxNameLength = Math.max(...routes.map((r) => r.entryName.length));
|
|
72
|
-
urls.forEach(({ label, url }, index) => {
|
|
73
|
-
if (index > 0) {
|
|
74
|
-
message += "\n";
|
|
75
|
-
}
|
|
76
|
-
message += ` ${`> ${label}`}
|
|
77
|
-
`;
|
|
78
|
-
for (const r of routes) {
|
|
79
|
-
message += ` ${import_shared.color.dim("-")} ${import_shared.color.dim(
|
|
80
|
-
r.entryName.padEnd(maxNameLength + 4)
|
|
81
|
-
)}${import_shared.color.cyan((0, import_shared.normalizeUrl)(`${url}${r.pathname}`))}
|
|
82
|
-
`;
|
|
83
|
-
}
|
|
84
|
-
});
|
|
85
|
-
return message;
|
|
86
|
-
}
|
|
87
|
-
function printServerURLs({
|
|
88
|
-
urls: originalUrls,
|
|
89
|
-
port,
|
|
90
|
-
routes,
|
|
91
|
-
protocol,
|
|
92
|
-
printUrls
|
|
93
|
-
}) {
|
|
94
|
-
if (printUrls === false) {
|
|
95
|
-
return;
|
|
96
|
-
}
|
|
97
|
-
let urls = originalUrls;
|
|
98
|
-
if ((0, import_shared.isFunction)(printUrls)) {
|
|
99
|
-
const newUrls = printUrls({
|
|
100
|
-
urls: urls.map((item) => item.url),
|
|
101
|
-
port,
|
|
102
|
-
routes,
|
|
103
|
-
protocol
|
|
104
|
-
});
|
|
105
|
-
if (!newUrls) {
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
if (!Array.isArray(newUrls)) {
|
|
109
|
-
throw new Error(
|
|
110
|
-
`"server.printUrls" must return an array, but got ${typeof newUrls}.`
|
|
111
|
-
);
|
|
112
|
-
}
|
|
113
|
-
urls = newUrls.map((url) => ({
|
|
114
|
-
url,
|
|
115
|
-
label: (0, import_shared.getUrlLabel)(url)
|
|
116
|
-
}));
|
|
117
|
-
}
|
|
118
|
-
if (urls.length === 0) {
|
|
119
|
-
return;
|
|
120
|
-
}
|
|
121
|
-
const message = getURLMessages(urls, routes);
|
|
122
|
-
import_shared.logger.log(message);
|
|
123
|
-
return message;
|
|
124
|
-
}
|
|
125
|
-
const HMR_SOCK_PATH = "/rsbuild-hmr";
|
|
126
|
-
const mergeDevOptions = ({
|
|
127
|
-
rsbuildConfig,
|
|
128
|
-
port
|
|
129
|
-
}) => {
|
|
130
|
-
const defaultDevConfig = {
|
|
131
|
-
client: {
|
|
132
|
-
path: HMR_SOCK_PATH,
|
|
133
|
-
port: port.toString(),
|
|
134
|
-
// By default it is set to "location.hostname"
|
|
135
|
-
host: "",
|
|
136
|
-
// By default it is set to "location.protocol === 'https:' ? 'wss' : 'ws'""
|
|
137
|
-
protocol: void 0
|
|
138
|
-
},
|
|
139
|
-
writeToDisk: false,
|
|
140
|
-
liveReload: true
|
|
141
|
-
};
|
|
142
|
-
const devConfig = rsbuildConfig.dev ? (0, import_shared.deepmerge)(defaultDevConfig, rsbuildConfig.dev) : defaultDevConfig;
|
|
143
|
-
return devConfig;
|
|
144
|
-
};
|
|
145
|
-
const getPort = async ({
|
|
146
|
-
host,
|
|
147
|
-
port,
|
|
148
|
-
strictPort,
|
|
149
|
-
tryLimits = 20,
|
|
150
|
-
silent = false
|
|
151
|
-
}) => {
|
|
152
|
-
if (typeof port === "string") {
|
|
153
|
-
port = Number.parseInt(port, 10);
|
|
154
|
-
}
|
|
155
|
-
if (strictPort) {
|
|
156
|
-
tryLimits = 1;
|
|
157
|
-
}
|
|
158
|
-
const original = port;
|
|
159
|
-
let found = false;
|
|
160
|
-
let attempts = 0;
|
|
161
|
-
while (!found && attempts <= tryLimits) {
|
|
162
|
-
try {
|
|
163
|
-
await new Promise((resolve, reject) => {
|
|
164
|
-
const server = import_node_net.default.createServer();
|
|
165
|
-
server.unref();
|
|
166
|
-
server.on("error", reject);
|
|
167
|
-
server.listen({ port, host }, () => {
|
|
168
|
-
found = true;
|
|
169
|
-
server.close(resolve);
|
|
170
|
-
});
|
|
171
|
-
});
|
|
172
|
-
} catch (e) {
|
|
173
|
-
if (e.code !== "EADDRINUSE") {
|
|
174
|
-
throw e;
|
|
175
|
-
}
|
|
176
|
-
port++;
|
|
177
|
-
attempts++;
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
if (port !== original) {
|
|
181
|
-
if (strictPort) {
|
|
182
|
-
throw new Error(
|
|
183
|
-
`Port "${original}" is occupied, please choose another one.`
|
|
184
|
-
);
|
|
185
|
-
}
|
|
186
|
-
if (!silent) {
|
|
187
|
-
import_shared.logger.info(
|
|
188
|
-
`Port ${original} is in use, ${import_shared.color.yellow(`using port ${port}.`)}
|
|
189
|
-
`
|
|
190
|
-
);
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
return port;
|
|
194
|
-
};
|
|
195
|
-
const getServerOptions = async ({
|
|
196
|
-
rsbuildConfig,
|
|
197
|
-
getPortSilently
|
|
198
|
-
}) => {
|
|
199
|
-
const host = rsbuildConfig.server?.host || import_shared.DEFAULT_DEV_HOST;
|
|
200
|
-
const port = await getPort({
|
|
201
|
-
host,
|
|
202
|
-
port: rsbuildConfig.server?.port || import_shared.DEFAULT_PORT,
|
|
203
|
-
strictPort: rsbuildConfig.server?.strictPort || false,
|
|
204
|
-
silent: getPortSilently
|
|
205
|
-
});
|
|
206
|
-
const https = Boolean(rsbuildConfig.server?.https) || false;
|
|
207
|
-
return { port, host, https, serverConfig: rsbuildConfig.server || {} };
|
|
208
|
-
};
|
|
209
|
-
const getDevOptions = async ({
|
|
210
|
-
rsbuildConfig,
|
|
211
|
-
getPortSilently
|
|
212
|
-
}) => {
|
|
213
|
-
const { port, host, https, serverConfig } = await getServerOptions({
|
|
214
|
-
rsbuildConfig,
|
|
215
|
-
getPortSilently
|
|
216
|
-
});
|
|
217
|
-
const devConfig = mergeDevOptions({ rsbuildConfig, port });
|
|
218
|
-
const liveReload = devConfig.liveReload;
|
|
219
|
-
return {
|
|
220
|
-
devConfig,
|
|
221
|
-
serverConfig,
|
|
222
|
-
port,
|
|
223
|
-
host,
|
|
224
|
-
https,
|
|
225
|
-
liveReload
|
|
226
|
-
};
|
|
227
|
-
};
|
|
228
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
229
|
-
0 && (module.exports = {
|
|
230
|
-
HMR_SOCK_PATH,
|
|
231
|
-
formatRoutes,
|
|
232
|
-
getDevOptions,
|
|
233
|
-
getPort,
|
|
234
|
-
getServerOptions,
|
|
235
|
-
mergeDevOptions,
|
|
236
|
-
printServerURLs
|
|
237
|
-
});
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __export = (target, all) => {
|
|
9
|
-
for (var name in all)
|
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
-
};
|
|
12
|
-
var __copyProps = (to, from, except, desc) => {
|
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
-
for (let key of __getOwnPropNames(from))
|
|
15
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
-
}
|
|
18
|
-
return to;
|
|
19
|
-
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
-
mod
|
|
27
|
-
));
|
|
28
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
var httpServer_exports = {};
|
|
30
|
-
__export(httpServer_exports, {
|
|
31
|
-
createHttpServer: () => createHttpServer
|
|
32
|
-
});
|
|
33
|
-
module.exports = __toCommonJS(httpServer_exports);
|
|
34
|
-
const createHttpServer = async (options) => {
|
|
35
|
-
if (options.https) {
|
|
36
|
-
const { createServer: createServer2 } = await Promise.resolve().then(() => __toESM(require("node:https")));
|
|
37
|
-
return createServer2(options.https, options.middlewares);
|
|
38
|
-
}
|
|
39
|
-
const { createServer } = await Promise.resolve().then(() => __toESM(require("node:http")));
|
|
40
|
-
return createServer(options.middlewares);
|
|
41
|
-
};
|
|
42
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
43
|
-
0 && (module.exports = {
|
|
44
|
-
createHttpServer
|
|
45
|
-
});
|
package/dist/server/index.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
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 server_exports = {};
|
|
20
|
-
__export(server_exports, {
|
|
21
|
-
createDevServer: () => import_devServer.createDevServer,
|
|
22
|
-
startProdServer: () => import_prodServer.startProdServer
|
|
23
|
-
});
|
|
24
|
-
module.exports = __toCommonJS(server_exports);
|
|
25
|
-
var import_devServer = require("./devServer");
|
|
26
|
-
var import_prodServer = require("./prodServer");
|
|
27
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
28
|
-
0 && (module.exports = {
|
|
29
|
-
createDevServer,
|
|
30
|
-
startProdServer
|
|
31
|
-
});
|
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __export = (target, all) => {
|
|
9
|
-
for (var name in all)
|
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
-
};
|
|
12
|
-
var __copyProps = (to, from, except, desc) => {
|
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
-
for (let key of __getOwnPropNames(from))
|
|
15
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
-
}
|
|
18
|
-
return to;
|
|
19
|
-
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
-
mod
|
|
27
|
-
));
|
|
28
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
var middlewares_exports = {};
|
|
30
|
-
__export(middlewares_exports, {
|
|
31
|
-
faviconFallbackMiddleware: () => faviconFallbackMiddleware,
|
|
32
|
-
getHtmlFallbackMiddleware: () => getHtmlFallbackMiddleware,
|
|
33
|
-
getRequestLoggerMiddleware: () => getRequestLoggerMiddleware,
|
|
34
|
-
notFoundMiddleware: () => notFoundMiddleware
|
|
35
|
-
});
|
|
36
|
-
module.exports = __toCommonJS(middlewares_exports);
|
|
37
|
-
var import_node_path = __toESM(require("node:path"));
|
|
38
|
-
var import_node_url = require("node:url");
|
|
39
|
-
var import_shared = require("@rsbuild/shared");
|
|
40
|
-
const faviconFallbackMiddleware = (req, res, next) => {
|
|
41
|
-
if (req.url === "/favicon.ico") {
|
|
42
|
-
res.statusCode = 204;
|
|
43
|
-
res.end();
|
|
44
|
-
} else {
|
|
45
|
-
next();
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
const getStatusCodeColor = (status) => {
|
|
49
|
-
if (status >= 500) {
|
|
50
|
-
return import_shared.color.red;
|
|
51
|
-
}
|
|
52
|
-
if (status >= 400) {
|
|
53
|
-
return import_shared.color.yellow;
|
|
54
|
-
}
|
|
55
|
-
if (status >= 300) {
|
|
56
|
-
return import_shared.color.cyan;
|
|
57
|
-
}
|
|
58
|
-
if (status >= 200) {
|
|
59
|
-
return import_shared.color.green;
|
|
60
|
-
}
|
|
61
|
-
return (res) => res;
|
|
62
|
-
};
|
|
63
|
-
const getRequestLoggerMiddleware = async () => {
|
|
64
|
-
const { default: onFinished } = await Promise.resolve().then(() => __toESM(require("../../compiled/on-finished/index.js")));
|
|
65
|
-
return (req, res, next) => {
|
|
66
|
-
const _startAt = process.hrtime();
|
|
67
|
-
const logRequest = () => {
|
|
68
|
-
const method = req.method;
|
|
69
|
-
const url = req.originalUrl || req.url;
|
|
70
|
-
const status = Number(res.statusCode);
|
|
71
|
-
const statusColor = getStatusCodeColor(status);
|
|
72
|
-
const endAt = process.hrtime();
|
|
73
|
-
const totalTime = (endAt[0] - _startAt[0]) * 1e3 + (endAt[1] - _startAt[1]) * 1e-6;
|
|
74
|
-
(0, import_shared.debug)(
|
|
75
|
-
`${statusColor(status)} ${method} ${import_shared.color.gray(url)} ${import_shared.color.gray(
|
|
76
|
-
`${totalTime.toFixed(3)} ms`
|
|
77
|
-
)}`
|
|
78
|
-
);
|
|
79
|
-
};
|
|
80
|
-
onFinished(res, logRequest);
|
|
81
|
-
next();
|
|
82
|
-
};
|
|
83
|
-
};
|
|
84
|
-
const notFoundMiddleware = (_req, res, _next) => {
|
|
85
|
-
res.statusCode = 404;
|
|
86
|
-
res.end();
|
|
87
|
-
};
|
|
88
|
-
const getHtmlFallbackMiddleware = ({ htmlFallback, distPath, callback, outputFileSystem }) => {
|
|
89
|
-
return async (req, res, next) => {
|
|
90
|
-
if (
|
|
91
|
-
// Only accept GET or HEAD
|
|
92
|
-
req.method !== "GET" && req.method !== "HEAD" || // Require Accept header
|
|
93
|
-
!req.headers || typeof req.headers.accept !== "string" || // Ignore JSON requests
|
|
94
|
-
req.headers.accept.includes("application/json") || // Require Accept: text/html or */*
|
|
95
|
-
!(req.headers.accept.includes("text/html") || req.headers.accept.includes("*/*")) || !req.url || ["/favicon.ico"].includes(req.url)
|
|
96
|
-
) {
|
|
97
|
-
return next();
|
|
98
|
-
}
|
|
99
|
-
const { url } = req;
|
|
100
|
-
let pathname = url;
|
|
101
|
-
try {
|
|
102
|
-
pathname = (0, import_node_url.parse)(url, false, true).pathname;
|
|
103
|
-
} catch (err) {
|
|
104
|
-
import_shared.logger.error(
|
|
105
|
-
new Error(`Invalid URL: ${import_shared.color.yellow(url)}`, { cause: err })
|
|
106
|
-
);
|
|
107
|
-
return next();
|
|
108
|
-
}
|
|
109
|
-
const isFileExists = async (filePath) => {
|
|
110
|
-
return new Promise((resolve) => {
|
|
111
|
-
outputFileSystem.stat(filePath, (_error, stats) => {
|
|
112
|
-
resolve(stats?.isFile());
|
|
113
|
-
});
|
|
114
|
-
});
|
|
115
|
-
};
|
|
116
|
-
const rewrite = (newUrl, isFallback = false) => {
|
|
117
|
-
if (isFallback && (0, import_shared.isDebug)()) {
|
|
118
|
-
(0, import_shared.debug)(
|
|
119
|
-
`${req.method} ${import_shared.color.gray(
|
|
120
|
-
`${req.url} ${import_shared.color.yellow("fallback")} to ${newUrl}`
|
|
121
|
-
)}`
|
|
122
|
-
);
|
|
123
|
-
}
|
|
124
|
-
req.url = newUrl;
|
|
125
|
-
if (callback) {
|
|
126
|
-
return callback(req, res, (...args) => {
|
|
127
|
-
next(...args);
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
return next();
|
|
131
|
-
};
|
|
132
|
-
if (pathname.endsWith("/")) {
|
|
133
|
-
const newUrl = `${pathname}index.html`;
|
|
134
|
-
const filePath = import_node_path.default.join(distPath, pathname, "index.html");
|
|
135
|
-
if (await isFileExists(filePath)) {
|
|
136
|
-
return rewrite(newUrl);
|
|
137
|
-
}
|
|
138
|
-
} else if (
|
|
139
|
-
// '/main' => '/main.html'
|
|
140
|
-
!pathname.endsWith(".html")
|
|
141
|
-
) {
|
|
142
|
-
const newUrl = `${pathname}.html`;
|
|
143
|
-
const filePath = import_node_path.default.join(distPath, `${pathname}.html`);
|
|
144
|
-
if (await isFileExists(filePath)) {
|
|
145
|
-
return rewrite(newUrl);
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
if (htmlFallback === "index") {
|
|
149
|
-
if (await isFileExists(import_node_path.default.join(distPath, "index.html"))) {
|
|
150
|
-
return rewrite("/index.html", true);
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
next();
|
|
154
|
-
};
|
|
155
|
-
};
|
|
156
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
157
|
-
0 && (module.exports = {
|
|
158
|
-
faviconFallbackMiddleware,
|
|
159
|
-
getHtmlFallbackMiddleware,
|
|
160
|
-
getRequestLoggerMiddleware,
|
|
161
|
-
notFoundMiddleware
|
|
162
|
-
});
|
|
@@ -1,196 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
9
|
-
var __export = (target, all) => {
|
|
10
|
-
for (var name in all)
|
|
11
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
12
|
-
};
|
|
13
|
-
var __copyProps = (to, from, except, desc) => {
|
|
14
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
-
for (let key of __getOwnPropNames(from))
|
|
16
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
17
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
18
|
-
}
|
|
19
|
-
return to;
|
|
20
|
-
};
|
|
21
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
23
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
24
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
25
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
26
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
|
-
mod
|
|
28
|
-
));
|
|
29
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
30
|
-
var __publicField = (obj, key, value) => {
|
|
31
|
-
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
32
|
-
return value;
|
|
33
|
-
};
|
|
34
|
-
var prodServer_exports = {};
|
|
35
|
-
__export(prodServer_exports, {
|
|
36
|
-
RsbuildProdServer: () => RsbuildProdServer,
|
|
37
|
-
startProdServer: () => startProdServer
|
|
38
|
-
});
|
|
39
|
-
module.exports = __toCommonJS(prodServer_exports);
|
|
40
|
-
var import_node_path = require("node:path");
|
|
41
|
-
var import_shared = require("@rsbuild/shared");
|
|
42
|
-
var import_connect = __toESM(require("@rsbuild/shared/connect"));
|
|
43
|
-
var import_sirv = __toESM(require("../../compiled/sirv/index.js"));
|
|
44
|
-
var import_helper = require("./helper");
|
|
45
|
-
var import_httpServer = require("./httpServer");
|
|
46
|
-
var import_middlewares = require("./middlewares");
|
|
47
|
-
class RsbuildProdServer {
|
|
48
|
-
constructor(options) {
|
|
49
|
-
__publicField(this, "app");
|
|
50
|
-
__publicField(this, "options");
|
|
51
|
-
__publicField(this, "middlewares", (0, import_connect.default)());
|
|
52
|
-
this.options = options;
|
|
53
|
-
}
|
|
54
|
-
// Complete the preparation of services
|
|
55
|
-
async onInit(app) {
|
|
56
|
-
this.app = app;
|
|
57
|
-
await this.applyDefaultMiddlewares();
|
|
58
|
-
}
|
|
59
|
-
async applyDefaultMiddlewares() {
|
|
60
|
-
const { headers, proxy, historyApiFallback, compress } = this.options.serverConfig;
|
|
61
|
-
if ((0, import_shared.isDebug)()) {
|
|
62
|
-
this.middlewares.use(await (0, import_middlewares.getRequestLoggerMiddleware)());
|
|
63
|
-
}
|
|
64
|
-
if (compress) {
|
|
65
|
-
const { default: compression } = await Promise.resolve().then(() => __toESM(require("../../compiled/http-compression/index.js")));
|
|
66
|
-
this.middlewares.use((req, res, next) => {
|
|
67
|
-
compression({
|
|
68
|
-
gzip: true,
|
|
69
|
-
brotli: false
|
|
70
|
-
})(req, res, next);
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
if (headers) {
|
|
74
|
-
this.middlewares.use((_req, res, next) => {
|
|
75
|
-
for (const [key, value] of Object.entries(headers)) {
|
|
76
|
-
res.setHeader(key, value);
|
|
77
|
-
}
|
|
78
|
-
next();
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
if (proxy) {
|
|
82
|
-
const { createProxyMiddleware } = await Promise.resolve().then(() => __toESM(require("./proxy")));
|
|
83
|
-
const { middlewares, upgrade } = createProxyMiddleware(proxy);
|
|
84
|
-
for (const middleware of middlewares) {
|
|
85
|
-
this.middlewares.use(middleware);
|
|
86
|
-
}
|
|
87
|
-
this.app.on("upgrade", upgrade);
|
|
88
|
-
}
|
|
89
|
-
this.applyStaticAssetMiddleware();
|
|
90
|
-
if (historyApiFallback) {
|
|
91
|
-
const { default: connectHistoryApiFallback } = await Promise.resolve().then(() => __toESM(require("../../compiled/connect-history-api-fallback/index.js")));
|
|
92
|
-
const historyApiFallbackMiddleware = connectHistoryApiFallback(
|
|
93
|
-
historyApiFallback === true ? {} : historyApiFallback
|
|
94
|
-
);
|
|
95
|
-
this.middlewares.use(historyApiFallbackMiddleware);
|
|
96
|
-
this.applyStaticAssetMiddleware();
|
|
97
|
-
}
|
|
98
|
-
this.middlewares.use(import_middlewares.faviconFallbackMiddleware);
|
|
99
|
-
}
|
|
100
|
-
applyStaticAssetMiddleware() {
|
|
101
|
-
const {
|
|
102
|
-
output: { path, assetPrefix },
|
|
103
|
-
serverConfig: { htmlFallback },
|
|
104
|
-
pwd
|
|
105
|
-
} = this.options;
|
|
106
|
-
const assetMiddleware = (0, import_sirv.default)((0, import_node_path.join)(pwd, path), {
|
|
107
|
-
etag: true,
|
|
108
|
-
dev: true,
|
|
109
|
-
ignores: ["favicon.ico"],
|
|
110
|
-
single: htmlFallback === "index"
|
|
111
|
-
});
|
|
112
|
-
this.middlewares.use((req, res, next) => {
|
|
113
|
-
const url = req.url;
|
|
114
|
-
if (assetPrefix && url?.startsWith(assetPrefix)) {
|
|
115
|
-
req.url = url.slice(assetPrefix.length);
|
|
116
|
-
assetMiddleware(req, res, (...args) => {
|
|
117
|
-
req.url = url;
|
|
118
|
-
next(...args);
|
|
119
|
-
});
|
|
120
|
-
} else {
|
|
121
|
-
assetMiddleware(req, res, next);
|
|
122
|
-
}
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
close() {
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
async function startProdServer(context, rsbuildConfig, { getPortSilently } = {}) {
|
|
129
|
-
if (!(0, import_shared.getNodeEnv)()) {
|
|
130
|
-
(0, import_shared.setNodeEnv)("production");
|
|
131
|
-
}
|
|
132
|
-
const { serverConfig, port, host, https } = await (0, import_helper.getServerOptions)({
|
|
133
|
-
rsbuildConfig,
|
|
134
|
-
getPortSilently
|
|
135
|
-
});
|
|
136
|
-
const server = new RsbuildProdServer({
|
|
137
|
-
pwd: context.rootPath,
|
|
138
|
-
output: {
|
|
139
|
-
path: rsbuildConfig.output?.distPath?.root || import_shared.ROOT_DIST_DIR,
|
|
140
|
-
assetPrefix: rsbuildConfig.output?.assetPrefix
|
|
141
|
-
},
|
|
142
|
-
serverConfig
|
|
143
|
-
});
|
|
144
|
-
await context.hooks.onBeforeStartProdServer.call();
|
|
145
|
-
const httpServer = await (0, import_httpServer.createHttpServer)({
|
|
146
|
-
https: serverConfig.https,
|
|
147
|
-
middlewares: server.middlewares
|
|
148
|
-
});
|
|
149
|
-
await server.onInit(httpServer);
|
|
150
|
-
return new Promise((resolve) => {
|
|
151
|
-
httpServer.listen(
|
|
152
|
-
{
|
|
153
|
-
host,
|
|
154
|
-
port
|
|
155
|
-
},
|
|
156
|
-
async () => {
|
|
157
|
-
const routes = (0, import_helper.formatRoutes)(
|
|
158
|
-
context.entry,
|
|
159
|
-
rsbuildConfig.output?.distPath?.html,
|
|
160
|
-
rsbuildConfig.html?.outputStructure
|
|
161
|
-
);
|
|
162
|
-
await context.hooks.onAfterStartProdServer.call({
|
|
163
|
-
port,
|
|
164
|
-
routes
|
|
165
|
-
});
|
|
166
|
-
const protocol = https ? "https" : "http";
|
|
167
|
-
const urls = (0, import_shared.getAddressUrls)({ protocol, port });
|
|
168
|
-
(0, import_helper.printServerURLs)({
|
|
169
|
-
urls,
|
|
170
|
-
port,
|
|
171
|
-
routes,
|
|
172
|
-
protocol,
|
|
173
|
-
printUrls: serverConfig.printUrls
|
|
174
|
-
});
|
|
175
|
-
const onClose = () => {
|
|
176
|
-
server.close();
|
|
177
|
-
httpServer.close();
|
|
178
|
-
};
|
|
179
|
-
resolve({
|
|
180
|
-
port,
|
|
181
|
-
urls: urls.map((item) => item.url),
|
|
182
|
-
server: {
|
|
183
|
-
close: async () => {
|
|
184
|
-
onClose();
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
});
|
|
188
|
-
}
|
|
189
|
-
);
|
|
190
|
-
});
|
|
191
|
-
}
|
|
192
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
193
|
-
0 && (module.exports = {
|
|
194
|
-
RsbuildProdServer,
|
|
195
|
-
startProdServer
|
|
196
|
-
});
|