@modern-js/server 2.15.1-alpha.0 → 2.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +25 -0
- package/dist/cjs/constants.js +12 -28
- package/dist/cjs/dev-tools/dev-middleware/hmr-client/createSocketUrl.js +14 -32
- package/dist/cjs/dev-tools/dev-middleware/hmr-client/index.js +24 -42
- package/dist/cjs/dev-tools/dev-middleware/index.js +45 -50
- package/dist/cjs/dev-tools/dev-middleware/socketServer.js +48 -46
- package/dist/cjs/dev-tools/https/index.js +21 -38
- package/dist/cjs/dev-tools/mock/getMockData.js +33 -33
- package/dist/cjs/dev-tools/mock/index.js +67 -47
- package/dist/cjs/dev-tools/register/index.js +59 -70
- package/dist/cjs/dev-tools/watcher/dependencyTree.js +52 -55
- package/dist/cjs/dev-tools/watcher/index.js +52 -53
- package/dist/cjs/dev-tools/watcher/statsCache.js +37 -47
- package/dist/cjs/index.js +16 -28
- package/dist/cjs/server/devServer.js +163 -109
- package/dist/cjs/server/index.js +11 -29
- package/dist/cjs/types.js +4 -15
- package/dist/esm/constants.js +19 -20
- package/dist/esm/dev-tools/dev-middleware/hmr-client/createSocketUrl.js +43 -44
- package/dist/esm/dev-tools/dev-middleware/hmr-client/index.js +148 -157
- package/dist/esm/dev-tools/dev-middleware/index.js +307 -291
- package/dist/esm/dev-tools/dev-middleware/socketServer.js +216 -202
- package/dist/esm/dev-tools/https/index.js +189 -182
- package/dist/esm/dev-tools/mock/getMockData.js +297 -278
- package/dist/esm/dev-tools/mock/index.js +198 -192
- package/dist/esm/dev-tools/register/index.js +141 -141
- package/dist/esm/dev-tools/watcher/dependencyTree.js +153 -138
- package/dist/esm/dev-tools/watcher/index.js +187 -175
- package/dist/esm/dev-tools/watcher/statsCache.js +118 -116
- package/dist/esm/index.js +9 -8
- package/dist/esm/server/devServer.js +803 -766
- package/dist/esm/server/index.js +80 -76
- package/dist/esm/types.js +1 -1
- package/dist/esm-node/constants.js +4 -5
- package/dist/esm-node/dev-tools/dev-middleware/hmr-client/createSocketUrl.js +2 -11
- package/dist/esm-node/dev-tools/dev-middleware/hmr-client/index.js +125 -139
- package/dist/esm-node/dev-tools/dev-middleware/index.js +31 -17
- package/dist/esm-node/dev-tools/dev-middleware/socketServer.js +33 -12
- package/dist/esm-node/dev-tools/https/index.js +13 -15
- package/dist/esm-node/dev-tools/mock/getMockData.js +20 -12
- package/dist/esm-node/dev-tools/mock/index.js +7 -7
- package/dist/esm-node/dev-tools/register/index.js +38 -29
- package/dist/esm-node/dev-tools/watcher/dependencyTree.js +32 -21
- package/dist/esm-node/dev-tools/watcher/index.js +31 -18
- package/dist/esm-node/dev-tools/watcher/statsCache.js +18 -8
- package/dist/esm-node/index.js +2 -5
- package/dist/esm-node/server/devServer.js +87 -62
- package/dist/esm-node/server/index.js +1 -4
- package/dist/esm-node/types.js +1 -0
- package/package.json +13 -9
- package/dist/js/modern/constants.js +0 -19
- package/dist/js/modern/dev-tools/dev-middleware/hmr-client/createSocketUrl.js +0 -41
- package/dist/js/modern/dev-tools/dev-middleware/hmr-client/index.js +0 -143
- package/dist/js/modern/dev-tools/dev-middleware/index.js +0 -94
- package/dist/js/modern/dev-tools/dev-middleware/socket-server.js +0 -132
- package/dist/js/modern/dev-tools/https/index.js +0 -49
- package/dist/js/modern/dev-tools/mock/getMockData.js +0 -114
- package/dist/js/modern/dev-tools/mock/index.js +0 -54
- package/dist/js/modern/dev-tools/register/index.js +0 -111
- package/dist/js/modern/dev-tools/watcher/dependency-tree.js +0 -59
- package/dist/js/modern/dev-tools/watcher/index.js +0 -106
- package/dist/js/modern/dev-tools/watcher/stats-cache.js +0 -58
- package/dist/js/modern/index.js +0 -12
- package/dist/js/modern/server/dev-server.js +0 -293
- package/dist/js/modern/server/index.js +0 -16
- package/dist/js/modern/types.js +0 -0
- package/dist/js/node/constants.js +0 -42
- package/dist/js/node/dev-tools/dev-middleware/hmr-client/createSocketUrl.js +0 -65
- package/dist/js/node/dev-tools/dev-middleware/hmr-client/index.js +0 -152
- package/dist/js/node/dev-tools/dev-middleware/index.js +0 -119
- package/dist/js/node/dev-tools/dev-middleware/socket-server.js +0 -159
- package/dist/js/node/dev-tools/https/index.js +0 -72
- package/dist/js/node/dev-tools/mock/getMockData.js +0 -135
- package/dist/js/node/dev-tools/mock/index.js +0 -83
- package/dist/js/node/dev-tools/register/index.js +0 -138
- package/dist/js/node/dev-tools/watcher/dependency-tree.js +0 -89
- package/dist/js/node/dev-tools/watcher/index.js +0 -135
- package/dist/js/node/dev-tools/watcher/stats-cache.js +0 -87
- package/dist/js/node/index.js +0 -35
- package/dist/js/node/server/dev-server.js +0 -310
- package/dist/js/node/server/index.js +0 -39
- package/dist/js/node/types.js +0 -15
- package/dist/js/treeshaking/constants.js +0 -21
- package/dist/js/treeshaking/dev-tools/dev-middleware/hmr-client/createSocketUrl.js +0 -51
- package/dist/js/treeshaking/dev-tools/dev-middleware/hmr-client/index.js +0 -157
- package/dist/js/treeshaking/dev-tools/dev-middleware/index.js +0 -322
- package/dist/js/treeshaking/dev-tools/dev-middleware/socket-server.js +0 -209
- package/dist/js/treeshaking/dev-tools/https/index.js +0 -193
- package/dist/js/treeshaking/dev-tools/mock/getMockData.js +0 -327
- package/dist/js/treeshaking/dev-tools/mock/index.js +0 -191
- package/dist/js/treeshaking/dev-tools/register/index.js +0 -153
- package/dist/js/treeshaking/dev-tools/watcher/dependency-tree.js +0 -150
- package/dist/js/treeshaking/dev-tools/watcher/index.js +0 -200
- package/dist/js/treeshaking/dev-tools/watcher/stats-cache.js +0 -128
- package/dist/js/treeshaking/index.js +0 -9
- package/dist/js/treeshaking/server/dev-server.js +0 -799
- package/dist/js/treeshaking/server/index.js +0 -92
- package/dist/js/treeshaking/types.js +0 -1
|
@@ -1,47 +1,37 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
-
mod
|
|
26
|
-
));
|
|
27
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
-
var statsCache_exports = {};
|
|
29
|
-
__export(statsCache_exports, {
|
|
30
|
-
StatsCache: () => StatsCache
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
31
4
|
});
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
5
|
+
Object.defineProperty(exports, "StatsCache", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: () => StatsCache
|
|
8
|
+
});
|
|
9
|
+
const _fs = /* @__PURE__ */ _interop_require_default(require("fs"));
|
|
10
|
+
const _crypto = /* @__PURE__ */ _interop_require_default(require("crypto"));
|
|
11
|
+
function _define_property(obj, key, value) {
|
|
12
|
+
if (key in obj) {
|
|
13
|
+
Object.defineProperty(obj, key, {
|
|
14
|
+
value,
|
|
15
|
+
enumerable: true,
|
|
16
|
+
configurable: true,
|
|
17
|
+
writable: true
|
|
18
|
+
});
|
|
19
|
+
} else {
|
|
20
|
+
obj[key] = value;
|
|
39
21
|
}
|
|
22
|
+
return obj;
|
|
23
|
+
}
|
|
24
|
+
function _interop_require_default(obj) {
|
|
25
|
+
return obj && obj.__esModule ? obj : {
|
|
26
|
+
default: obj
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
class StatsCache {
|
|
40
30
|
add(files) {
|
|
41
31
|
const { cachedHash, cachedSize } = this;
|
|
42
32
|
for (const filename of files) {
|
|
43
|
-
if (
|
|
44
|
-
const stats =
|
|
33
|
+
if (_fs.default.existsSync(filename)) {
|
|
34
|
+
const stats = _fs.default.statSync(filename);
|
|
45
35
|
if (stats.isFile() && !cachedHash[filename]) {
|
|
46
36
|
cachedHash[filename] = this.hash(stats, filename);
|
|
47
37
|
cachedSize[filename] = stats.size;
|
|
@@ -51,8 +41,8 @@ class StatsCache {
|
|
|
51
41
|
}
|
|
52
42
|
refresh(filename) {
|
|
53
43
|
const { cachedHash, cachedSize } = this;
|
|
54
|
-
if (
|
|
55
|
-
const stats =
|
|
44
|
+
if (_fs.default.existsSync(filename)) {
|
|
45
|
+
const stats = _fs.default.statSync(filename);
|
|
56
46
|
if (stats.isFile()) {
|
|
57
47
|
cachedHash[filename] = this.hash(stats, filename);
|
|
58
48
|
cachedSize[filename] = stats.size;
|
|
@@ -67,7 +57,7 @@ class StatsCache {
|
|
|
67
57
|
}
|
|
68
58
|
isDiff(filename) {
|
|
69
59
|
const { cachedHash, cachedSize } = this;
|
|
70
|
-
const stats =
|
|
60
|
+
const stats = _fs.default.statSync(filename);
|
|
71
61
|
const hash = cachedHash[filename];
|
|
72
62
|
const size = cachedSize[filename];
|
|
73
63
|
if (stats.size !== size) {
|
|
@@ -82,10 +72,10 @@ class StatsCache {
|
|
|
82
72
|
return Boolean(this.cachedHash[filename]);
|
|
83
73
|
}
|
|
84
74
|
hash(stats, filename) {
|
|
85
|
-
return
|
|
75
|
+
return _crypto.default.createHash("md5").update(_fs.default.readFileSync(filename)).digest("hex");
|
|
76
|
+
}
|
|
77
|
+
constructor() {
|
|
78
|
+
_define_property(this, "cachedHash", {});
|
|
79
|
+
_define_property(this, "cachedSize", {});
|
|
86
80
|
}
|
|
87
81
|
}
|
|
88
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
89
|
-
0 && (module.exports = {
|
|
90
|
-
StatsCache
|
|
91
|
-
});
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,35 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
6
|
for (var name in all)
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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
|
|
7
|
+
Object.defineProperty(target, name, {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: all[name]
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
_export(exports, {
|
|
13
|
+
Server: () => _server.DevServer,
|
|
14
|
+
default: () => _default
|
|
22
15
|
});
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
var src_default = (options) => {
|
|
16
|
+
const _server = require("./server");
|
|
17
|
+
const _default = (options) => {
|
|
26
18
|
if (options == null) {
|
|
27
19
|
throw new Error("can not start server without options");
|
|
28
20
|
}
|
|
29
|
-
const server = new
|
|
21
|
+
const server = new _server.DevServer(options);
|
|
30
22
|
return server.init();
|
|
31
23
|
};
|
|
32
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
33
|
-
0 && (module.exports = {
|
|
34
|
-
Server
|
|
35
|
-
});
|
|
@@ -1,64 +1,86 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
-
mod
|
|
26
|
-
));
|
|
27
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
-
var devServer_exports = {};
|
|
29
|
-
__export(devServer_exports, {
|
|
30
|
-
ModernDevServer: () => ModernDevServer
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
31
4
|
});
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
5
|
+
Object.defineProperty(exports, "ModernDevServer", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: () => ModernDevServer
|
|
8
|
+
});
|
|
9
|
+
const _http = require("http");
|
|
10
|
+
const _path = /* @__PURE__ */ _interop_require_default(require("path"));
|
|
11
|
+
const _https = require("https");
|
|
12
|
+
const _utils = require("@modern-js/utils");
|
|
13
|
+
const _prodserver = require("@modern-js/prod-server");
|
|
14
|
+
const _constants = require("@modern-js/utils/constants");
|
|
15
|
+
const _lodash = require("@modern-js/utils/lodash");
|
|
16
|
+
const _constants1 = require("../constants");
|
|
17
|
+
const _mock = require("../dev-tools/mock");
|
|
18
|
+
const _register = require("../dev-tools/register");
|
|
19
|
+
const _watcher = /* @__PURE__ */ _interop_require_wildcard(require("../dev-tools/watcher"));
|
|
20
|
+
const _devmiddleware = /* @__PURE__ */ _interop_require_default(require("../dev-tools/dev-middleware"));
|
|
21
|
+
function _define_property(obj, key, value) {
|
|
22
|
+
if (key in obj) {
|
|
23
|
+
Object.defineProperty(obj, key, {
|
|
24
|
+
value,
|
|
25
|
+
enumerable: true,
|
|
26
|
+
configurable: true,
|
|
27
|
+
writable: true
|
|
55
28
|
});
|
|
56
|
-
|
|
29
|
+
} else {
|
|
30
|
+
obj[key] = value;
|
|
31
|
+
}
|
|
32
|
+
return obj;
|
|
33
|
+
}
|
|
34
|
+
function _interop_require_default(obj) {
|
|
35
|
+
return obj && obj.__esModule ? obj : {
|
|
36
|
+
default: obj
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
40
|
+
if (typeof WeakMap !== "function")
|
|
41
|
+
return null;
|
|
42
|
+
var cacheBabelInterop = /* @__PURE__ */ new WeakMap();
|
|
43
|
+
var cacheNodeInterop = /* @__PURE__ */ new WeakMap();
|
|
44
|
+
return (_getRequireWildcardCache = function(nodeInterop2) {
|
|
45
|
+
return nodeInterop2 ? cacheNodeInterop : cacheBabelInterop;
|
|
46
|
+
})(nodeInterop);
|
|
47
|
+
}
|
|
48
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
49
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
50
|
+
return obj;
|
|
51
|
+
}
|
|
52
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
53
|
+
return {
|
|
54
|
+
default: obj
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
58
|
+
if (cache && cache.has(obj)) {
|
|
59
|
+
return cache.get(obj);
|
|
60
|
+
}
|
|
61
|
+
var newObj = {};
|
|
62
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
63
|
+
for (var key in obj) {
|
|
64
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
65
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
66
|
+
if (desc && (desc.get || desc.set)) {
|
|
67
|
+
Object.defineProperty(newObj, key, desc);
|
|
68
|
+
} else {
|
|
69
|
+
newObj[key] = obj[key];
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
newObj.default = obj;
|
|
74
|
+
if (cache) {
|
|
75
|
+
cache.set(obj, newObj);
|
|
57
76
|
}
|
|
77
|
+
return newObj;
|
|
78
|
+
}
|
|
79
|
+
class ModernDevServer extends _prodserver.ModernServer {
|
|
58
80
|
getDevOptions(options) {
|
|
59
81
|
const devOptions = typeof options.dev === "boolean" ? {} : options.dev;
|
|
60
|
-
const defaultOptions = (0,
|
|
61
|
-
return (0,
|
|
82
|
+
const defaultOptions = (0, _constants1.getDefaultDevOptions)();
|
|
83
|
+
return (0, _lodash.merge)(defaultOptions, devOptions);
|
|
62
84
|
}
|
|
63
85
|
addMiddlewareHandler(handlers) {
|
|
64
86
|
handlers.forEach((handler) => {
|
|
@@ -76,15 +98,15 @@ class ModernDevServer extends import_prod_server.ModernServer {
|
|
|
76
98
|
const befores = [];
|
|
77
99
|
const afters = [];
|
|
78
100
|
setupMiddlewares.forEach((handler) => {
|
|
79
|
-
handler(
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
},
|
|
84
|
-
serverOptions
|
|
85
|
-
);
|
|
101
|
+
handler({
|
|
102
|
+
unshift: (...handlers) => befores.unshift(...handlers),
|
|
103
|
+
push: (...handlers) => afters.push(...handlers)
|
|
104
|
+
}, serverOptions);
|
|
86
105
|
});
|
|
87
|
-
return {
|
|
106
|
+
return {
|
|
107
|
+
befores,
|
|
108
|
+
afters
|
|
109
|
+
};
|
|
88
110
|
}
|
|
89
111
|
// Complete the preparation of services
|
|
90
112
|
async onInit(runner, app) {
|
|
@@ -92,16 +114,22 @@ class ModernDevServer extends import_prod_server.ModernServer {
|
|
|
92
114
|
const { dev } = this;
|
|
93
115
|
const { befores, afters } = this.applySetupMiddlewares();
|
|
94
116
|
const beforeHandlers = await this.setupBeforeDevMiddleware();
|
|
95
|
-
this.addMiddlewareHandler([
|
|
117
|
+
this.addMiddlewareHandler([
|
|
118
|
+
...beforeHandlers,
|
|
119
|
+
...befores
|
|
120
|
+
]);
|
|
96
121
|
await this.applyDefaultMiddlewares(app);
|
|
97
122
|
const afterHandlers = await this.setupAfterDevMiddleware();
|
|
98
|
-
this.addMiddlewareHandler([
|
|
123
|
+
this.addMiddlewareHandler([
|
|
124
|
+
...afters,
|
|
125
|
+
...afterHandlers
|
|
126
|
+
]);
|
|
99
127
|
await super.onInit(runner, app);
|
|
100
128
|
if (dev.watch) {
|
|
101
129
|
this.startWatcher();
|
|
102
130
|
app.on("close", async () => {
|
|
103
|
-
var
|
|
104
|
-
await ((
|
|
131
|
+
var _this_watcher;
|
|
132
|
+
await ((_this_watcher = this.watcher) === null || _this_watcher === void 0 ? void 0 : _this_watcher.close());
|
|
105
133
|
});
|
|
106
134
|
}
|
|
107
135
|
}
|
|
@@ -120,7 +148,9 @@ class ModernDevServer extends import_prod_server.ModernServer {
|
|
|
120
148
|
}
|
|
121
149
|
next();
|
|
122
150
|
});
|
|
123
|
-
this.mockHandler = (0,
|
|
151
|
+
this.mockHandler = (0, _mock.createMockHandler)({
|
|
152
|
+
pwd
|
|
153
|
+
});
|
|
124
154
|
this.addHandler((ctx, next) => {
|
|
125
155
|
if (this.mockHandler) {
|
|
126
156
|
this.mockHandler(ctx, next);
|
|
@@ -128,7 +158,7 @@ class ModernDevServer extends import_prod_server.ModernServer {
|
|
|
128
158
|
next();
|
|
129
159
|
}
|
|
130
160
|
});
|
|
131
|
-
const proxyHandlers = (0,
|
|
161
|
+
const proxyHandlers = (0, _prodserver.createProxyHandler)(dev.proxy);
|
|
132
162
|
if (proxyHandlers) {
|
|
133
163
|
proxyHandlers.forEach((handler) => {
|
|
134
164
|
this.addHandler(handler);
|
|
@@ -136,8 +166,12 @@ class ModernDevServer extends import_prod_server.ModernServer {
|
|
|
136
166
|
}
|
|
137
167
|
devMiddleware.init(app);
|
|
138
168
|
devMiddleware.on("change", (stats) => {
|
|
139
|
-
if (stats.toJson({
|
|
140
|
-
|
|
169
|
+
if (stats.toJson({
|
|
170
|
+
all: false
|
|
171
|
+
}).name !== "server") {
|
|
172
|
+
this.onRepack({
|
|
173
|
+
routes: this.getRoutes()
|
|
174
|
+
});
|
|
141
175
|
}
|
|
142
176
|
});
|
|
143
177
|
this.addHandler((ctx, next) => {
|
|
@@ -149,13 +183,9 @@ class ModernDevServer extends import_prod_server.ModernServer {
|
|
|
149
183
|
}
|
|
150
184
|
});
|
|
151
185
|
if (dev.historyApiFallback) {
|
|
152
|
-
const { default: connectHistoryApiFallback } = await Promise.resolve().then(() =>
|
|
153
|
-
const historyApiFallbackMiddleware = connectHistoryApiFallback(
|
|
154
|
-
|
|
155
|
-
);
|
|
156
|
-
this.addHandler(
|
|
157
|
-
(ctx, next) => historyApiFallbackMiddleware(ctx.req, ctx.res, next)
|
|
158
|
-
);
|
|
186
|
+
const { default: connectHistoryApiFallback } = await Promise.resolve().then(() => /* @__PURE__ */ _interop_require_wildcard(require("connect-history-api-fallback")));
|
|
187
|
+
const historyApiFallbackMiddleware = connectHistoryApiFallback(typeof dev.historyApiFallback === "boolean" ? {} : dev.historyApiFallback);
|
|
188
|
+
this.addHandler((ctx, next) => historyApiFallbackMiddleware(ctx.req, ctx.res, next));
|
|
159
189
|
}
|
|
160
190
|
}
|
|
161
191
|
onRepack(options = {}) {
|
|
@@ -173,30 +203,34 @@ class ModernDevServer extends import_prod_server.ModernServer {
|
|
|
173
203
|
if (devHttpsOption) {
|
|
174
204
|
const { genHttpsOptions } = require("../dev-tools/https");
|
|
175
205
|
const httpsOptions = await genHttpsOptions(devHttpsOption, this.pwd);
|
|
176
|
-
return (0,
|
|
206
|
+
return (0, _https.createServer)(httpsOptions, handler);
|
|
177
207
|
} else {
|
|
178
|
-
return (0,
|
|
208
|
+
return (0, _http.createServer)(handler);
|
|
179
209
|
}
|
|
180
210
|
}
|
|
181
211
|
warmupSSRBundle() {
|
|
182
212
|
}
|
|
183
|
-
async onServerChange({
|
|
184
|
-
filepath,
|
|
185
|
-
event
|
|
186
|
-
}) {
|
|
213
|
+
async onServerChange({ filepath, event }) {
|
|
187
214
|
const { pwd } = this;
|
|
188
|
-
const { mock } =
|
|
189
|
-
const mockPath =
|
|
215
|
+
const { mock } = _prodserver.AGGRED_DIR;
|
|
216
|
+
const mockPath = _path.default.normalize(_path.default.join(pwd, mock));
|
|
190
217
|
this.runner.reset();
|
|
191
218
|
if (filepath.startsWith(mockPath)) {
|
|
192
|
-
this.mockHandler = (0,
|
|
219
|
+
this.mockHandler = (0, _mock.createMockHandler)({
|
|
220
|
+
pwd
|
|
221
|
+
});
|
|
193
222
|
} else {
|
|
194
223
|
try {
|
|
195
224
|
const success = this.runner.onApiChange([
|
|
196
|
-
{
|
|
225
|
+
{
|
|
226
|
+
filename: filepath,
|
|
227
|
+
event
|
|
228
|
+
}
|
|
197
229
|
]);
|
|
198
230
|
if (success !== true) {
|
|
199
|
-
await super.onServerChange({
|
|
231
|
+
await super.onServerChange({
|
|
232
|
+
filepath
|
|
233
|
+
});
|
|
200
234
|
}
|
|
201
235
|
} catch (e) {
|
|
202
236
|
this.logger.error(e);
|
|
@@ -204,7 +238,9 @@ class ModernDevServer extends import_prod_server.ModernServer {
|
|
|
204
238
|
}
|
|
205
239
|
}
|
|
206
240
|
createContext(req, res) {
|
|
207
|
-
return super.createContext(req, res, {
|
|
241
|
+
return super.createContext(req, res, {
|
|
242
|
+
etag: true
|
|
243
|
+
});
|
|
208
244
|
}
|
|
209
245
|
setupStaticMiddleware(_) {
|
|
210
246
|
return async (context, next) => {
|
|
@@ -215,47 +251,53 @@ class ModernDevServer extends import_prod_server.ModernServer {
|
|
|
215
251
|
const { runner, conf, dev } = this;
|
|
216
252
|
const setupMids = dev.before || [];
|
|
217
253
|
const pluginMids = await runner.beforeDevServer(conf);
|
|
218
|
-
return [
|
|
254
|
+
return [
|
|
255
|
+
...setupMids,
|
|
256
|
+
...pluginMids
|
|
257
|
+
].flat();
|
|
219
258
|
}
|
|
220
259
|
async setupAfterDevMiddleware() {
|
|
221
260
|
const { runner, conf, dev } = this;
|
|
222
261
|
const setupMids = dev.after || [];
|
|
223
262
|
const pluginMids = await runner.afterDevServer(conf);
|
|
224
|
-
return [
|
|
263
|
+
return [
|
|
264
|
+
...pluginMids,
|
|
265
|
+
...setupMids
|
|
266
|
+
].flat();
|
|
225
267
|
}
|
|
226
268
|
cleanSSRCache() {
|
|
227
269
|
const { distDir } = this;
|
|
228
270
|
const bundles = this.router.getBundles();
|
|
229
271
|
bundles.forEach((bundle) => {
|
|
230
|
-
const filepath =
|
|
272
|
+
const filepath = _path.default.join(distDir, bundle);
|
|
231
273
|
if (require.cache[filepath]) {
|
|
232
274
|
delete require.cache[filepath];
|
|
233
275
|
}
|
|
234
276
|
});
|
|
235
|
-
const loadable =
|
|
277
|
+
const loadable = _path.default.join(distDir, _constants.LOADABLE_STATS_FILE);
|
|
236
278
|
if (require.cache[loadable]) {
|
|
237
279
|
delete require.cache[loadable];
|
|
238
280
|
}
|
|
239
281
|
}
|
|
240
282
|
startWatcher() {
|
|
241
|
-
var
|
|
283
|
+
var _this_conf_server;
|
|
242
284
|
const { pwd, distDir, appContext } = this;
|
|
243
|
-
const { mock } =
|
|
244
|
-
const apiDir = (appContext
|
|
245
|
-
const sharedDir = (appContext
|
|
285
|
+
const { mock } = _prodserver.AGGRED_DIR;
|
|
286
|
+
const apiDir = (appContext === null || appContext === void 0 ? void 0 : appContext.apiDirectory) || _utils.API_DIR;
|
|
287
|
+
const sharedDir = (appContext === null || appContext === void 0 ? void 0 : appContext.sharedDirectory) || _utils.SHARED_DIR;
|
|
246
288
|
const defaultWatched = [
|
|
247
289
|
`${mock}/**/*`,
|
|
248
|
-
`${
|
|
290
|
+
`${_utils.SERVER_DIR}/**/*`,
|
|
249
291
|
`${apiDir}/**`,
|
|
250
292
|
`${sharedDir}/**/*`,
|
|
251
|
-
`${distDir}/${
|
|
293
|
+
`${distDir}/${_utils.SERVER_BUNDLE_DIRECTORY}/*-server-loaders.js`
|
|
252
294
|
];
|
|
253
|
-
const watchOptions = (0,
|
|
295
|
+
const watchOptions = (0, _watcher.mergeWatchOptions)((_this_conf_server = this.conf.server) === null || _this_conf_server === void 0 ? void 0 : _this_conf_server.watchOptions);
|
|
254
296
|
const defaultWatchedPaths = defaultWatched.map((p) => {
|
|
255
|
-
const finalPath =
|
|
256
|
-
return
|
|
297
|
+
const finalPath = _path.default.isAbsolute(p) ? p : _path.default.join(pwd, p);
|
|
298
|
+
return _path.default.normalize(finalPath);
|
|
257
299
|
});
|
|
258
|
-
const watcher = new
|
|
300
|
+
const watcher = new _watcher.default();
|
|
259
301
|
watcher.createDepTree();
|
|
260
302
|
watcher.listen(defaultWatchedPaths, watchOptions, (filepath, event) => {
|
|
261
303
|
if (filepath.includes("-server-loaders.js")) {
|
|
@@ -271,8 +313,20 @@ class ModernDevServer extends import_prod_server.ModernServer {
|
|
|
271
313
|
});
|
|
272
314
|
this.watcher = watcher;
|
|
273
315
|
}
|
|
316
|
+
constructor(options) {
|
|
317
|
+
super(options);
|
|
318
|
+
_define_property(this, "mockHandler", null);
|
|
319
|
+
_define_property(this, "dev", void 0);
|
|
320
|
+
_define_property(this, "appContext", void 0);
|
|
321
|
+
_define_property(this, "devMiddleware", void 0);
|
|
322
|
+
_define_property(this, "watcher", void 0);
|
|
323
|
+
this.appContext = options.appContext;
|
|
324
|
+
this.workDir = this.pwd;
|
|
325
|
+
this.dev = this.getDevOptions(options);
|
|
326
|
+
this.devMiddleware = new _devmiddleware.default({
|
|
327
|
+
dev: this.dev,
|
|
328
|
+
devMiddleware: options.devMiddleware
|
|
329
|
+
});
|
|
330
|
+
(0, _register.enableRegister)(this.pwd, this.conf);
|
|
331
|
+
}
|
|
274
332
|
}
|
|
275
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
276
|
-
0 && (module.exports = {
|
|
277
|
-
ModernDevServer
|
|
278
|
-
});
|
package/dist/cjs/server/index.js
CHANGED
|
@@ -1,31 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
21
4
|
});
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
5
|
+
Object.defineProperty(exports, "DevServer", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: () => DevServer
|
|
8
|
+
});
|
|
9
|
+
const _prodserver = require("@modern-js/prod-server");
|
|
10
|
+
const _devServer = require("./devServer");
|
|
25
11
|
const createDevServer = (options) => {
|
|
26
|
-
return new
|
|
12
|
+
return new _devServer.ModernDevServer(options);
|
|
27
13
|
};
|
|
28
|
-
class DevServer extends
|
|
14
|
+
class DevServer extends _prodserver.Server {
|
|
29
15
|
constructor(options) {
|
|
30
16
|
super(options);
|
|
31
17
|
if (options.dev) {
|
|
@@ -33,7 +19,3 @@ class DevServer extends import_prod_server.Server {
|
|
|
33
19
|
}
|
|
34
20
|
}
|
|
35
21
|
}
|
|
36
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
37
|
-
0 && (module.exports = {
|
|
38
|
-
DevServer
|
|
39
|
-
});
|
package/dist/cjs/types.js
CHANGED
|
@@ -1,15 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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);
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
package/dist/esm/constants.js
CHANGED
|
@@ -1,22 +1,21 @@
|
|
|
1
1
|
import { HMR_SOCK_PATH } from "@modern-js/utils/universal/constants";
|
|
2
|
-
var getDefaultDevOptions = function() {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
2
|
+
export var getDefaultDevOptions = function() {
|
|
3
|
+
return {
|
|
4
|
+
client: {
|
|
5
|
+
path: HMR_SOCK_PATH,
|
|
6
|
+
// By default it is set to the port number of the dev server
|
|
7
|
+
port: "",
|
|
8
|
+
// By default it is set to "location.hostname"
|
|
9
|
+
host: "",
|
|
10
|
+
// By default it is set to "location.protocol === 'https:' ? 'wss' : 'ws'""
|
|
11
|
+
protocol: ""
|
|
12
|
+
},
|
|
13
|
+
https: false,
|
|
14
|
+
devMiddleware: {
|
|
15
|
+
writeToDisk: true
|
|
16
|
+
},
|
|
17
|
+
watch: true,
|
|
18
|
+
hot: true,
|
|
19
|
+
liveReload: true
|
|
20
|
+
};
|
|
21
21
|
};
|
|
22
|
-
export { getDefaultDevOptions };
|