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