@modern-js/server 2.69.5 → 3.0.0-alpha.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/dist/cjs/createDevServer.js +98 -100
- package/dist/cjs/dev-tools/https/index.js +57 -49
- package/dist/cjs/dev-tools/watcher/dependencyTree.js +94 -92
- package/dist/cjs/dev-tools/watcher/index.js +129 -124
- package/dist/cjs/dev-tools/watcher/statsCache.js +84 -81
- package/dist/cjs/dev.js +104 -110
- package/dist/cjs/helpers/devOptions.js +55 -54
- package/dist/cjs/helpers/fileReader.js +48 -44
- package/dist/cjs/helpers/index.js +168 -107
- package/dist/cjs/helpers/mock.js +121 -124
- package/dist/cjs/helpers/repack.js +45 -39
- package/dist/cjs/helpers/utils.js +34 -26
- package/dist/cjs/index.js +33 -25
- package/dist/cjs/types.js +17 -15
- package/dist/esm/createDevServer.mjs +59 -0
- package/dist/esm/dev-tools/https/index.mjs +28 -0
- package/dist/esm/dev-tools/watcher/dependencyTree.mjs +57 -0
- package/dist/esm/dev-tools/watcher/index.mjs +88 -0
- package/dist/esm/dev-tools/watcher/statsCache.mjs +50 -0
- package/dist/esm/dev.mjs +77 -0
- package/dist/esm/helpers/devOptions.mjs +24 -0
- package/dist/esm/helpers/fileReader.mjs +18 -0
- package/dist/esm/helpers/index.mjs +65 -0
- package/dist/esm/helpers/mock.mjs +87 -0
- package/dist/esm/helpers/repack.mjs +16 -0
- package/dist/esm/helpers/utils.mjs +3 -0
- package/dist/{esm-node/index.js → esm/index.mjs} +1 -3
- package/dist/esm-node/createDevServer.mjs +59 -0
- package/dist/esm-node/dev-tools/https/index.mjs +28 -0
- package/dist/esm-node/dev-tools/watcher/dependencyTree.mjs +57 -0
- package/dist/esm-node/dev-tools/watcher/index.mjs +88 -0
- package/dist/esm-node/dev-tools/watcher/statsCache.mjs +50 -0
- package/dist/esm-node/dev.mjs +77 -0
- package/dist/esm-node/helpers/devOptions.mjs +24 -0
- package/dist/esm-node/helpers/fileReader.mjs +18 -0
- package/dist/esm-node/helpers/index.mjs +65 -0
- package/dist/esm-node/helpers/mock.mjs +87 -0
- package/dist/esm-node/helpers/repack.mjs +16 -0
- package/dist/esm-node/helpers/utils.mjs +3 -0
- package/dist/esm-node/index.mjs +2 -0
- package/dist/types/createDevServer.d.ts +1 -1
- package/dist/types/dev.d.ts +4 -4
- package/dist/types/helpers/devOptions.d.ts +10 -6
- package/dist/types/helpers/fileReader.d.ts +1 -1
- package/dist/types/index.d.ts +3 -1
- package/dist/types/types.d.ts +48 -12
- package/package.json +42 -31
- package/rslib.config.mts +4 -0
- package/dist/cjs/helpers/constants.js +0 -49
- package/dist/esm/createDevServer.js +0 -154
- package/dist/esm/dev-tools/https/index.js +0 -74
- package/dist/esm/dev-tools/watcher/dependencyTree.js +0 -88
- package/dist/esm/dev-tools/watcher/index.js +0 -120
- package/dist/esm/dev-tools/watcher/statsCache.js +0 -80
- package/dist/esm/dev.js +0 -126
- package/dist/esm/helpers/constants.js +0 -25
- package/dist/esm/helpers/devOptions.js +0 -35
- package/dist/esm/helpers/fileReader.js +0 -43
- package/dist/esm/helpers/index.js +0 -123
- package/dist/esm/helpers/mock.js +0 -266
- package/dist/esm/helpers/repack.js +0 -20
- package/dist/esm/helpers/utils.js +0 -5
- package/dist/esm/index.js +0 -4
- package/dist/esm-node/createDevServer.js +0 -71
- package/dist/esm-node/dev-tools/https/index.js +0 -30
- package/dist/esm-node/dev-tools/watcher/dependencyTree.js +0 -67
- package/dist/esm-node/dev-tools/watcher/index.js +0 -100
- package/dist/esm-node/dev-tools/watcher/statsCache.js +0 -58
- package/dist/esm-node/dev.js +0 -93
- package/dist/esm-node/helpers/constants.js +0 -25
- package/dist/esm-node/helpers/devOptions.js +0 -35
- package/dist/esm-node/helpers/fileReader.js +0 -24
- package/dist/esm-node/helpers/index.js +0 -73
- package/dist/esm-node/helpers/mock.js +0 -104
- package/dist/esm-node/helpers/repack.js +0 -20
- package/dist/esm-node/helpers/utils.js +0 -5
- package/dist/types/helpers/constants.d.ts +0 -2
- /package/dist/esm/{types.js → types.mjs} +0 -0
- /package/dist/esm-node/{types.js → types.mjs} +0 -0
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
|
|
2
|
-
import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
|
|
3
|
-
import { _ as _to_consumable_array } from "@swc/helpers/_/_to_consumable_array";
|
|
4
|
-
import path from "path";
|
|
5
|
-
import { fs, chokidar } from "@modern-js/utils";
|
|
6
|
-
import { DependencyTree } from "./dependencyTree";
|
|
7
|
-
import { StatsCache } from "./statsCache";
|
|
8
|
-
var defaultWatchOptions = {
|
|
9
|
-
// 初始化的时候不触发 add、addDir 事件
|
|
10
|
-
ignoreInitial: true,
|
|
11
|
-
ignored: /api\/typings\/.*/
|
|
12
|
-
};
|
|
13
|
-
var getWatchedFiles = function(watcher) {
|
|
14
|
-
var watched = watcher.getWatched();
|
|
15
|
-
var files = [];
|
|
16
|
-
Object.keys(watched).forEach(function(dir) {
|
|
17
|
-
watched[dir].forEach(function(fileName) {
|
|
18
|
-
files.push(path.join(dir, fileName));
|
|
19
|
-
});
|
|
20
|
-
});
|
|
21
|
-
return files;
|
|
22
|
-
};
|
|
23
|
-
var mergeWatchOptions = function(options) {
|
|
24
|
-
var watchOptions = _object_spread({}, options);
|
|
25
|
-
if (watchOptions) {
|
|
26
|
-
var ignored = watchOptions.ignored;
|
|
27
|
-
var finalIgnored = ignored ? [
|
|
28
|
-
defaultWatchOptions.ignored
|
|
29
|
-
].concat(_to_consumable_array(Array.isArray(ignored) ? ignored : [
|
|
30
|
-
ignored
|
|
31
|
-
])) : ignored;
|
|
32
|
-
if (finalIgnored) {
|
|
33
|
-
watchOptions.ignored = finalIgnored;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
var finalWatchOptions = _object_spread({}, defaultWatchOptions, watchOptions);
|
|
37
|
-
return finalWatchOptions;
|
|
38
|
-
};
|
|
39
|
-
var Watcher = /* @__PURE__ */ function() {
|
|
40
|
-
"use strict";
|
|
41
|
-
function Watcher2() {
|
|
42
|
-
_class_call_check(this, Watcher2);
|
|
43
|
-
this.dependencyTree = null;
|
|
44
|
-
}
|
|
45
|
-
var _proto = Watcher2.prototype;
|
|
46
|
-
_proto.listen = function listen(files, options, callback) {
|
|
47
|
-
var watched = files.filter(Boolean);
|
|
48
|
-
var filenames = watched.map(function(filename) {
|
|
49
|
-
return filename.replace(/\\/g, "/");
|
|
50
|
-
});
|
|
51
|
-
var cache = new StatsCache();
|
|
52
|
-
var watcher = chokidar.watch(filenames, options);
|
|
53
|
-
watcher.on("ready", function() {
|
|
54
|
-
cache.add(getWatchedFiles(watcher));
|
|
55
|
-
});
|
|
56
|
-
watcher.on("change", function(changed) {
|
|
57
|
-
if (!fs.existsSync(changed) || cache.isDiff(changed)) {
|
|
58
|
-
cache.refresh(changed);
|
|
59
|
-
callback(changed, "change");
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
watcher.on("add", function(changed) {
|
|
63
|
-
if (!cache.has(changed)) {
|
|
64
|
-
cache.add([
|
|
65
|
-
changed
|
|
66
|
-
]);
|
|
67
|
-
callback(changed, "add");
|
|
68
|
-
}
|
|
69
|
-
});
|
|
70
|
-
watcher.on("unlink", function(changed) {
|
|
71
|
-
cache.del(changed);
|
|
72
|
-
callback(changed, "unlink");
|
|
73
|
-
});
|
|
74
|
-
this.watcher = watcher;
|
|
75
|
-
};
|
|
76
|
-
_proto.createDepTree = function createDepTree() {
|
|
77
|
-
this.dependencyTree = new DependencyTree();
|
|
78
|
-
};
|
|
79
|
-
_proto.updateDepTree = function updateDepTree() {
|
|
80
|
-
var _this_dependencyTree;
|
|
81
|
-
(_this_dependencyTree = this.dependencyTree) === null || _this_dependencyTree === void 0 ? void 0 : _this_dependencyTree.update(require.cache);
|
|
82
|
-
};
|
|
83
|
-
_proto.cleanDepCache = function cleanDepCache(filepath) {
|
|
84
|
-
var _this_dependencyTree;
|
|
85
|
-
var node = (_this_dependencyTree = this.dependencyTree) === null || _this_dependencyTree === void 0 ? void 0 : _this_dependencyTree.getNode(filepath);
|
|
86
|
-
if (node && require.cache[filepath]) {
|
|
87
|
-
delete require.cache[filepath];
|
|
88
|
-
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
89
|
-
try {
|
|
90
|
-
for (var _iterator = node.parent.values()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
91
|
-
var parentNode = _step.value;
|
|
92
|
-
this.cleanDepCache(parentNode.module.filename);
|
|
93
|
-
}
|
|
94
|
-
} catch (err) {
|
|
95
|
-
_didIteratorError = true;
|
|
96
|
-
_iteratorError = err;
|
|
97
|
-
} finally {
|
|
98
|
-
try {
|
|
99
|
-
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
100
|
-
_iterator.return();
|
|
101
|
-
}
|
|
102
|
-
} finally {
|
|
103
|
-
if (_didIteratorError) {
|
|
104
|
-
throw _iteratorError;
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
};
|
|
110
|
-
_proto.close = function close() {
|
|
111
|
-
return this.watcher.close();
|
|
112
|
-
};
|
|
113
|
-
return Watcher2;
|
|
114
|
-
}();
|
|
115
|
-
export {
|
|
116
|
-
Watcher as default,
|
|
117
|
-
defaultWatchOptions,
|
|
118
|
-
getWatchedFiles,
|
|
119
|
-
mergeWatchOptions
|
|
120
|
-
};
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
|
|
2
|
-
import crypto from "crypto";
|
|
3
|
-
import fs from "fs";
|
|
4
|
-
var StatsCache = /* @__PURE__ */ function() {
|
|
5
|
-
"use strict";
|
|
6
|
-
function StatsCache2() {
|
|
7
|
-
_class_call_check(this, StatsCache2);
|
|
8
|
-
this.cachedHash = {};
|
|
9
|
-
this.cachedSize = {};
|
|
10
|
-
}
|
|
11
|
-
var _proto = StatsCache2.prototype;
|
|
12
|
-
_proto.add = function add(files) {
|
|
13
|
-
var _this = this, cachedHash = _this.cachedHash, cachedSize = _this.cachedSize;
|
|
14
|
-
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
15
|
-
try {
|
|
16
|
-
for (var _iterator = files[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
17
|
-
var filename = _step.value;
|
|
18
|
-
if (fs.existsSync(filename)) {
|
|
19
|
-
var stats = fs.statSync(filename);
|
|
20
|
-
if (stats.isFile() && !cachedHash[filename]) {
|
|
21
|
-
cachedHash[filename] = this.hash(stats, filename);
|
|
22
|
-
cachedSize[filename] = stats.size;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
} catch (err) {
|
|
27
|
-
_didIteratorError = true;
|
|
28
|
-
_iteratorError = err;
|
|
29
|
-
} finally {
|
|
30
|
-
try {
|
|
31
|
-
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
32
|
-
_iterator.return();
|
|
33
|
-
}
|
|
34
|
-
} finally {
|
|
35
|
-
if (_didIteratorError) {
|
|
36
|
-
throw _iteratorError;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
_proto.refresh = function refresh(filename) {
|
|
42
|
-
var _this = this, cachedHash = _this.cachedHash, cachedSize = _this.cachedSize;
|
|
43
|
-
if (fs.existsSync(filename)) {
|
|
44
|
-
var stats = fs.statSync(filename);
|
|
45
|
-
if (stats.isFile()) {
|
|
46
|
-
cachedHash[filename] = this.hash(stats, filename);
|
|
47
|
-
cachedSize[filename] = stats.size;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
_proto.del = function del(filename) {
|
|
52
|
-
if (this.cachedHash[filename]) {
|
|
53
|
-
delete this.cachedHash[filename];
|
|
54
|
-
delete this.cachedSize[filename];
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
_proto.isDiff = function isDiff(filename) {
|
|
58
|
-
var _this = this, cachedHash = _this.cachedHash, cachedSize = _this.cachedSize;
|
|
59
|
-
var stats = fs.statSync(filename);
|
|
60
|
-
var hash = cachedHash[filename];
|
|
61
|
-
var size = cachedSize[filename];
|
|
62
|
-
if (stats.size !== size) {
|
|
63
|
-
return true;
|
|
64
|
-
}
|
|
65
|
-
if (this.hash(stats, filename) !== hash) {
|
|
66
|
-
return true;
|
|
67
|
-
}
|
|
68
|
-
return false;
|
|
69
|
-
};
|
|
70
|
-
_proto.has = function has(filename) {
|
|
71
|
-
return Boolean(this.cachedHash[filename]);
|
|
72
|
-
};
|
|
73
|
-
_proto.hash = function hash(stats, filename) {
|
|
74
|
-
return crypto.createHash("md5").update(fs.readFileSync(filename)).digest("hex");
|
|
75
|
-
};
|
|
76
|
-
return StatsCache2;
|
|
77
|
-
}();
|
|
78
|
-
export {
|
|
79
|
-
StatsCache
|
|
80
|
-
};
|
package/dist/esm/dev.js
DELETED
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
|
|
2
|
-
import { _ as _to_consumable_array } from "@swc/helpers/_/_to_consumable_array";
|
|
3
|
-
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
|
4
|
-
import { connectMid2HonoMid } from "@modern-js/server-core/node";
|
|
5
|
-
import { API_DIR, SHARED_DIR } from "@modern-js/utils";
|
|
6
|
-
import { getDevOptions, getMockMiddleware, initFileReader, onRepack, startWatcher } from "./helpers";
|
|
7
|
-
var devPlugin = function(options, compiler) {
|
|
8
|
-
return {
|
|
9
|
-
name: "@modern-js/plugin-dev",
|
|
10
|
-
setup: function setup(api) {
|
|
11
|
-
var config = options.config, pwd = options.pwd, builder = options.builder, builderDevServer = options.builderDevServer;
|
|
12
|
-
var closeCb = [];
|
|
13
|
-
var dev = getDevOptions(options);
|
|
14
|
-
return {
|
|
15
|
-
prepare: function prepare() {
|
|
16
|
-
return _async_to_generator(function() {
|
|
17
|
-
var _dev_after, _dev_before, _ref, builderMiddlewares, close, connectWebSocket, _api_useAppContext, middlewares, distDirectory, nodeServer, apiDirectory, sharedDirectory, serverBase, hooks, watchOptions, watcher, before, after, _dev_setupMiddlewares, setupMiddlewares, mockMiddleware;
|
|
18
|
-
return _ts_generator(this, function(_state) {
|
|
19
|
-
switch (_state.label) {
|
|
20
|
-
case 0:
|
|
21
|
-
_ref = builderDevServer || {}, builderMiddlewares = _ref.middlewares, close = _ref.close, connectWebSocket = _ref.connectWebSocket;
|
|
22
|
-
close && closeCb.push(close);
|
|
23
|
-
_api_useAppContext = api.useAppContext(), middlewares = _api_useAppContext.middlewares, distDirectory = _api_useAppContext.distDirectory, nodeServer = _api_useAppContext.nodeServer, apiDirectory = _api_useAppContext.apiDirectory, sharedDirectory = _api_useAppContext.sharedDirectory, serverBase = _api_useAppContext.serverBase;
|
|
24
|
-
connectWebSocket && nodeServer && connectWebSocket({
|
|
25
|
-
server: nodeServer
|
|
26
|
-
});
|
|
27
|
-
hooks = api.getHooks();
|
|
28
|
-
builder === null || builder === void 0 ? void 0 : builder.onDevCompileDone(function(param) {
|
|
29
|
-
var stats = param.stats;
|
|
30
|
-
if (stats.toJson({
|
|
31
|
-
all: false
|
|
32
|
-
}).name !== "server") {
|
|
33
|
-
onRepack(distDirectory, hooks);
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
if (dev.watch) {
|
|
37
|
-
watchOptions = config.server.watchOptions;
|
|
38
|
-
watcher = startWatcher({
|
|
39
|
-
pwd,
|
|
40
|
-
distDir: distDirectory,
|
|
41
|
-
apiDir: apiDirectory || API_DIR,
|
|
42
|
-
sharedDir: sharedDirectory || SHARED_DIR,
|
|
43
|
-
watchOptions,
|
|
44
|
-
server: serverBase
|
|
45
|
-
});
|
|
46
|
-
closeCb.push(watcher.close.bind(watcher));
|
|
47
|
-
}
|
|
48
|
-
closeCb.length > 0 && (nodeServer === null || nodeServer === void 0 ? void 0 : nodeServer.on("close", function() {
|
|
49
|
-
closeCb.forEach(function(cb) {
|
|
50
|
-
cb();
|
|
51
|
-
});
|
|
52
|
-
}));
|
|
53
|
-
before = [];
|
|
54
|
-
after = [];
|
|
55
|
-
_dev_setupMiddlewares = dev.setupMiddlewares, setupMiddlewares = _dev_setupMiddlewares === void 0 ? [] : _dev_setupMiddlewares;
|
|
56
|
-
if (((_dev_after = dev.after) === null || _dev_after === void 0 ? void 0 : _dev_after.length) || ((_dev_before = dev.before) === null || _dev_before === void 0 ? void 0 : _dev_before.length)) {
|
|
57
|
-
setupMiddlewares.push(function(middlewares2) {
|
|
58
|
-
var _middlewares, _middlewares1;
|
|
59
|
-
(_middlewares = middlewares2).unshift.apply(_middlewares, _to_consumable_array(dev.before || []));
|
|
60
|
-
(_middlewares1 = middlewares2).push.apply(_middlewares1, _to_consumable_array(dev.after || []));
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
setupMiddlewares.forEach(function(handler) {
|
|
64
|
-
var _before, _after;
|
|
65
|
-
handler({
|
|
66
|
-
unshift: function() {
|
|
67
|
-
for (var _len = arguments.length, handlers = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
68
|
-
handlers[_key] = arguments[_key];
|
|
69
|
-
}
|
|
70
|
-
return (_before = before).unshift.apply(_before, _to_consumable_array(handlers));
|
|
71
|
-
},
|
|
72
|
-
push: function() {
|
|
73
|
-
for (var _len = arguments.length, handlers = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
74
|
-
handlers[_key] = arguments[_key];
|
|
75
|
-
}
|
|
76
|
-
return (_after = after).push.apply(_after, _to_consumable_array(handlers));
|
|
77
|
-
}
|
|
78
|
-
}, {
|
|
79
|
-
sockWrite: function() {
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
});
|
|
83
|
-
before.forEach(function(middleware, index) {
|
|
84
|
-
middlewares.push({
|
|
85
|
-
name: "before-dev-server-".concat(index),
|
|
86
|
-
handler: connectMid2HonoMid(middleware)
|
|
87
|
-
});
|
|
88
|
-
});
|
|
89
|
-
return [
|
|
90
|
-
4,
|
|
91
|
-
getMockMiddleware(pwd)
|
|
92
|
-
];
|
|
93
|
-
case 1:
|
|
94
|
-
mockMiddleware = _state.sent();
|
|
95
|
-
middlewares.push({
|
|
96
|
-
name: "mock-dev",
|
|
97
|
-
handler: mockMiddleware
|
|
98
|
-
});
|
|
99
|
-
builderMiddlewares && middlewares.push({
|
|
100
|
-
name: "rsbuild-dev",
|
|
101
|
-
handler: connectMid2HonoMid(builderMiddlewares)
|
|
102
|
-
});
|
|
103
|
-
after.forEach(function(middleware, index) {
|
|
104
|
-
middlewares.push({
|
|
105
|
-
name: "after-dev-server-".concat(index),
|
|
106
|
-
handler: connectMid2HonoMid(middleware)
|
|
107
|
-
});
|
|
108
|
-
});
|
|
109
|
-
middlewares.push({
|
|
110
|
-
name: "init-file-reader",
|
|
111
|
-
handler: initFileReader(compiler)
|
|
112
|
-
});
|
|
113
|
-
return [
|
|
114
|
-
2
|
|
115
|
-
];
|
|
116
|
-
}
|
|
117
|
-
});
|
|
118
|
-
})();
|
|
119
|
-
}
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
};
|
|
123
|
-
};
|
|
124
|
-
export {
|
|
125
|
-
devPlugin
|
|
126
|
-
};
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { HMR_SOCK_PATH } from "@modern-js/utils/universal/constants";
|
|
2
|
-
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: void 0
|
|
12
|
-
},
|
|
13
|
-
https: false,
|
|
14
|
-
devMiddleware: {
|
|
15
|
-
writeToDisk: true
|
|
16
|
-
},
|
|
17
|
-
watch: true,
|
|
18
|
-
hot: true,
|
|
19
|
-
compress: true,
|
|
20
|
-
liveReload: true
|
|
21
|
-
};
|
|
22
|
-
};
|
|
23
|
-
export {
|
|
24
|
-
getDefaultDevOptions
|
|
25
|
-
};
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { merge } from "@modern-js/utils/lodash";
|
|
2
|
-
import { getDefaultDevOptions } from "./constants";
|
|
3
|
-
var getDevOptions = function(options) {
|
|
4
|
-
var devOptions = options.dev;
|
|
5
|
-
var defaultOptions = getDefaultDevOptions();
|
|
6
|
-
return merge(defaultOptions, devOptions);
|
|
7
|
-
};
|
|
8
|
-
var getDevAssetPrefix = function(builder) {
|
|
9
|
-
return new Promise(function(resolve) {
|
|
10
|
-
if (!builder) {
|
|
11
|
-
return resolve("");
|
|
12
|
-
}
|
|
13
|
-
builder === null || builder === void 0 ? void 0 : builder.onAfterCreateCompiler(function(params) {
|
|
14
|
-
var _webCompiler_options_output, _webCompiler_options;
|
|
15
|
-
var webCompiler;
|
|
16
|
-
if ("compilers" in params.compiler) {
|
|
17
|
-
webCompiler = params.compiler.compilers.find(function(c) {
|
|
18
|
-
return c.name === "web" || c.name === "client";
|
|
19
|
-
});
|
|
20
|
-
} else {
|
|
21
|
-
webCompiler = params.compiler;
|
|
22
|
-
}
|
|
23
|
-
var publicPath = webCompiler === null || webCompiler === void 0 ? void 0 : (_webCompiler_options = webCompiler.options) === null || _webCompiler_options === void 0 ? void 0 : (_webCompiler_options_output = _webCompiler_options.output) === null || _webCompiler_options_output === void 0 ? void 0 : _webCompiler_options_output.publicPath;
|
|
24
|
-
if (publicPath && typeof publicPath === "string") {
|
|
25
|
-
var formatPublicPath = publicPath.replace(/^https?:\/\/[^/]+/, "");
|
|
26
|
-
return resolve(formatPublicPath);
|
|
27
|
-
}
|
|
28
|
-
return resolve("");
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
};
|
|
32
|
-
export {
|
|
33
|
-
getDevAssetPrefix,
|
|
34
|
-
getDevOptions
|
|
35
|
-
};
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
|
|
2
|
-
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
|
3
|
-
import { fileReader } from "@modern-js/runtime-utils/fileReader";
|
|
4
|
-
var initFileReader = function(compiler) {
|
|
5
|
-
var isInit = false;
|
|
6
|
-
return function() {
|
|
7
|
-
var _ref = _async_to_generator(function(ctx, next) {
|
|
8
|
-
var outputFileSystem;
|
|
9
|
-
return _ts_generator(this, function(_state) {
|
|
10
|
-
if (isInit) {
|
|
11
|
-
return [
|
|
12
|
-
2,
|
|
13
|
-
next()
|
|
14
|
-
];
|
|
15
|
-
}
|
|
16
|
-
isInit = true;
|
|
17
|
-
if (!compiler) {
|
|
18
|
-
fileReader.reset();
|
|
19
|
-
return [
|
|
20
|
-
2,
|
|
21
|
-
next()
|
|
22
|
-
];
|
|
23
|
-
}
|
|
24
|
-
outputFileSystem = ("compilers" in compiler ? compiler.compilers[0] : compiler).outputFileSystem;
|
|
25
|
-
if (outputFileSystem) {
|
|
26
|
-
fileReader.reset(outputFileSystem);
|
|
27
|
-
} else {
|
|
28
|
-
fileReader.reset();
|
|
29
|
-
}
|
|
30
|
-
return [
|
|
31
|
-
2,
|
|
32
|
-
next()
|
|
33
|
-
];
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
return function(ctx, next) {
|
|
37
|
-
return _ref.apply(this, arguments);
|
|
38
|
-
};
|
|
39
|
-
}();
|
|
40
|
-
};
|
|
41
|
-
export {
|
|
42
|
-
initFileReader
|
|
43
|
-
};
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
|
|
2
|
-
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
|
3
|
-
import path from "path";
|
|
4
|
-
import { AGGRED_DIR } from "@modern-js/server-core";
|
|
5
|
-
import { SERVER_BUNDLE_DIRECTORY, SERVER_DIR, logger } from "@modern-js/utils";
|
|
6
|
-
import Watcher, { mergeWatchOptions } from "../dev-tools/watcher";
|
|
7
|
-
import { initOrUpdateMockMiddlewares } from "./mock";
|
|
8
|
-
import { debug } from "./utils";
|
|
9
|
-
export * from "./repack";
|
|
10
|
-
export * from "./devOptions";
|
|
11
|
-
export * from "./fileReader";
|
|
12
|
-
export * from "./mock";
|
|
13
|
-
function onServerChange(_) {
|
|
14
|
-
return _onServerChange.apply(this, arguments);
|
|
15
|
-
}
|
|
16
|
-
function _onServerChange() {
|
|
17
|
-
_onServerChange = _async_to_generator(function(param) {
|
|
18
|
-
var pwd, filepath, event, server, mock, mockPath, hooks, fileChangeEvent, e;
|
|
19
|
-
return _ts_generator(this, function(_state) {
|
|
20
|
-
switch (_state.label) {
|
|
21
|
-
case 0:
|
|
22
|
-
pwd = param.pwd, filepath = param.filepath, event = param.event, server = param.server;
|
|
23
|
-
mock = AGGRED_DIR.mock;
|
|
24
|
-
mockPath = path.normalize(path.join(pwd, mock));
|
|
25
|
-
hooks = server.hooks;
|
|
26
|
-
if (!filepath.startsWith(mockPath))
|
|
27
|
-
return [
|
|
28
|
-
3,
|
|
29
|
-
2
|
|
30
|
-
];
|
|
31
|
-
return [
|
|
32
|
-
4,
|
|
33
|
-
initOrUpdateMockMiddlewares(pwd)
|
|
34
|
-
];
|
|
35
|
-
case 1:
|
|
36
|
-
_state.sent();
|
|
37
|
-
logger.info("Finish update the mock handlers");
|
|
38
|
-
return [
|
|
39
|
-
3,
|
|
40
|
-
5
|
|
41
|
-
];
|
|
42
|
-
case 2:
|
|
43
|
-
_state.trys.push([
|
|
44
|
-
2,
|
|
45
|
-
4,
|
|
46
|
-
,
|
|
47
|
-
5
|
|
48
|
-
]);
|
|
49
|
-
fileChangeEvent = {
|
|
50
|
-
type: "file-change",
|
|
51
|
-
payload: [
|
|
52
|
-
{
|
|
53
|
-
filename: filepath,
|
|
54
|
-
event
|
|
55
|
-
}
|
|
56
|
-
]
|
|
57
|
-
};
|
|
58
|
-
return [
|
|
59
|
-
4,
|
|
60
|
-
hooks.onReset.call({
|
|
61
|
-
event: fileChangeEvent
|
|
62
|
-
})
|
|
63
|
-
];
|
|
64
|
-
case 3:
|
|
65
|
-
_state.sent();
|
|
66
|
-
debug("Finish reload server, trigger by ".concat(filepath, " ").concat(event));
|
|
67
|
-
return [
|
|
68
|
-
3,
|
|
69
|
-
5
|
|
70
|
-
];
|
|
71
|
-
case 4:
|
|
72
|
-
e = _state.sent();
|
|
73
|
-
logger.error(e);
|
|
74
|
-
return [
|
|
75
|
-
3,
|
|
76
|
-
5
|
|
77
|
-
];
|
|
78
|
-
case 5:
|
|
79
|
-
return [
|
|
80
|
-
2
|
|
81
|
-
];
|
|
82
|
-
}
|
|
83
|
-
});
|
|
84
|
-
});
|
|
85
|
-
return _onServerChange.apply(this, arguments);
|
|
86
|
-
}
|
|
87
|
-
function startWatcher(param) {
|
|
88
|
-
var pwd = param.pwd, distDir = param.distDir, apiDir = param.apiDir, sharedDir = param.sharedDir, watchOptions = param.watchOptions, server = param.server;
|
|
89
|
-
var mock = AGGRED_DIR.mock;
|
|
90
|
-
var defaultWatched = [
|
|
91
|
-
"".concat(mock, "/**/*"),
|
|
92
|
-
"".concat(SERVER_DIR, "/**/*"),
|
|
93
|
-
"".concat(apiDir, "/**"),
|
|
94
|
-
"".concat(sharedDir, "/**/*"),
|
|
95
|
-
"".concat(distDir, "/").concat(SERVER_BUNDLE_DIRECTORY, "/*-server-loaders.js")
|
|
96
|
-
];
|
|
97
|
-
var mergedWatchOptions = mergeWatchOptions(watchOptions);
|
|
98
|
-
var defaultWatchedPaths = defaultWatched.map(function(p) {
|
|
99
|
-
var finalPath = path.isAbsolute(p) ? p : path.join(pwd, p);
|
|
100
|
-
return path.normalize(finalPath);
|
|
101
|
-
});
|
|
102
|
-
var watcher = new Watcher();
|
|
103
|
-
watcher.createDepTree();
|
|
104
|
-
watcher.listen(defaultWatchedPaths, mergedWatchOptions, function(filepath, event) {
|
|
105
|
-
if (filepath.includes("-server-loaders.js")) {
|
|
106
|
-
delete require.cache[filepath];
|
|
107
|
-
return;
|
|
108
|
-
} else {
|
|
109
|
-
watcher.updateDepTree();
|
|
110
|
-
watcher.cleanDepCache(filepath);
|
|
111
|
-
}
|
|
112
|
-
onServerChange({
|
|
113
|
-
pwd,
|
|
114
|
-
filepath,
|
|
115
|
-
event,
|
|
116
|
-
server
|
|
117
|
-
});
|
|
118
|
-
});
|
|
119
|
-
return watcher;
|
|
120
|
-
}
|
|
121
|
-
export {
|
|
122
|
-
startWatcher
|
|
123
|
-
};
|