@rsbuild/core 0.0.18 → 0.0.19

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 CHANGED
@@ -1,7 +1,18 @@
1
1
  #!/usr/bin/env node
2
2
  const { logger } = require('rslog');
3
3
 
4
+ function initNodeEnv() {
5
+ if (!process.env.NODE_ENV) {
6
+ const command = process.argv[2];
7
+ process.env.NODE_ENV = ['build', 'preview'].includes(command)
8
+ ? 'production'
9
+ : 'development';
10
+ }
11
+ }
12
+
4
13
  async function main() {
14
+ initNodeEnv();
15
+
5
16
  const { version } = require('../package.json');
6
17
 
7
18
  // If not called through a package manager,
@@ -1,4 +1,6 @@
1
1
  import { type RspackConfig } from '@rsbuild/shared';
2
+ import { type RspackCompiler, type RspackMultiCompiler } from '@rsbuild/shared';
3
+ import { type InitConfigsOptions } from './initConfigs';
2
4
  import type { Context } from '../types';
3
5
  export declare function createCompiler({
4
6
  context,
@@ -6,4 +8,5 @@ export declare function createCompiler({
6
8
  }: {
7
9
  context: Context;
8
10
  rspackConfigs: RspackConfig[];
9
- }): Promise<import("@rspack/core").MultiCompiler>;
11
+ }): Promise<import("@rspack/core").MultiCompiler>;
12
+ export declare function startDevCompile(options: InitConfigsOptions, customCompiler?: RspackCompiler | RspackMultiCompiler): Promise<import("@rsbuild/shared").DevMiddleware>;
@@ -28,10 +28,13 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
29
  var createCompiler_exports = {};
30
30
  __export(createCompiler_exports, {
31
- createCompiler: () => createCompiler
31
+ createCompiler: () => createCompiler,
32
+ startDevCompile: () => startDevCompile
32
33
  });
33
34
  module.exports = __toCommonJS(createCompiler_exports);
34
35
  var import_shared = require("@rsbuild/shared");
36
+ var import_devMiddleware = require("./devMiddleware");
37
+ var import_initConfigs = require("./initConfigs");
35
38
  async function createCompiler({
36
39
  context,
37
40
  rspackConfigs
@@ -79,7 +82,21 @@ async function createCompiler({
79
82
  (0, import_shared.debug)("create compiler done");
80
83
  return compiler;
81
84
  }
85
+ async function startDevCompile(options, customCompiler) {
86
+ let compiler;
87
+ if (customCompiler) {
88
+ compiler = customCompiler;
89
+ } else {
90
+ const { rspackConfigs } = await (0, import_initConfigs.initConfigs)(options);
91
+ compiler = await createCompiler({
92
+ context: options.context,
93
+ rspackConfigs
94
+ });
95
+ }
96
+ return (0, import_devMiddleware.getDevMiddleware)(compiler);
97
+ }
82
98
  // Annotate the CommonJS export names for ESM import in node:
83
99
  0 && (module.exports = {
84
- createCompiler
100
+ createCompiler,
101
+ startDevCompile
85
102
  });
@@ -73,10 +73,10 @@ function rspackProvider({
73
73
  });
74
74
  },
75
75
  async startDevServer(options) {
76
- const { createDevServer } = await Promise.resolve().then(() => __toESM(require("./core/startDevServer")));
77
- return (0, import_shared.startDevServer)(
76
+ const { startDevCompile } = await Promise.resolve().then(() => __toESM(require("./core/createCompiler")));
77
+ return (0, import_server.startDevServer)(
78
78
  { context, pluginStore, rsbuildOptions },
79
- createDevServer,
79
+ startDevCompile,
80
80
  options
81
81
  );
82
82
  },
@@ -3,7 +3,7 @@
3
3
  /// <reference types="node" />
4
4
  import { Server } from 'http';
5
5
  import type { ListenOptions } from 'net';
6
- import { RsbuildDevServerOptions, CreateDevServerOptions, ServerApi } from '@rsbuild/shared';
6
+ import { RsbuildDevServerOptions, CreateDevServerOptions, DevServerContext, StartDevServerOptions, StartServerResult } from '@rsbuild/shared';
7
7
  import connect from 'connect';
8
8
  export declare class RsbuildDevServer {
9
9
  private readonly dev;
@@ -17,7 +17,19 @@ export declare class RsbuildDevServer {
17
17
  onInit(app: Server): Promise<void>;
18
18
  private applyDefaultMiddlewares;
19
19
  createHTTPServer(): Promise<Server<typeof import("http").IncomingMessage, typeof import("http").ServerResponse> | import("https").Server<typeof import("http").IncomingMessage, typeof import("http").ServerResponse>>;
20
- listen(options?: number | ListenOptions | undefined, listener?: () => void): void;
20
+ listen(options?: number | ListenOptions | undefined, listener?: (err?: Error) => Promise<void>): void;
21
21
  close(): void;
22
22
  }
23
- export declare function createDevServer(options: CreateDevServerOptions): Promise<ServerApi>;
23
+ export declare function startDevServer<Options extends {
24
+ context: DevServerContext;
25
+ }>(options: Options, startDevCompile: (options: Options, compiler: StartDevServerOptions['compiler']) => Promise<CreateDevServerOptions['devMiddleware']>, {
26
+ open,
27
+ compiler,
28
+ printURLs,
29
+ strictPort,
30
+ serverOptions,
31
+ logger: customLogger,
32
+ getPortSilently
33
+ }?: StartDevServerOptions & {
34
+ defaultPort?: number;
35
+ }): Promise<StartServerResult>;
@@ -29,7 +29,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
29
29
  var devServer_exports = {};
30
30
  __export(devServer_exports, {
31
31
  RsbuildDevServer: () => RsbuildDevServer,
32
- createDevServer: () => createDevServer
32
+ startDevServer: () => startDevServer
33
33
  });
34
34
  module.exports = __toCommonJS(devServer_exports);
35
35
  var import_http = require("http");
@@ -40,6 +40,8 @@ var import_constants = require("./constants");
40
40
  var import_dev_middleware = __toESM(require("./dev-middleware"));
41
41
  var import_deepmerge = require("@rsbuild/shared/deepmerge");
42
42
  var import_connect = __toESM(require("connect"));
43
+ var import_proxy = require("./proxy");
44
+ var import_middlewares = require("./middlewares");
43
45
  class RsbuildDevServer {
44
46
  constructor(options) {
45
47
  this.middlewares = (0, import_connect.default)();
@@ -106,6 +108,13 @@ class RsbuildDevServer {
106
108
  }
107
109
  next();
108
110
  });
111
+ if (dev.proxy) {
112
+ const { middlewares, handleUpgrade } = (0, import_proxy.createProxyMiddleware)(dev.proxy);
113
+ app && handleUpgrade(app);
114
+ middlewares.forEach((middleware) => {
115
+ this.middlewares.use(middleware);
116
+ });
117
+ }
109
118
  devMiddleware.init(app);
110
119
  devMiddleware.middleware && this.middlewares.use(devMiddleware.middleware);
111
120
  if (dev.historyApiFallback) {
@@ -117,6 +126,7 @@ class RsbuildDevServer {
117
126
  this.middlewares.use(historyApiFallbackMiddleware);
118
127
  devMiddleware.middleware && this.middlewares.use(devMiddleware.middleware);
119
128
  }
129
+ this.middlewares.use(import_middlewares.faviconFallbackMiddleware);
120
130
  }
121
131
  async createHTTPServer() {
122
132
  const { dev } = this;
@@ -143,30 +153,83 @@ class RsbuildDevServer {
143
153
  this.app.close();
144
154
  }
145
155
  }
146
- async function createDevServer(options) {
156
+ async function startDevServer(options, startDevCompile, {
157
+ open,
158
+ compiler,
159
+ printURLs = true,
160
+ strictPort = false,
161
+ serverOptions = {},
162
+ logger: customLogger,
163
+ getPortSilently
164
+ } = {}) {
147
165
  var _a;
148
- const { server: serverOptions = {}, ...devOptions } = options;
149
- const logger = (_a = serverOptions.logger) != null ? _a : import_shared.logger;
150
- const devServer = new RsbuildDevServer(devOptions);
151
- const httpServer = serverOptions.customApp || await devServer.createHTTPServer();
152
- const server = {
153
- middlewares: devServer.middlewares,
154
- init: async () => {
155
- await devServer.onInit(httpServer);
156
- },
157
- // resolvedConfig,
158
- listen: (options2, cb) => {
159
- devServer.listen(options2, cb);
160
- },
161
- logger,
162
- close: () => {
163
- devServer.close();
164
- }
166
+ if (!process.env.NODE_ENV) {
167
+ process.env.NODE_ENV = "development";
168
+ }
169
+ const rsbuildConfig = options.context.config;
170
+ const logger = customLogger != null ? customLogger : import_shared.logger;
171
+ const { devServerConfig, port, host, https } = await (0, import_shared.getDevOptions)({
172
+ rsbuildConfig,
173
+ serverOptions,
174
+ strictPort,
175
+ getPortSilently
176
+ });
177
+ options.context.devServer = {
178
+ hostname: host,
179
+ port,
180
+ https,
181
+ open
165
182
  };
166
- return server;
183
+ const protocol = https ? "https" : "http";
184
+ let urls = (0, import_shared.getAddressUrls)(protocol, port, (_a = rsbuildConfig.dev) == null ? void 0 : _a.host);
185
+ if (printURLs) {
186
+ if ((0, import_shared.isFunction)(printURLs)) {
187
+ urls = printURLs(urls);
188
+ if (!Array.isArray(urls)) {
189
+ throw new Error("Please return an array in the `printURLs` function.");
190
+ }
191
+ }
192
+ (0, import_shared.printServerURLs)(urls, logger);
193
+ }
194
+ (0, import_shared.debug)("create dev server");
195
+ const devMiddleware = await startDevCompile(options, compiler);
196
+ const server = new RsbuildDevServer({
197
+ pwd: options.context.rootPath,
198
+ devMiddleware,
199
+ dev: devServerConfig
200
+ });
201
+ (0, import_shared.debug)("create dev server done");
202
+ await options.context.hooks.onBeforeStartDevServerHook.call();
203
+ const httpServer = await server.createHTTPServer();
204
+ await server.onInit(httpServer);
205
+ (0, import_shared.debug)("listen dev server");
206
+ return new Promise((resolve) => {
207
+ server.listen(
208
+ {
209
+ host,
210
+ port
211
+ },
212
+ async (err) => {
213
+ if (err) {
214
+ throw err;
215
+ }
216
+ (0, import_shared.debug)("listen dev server done");
217
+ await options.context.hooks.onAfterStartDevServerHook.call({ port });
218
+ resolve({
219
+ port,
220
+ urls: urls.map((item) => item.url),
221
+ server: {
222
+ close: () => {
223
+ server.close();
224
+ }
225
+ }
226
+ });
227
+ }
228
+ );
229
+ });
167
230
  }
168
231
  // Annotate the CommonJS export names for ESM import in node:
169
232
  0 && (module.exports = {
170
233
  RsbuildDevServer,
171
- createDevServer
234
+ startDevServer
172
235
  });
@@ -1,2 +1,2 @@
1
- export { createDevServer } from './devServer';
1
+ export { startDevServer } from './devServer';
2
2
  export { startProdServer } from './prodServer';
@@ -18,7 +18,7 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var server_exports = {};
20
20
  __export(server_exports, {
21
- createDevServer: () => import_devServer.createDevServer,
21
+ startDevServer: () => import_devServer.startDevServer,
22
22
  startProdServer: () => import_prodServer.startProdServer
23
23
  });
24
24
  module.exports = __toCommonJS(server_exports);
@@ -26,6 +26,6 @@ var import_devServer = require("./devServer");
26
26
  var import_prodServer = require("./prodServer");
27
27
  // Annotate the CommonJS export names for ESM import in node:
28
28
  0 && (module.exports = {
29
- createDevServer,
29
+ startDevServer,
30
30
  startProdServer
31
31
  });
@@ -0,0 +1,2 @@
1
+ import { RequestHandler as Middleware } from '@rsbuild/shared';
2
+ export declare const faviconFallbackMiddleware: Middleware;
@@ -0,0 +1,35 @@
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 middlewares_exports = {};
20
+ __export(middlewares_exports, {
21
+ faviconFallbackMiddleware: () => faviconFallbackMiddleware
22
+ });
23
+ module.exports = __toCommonJS(middlewares_exports);
24
+ const faviconFallbackMiddleware = (req, res, next) => {
25
+ if (req.url === "/favicon.ico") {
26
+ res.statusCode = 204;
27
+ res.end();
28
+ } else {
29
+ next();
30
+ }
31
+ };
32
+ // Annotate the CommonJS export names for ESM import in node:
33
+ 0 && (module.exports = {
34
+ faviconFallbackMiddleware
35
+ });
@@ -18,6 +18,7 @@ export declare class RsbuildProdServer {
18
18
  constructor(options: RsbuildProdServerOptions);
19
19
  onInit(app: Server): Promise<void>;
20
20
  private applyDefaultMiddlewares;
21
+ private applyStaticAssetMiddleware;
21
22
  createHTTPServer(): Promise<Server<typeof import("http").IncomingMessage, typeof import("http").ServerResponse>>;
22
23
  listen(options?: number | ListenOptions | undefined, listener?: () => void): void;
23
24
  close(): void;
@@ -37,6 +37,7 @@ var import_connect = __toESM(require("connect"));
37
37
  var import_path = require("path");
38
38
  var import_sirv = __toESM(require("sirv"));
39
39
  var import_shared = require("@rsbuild/shared");
40
+ var import_middlewares = require("./middlewares");
40
41
  class RsbuildProdServer {
41
42
  constructor(options) {
42
43
  this.middlewares = (0, import_connect.default)();
@@ -48,6 +49,10 @@ class RsbuildProdServer {
48
49
  await this.applyDefaultMiddlewares();
49
50
  }
50
51
  async applyDefaultMiddlewares() {
52
+ this.applyStaticAssetMiddleware();
53
+ this.middlewares.use(import_middlewares.faviconFallbackMiddleware);
54
+ }
55
+ applyStaticAssetMiddleware() {
51
56
  const {
52
57
  output: { path, assetPrefix },
53
58
  pwd
@@ -115,11 +120,9 @@ async function startProdServer(context, rsbuildConfig) {
115
120
  port,
116
121
  urls: urls.map((item) => item.url),
117
122
  server: {
118
- middlewares: server.middlewares,
119
123
  close: () => {
120
124
  server.close();
121
125
  }
122
- // TODO: decouple with Modern.js server
123
126
  }
124
127
  });
125
128
  }
@@ -0,0 +1,9 @@
1
+ import http from 'http';
2
+ import { RequestHandler } from 'http-proxy-middleware';
3
+ import { ProxyDetail, RequestHandler as Middleware, RsbuildProxyOptions } from '@rsbuild/shared';
4
+ export declare function formatProxyOptions(proxyOptions: RsbuildProxyOptions): ProxyDetail[];
5
+ export type HttpUpgradeHandler = NonNullable<RequestHandler['upgrade']>;
6
+ export declare const createProxyMiddleware: (proxyOptions: RsbuildProxyOptions) => {
7
+ middlewares: Middleware[];
8
+ handleUpgrade: (server: http.Server) => void;
9
+ };
@@ -0,0 +1,92 @@
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 proxy_exports = {};
20
+ __export(proxy_exports, {
21
+ createProxyMiddleware: () => createProxyMiddleware,
22
+ formatProxyOptions: () => formatProxyOptions
23
+ });
24
+ module.exports = __toCommonJS(proxy_exports);
25
+ var import_http_proxy_middleware2 = require("http-proxy-middleware/dist/http-proxy-middleware");
26
+ function formatProxyOptions(proxyOptions) {
27
+ var _a;
28
+ const ret = [];
29
+ if (Array.isArray(proxyOptions)) {
30
+ ret.push(...proxyOptions);
31
+ } else if ("target" in proxyOptions) {
32
+ ret.push(proxyOptions);
33
+ } else {
34
+ for (const [context, options] of Object.entries(proxyOptions)) {
35
+ const opts = {
36
+ context,
37
+ changeOrigin: true,
38
+ logLevel: "warn"
39
+ };
40
+ if (typeof options === "string") {
41
+ opts.target = options;
42
+ } else {
43
+ Object.assign(opts, options);
44
+ }
45
+ ret.push(opts);
46
+ }
47
+ }
48
+ const handleError = (err, _req, _res, _target) => {
49
+ console.error(err);
50
+ };
51
+ for (const opts of ret) {
52
+ (_a = opts.onError) != null ? _a : opts.onError = handleError;
53
+ }
54
+ return ret;
55
+ }
56
+ const createProxyMiddleware = (proxyOptions) => {
57
+ const formattedOptionsList = formatProxyOptions(proxyOptions);
58
+ const proxies = [];
59
+ const middlewares = [];
60
+ for (const opts of formattedOptionsList) {
61
+ const proxy = new import_http_proxy_middleware2.HttpProxyMiddleware(opts.context, opts);
62
+ const middleware = async (req, res, next) => {
63
+ const bypassUrl = typeof opts.bypass === "function" ? opts.bypass(req, res, opts) : null;
64
+ if (typeof bypassUrl === "boolean") {
65
+ res.statusCode = 404;
66
+ next();
67
+ } else if (typeof bypassUrl === "string") {
68
+ req.url = bypassUrl;
69
+ next();
70
+ } else {
71
+ proxy.middleware(req, res, next);
72
+ }
73
+ };
74
+ proxies.push(proxy);
75
+ middlewares.push(middleware);
76
+ }
77
+ const handleUpgrade = (server) => {
78
+ for (const proxy of proxies) {
79
+ const raw = proxy;
80
+ if (raw.proxyOptions.ws === true && !raw.wsInternalSubscribed) {
81
+ server.on("upgrade", raw.handleUpgrade);
82
+ raw.wsInternalSubscribed = true;
83
+ }
84
+ }
85
+ };
86
+ return { middlewares, handleUpgrade };
87
+ };
88
+ // Annotate the CommonJS export names for ESM import in node:
89
+ 0 && (module.exports = {
90
+ createProxyMiddleware,
91
+ formatProxyOptions
92
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rsbuild/core",
3
- "version": "0.0.18",
3
+ "version": "0.0.19",
4
4
  "description": "Unleash the power of Rspack with the out-of-the-box build tool.",
5
5
  "homepage": "https://rsbuild.dev",
6
6
  "bugs": {
@@ -88,6 +88,7 @@
88
88
  "gzip-size": "^6.0.0",
89
89
  "html-webpack-plugin": "5.5.3",
90
90
  "http-compression": "1.0.6",
91
+ "http-proxy-middleware": "^2.0.1",
91
92
  "jiti": "^1.20.0",
92
93
  "lodash": "^4.17.21",
93
94
  "open": "^8.4.0",
@@ -97,7 +98,7 @@
97
98
  "sirv": "^2.0.3",
98
99
  "strip-ansi": "^6.0.1",
99
100
  "ws": "^8.2.0",
100
- "@rsbuild/shared": "0.0.18"
101
+ "@rsbuild/shared": "0.0.19"
101
102
  },
102
103
  "devDependencies": {
103
104
  "@types/connect": "3.4.35",
@@ -1,5 +0,0 @@
1
- import { StartDevServerOptions, type RspackCompiler, type RspackMultiCompiler } from '@rsbuild/shared';
2
- import { type InitConfigsOptions } from './initConfigs';
3
- type ServerOptions = Exclude<StartDevServerOptions['serverOptions'], undefined>;
4
- export declare function createDevServer(options: InitConfigsOptions, port: number, serverOptions: ServerOptions, customCompiler?: RspackCompiler | RspackMultiCompiler): Promise<import("@rsbuild/shared").ServerApi>;
5
- export {};
@@ -1,59 +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 startDevServer_exports = {};
20
- __export(startDevServer_exports, {
21
- createDevServer: () => createDevServer
22
- });
23
- module.exports = __toCommonJS(startDevServer_exports);
24
- var import_shared = require("@rsbuild/shared");
25
- var import_createCompiler = require("./createCompiler");
26
- var import_devMiddleware = require("./devMiddleware");
27
- var import_initConfigs = require("./initConfigs");
28
- var import_server = require("../../server");
29
- async function createDevServer(options, port, serverOptions, customCompiler) {
30
- let compiler;
31
- if (customCompiler) {
32
- compiler = customCompiler;
33
- } else {
34
- const { rspackConfigs } = await (0, import_initConfigs.initConfigs)(options);
35
- compiler = await (0, import_createCompiler.createCompiler)({
36
- context: options.context,
37
- rspackConfigs
38
- });
39
- }
40
- (0, import_shared.debug)("create dev server");
41
- const rsbuildConfig = options.context.config;
42
- const { devConfig } = await (0, import_shared.getDevServerOptions)({
43
- rsbuildConfig,
44
- serverOptions,
45
- port
46
- });
47
- const server = await (0, import_server.createDevServer)({
48
- pwd: options.context.rootPath,
49
- devMiddleware: (0, import_devMiddleware.getDevMiddleware)(compiler),
50
- ...serverOptions,
51
- dev: devConfig
52
- });
53
- (0, import_shared.debug)("create dev server done");
54
- return server;
55
- }
56
- // Annotate the CommonJS export names for ESM import in node:
57
- 0 && (module.exports = {
58
- createDevServer
59
- });