@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.
Files changed (79) hide show
  1. package/dist/cjs/createDevServer.js +98 -100
  2. package/dist/cjs/dev-tools/https/index.js +57 -49
  3. package/dist/cjs/dev-tools/watcher/dependencyTree.js +94 -92
  4. package/dist/cjs/dev-tools/watcher/index.js +129 -124
  5. package/dist/cjs/dev-tools/watcher/statsCache.js +84 -81
  6. package/dist/cjs/dev.js +104 -110
  7. package/dist/cjs/helpers/devOptions.js +55 -54
  8. package/dist/cjs/helpers/fileReader.js +48 -44
  9. package/dist/cjs/helpers/index.js +168 -107
  10. package/dist/cjs/helpers/mock.js +121 -124
  11. package/dist/cjs/helpers/repack.js +45 -39
  12. package/dist/cjs/helpers/utils.js +34 -26
  13. package/dist/cjs/index.js +33 -25
  14. package/dist/cjs/types.js +17 -15
  15. package/dist/esm/createDevServer.mjs +59 -0
  16. package/dist/esm/dev-tools/https/index.mjs +28 -0
  17. package/dist/esm/dev-tools/watcher/dependencyTree.mjs +57 -0
  18. package/dist/esm/dev-tools/watcher/index.mjs +88 -0
  19. package/dist/esm/dev-tools/watcher/statsCache.mjs +50 -0
  20. package/dist/esm/dev.mjs +77 -0
  21. package/dist/esm/helpers/devOptions.mjs +24 -0
  22. package/dist/esm/helpers/fileReader.mjs +18 -0
  23. package/dist/esm/helpers/index.mjs +65 -0
  24. package/dist/esm/helpers/mock.mjs +87 -0
  25. package/dist/esm/helpers/repack.mjs +16 -0
  26. package/dist/esm/helpers/utils.mjs +3 -0
  27. package/dist/{esm-node/index.js → esm/index.mjs} +1 -3
  28. package/dist/esm-node/createDevServer.mjs +59 -0
  29. package/dist/esm-node/dev-tools/https/index.mjs +28 -0
  30. package/dist/esm-node/dev-tools/watcher/dependencyTree.mjs +57 -0
  31. package/dist/esm-node/dev-tools/watcher/index.mjs +88 -0
  32. package/dist/esm-node/dev-tools/watcher/statsCache.mjs +50 -0
  33. package/dist/esm-node/dev.mjs +77 -0
  34. package/dist/esm-node/helpers/devOptions.mjs +24 -0
  35. package/dist/esm-node/helpers/fileReader.mjs +18 -0
  36. package/dist/esm-node/helpers/index.mjs +65 -0
  37. package/dist/esm-node/helpers/mock.mjs +87 -0
  38. package/dist/esm-node/helpers/repack.mjs +16 -0
  39. package/dist/esm-node/helpers/utils.mjs +3 -0
  40. package/dist/esm-node/index.mjs +2 -0
  41. package/dist/types/createDevServer.d.ts +1 -1
  42. package/dist/types/dev.d.ts +4 -4
  43. package/dist/types/helpers/devOptions.d.ts +10 -6
  44. package/dist/types/helpers/fileReader.d.ts +1 -1
  45. package/dist/types/index.d.ts +3 -1
  46. package/dist/types/types.d.ts +48 -12
  47. package/package.json +42 -31
  48. package/rslib.config.mts +4 -0
  49. package/dist/cjs/helpers/constants.js +0 -49
  50. package/dist/esm/createDevServer.js +0 -154
  51. package/dist/esm/dev-tools/https/index.js +0 -74
  52. package/dist/esm/dev-tools/watcher/dependencyTree.js +0 -88
  53. package/dist/esm/dev-tools/watcher/index.js +0 -120
  54. package/dist/esm/dev-tools/watcher/statsCache.js +0 -80
  55. package/dist/esm/dev.js +0 -126
  56. package/dist/esm/helpers/constants.js +0 -25
  57. package/dist/esm/helpers/devOptions.js +0 -35
  58. package/dist/esm/helpers/fileReader.js +0 -43
  59. package/dist/esm/helpers/index.js +0 -123
  60. package/dist/esm/helpers/mock.js +0 -266
  61. package/dist/esm/helpers/repack.js +0 -20
  62. package/dist/esm/helpers/utils.js +0 -5
  63. package/dist/esm/index.js +0 -4
  64. package/dist/esm-node/createDevServer.js +0 -71
  65. package/dist/esm-node/dev-tools/https/index.js +0 -30
  66. package/dist/esm-node/dev-tools/watcher/dependencyTree.js +0 -67
  67. package/dist/esm-node/dev-tools/watcher/index.js +0 -100
  68. package/dist/esm-node/dev-tools/watcher/statsCache.js +0 -58
  69. package/dist/esm-node/dev.js +0 -93
  70. package/dist/esm-node/helpers/constants.js +0 -25
  71. package/dist/esm-node/helpers/devOptions.js +0 -35
  72. package/dist/esm-node/helpers/fileReader.js +0 -24
  73. package/dist/esm-node/helpers/index.js +0 -73
  74. package/dist/esm-node/helpers/mock.js +0 -104
  75. package/dist/esm-node/helpers/repack.js +0 -20
  76. package/dist/esm-node/helpers/utils.js +0 -5
  77. package/dist/types/helpers/constants.d.ts +0 -2
  78. /package/dist/esm/{types.js → types.mjs} +0 -0
  79. /package/dist/esm-node/{types.js → types.mjs} +0 -0
@@ -1,136 +1,141 @@
1
1
  "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var watcher_exports = {};
30
- __export(watcher_exports, {
31
- default: () => Watcher,
32
- defaultWatchOptions: () => defaultWatchOptions,
33
- getWatchedFiles: () => getWatchedFiles,
34
- mergeWatchOptions: () => mergeWatchOptions
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
- module.exports = __toCommonJS(watcher_exports);
37
- var import_path = __toESM(require("path"));
38
- var import_utils = require("@modern-js/utils");
39
- var import_dependencyTree = require("./dependencyTree");
40
- var import_statsCache = require("./statsCache");
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
- // 初始化的时候不触发 add、addDir 事件
43
- ignoreInitial: true,
44
- ignored: /api\/typings\/.*/
47
+ ignoreInitial: true,
48
+ ignored: /api\/typings\/.*/
45
49
  };
46
- const getWatchedFiles = (watcher) => {
47
- const watched = watcher.getWatched();
48
- const files = [];
49
- Object.keys(watched).forEach((dir) => {
50
- watched[dir].forEach((fileName) => {
51
- files.push(import_path.default.join(dir, fileName));
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
- const watchOptions = {
58
- ...options
59
- };
60
- if (watchOptions) {
61
- const { ignored } = watchOptions;
62
- const finalIgnored = ignored ? [
63
- defaultWatchOptions.ignored,
64
- ...Array.isArray(ignored) ? ignored : [
65
- ignored
66
- ]
67
- ] : ignored;
68
- if (finalIgnored) {
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
- const finalWatchOptions = {
73
- ...defaultWatchOptions,
74
- ...watchOptions
75
- };
76
- return finalWatchOptions;
74
+ const finalWatchOptions = {
75
+ ...defaultWatchOptions,
76
+ ...watchOptions
77
+ };
78
+ return finalWatchOptions;
77
79
  };
78
80
  class Watcher {
79
- listen(files, options, callback) {
80
- const watched = files.filter(Boolean);
81
- const filenames = watched.map((filename) => filename.replace(/\\/g, "/"));
82
- const cache = new import_statsCache.StatsCache();
83
- const watcher = import_utils.chokidar.watch(filenames, options);
84
- watcher.on("ready", () => {
85
- cache.add(getWatchedFiles(watcher));
86
- });
87
- watcher.on("change", (changed) => {
88
- if (!import_utils.fs.existsSync(changed) || cache.isDiff(changed)) {
89
- cache.refresh(changed);
90
- callback(changed, "change");
91
- }
92
- });
93
- watcher.on("add", (changed) => {
94
- if (!cache.has(changed)) {
95
- cache.add([
96
- changed
97
- ]);
98
- callback(changed, "add");
99
- }
100
- });
101
- watcher.on("unlink", (changed) => {
102
- cache.del(changed);
103
- callback(changed, "unlink");
104
- });
105
- this.watcher = watcher;
106
- }
107
- createDepTree() {
108
- this.dependencyTree = new import_dependencyTree.DependencyTree();
109
- }
110
- updateDepTree() {
111
- var _this_dependencyTree;
112
- (_this_dependencyTree = this.dependencyTree) === null || _this_dependencyTree === void 0 ? void 0 : _this_dependencyTree.update(require.cache);
113
- }
114
- cleanDepCache(filepath) {
115
- var _this_dependencyTree;
116
- const node = (_this_dependencyTree = this.dependencyTree) === null || _this_dependencyTree === void 0 ? void 0 : _this_dependencyTree.getNode(filepath);
117
- if (node && require.cache[filepath]) {
118
- delete require.cache[filepath];
119
- for (const parentNode of node.parent.values()) {
120
- this.cleanDepCache(parentNode.module.filename);
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
- // Annotate the CommonJS export names for ESM import in node:
132
- 0 && (module.exports = {
133
- defaultWatchOptions,
134
- getWatchedFiles,
135
- mergeWatchOptions
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 __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var statsCache_exports = {};
30
- __export(statsCache_exports, {
31
- StatsCache: () => StatsCache
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
- module.exports = __toCommonJS(statsCache_exports);
34
- var import_crypto = __toESM(require("crypto"));
35
- var import_fs = __toESM(require("fs"));
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
- add(files) {
38
- const { cachedHash, cachedSize } = this;
39
- for (const filename of files) {
40
- if (import_fs.default.existsSync(filename)) {
41
- const stats = import_fs.default.statSync(filename);
42
- if (stats.isFile() && !cachedHash[filename]) {
43
- cachedHash[filename] = this.hash(stats, filename);
44
- cachedSize[filename] = stats.size;
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
- refresh(filename) {
50
- const { cachedHash, cachedSize } = this;
51
- if (import_fs.default.existsSync(filename)) {
52
- const stats = import_fs.default.statSync(filename);
53
- if (stats.isFile()) {
54
- cachedHash[filename] = this.hash(stats, filename);
55
- cachedSize[filename] = stats.size;
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
- del(filename) {
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
- isDiff(filename) {
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
- if (this.hash(stats, filename) !== hash) {
74
- return true;
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
- // Annotate the CommonJS export names for ESM import in node:
90
- 0 && (module.exports = {
91
- StatsCache
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
  });