@modern-js/server 2.69.4 → 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,136 +1,141 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
var
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
)
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.n = (module)=>{
|
|
5
|
+
var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
|
|
6
|
+
__webpack_require__.d(getter, {
|
|
7
|
+
a: getter
|
|
8
|
+
});
|
|
9
|
+
return getter;
|
|
10
|
+
};
|
|
11
|
+
})();
|
|
12
|
+
(()=>{
|
|
13
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
14
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: definition[key]
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
})();
|
|
20
|
+
(()=>{
|
|
21
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
22
|
+
})();
|
|
23
|
+
(()=>{
|
|
24
|
+
__webpack_require__.r = (exports1)=>{
|
|
25
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
26
|
+
value: 'Module'
|
|
27
|
+
});
|
|
28
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
29
|
+
value: true
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
})();
|
|
33
|
+
var __webpack_exports__ = {};
|
|
34
|
+
__webpack_require__.r(__webpack_exports__);
|
|
35
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
36
|
+
default: ()=>Watcher,
|
|
37
|
+
mergeWatchOptions: ()=>mergeWatchOptions,
|
|
38
|
+
getWatchedFiles: ()=>getWatchedFiles,
|
|
39
|
+
defaultWatchOptions: ()=>defaultWatchOptions
|
|
35
40
|
});
|
|
36
|
-
|
|
37
|
-
var
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
+
const external_path_namespaceObject = require("path");
|
|
42
|
+
var external_path_default = /*#__PURE__*/ __webpack_require__.n(external_path_namespaceObject);
|
|
43
|
+
const utils_namespaceObject = require("@modern-js/utils");
|
|
44
|
+
const external_dependencyTree_js_namespaceObject = require("./dependencyTree.js");
|
|
45
|
+
const external_statsCache_js_namespaceObject = require("./statsCache.js");
|
|
41
46
|
const defaultWatchOptions = {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
ignored: /api\/typings\/.*/
|
|
47
|
+
ignoreInitial: true,
|
|
48
|
+
ignored: /api\/typings\/.*/
|
|
45
49
|
};
|
|
46
|
-
const getWatchedFiles = (watcher)
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
const getWatchedFiles = (watcher)=>{
|
|
51
|
+
const watched = watcher.getWatched();
|
|
52
|
+
const files = [];
|
|
53
|
+
Object.keys(watched).forEach((dir)=>{
|
|
54
|
+
watched[dir].forEach((fileName)=>{
|
|
55
|
+
files.push(external_path_default().join(dir, fileName));
|
|
56
|
+
});
|
|
52
57
|
});
|
|
53
|
-
|
|
54
|
-
return files;
|
|
58
|
+
return files;
|
|
55
59
|
};
|
|
56
|
-
const mergeWatchOptions = (options)
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
watchOptions.ignored = finalIgnored;
|
|
60
|
+
const mergeWatchOptions = (options)=>{
|
|
61
|
+
const watchOptions = {
|
|
62
|
+
...options
|
|
63
|
+
};
|
|
64
|
+
if (watchOptions) {
|
|
65
|
+
const { ignored } = watchOptions;
|
|
66
|
+
const finalIgnored = ignored ? [
|
|
67
|
+
defaultWatchOptions.ignored,
|
|
68
|
+
...Array.isArray(ignored) ? ignored : [
|
|
69
|
+
ignored
|
|
70
|
+
]
|
|
71
|
+
] : ignored;
|
|
72
|
+
if (finalIgnored) watchOptions.ignored = finalIgnored;
|
|
70
73
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
return finalWatchOptions;
|
|
74
|
+
const finalWatchOptions = {
|
|
75
|
+
...defaultWatchOptions,
|
|
76
|
+
...watchOptions
|
|
77
|
+
};
|
|
78
|
+
return finalWatchOptions;
|
|
77
79
|
};
|
|
78
80
|
class Watcher {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
81
|
+
listen(files, options, callback) {
|
|
82
|
+
const watched = files.filter(Boolean);
|
|
83
|
+
const filenames = watched.map((filename)=>filename.replace(/\\/g, '/'));
|
|
84
|
+
const cache = new external_statsCache_js_namespaceObject.StatsCache();
|
|
85
|
+
const watcher = utils_namespaceObject.chokidar.watch(filenames, options);
|
|
86
|
+
watcher.on('ready', ()=>{
|
|
87
|
+
cache.add(getWatchedFiles(watcher));
|
|
88
|
+
});
|
|
89
|
+
watcher.on('change', (changed)=>{
|
|
90
|
+
if (!utils_namespaceObject.fs.existsSync(changed) || cache.isDiff(changed)) {
|
|
91
|
+
cache.refresh(changed);
|
|
92
|
+
callback(changed, 'change');
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
watcher.on('add', (changed)=>{
|
|
96
|
+
if (!cache.has(changed)) {
|
|
97
|
+
cache.add([
|
|
98
|
+
changed
|
|
99
|
+
]);
|
|
100
|
+
callback(changed, 'add');
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
watcher.on('unlink', (changed)=>{
|
|
104
|
+
cache.del(changed);
|
|
105
|
+
callback(changed, 'unlink');
|
|
106
|
+
});
|
|
107
|
+
this.watcher = watcher;
|
|
108
|
+
}
|
|
109
|
+
createDepTree() {
|
|
110
|
+
this.dependencyTree = new external_dependencyTree_js_namespaceObject.DependencyTree();
|
|
111
|
+
}
|
|
112
|
+
updateDepTree() {
|
|
113
|
+
this.dependencyTree?.update(require.cache);
|
|
114
|
+
}
|
|
115
|
+
cleanDepCache(filepath) {
|
|
116
|
+
const node = this.dependencyTree?.getNode(filepath);
|
|
117
|
+
if (node && require.cache[filepath]) {
|
|
118
|
+
delete require.cache[filepath];
|
|
119
|
+
for (const parentNode of node.parent.values())this.cleanDepCache(parentNode.module.filename);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
close() {
|
|
123
|
+
return this.watcher.close();
|
|
124
|
+
}
|
|
125
|
+
constructor(){
|
|
126
|
+
this.dependencyTree = null;
|
|
122
127
|
}
|
|
123
|
-
}
|
|
124
|
-
close() {
|
|
125
|
-
return this.watcher.close();
|
|
126
|
-
}
|
|
127
|
-
constructor() {
|
|
128
|
-
this.dependencyTree = null;
|
|
129
|
-
}
|
|
130
128
|
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
129
|
+
exports["default"] = __webpack_exports__["default"];
|
|
130
|
+
exports.defaultWatchOptions = __webpack_exports__.defaultWatchOptions;
|
|
131
|
+
exports.getWatchedFiles = __webpack_exports__.getWatchedFiles;
|
|
132
|
+
exports.mergeWatchOptions = __webpack_exports__.mergeWatchOptions;
|
|
133
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
134
|
+
"default",
|
|
135
|
+
"defaultWatchOptions",
|
|
136
|
+
"getWatchedFiles",
|
|
137
|
+
"mergeWatchOptions"
|
|
138
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
139
|
+
Object.defineProperty(exports, '__esModule', {
|
|
140
|
+
value: true
|
|
136
141
|
});
|
|
@@ -1,92 +1,95 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
var
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
)
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.n = (module)=>{
|
|
5
|
+
var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
|
|
6
|
+
__webpack_require__.d(getter, {
|
|
7
|
+
a: getter
|
|
8
|
+
});
|
|
9
|
+
return getter;
|
|
10
|
+
};
|
|
11
|
+
})();
|
|
12
|
+
(()=>{
|
|
13
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
14
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: definition[key]
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
})();
|
|
20
|
+
(()=>{
|
|
21
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
22
|
+
})();
|
|
23
|
+
(()=>{
|
|
24
|
+
__webpack_require__.r = (exports1)=>{
|
|
25
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
26
|
+
value: 'Module'
|
|
27
|
+
});
|
|
28
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
29
|
+
value: true
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
})();
|
|
33
|
+
var __webpack_exports__ = {};
|
|
34
|
+
__webpack_require__.r(__webpack_exports__);
|
|
35
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
36
|
+
StatsCache: ()=>StatsCache
|
|
32
37
|
});
|
|
33
|
-
|
|
34
|
-
var
|
|
35
|
-
|
|
38
|
+
const external_crypto_namespaceObject = require("crypto");
|
|
39
|
+
var external_crypto_default = /*#__PURE__*/ __webpack_require__.n(external_crypto_namespaceObject);
|
|
40
|
+
const external_fs_namespaceObject = require("fs");
|
|
41
|
+
var external_fs_default = /*#__PURE__*/ __webpack_require__.n(external_fs_namespaceObject);
|
|
36
42
|
class StatsCache {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
add(files) {
|
|
44
|
+
const { cachedHash, cachedSize } = this;
|
|
45
|
+
for (const filename of files)if (external_fs_default().existsSync(filename)) {
|
|
46
|
+
const stats = external_fs_default().statSync(filename);
|
|
47
|
+
if (stats.isFile() && !cachedHash[filename]) {
|
|
48
|
+
cachedHash[filename] = this.hash(stats, filename);
|
|
49
|
+
cachedSize[filename] = stats.size;
|
|
50
|
+
}
|
|
45
51
|
}
|
|
46
|
-
}
|
|
47
52
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
53
|
+
refresh(filename) {
|
|
54
|
+
const { cachedHash, cachedSize } = this;
|
|
55
|
+
if (external_fs_default().existsSync(filename)) {
|
|
56
|
+
const stats = external_fs_default().statSync(filename);
|
|
57
|
+
if (stats.isFile()) {
|
|
58
|
+
cachedHash[filename] = this.hash(stats, filename);
|
|
59
|
+
cachedSize[filename] = stats.size;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
del(filename) {
|
|
64
|
+
if (this.cachedHash[filename]) {
|
|
65
|
+
delete this.cachedHash[filename];
|
|
66
|
+
delete this.cachedSize[filename];
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
isDiff(filename) {
|
|
70
|
+
const { cachedHash, cachedSize } = this;
|
|
71
|
+
const stats = external_fs_default().statSync(filename);
|
|
72
|
+
const hash = cachedHash[filename];
|
|
73
|
+
const size = cachedSize[filename];
|
|
74
|
+
if (stats.size !== size) return true;
|
|
75
|
+
if (this.hash(stats, filename) !== hash) return true;
|
|
76
|
+
return false;
|
|
57
77
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
if (this.cachedHash[filename]) {
|
|
61
|
-
delete this.cachedHash[filename];
|
|
62
|
-
delete this.cachedSize[filename];
|
|
78
|
+
has(filename) {
|
|
79
|
+
return Boolean(this.cachedHash[filename]);
|
|
63
80
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
const { cachedHash, cachedSize } = this;
|
|
67
|
-
const stats = import_fs.default.statSync(filename);
|
|
68
|
-
const hash = cachedHash[filename];
|
|
69
|
-
const size = cachedSize[filename];
|
|
70
|
-
if (stats.size !== size) {
|
|
71
|
-
return true;
|
|
81
|
+
hash(stats, filename) {
|
|
82
|
+
return external_crypto_default().createHash('md5').update(external_fs_default().readFileSync(filename)).digest('hex');
|
|
72
83
|
}
|
|
73
|
-
|
|
74
|
-
|
|
84
|
+
constructor(){
|
|
85
|
+
this.cachedHash = {};
|
|
86
|
+
this.cachedSize = {};
|
|
75
87
|
}
|
|
76
|
-
return false;
|
|
77
|
-
}
|
|
78
|
-
has(filename) {
|
|
79
|
-
return Boolean(this.cachedHash[filename]);
|
|
80
|
-
}
|
|
81
|
-
hash(stats, filename) {
|
|
82
|
-
return import_crypto.default.createHash("md5").update(import_fs.default.readFileSync(filename)).digest("hex");
|
|
83
|
-
}
|
|
84
|
-
constructor() {
|
|
85
|
-
this.cachedHash = {};
|
|
86
|
-
this.cachedSize = {};
|
|
87
|
-
}
|
|
88
88
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
89
|
+
exports.StatsCache = __webpack_exports__.StatsCache;
|
|
90
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
91
|
+
"StatsCache"
|
|
92
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
93
|
+
Object.defineProperty(exports, '__esModule', {
|
|
94
|
+
value: true
|
|
92
95
|
});
|