@modern-js/server 2.0.0-beta.3 → 2.0.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.
Files changed (62) hide show
  1. package/CHANGELOG.md +79 -0
  2. package/dist/js/modern/constants.js +10 -9
  3. package/dist/js/modern/dev-tools/dev-middleware/dev-server-plugin.js +14 -20
  4. package/dist/js/modern/dev-tools/dev-middleware/hmr-client/createSocketUrl.js +14 -19
  5. package/dist/js/modern/dev-tools/dev-middleware/hmr-client/index.js +134 -184
  6. package/dist/js/modern/dev-tools/dev-middleware/hmr-client/types.d.js +0 -0
  7. package/dist/js/modern/dev-tools/dev-middleware/index.js +65 -60
  8. package/dist/js/modern/dev-tools/dev-middleware/socket-server.js +33 -59
  9. package/dist/js/modern/dev-tools/https/global.d.js +0 -0
  10. package/dist/js/modern/dev-tools/https/index.js +28 -5
  11. package/dist/js/modern/dev-tools/mock/getMockData.js +71 -45
  12. package/dist/js/modern/dev-tools/mock/index.js +34 -15
  13. package/dist/js/modern/dev-tools/register/index.js +71 -54
  14. package/dist/js/modern/dev-tools/watcher/dependency-tree.js +25 -34
  15. package/dist/js/modern/dev-tools/watcher/index.js +51 -33
  16. package/dist/js/modern/dev-tools/watcher/stats-cache.js +13 -20
  17. package/dist/js/modern/index.js +7 -4
  18. package/dist/js/modern/server/dev-server.js +191 -215
  19. package/dist/js/modern/server/index.js +7 -4
  20. package/dist/js/node/constants.js +27 -14
  21. package/dist/js/node/dev-tools/dev-middleware/dev-server-plugin.js +36 -24
  22. package/dist/js/node/dev-tools/dev-middleware/hmr-client/createSocketUrl.js +31 -24
  23. package/dist/js/node/dev-tools/dev-middleware/hmr-client/index.js +56 -98
  24. package/dist/js/node/dev-tools/dev-middleware/hmr-client/types.d.js +0 -0
  25. package/dist/js/node/dev-tools/dev-middleware/index.js +94 -72
  26. package/dist/js/node/dev-tools/dev-middleware/socket-server.js +57 -66
  27. package/dist/js/node/dev-tools/https/global.d.js +0 -0
  28. package/dist/js/node/dev-tools/https/index.js +52 -13
  29. package/dist/js/node/dev-tools/mock/getMockData.js +88 -51
  30. package/dist/js/node/dev-tools/mock/index.js +62 -28
  31. package/dist/js/node/dev-tools/register/index.js +98 -64
  32. package/dist/js/node/dev-tools/watcher/dependency-tree.js +50 -43
  33. package/dist/js/node/dev-tools/watcher/index.js +79 -47
  34. package/dist/js/node/dev-tools/watcher/stats-cache.js +40 -30
  35. package/dist/js/node/index.js +25 -15
  36. package/dist/js/node/server/dev-server.js +234 -237
  37. package/dist/js/node/server/index.js +26 -11
  38. package/dist/js/treeshaking/constants.js +21 -0
  39. package/dist/js/treeshaking/dev-tools/dev-middleware/dev-server-plugin.js +74 -0
  40. package/dist/js/treeshaking/dev-tools/dev-middleware/hmr-client/createSocketUrl.js +51 -0
  41. package/dist/js/treeshaking/dev-tools/dev-middleware/hmr-client/index.js +157 -0
  42. package/dist/js/treeshaking/dev-tools/dev-middleware/hmr-client/types.d.js +1 -0
  43. package/dist/js/treeshaking/dev-tools/dev-middleware/index.js +363 -0
  44. package/dist/js/treeshaking/dev-tools/dev-middleware/socket-server.js +209 -0
  45. package/dist/js/treeshaking/dev-tools/https/global.d.js +1 -0
  46. package/dist/js/treeshaking/dev-tools/https/index.js +161 -0
  47. package/dist/js/treeshaking/dev-tools/mock/getMockData.js +327 -0
  48. package/dist/js/treeshaking/dev-tools/mock/index.js +191 -0
  49. package/dist/js/treeshaking/dev-tools/register/index.js +153 -0
  50. package/dist/js/treeshaking/dev-tools/watcher/dependency-tree.js +150 -0
  51. package/dist/js/treeshaking/dev-tools/watcher/index.js +200 -0
  52. package/dist/js/treeshaking/dev-tools/watcher/stats-cache.js +128 -0
  53. package/dist/js/treeshaking/index.js +9 -0
  54. package/dist/js/treeshaking/server/dev-server.js +800 -0
  55. package/dist/js/treeshaking/server/index.js +92 -0
  56. package/dist/js/treeshaking/types.js +1 -0
  57. package/dist/types/dev-tools/mock/getMockData.d.ts +2 -0
  58. package/dist/types/dev-tools/watcher/dependency-tree.d.ts +2 -0
  59. package/dist/types/dev-tools/watcher/index.d.ts +1 -1
  60. package/dist/types/index.d.ts +2 -0
  61. package/package.json +16 -13
  62. package/temp-fix-hmr.js +483 -0
@@ -1,62 +1,123 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
21
+ mod
22
+ ));
23
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
24
+ var stdin_exports = {};
25
+ __export(stdin_exports, {
26
+ ModernDevServer: () => ModernDevServer
5
27
  });
6
- exports.ModernDevServer = void 0;
7
- var _http = require("http");
8
- var _path = _interopRequireDefault(require("path"));
9
- var _https = require("https");
10
- var _utils = require("@modern-js/utils");
11
- var _prodServer = require("@modern-js/prod-server");
12
- var _constants = require("@modern-js/utils/constants");
13
- var _constants2 = require("../constants");
14
- var _mock = require("../dev-tools/mock");
15
- var _register = require("../dev-tools/register");
16
- var _watcher = _interopRequireWildcard(require("../dev-tools/watcher"));
17
- var _devMiddleware = _interopRequireDefault(require("../dev-tools/dev-middleware"));
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
20
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
22
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
23
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
24
- class ModernDevServer extends _prodServer.ModernServer {
28
+ module.exports = __toCommonJS(stdin_exports);
29
+ var import_http = require("http");
30
+ var import_path = __toESM(require("path"));
31
+ var import_https = require("https");
32
+ var import_utils = require("@modern-js/utils");
33
+ var import_prod_server = require("@modern-js/prod-server");
34
+ var import_constants = require("@modern-js/utils/constants");
35
+ var import_constants2 = require("../constants");
36
+ var import_mock = require("../dev-tools/mock");
37
+ var import_register = require("../dev-tools/register");
38
+ var import_watcher = __toESM(require("../dev-tools/watcher"));
39
+ var import_dev_middleware = __toESM(require("../dev-tools/dev-middleware"));
40
+ var __create2 = Object.create;
41
+ var __defProp2 = Object.defineProperty;
42
+ var __defProps = Object.defineProperties;
43
+ var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
44
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
45
+ var __getOwnPropNames2 = Object.getOwnPropertyNames;
46
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
47
+ var __getProtoOf2 = Object.getPrototypeOf;
48
+ var __hasOwnProp2 = Object.prototype.hasOwnProperty;
49
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
50
+ var __reflectGet = Reflect.get;
51
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
52
+ var __spreadValues = (a, b) => {
53
+ for (var prop in b || (b = {}))
54
+ if (__hasOwnProp2.call(b, prop))
55
+ __defNormalProp(a, prop, b[prop]);
56
+ if (__getOwnPropSymbols)
57
+ for (var prop of __getOwnPropSymbols(b)) {
58
+ if (__propIsEnum.call(b, prop))
59
+ __defNormalProp(a, prop, b[prop]);
60
+ }
61
+ return a;
62
+ };
63
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
64
+ var __copyProps2 = (to, from, except, desc) => {
65
+ if (from && typeof from === "object" || typeof from === "function") {
66
+ for (let key of __getOwnPropNames2(from))
67
+ if (!__hasOwnProp2.call(to, key) && key !== except)
68
+ __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
69
+ }
70
+ return to;
71
+ };
72
+ var __toESM2 = (mod, isNodeMode, target) => (target = mod != null ? __create2(__getProtoOf2(mod)) : {}, __copyProps2(
73
+ isNodeMode || !mod || !mod.__esModule ? __defProp2(target, "default", { value: mod, enumerable: true }) : target,
74
+ mod
75
+ ));
76
+ var __superGet = (cls, obj, key) => __reflectGet(__getProtoOf2(cls), key, obj);
77
+ var __async = (__this, __arguments, generator) => {
78
+ return new Promise((resolve, reject) => {
79
+ var fulfilled = (value) => {
80
+ try {
81
+ step(generator.next(value));
82
+ } catch (e) {
83
+ reject(e);
84
+ }
85
+ };
86
+ var rejected = (value) => {
87
+ try {
88
+ step(generator.throw(value));
89
+ } catch (e) {
90
+ reject(e);
91
+ }
92
+ };
93
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
94
+ step((generator = generator.apply(__this, __arguments)).next());
95
+ });
96
+ };
97
+ class ModernDevServer extends import_prod_server.ModernServer {
25
98
  constructor(options) {
26
99
  super(options);
27
-
28
- // dev server should work in pwd
29
- _defineProperty(this, "mockHandler", null);
30
- _defineProperty(this, "dev", void 0);
31
- _defineProperty(this, "devMiddleware", void 0);
32
- _defineProperty(this, "watcher", void 0);
100
+ this.mockHandler = null;
33
101
  this.workDir = this.pwd;
34
-
35
- // set dev server options, like webpack-dev-server
36
102
  this.dev = this.getDevOptions(options);
37
-
38
- // create dev middleware instance
39
- this.devMiddleware = new _devMiddleware.default({
103
+ this.devMiddleware = new import_dev_middleware.default({
40
104
  dev: this.dev,
41
105
  compiler: options.compiler,
42
106
  devMiddleware: options.devMiddleware
43
107
  });
44
- (0, _register.enableRegister)(this.pwd, this.conf);
108
+ (0, import_register.enableRegister)(this.pwd, this.conf);
45
109
  }
46
110
  getDevOptions(options) {
47
- const devOptions = typeof options.dev === 'boolean' ? {} : options.dev;
48
- const defaultOptions = (0, _constants2.getDefaultDevOptions)();
49
- return _objectSpread(_objectSpread(_objectSpread({}, defaultOptions), devOptions), {}, {
50
- client: _objectSpread(_objectSpread({}, defaultOptions.client), devOptions === null || devOptions === void 0 ? void 0 : devOptions.client)
111
+ const devOptions = typeof options.dev === "boolean" ? {} : options.dev;
112
+ const defaultOptions = (0, import_constants2.getDefaultDevOptions)();
113
+ return __spreadProps(__spreadValues(__spreadValues({}, defaultOptions), devOptions), {
114
+ client: __spreadValues(__spreadValues({}, defaultOptions.client), devOptions == null ? void 0 : devOptions.client)
51
115
  });
52
116
  }
53
117
  addMiddlewareHandler(handlers) {
54
- handlers.forEach(handler => {
118
+ handlers.forEach((handler) => {
55
119
  this.addHandler((ctx, next) => {
56
- const {
57
- req,
58
- res
59
- } = ctx;
120
+ const { req, res } = ctx;
60
121
  return handler(req, res, next);
61
122
  });
62
123
  });
@@ -68,186 +129,132 @@ class ModernDevServer extends _prodServer.ModernServer {
68
129
  };
69
130
  const befores = [];
70
131
  const afters = [];
71
- setupMiddlewares.forEach(handler => {
72
- handler({
73
- unshift: (...handlers) => befores.unshift(...handlers),
74
- push: (...handlers) => afters.push(...handlers)
75
- }, serverOptions);
132
+ setupMiddlewares.forEach((handler) => {
133
+ handler(
134
+ {
135
+ unshift: (...handlers) => befores.unshift(...handlers),
136
+ push: (...handlers) => afters.push(...handlers)
137
+ },
138
+ serverOptions
139
+ );
76
140
  });
77
- return {
78
- befores,
79
- afters
80
- };
141
+ return { befores, afters };
81
142
  }
82
-
83
- // Complete the preparation of services
84
- async onInit(runner, app) {
85
- this.runner = runner;
86
- const {
87
- dev
88
- } = this;
89
-
90
- // Order: devServer.before => setupMiddlewares.unshift => internal middlewares => setupMiddlewares.push => devServer.after
91
- const {
92
- befores,
93
- afters
94
- } = this.applySetupMiddlewares();
95
-
96
- // before dev handler
97
- const beforeHandlers = await this.setupBeforeDevMiddleware();
98
- this.addMiddlewareHandler([...beforeHandlers, ...befores]);
99
- await this.applyDefaultMiddlewares(app);
100
-
101
- // after dev handler
102
- const afterHandlers = await this.setupAfterDevMiddleware();
103
- this.addMiddlewareHandler([...afters, ...afterHandlers]);
104
- await super.onInit(runner, app);
105
-
106
- // watch mock/ server/ api/ dir file change
107
- if (dev.watch) {
108
- this.startWatcher();
109
- app.on('close', async () => {
110
- var _this$watcher;
111
- await ((_this$watcher = this.watcher) === null || _this$watcher === void 0 ? void 0 : _this$watcher.close());
112
- });
113
- }
114
- }
115
- async applyDefaultMiddlewares(app) {
116
- const {
117
- pwd,
118
- dev,
119
- devMiddleware
120
- } = this;
121
- this.addHandler((ctx, next) => {
122
- // allow hmr request cross-domain, because the user may use global proxy
123
- ctx.res.setHeader('Access-Control-Allow-Origin', '*');
124
- if (ctx.path.includes('hot-update')) {
125
- ctx.res.setHeader('Access-Control-Allow-Credentials', 'false');
143
+ onInit(runner, app) {
144
+ return __async(this, null, function* () {
145
+ this.runner = runner;
146
+ const { dev } = this;
147
+ const { befores, afters } = this.applySetupMiddlewares();
148
+ const beforeHandlers = yield this.setupBeforeDevMiddleware();
149
+ this.addMiddlewareHandler([...beforeHandlers, ...befores]);
150
+ yield this.applyDefaultMiddlewares(app);
151
+ const afterHandlers = yield this.setupAfterDevMiddleware();
152
+ this.addMiddlewareHandler([...afters, ...afterHandlers]);
153
+ yield __superGet(ModernDevServer.prototype, this, "onInit").call(this, runner, app);
154
+ if (dev.watch) {
155
+ this.startWatcher();
156
+ app.on("close", () => __async(this, null, function* () {
157
+ var _a;
158
+ yield (_a = this.watcher) == null ? void 0 : _a.close();
159
+ }));
126
160
  }
127
-
128
- // 用户在 devServer 上配置的 headers 不会对 html 的请求生效,加入下面代码,使配置的 headers 对所有请求生效
129
- const confHeaders = dev.headers;
130
- if (confHeaders) {
131
- for (const [key, value] of Object.entries(confHeaders)) {
132
- ctx.res.setHeader(key, value);
133
- }
134
- }
135
- next();
136
- });
137
-
138
- // mock handler
139
- this.mockHandler = (0, _mock.createMockHandler)({
140
- pwd
141
161
  });
142
- this.addHandler((ctx, next) => {
143
- if (this.mockHandler) {
144
- this.mockHandler(ctx, next);
145
- } else {
162
+ }
163
+ applyDefaultMiddlewares(app) {
164
+ return __async(this, null, function* () {
165
+ const { pwd, dev, devMiddleware } = this;
166
+ this.addHandler((ctx, next) => {
167
+ ctx.res.setHeader("Access-Control-Allow-Origin", "*");
168
+ if (ctx.path.includes("hot-update")) {
169
+ ctx.res.setHeader("Access-Control-Allow-Credentials", "false");
170
+ }
171
+ const confHeaders = dev.headers;
172
+ if (confHeaders) {
173
+ for (const [key, value] of Object.entries(confHeaders)) {
174
+ ctx.res.setHeader(key, value);
175
+ }
176
+ }
146
177
  next();
147
- }
148
- });
149
-
150
- // dev proxy handler, each proxy has own handler
151
- const proxyHandlers = (0, _prodServer.createProxyHandler)(dev.proxy);
152
- if (proxyHandlers) {
153
- proxyHandlers.forEach(handler => {
154
- this.addHandler(handler);
155
178
  });
156
- }
157
-
158
- // do webpack build / plugin apply / socket server when pass compiler instance
159
- devMiddleware.init(app);
160
- devMiddleware.on('change', stats => {
161
- // Reset only when client compile done
162
- if (stats.toJson({
163
- all: false
164
- }).name === 'client') {
165
- this.onRepack({
166
- routes: this.getRoutes()
179
+ this.mockHandler = (0, import_mock.createMockHandler)({ pwd });
180
+ this.addHandler((ctx, next) => {
181
+ if (this.mockHandler) {
182
+ this.mockHandler(ctx, next);
183
+ } else {
184
+ next();
185
+ }
186
+ });
187
+ const proxyHandlers = (0, import_prod_server.createProxyHandler)(dev.proxy);
188
+ if (proxyHandlers) {
189
+ proxyHandlers.forEach((handler) => {
190
+ this.addHandler(handler);
167
191
  });
168
192
  }
169
- });
170
- this.addHandler((ctx, next) => {
171
- const {
172
- req,
173
- res
174
- } = ctx;
175
- if (devMiddleware.middleware) {
176
- devMiddleware.middleware(req, res, next);
177
- } else {
178
- next();
193
+ devMiddleware.init(app);
194
+ devMiddleware.on("change", (stats) => {
195
+ if (stats.toJson({ all: false }).name === "client") {
196
+ this.onRepack({ routes: this.getRoutes() });
197
+ }
198
+ });
199
+ this.addHandler((ctx, next) => {
200
+ const { req, res } = ctx;
201
+ if (devMiddleware.middleware) {
202
+ devMiddleware.middleware(req, res, next);
203
+ } else {
204
+ next();
205
+ }
206
+ });
207
+ if (dev.historyApiFallback) {
208
+ const { default: connectHistoryApiFallback } = yield Promise.resolve().then(() => __toESM2(require("connect-history-api-fallback")));
209
+ const historyApiFallbackMiddleware = connectHistoryApiFallback(
210
+ typeof dev.historyApiFallback === "boolean" ? {} : dev.historyApiFallback
211
+ );
212
+ this.addHandler(
213
+ (ctx, next) => historyApiFallbackMiddleware(ctx.req, ctx.res, next)
214
+ );
179
215
  }
180
216
  });
181
- if (dev.historyApiFallback) {
182
- const {
183
- default: connectHistoryApiFallback
184
- } = await Promise.resolve().then(() => _interopRequireWildcard(require('connect-history-api-fallback')));
185
- const historyApiFallbackMiddleware = connectHistoryApiFallback(typeof dev.historyApiFallback === 'boolean' ? {} : dev.historyApiFallback);
186
- this.addHandler((ctx, next) => historyApiFallbackMiddleware(ctx.req, ctx.res, next));
187
- }
188
217
  }
189
218
  onRepack(options = {}) {
190
- // reset the routing management instance every times the service starts
191
219
  if (Array.isArray(options.routes)) {
192
220
  this.router.reset(this.filterRoutes(options.routes));
193
221
  }
194
-
195
- // clean ssr bundle cache
196
222
  this.cleanSSRCache();
197
-
198
- // reset static file
199
223
  this.reader.updateFile();
200
224
  super.onRepack(options);
201
225
  }
202
- async createHTTPServer(handler) {
203
- const {
204
- dev
205
- } = this;
206
- const devHttpsOption = typeof dev === 'object' && dev.https;
207
- if (devHttpsOption) {
208
- const {
209
- genHttpsOptions
210
- } = require("../dev-tools/https");
211
- const httpsOptions = await genHttpsOptions(devHttpsOption);
212
- return (0, _https.createServer)(httpsOptions, handler);
213
- } else {
214
- return (0, _http.createServer)(handler);
215
- }
226
+ createHTTPServer(handler) {
227
+ return __async(this, null, function* () {
228
+ const { dev } = this;
229
+ const devHttpsOption = typeof dev === "object" && dev.https;
230
+ if (devHttpsOption) {
231
+ const { genHttpsOptions } = require("../dev-tools/https");
232
+ const httpsOptions = yield genHttpsOptions(devHttpsOption);
233
+ return (0, import_https.createServer)(httpsOptions, handler);
234
+ } else {
235
+ return (0, import_http.createServer)(handler);
236
+ }
237
+ });
216
238
  }
217
239
  warmupSSRBundle() {
218
- // not warmup ssr bundle on development
219
240
  }
220
241
  onServerChange({
221
242
  filepath,
222
243
  event
223
244
  }) {
224
- const {
225
- pwd
226
- } = this;
227
- const {
228
- mock
229
- } = _prodServer.AGGRED_DIR;
230
- const mockPath = _path.default.normalize(_path.default.join(pwd, mock));
245
+ const { pwd } = this;
246
+ const { mock } = import_prod_server.AGGRED_DIR;
247
+ const mockPath = import_path.default.normalize(import_path.default.join(pwd, mock));
231
248
  this.runner.reset();
232
249
  if (filepath.startsWith(mockPath)) {
233
- this.mockHandler = (0, _mock.createMockHandler)({
234
- pwd
235
- });
250
+ this.mockHandler = (0, import_mock.createMockHandler)({ pwd });
236
251
  } else {
237
252
  try {
238
- const success = this.runner.onApiChange([{
239
- filename: filepath,
240
- event
241
- }]);
242
-
243
- // onApiChange 钩子被调用,且返回 true,则表示无需重新编译
244
- // onApiChange 的类型是 WaterFall,WaterFall 钩子的返回值类型目前有问题
245
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
246
- // @ts-expect-error
253
+ const success = this.runner.onApiChange([
254
+ { filename: filepath, event }
255
+ ]);
247
256
  if (success !== true) {
248
- super.onServerChange({
249
- filepath
250
- });
257
+ super.onServerChange({ filepath });
251
258
  }
252
259
  } catch (e) {
253
260
  this.logger.error(e);
@@ -255,65 +262,56 @@ class ModernDevServer extends _prodServer.ModernServer {
255
262
  }
256
263
  }
257
264
  createContext(req, res) {
258
- return super.createContext(req, res, {
259
- etag: true
260
- });
265
+ return super.createContext(req, res, { etag: true });
261
266
  }
262
- async setupBeforeDevMiddleware() {
263
- const {
264
- runner,
265
- conf,
266
- dev
267
- } = this;
268
- const setupMids = dev.before || [];
269
- const pluginMids = await runner.beforeDevServer(conf);
270
- return [...setupMids, ...pluginMids].flat();
267
+ setupBeforeDevMiddleware() {
268
+ return __async(this, null, function* () {
269
+ const { runner, conf, dev } = this;
270
+ const setupMids = dev.before || [];
271
+ const pluginMids = yield runner.beforeDevServer(conf);
272
+ return [...setupMids, ...pluginMids].flat();
273
+ });
271
274
  }
272
- async setupAfterDevMiddleware() {
273
- const {
274
- runner,
275
- conf,
276
- dev
277
- } = this;
278
- const setupMids = dev.after || [];
279
- const pluginMids = await runner.afterDevServer(conf);
280
- return [...pluginMids, ...setupMids].flat();
275
+ setupAfterDevMiddleware() {
276
+ return __async(this, null, function* () {
277
+ const { runner, conf, dev } = this;
278
+ const setupMids = dev.after || [];
279
+ const pluginMids = yield runner.afterDevServer(conf);
280
+ return [...pluginMids, ...setupMids].flat();
281
+ });
281
282
  }
282
283
  cleanSSRCache() {
283
- const {
284
- distDir
285
- } = this;
284
+ const { distDir } = this;
286
285
  const bundles = this.router.getBundles();
287
- bundles.forEach(bundle => {
288
- const filepath = _path.default.join(distDir, bundle);
286
+ bundles.forEach((bundle) => {
287
+ const filepath = import_path.default.join(distDir, bundle);
289
288
  if (require.cache[filepath]) {
290
289
  delete require.cache[filepath];
291
290
  }
292
291
  });
293
- const loadable = _path.default.join(distDir, _constants.LOADABLE_STATS_FILE);
292
+ const loadable = import_path.default.join(distDir, import_constants.LOADABLE_STATS_FILE);
294
293
  if (require.cache[loadable]) {
295
294
  delete require.cache[loadable];
296
295
  }
297
296
  }
298
297
  startWatcher() {
299
- var _this$conf$server;
300
- const {
301
- pwd,
302
- distDir
303
- } = this;
304
- const {
305
- mock
306
- } = _prodServer.AGGRED_DIR;
307
- const defaultWatched = [`${mock}/**/*`, `${_utils.SERVER_DIR}/**/*`, `${_utils.API_DIR}/**`, `${_utils.SHARED_DIR}/**/*`, `${distDir}/${_utils.LOADER_ROUTES_DIR}/**`];
308
- const watchOptions = (0, _watcher.mergeWatchOptions)((_this$conf$server = this.conf.server) === null || _this$conf$server === void 0 ? void 0 : _this$conf$server.watchOptions);
309
- const defaultWatchedPaths = defaultWatched.map(p => {
310
- const finalPath = _path.default.isAbsolute(p) ? p : _path.default.join(pwd, p);
311
- return _path.default.normalize(finalPath);
298
+ var _a;
299
+ const { pwd, distDir } = this;
300
+ const { mock } = import_prod_server.AGGRED_DIR;
301
+ const defaultWatched = [
302
+ `${mock}/**/*`,
303
+ `${import_utils.SERVER_DIR}/**/*`,
304
+ `${import_utils.API_DIR}/**`,
305
+ `${import_utils.SHARED_DIR}/**/*`,
306
+ `${distDir}/${import_utils.LOADER_ROUTES_DIR}/**`
307
+ ];
308
+ const watchOptions = (0, import_watcher.mergeWatchOptions)((_a = this.conf.server) == null ? void 0 : _a.watchOptions);
309
+ const defaultWatchedPaths = defaultWatched.map((p) => {
310
+ const finalPath = import_path.default.isAbsolute(p) ? p : import_path.default.join(pwd, p);
311
+ return import_path.default.normalize(finalPath);
312
312
  });
313
- const watcher = new _watcher.default();
313
+ const watcher = new import_watcher.default();
314
314
  watcher.createDepTree();
315
-
316
- // 监听文件变动,如果有变动则给 client,也就是 start 启动的插件发消息
317
315
  watcher.listen(defaultWatchedPaths, watchOptions, (filepath, event) => {
318
316
  watcher.updateDepTree();
319
317
  watcher.cleanDepCache(filepath);
@@ -325,4 +323,3 @@ class ModernDevServer extends _prodServer.ModernServer {
325
323
  this.watcher = watcher;
326
324
  }
327
325
  }
328
- exports.ModernDevServer = ModernDevServer;
@@ -1,15 +1,31 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var stdin_exports = {};
19
+ __export(stdin_exports, {
20
+ DevServer: () => DevServer
5
21
  });
6
- exports.DevServer = void 0;
7
- var _prodServer = require("@modern-js/prod-server");
8
- var _devServer = require("./dev-server");
9
- const createDevServer = options => {
10
- return new _devServer.ModernDevServer(options);
22
+ module.exports = __toCommonJS(stdin_exports);
23
+ var import_prod_server = require("@modern-js/prod-server");
24
+ var import_dev_server = require("./dev-server");
25
+ const createDevServer = (options) => {
26
+ return new import_dev_server.ModernDevServer(options);
11
27
  };
12
- class DevServer extends _prodServer.Server {
28
+ class DevServer extends import_prod_server.Server {
13
29
  constructor(options) {
14
30
  super(options);
15
31
  if (options.dev) {
@@ -17,4 +33,3 @@ class DevServer extends _prodServer.Server {
17
33
  }
18
34
  }
19
35
  }
20
- exports.DevServer = DevServer;
@@ -0,0 +1,21 @@
1
+ import { getIpv4Interfaces, HMR_SOCK_PATH } from "@modern-js/utils";
2
+ var getDefaultDevOptions = function() {
3
+ var network = getIpv4Interfaces().find(function(item) {
4
+ return !item.internal;
5
+ });
6
+ return {
7
+ client: {
8
+ port: "8080",
9
+ path: HMR_SOCK_PATH,
10
+ host: (network === null || network === void 0 ? void 0 : network.address) || "localhost"
11
+ },
12
+ https: false,
13
+ devMiddleware: {
14
+ writeToDisk: true
15
+ },
16
+ watch: true,
17
+ hot: true,
18
+ liveReload: true
19
+ };
20
+ };
21
+ export { getDefaultDevOptions };