@modern-js/server 2.15.1-alpha.0 → 2.16.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 (98) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/cjs/constants.js +12 -28
  3. package/dist/cjs/dev-tools/dev-middleware/hmr-client/createSocketUrl.js +14 -32
  4. package/dist/cjs/dev-tools/dev-middleware/hmr-client/index.js +24 -42
  5. package/dist/cjs/dev-tools/dev-middleware/index.js +45 -50
  6. package/dist/cjs/dev-tools/dev-middleware/socketServer.js +48 -46
  7. package/dist/cjs/dev-tools/https/index.js +21 -38
  8. package/dist/cjs/dev-tools/mock/getMockData.js +33 -33
  9. package/dist/cjs/dev-tools/mock/index.js +67 -47
  10. package/dist/cjs/dev-tools/register/index.js +59 -70
  11. package/dist/cjs/dev-tools/watcher/dependencyTree.js +52 -55
  12. package/dist/cjs/dev-tools/watcher/index.js +52 -53
  13. package/dist/cjs/dev-tools/watcher/statsCache.js +37 -47
  14. package/dist/cjs/index.js +16 -28
  15. package/dist/cjs/server/devServer.js +163 -109
  16. package/dist/cjs/server/index.js +11 -29
  17. package/dist/cjs/types.js +4 -15
  18. package/dist/esm/constants.js +19 -20
  19. package/dist/esm/dev-tools/dev-middleware/hmr-client/createSocketUrl.js +43 -44
  20. package/dist/esm/dev-tools/dev-middleware/hmr-client/index.js +148 -157
  21. package/dist/esm/dev-tools/dev-middleware/index.js +307 -291
  22. package/dist/esm/dev-tools/dev-middleware/socketServer.js +216 -202
  23. package/dist/esm/dev-tools/https/index.js +189 -182
  24. package/dist/esm/dev-tools/mock/getMockData.js +297 -278
  25. package/dist/esm/dev-tools/mock/index.js +198 -192
  26. package/dist/esm/dev-tools/register/index.js +141 -141
  27. package/dist/esm/dev-tools/watcher/dependencyTree.js +153 -138
  28. package/dist/esm/dev-tools/watcher/index.js +187 -175
  29. package/dist/esm/dev-tools/watcher/statsCache.js +118 -116
  30. package/dist/esm/index.js +9 -8
  31. package/dist/esm/server/devServer.js +803 -766
  32. package/dist/esm/server/index.js +80 -76
  33. package/dist/esm/types.js +1 -1
  34. package/dist/esm-node/constants.js +4 -5
  35. package/dist/esm-node/dev-tools/dev-middleware/hmr-client/createSocketUrl.js +2 -11
  36. package/dist/esm-node/dev-tools/dev-middleware/hmr-client/index.js +125 -139
  37. package/dist/esm-node/dev-tools/dev-middleware/index.js +31 -17
  38. package/dist/esm-node/dev-tools/dev-middleware/socketServer.js +33 -12
  39. package/dist/esm-node/dev-tools/https/index.js +13 -15
  40. package/dist/esm-node/dev-tools/mock/getMockData.js +20 -12
  41. package/dist/esm-node/dev-tools/mock/index.js +7 -7
  42. package/dist/esm-node/dev-tools/register/index.js +38 -29
  43. package/dist/esm-node/dev-tools/watcher/dependencyTree.js +32 -21
  44. package/dist/esm-node/dev-tools/watcher/index.js +31 -18
  45. package/dist/esm-node/dev-tools/watcher/statsCache.js +18 -8
  46. package/dist/esm-node/index.js +2 -5
  47. package/dist/esm-node/server/devServer.js +87 -62
  48. package/dist/esm-node/server/index.js +1 -4
  49. package/dist/esm-node/types.js +1 -0
  50. package/package.json +13 -9
  51. package/dist/js/modern/constants.js +0 -19
  52. package/dist/js/modern/dev-tools/dev-middleware/hmr-client/createSocketUrl.js +0 -41
  53. package/dist/js/modern/dev-tools/dev-middleware/hmr-client/index.js +0 -143
  54. package/dist/js/modern/dev-tools/dev-middleware/index.js +0 -94
  55. package/dist/js/modern/dev-tools/dev-middleware/socket-server.js +0 -132
  56. package/dist/js/modern/dev-tools/https/index.js +0 -49
  57. package/dist/js/modern/dev-tools/mock/getMockData.js +0 -114
  58. package/dist/js/modern/dev-tools/mock/index.js +0 -54
  59. package/dist/js/modern/dev-tools/register/index.js +0 -111
  60. package/dist/js/modern/dev-tools/watcher/dependency-tree.js +0 -59
  61. package/dist/js/modern/dev-tools/watcher/index.js +0 -106
  62. package/dist/js/modern/dev-tools/watcher/stats-cache.js +0 -58
  63. package/dist/js/modern/index.js +0 -12
  64. package/dist/js/modern/server/dev-server.js +0 -293
  65. package/dist/js/modern/server/index.js +0 -16
  66. package/dist/js/modern/types.js +0 -0
  67. package/dist/js/node/constants.js +0 -42
  68. package/dist/js/node/dev-tools/dev-middleware/hmr-client/createSocketUrl.js +0 -65
  69. package/dist/js/node/dev-tools/dev-middleware/hmr-client/index.js +0 -152
  70. package/dist/js/node/dev-tools/dev-middleware/index.js +0 -119
  71. package/dist/js/node/dev-tools/dev-middleware/socket-server.js +0 -159
  72. package/dist/js/node/dev-tools/https/index.js +0 -72
  73. package/dist/js/node/dev-tools/mock/getMockData.js +0 -135
  74. package/dist/js/node/dev-tools/mock/index.js +0 -83
  75. package/dist/js/node/dev-tools/register/index.js +0 -138
  76. package/dist/js/node/dev-tools/watcher/dependency-tree.js +0 -89
  77. package/dist/js/node/dev-tools/watcher/index.js +0 -135
  78. package/dist/js/node/dev-tools/watcher/stats-cache.js +0 -87
  79. package/dist/js/node/index.js +0 -35
  80. package/dist/js/node/server/dev-server.js +0 -310
  81. package/dist/js/node/server/index.js +0 -39
  82. package/dist/js/node/types.js +0 -15
  83. package/dist/js/treeshaking/constants.js +0 -21
  84. package/dist/js/treeshaking/dev-tools/dev-middleware/hmr-client/createSocketUrl.js +0 -51
  85. package/dist/js/treeshaking/dev-tools/dev-middleware/hmr-client/index.js +0 -157
  86. package/dist/js/treeshaking/dev-tools/dev-middleware/index.js +0 -322
  87. package/dist/js/treeshaking/dev-tools/dev-middleware/socket-server.js +0 -209
  88. package/dist/js/treeshaking/dev-tools/https/index.js +0 -193
  89. package/dist/js/treeshaking/dev-tools/mock/getMockData.js +0 -327
  90. package/dist/js/treeshaking/dev-tools/mock/index.js +0 -191
  91. package/dist/js/treeshaking/dev-tools/register/index.js +0 -153
  92. package/dist/js/treeshaking/dev-tools/watcher/dependency-tree.js +0 -150
  93. package/dist/js/treeshaking/dev-tools/watcher/index.js +0 -200
  94. package/dist/js/treeshaking/dev-tools/watcher/stats-cache.js +0 -128
  95. package/dist/js/treeshaking/index.js +0 -9
  96. package/dist/js/treeshaking/server/dev-server.js +0 -799
  97. package/dist/js/treeshaking/server/index.js +0 -92
  98. package/dist/js/treeshaking/types.js +0 -1
@@ -1,45 +1,69 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
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 mock_exports = {};
29
- __export(mock_exports, {
30
- createMockHandler: () => createMockHandler
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "createMockHandler", {
6
+ enumerable: true,
7
+ get: () => createMockHandler
31
8
  });
32
- module.exports = __toCommonJS(mock_exports);
33
- var import_path = __toESM(require("path"));
34
- var import_utils = require("@modern-js/utils");
35
- var import_prod_server = require("@modern-js/prod-server");
36
- var import_getMockData = __toESM(require("./getMockData"));
9
+ const _path = /* @__PURE__ */ _interop_require_default(require("path"));
10
+ const _utils = require("@modern-js/utils");
11
+ const _prodserver = require("@modern-js/prod-server");
12
+ const _getMockData = /* @__PURE__ */ _interop_require_wildcard(require("./getMockData"));
13
+ function _interop_require_default(obj) {
14
+ return obj && obj.__esModule ? obj : {
15
+ default: obj
16
+ };
17
+ }
18
+ function _getRequireWildcardCache(nodeInterop) {
19
+ if (typeof WeakMap !== "function")
20
+ return null;
21
+ var cacheBabelInterop = /* @__PURE__ */ new WeakMap();
22
+ var cacheNodeInterop = /* @__PURE__ */ new WeakMap();
23
+ return (_getRequireWildcardCache = function(nodeInterop2) {
24
+ return nodeInterop2 ? cacheNodeInterop : cacheBabelInterop;
25
+ })(nodeInterop);
26
+ }
27
+ function _interop_require_wildcard(obj, nodeInterop) {
28
+ if (!nodeInterop && obj && obj.__esModule) {
29
+ return obj;
30
+ }
31
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
32
+ return {
33
+ default: obj
34
+ };
35
+ }
36
+ var cache = _getRequireWildcardCache(nodeInterop);
37
+ if (cache && cache.has(obj)) {
38
+ return cache.get(obj);
39
+ }
40
+ var newObj = {};
41
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
42
+ for (var key in obj) {
43
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
44
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
45
+ if (desc && (desc.get || desc.set)) {
46
+ Object.defineProperty(newObj, key, desc);
47
+ } else {
48
+ newObj[key] = obj[key];
49
+ }
50
+ }
51
+ }
52
+ newObj.default = obj;
53
+ if (cache) {
54
+ cache.set(obj, newObj);
55
+ }
56
+ return newObj;
57
+ }
37
58
  const createMockHandler = ({ pwd }) => {
38
- const exts = [".ts", ".js"];
59
+ const exts = [
60
+ ".ts",
61
+ ".js"
62
+ ];
39
63
  let filepath = "";
40
64
  for (const ext of exts) {
41
- const maybeMatch = import_path.default.join(pwd, `${import_prod_server.AGGRED_DIR.mock}/index${ext}`);
42
- if (import_utils.fs.existsSync(maybeMatch)) {
65
+ const maybeMatch = _path.default.join(pwd, `${_prodserver.AGGRED_DIR.mock}/index${ext}`);
66
+ if (_utils.fs.existsSync(maybeMatch)) {
43
67
  filepath = maybeMatch;
44
68
  break;
45
69
  }
@@ -47,27 +71,27 @@ const createMockHandler = ({ pwd }) => {
47
71
  if (!filepath) {
48
72
  return null;
49
73
  }
50
- const mod = (0, import_utils.compatRequire)(filepath, false);
74
+ const mod = (0, _utils.compatRequire)(filepath, false);
51
75
  const { default: mockModule = mod, config } = mod;
52
- if ((config == null ? void 0 : config.enable) === false) {
76
+ if ((config === null || config === void 0 ? void 0 : config.enable) === false) {
53
77
  return null;
54
78
  }
55
79
  if (!mockModule) {
56
80
  throw new Error(`Mock file ${filepath} parsed failed!`);
57
81
  }
58
- const apiList = (0, import_getMockData.default)(mockModule);
82
+ const apiList = (0, _getMockData.default)(mockModule);
59
83
  if (!apiList || apiList.length === 0) {
60
84
  return null;
61
85
  }
62
86
  return async (context, next) => {
63
- if (typeof (config == null ? void 0 : config.enable) === "function") {
87
+ if (typeof (config === null || config === void 0 ? void 0 : config.enable) === "function") {
64
88
  const enableMock = config.enable(context.req, context.res);
65
89
  if (!enableMock) {
66
90
  return next();
67
91
  }
68
92
  }
69
93
  const { res } = context;
70
- const matched = (0, import_getMockData.getMatched)(context, apiList);
94
+ const matched = (0, _getMockData.getMatched)(context, apiList);
71
95
  if (!matched) {
72
96
  return next();
73
97
  }
@@ -75,7 +99,3 @@ const createMockHandler = ({ pwd }) => {
75
99
  return matched.handler(context, next);
76
100
  };
77
101
  };
78
- // Annotate the CommonJS export names for ESM import in node:
79
- 0 && (module.exports = {
80
- createMockHandler
81
- });
@@ -1,39 +1,20 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
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 register_exports = {};
29
- __export(register_exports, {
30
- enableRegister: () => enableRegister
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "enableRegister", {
6
+ enumerable: true,
7
+ get: () => enableRegister
31
8
  });
32
- module.exports = __toCommonJS(register_exports);
33
- var import_path = __toESM(require("path"));
34
- var import_server_utils = require("@modern-js/server-utils");
35
- var import_utils = require("@modern-js/utils");
36
- const debug = (0, import_utils.createDebugger)("server");
9
+ const _path = /* @__PURE__ */ _interop_require_default(require("path"));
10
+ const _serverutils = require("@modern-js/server-utils");
11
+ const _utils = require("@modern-js/utils");
12
+ function _interop_require_default(obj) {
13
+ return obj && obj.__esModule ? obj : {
14
+ default: obj
15
+ };
16
+ }
17
+ const debug = (0, _utils.createDebugger)("server");
37
18
  const checkDep = (depName, paths) => {
38
19
  let packagePath = "";
39
20
  try {
@@ -45,31 +26,42 @@ const checkDep = (depName, paths) => {
45
26
  return Boolean(packagePath);
46
27
  };
47
28
  const enableRegister = (projectRoot, config) => {
48
- var _a, _b, _c;
49
- const registerDirs = ["./api", "./server", "./config/mock", "./shared"];
29
+ const registerDirs = [
30
+ "./api",
31
+ "./server",
32
+ "./config/mock",
33
+ "./shared"
34
+ ];
50
35
  const TS_CONFIG_FILENAME = `tsconfig.json`;
51
- const tsconfigPath = import_path.default.resolve(projectRoot, TS_CONFIG_FILENAME);
52
- const isTsProject = import_utils.fs.existsSync(tsconfigPath);
53
- const existTsNode = checkDep("ts-node", [projectRoot]);
54
- const existTsConfigPaths = checkDep("tsconfig-paths", [projectRoot]);
36
+ const tsconfigPath = _path.default.resolve(projectRoot, TS_CONFIG_FILENAME);
37
+ const isTsProject = _utils.fs.existsSync(tsconfigPath);
38
+ const existTsNode = checkDep("ts-node", [
39
+ projectRoot
40
+ ]);
41
+ const existTsConfigPaths = checkDep("tsconfig-paths", [
42
+ projectRoot
43
+ ]);
55
44
  if (isTsProject && existTsNode && existTsConfigPaths) {
45
+ var _config_output_distPath;
56
46
  debug("use ts-node");
57
- const distPath = ((_a = config.output.distPath) == null ? void 0 : _a.root) || "dist";
47
+ const distPath = ((_config_output_distPath = config.output.distPath) === null || _config_output_distPath === void 0 ? void 0 : _config_output_distPath.root) || "dist";
58
48
  const tsNode = require("ts-node");
59
49
  const tsConfigPaths = require("tsconfig-paths");
60
50
  const { alias } = config.source;
61
- const aliasConfig = (0, import_utils.getAliasConfig)(alias, {
51
+ const aliasConfig = (0, _utils.getAliasConfig)(alias, {
62
52
  appDirectory: projectRoot,
63
53
  tsconfigPath
64
54
  });
65
55
  const { paths = {}, absoluteBaseUrl = "./" } = aliasConfig;
66
56
  const tsPaths = Object.keys(paths).reduce((o, key) => {
67
57
  let tsPath = paths[key];
68
- if (typeof tsPath === "string" && import_path.default.isAbsolute(tsPath)) {
69
- tsPath = import_path.default.relative(absoluteBaseUrl, tsPath);
58
+ if (typeof tsPath === "string" && _path.default.isAbsolute(tsPath)) {
59
+ tsPath = _path.default.relative(absoluteBaseUrl, tsPath);
70
60
  }
71
61
  if (typeof tsPath === "string") {
72
- tsPath = [tsPath];
62
+ tsPath = [
63
+ tsPath
64
+ ];
73
65
  }
74
66
  return {
75
67
  ...o,
@@ -86,45 +78,42 @@ const enableRegister = (projectRoot, config) => {
86
78
  // for env.d.ts, https://www.npmjs.com/package/ts-node#missing-types
87
79
  files: true,
88
80
  transpileOnly: true,
89
- ignore: ["(?:^|/)node_modules/", `(?:^|/)${distPath}/`]
81
+ ignore: [
82
+ "(?:^|/)node_modules/",
83
+ `(?:^|/)${distPath}/`
84
+ ]
90
85
  });
91
86
  } else {
87
+ var _config_tools, _config_server;
92
88
  debug("use @babel/register");
93
- const babelConfig = (0, import_server_utils.resolveBabelConfig)(
94
- projectRoot,
95
- {
96
- ...config.source,
97
- babelConfig: (_b = config.tools) == null ? void 0 : _b.babel,
98
- server: {
99
- compiler: (_c = config.server) == null ? void 0 : _c.compiler
100
- }
101
- },
102
- {
103
- tsconfigPath,
104
- syntax: "es6+",
105
- type: "commonjs"
89
+ const babelConfig = (0, _serverutils.resolveBabelConfig)(projectRoot, {
90
+ ...config.source,
91
+ babelConfig: (_config_tools = config.tools) === null || _config_tools === void 0 ? void 0 : _config_tools.babel,
92
+ server: {
93
+ compiler: (_config_server = config.server) === null || _config_server === void 0 ? void 0 : _config_server.compiler
106
94
  }
107
- );
95
+ }, {
96
+ tsconfigPath,
97
+ syntax: "es6+",
98
+ type: "commonjs"
99
+ });
108
100
  return require("@babel/register")({
109
101
  ...babelConfig,
110
102
  only: [
111
103
  function(filePath) {
112
- if (filePath.includes(`node_modules${import_path.default.sep}.modern-js`)) {
104
+ if (filePath.includes(`node_modules${_path.default.sep}.modern-js`)) {
113
105
  return true;
114
106
  }
115
- return registerDirs.some(
116
- (registerDir) => filePath.startsWith(import_path.default.join(projectRoot, registerDir))
117
- );
107
+ return registerDirs.some((registerDir) => filePath.startsWith(_path.default.join(projectRoot, registerDir)));
118
108
  }
119
109
  ],
120
- extensions: [".js", ".ts"],
110
+ extensions: [
111
+ ".js",
112
+ ".ts"
113
+ ],
121
114
  babelrc: false,
122
115
  configFile: false,
123
116
  root: projectRoot
124
117
  });
125
118
  }
126
119
  };
127
- // Annotate the CommonJS export names for ESM import in node:
128
- 0 && (module.exports = {
129
- enableRegister
130
- });
@@ -1,37 +1,37 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
8
6
  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 dependencyTree_exports = {};
29
- __export(dependencyTree_exports, {
30
- DependencyTree: () => DependencyTree,
31
- defaultIgnores: () => defaultIgnores
7
+ Object.defineProperty(target, name, {
8
+ enumerable: true,
9
+ get: all[name]
10
+ });
11
+ }
12
+ _export(exports, {
13
+ defaultIgnores: () => defaultIgnores,
14
+ DependencyTree: () => DependencyTree
32
15
  });
33
- module.exports = __toCommonJS(dependencyTree_exports);
34
- var import_minimatch = __toESM(require("minimatch"));
16
+ const _minimatch = /* @__PURE__ */ _interop_require_default(require("minimatch"));
17
+ function _define_property(obj, key, value) {
18
+ if (key in obj) {
19
+ Object.defineProperty(obj, key, {
20
+ value,
21
+ enumerable: true,
22
+ configurable: true,
23
+ writable: true
24
+ });
25
+ } else {
26
+ obj[key] = value;
27
+ }
28
+ return obj;
29
+ }
30
+ function _interop_require_default(obj) {
31
+ return obj && obj.__esModule ? obj : {
32
+ default: obj
33
+ };
34
+ }
35
35
  const defaultIgnores = [
36
36
  "**/bower_components/**",
37
37
  "**/coverage/**",
@@ -41,25 +41,21 @@ const defaultIgnores = [
41
41
  "**/*.log"
42
42
  ];
43
43
  class DependencyTree {
44
- constructor() {
45
- this.tree = /* @__PURE__ */ new Map();
46
- this.ignore = [...defaultIgnores];
47
- }
48
44
  getNode(path) {
49
45
  return this.tree.get(path);
50
46
  }
51
47
  /**
52
- * update dependency tree
53
- *
54
- * @param cache
55
- */
48
+ * update dependency tree
49
+ *
50
+ * @param cache
51
+ */
56
52
  update(cache) {
57
53
  this.tree.clear();
58
54
  Object.keys(cache).forEach((path) => {
59
55
  if (!this.shouldIgnore(path)) {
60
- const module2 = cache[path];
61
- this.tree.set(module2.filename, {
62
- module: module2,
56
+ const module = cache[path];
57
+ this.tree.set(module.filename, {
58
+ module,
63
59
  parent: /* @__PURE__ */ new Set(),
64
60
  children: /* @__PURE__ */ new Set()
65
61
  });
@@ -86,17 +82,18 @@ class DependencyTree {
86
82
  }
87
83
  }
88
84
  shouldIgnore(path) {
89
- return !path || Boolean(
90
- this.ignore.find(
91
- (rule) => import_minimatch.default.match([path], rule, {
92
- dot: true
93
- }).length > 0
94
- )
95
- );
85
+ return !path || Boolean(this.ignore.find((rule) => _minimatch.default.match([
86
+ path
87
+ ], rule, {
88
+ dot: true
89
+ }).length > 0));
90
+ }
91
+ constructor() {
92
+ _define_property(this, "tree", void 0);
93
+ _define_property(this, "ignore", void 0);
94
+ this.tree = /* @__PURE__ */ new Map();
95
+ this.ignore = [
96
+ ...defaultIgnores
97
+ ];
96
98
  }
97
99
  }
98
- // Annotate the CommonJS export names for ESM import in node:
99
- 0 && (module.exports = {
100
- DependencyTree,
101
- defaultIgnores
102
- });
@@ -1,42 +1,42 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
8
6
  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 watcher_exports = {};
29
- __export(watcher_exports, {
7
+ Object.defineProperty(target, name, {
8
+ enumerable: true,
9
+ get: all[name]
10
+ });
11
+ }
12
+ _export(exports, {
30
13
  default: () => Watcher,
31
14
  defaultWatchOptions: () => defaultWatchOptions,
32
15
  getWatchedFiles: () => getWatchedFiles,
33
16
  mergeWatchOptions: () => mergeWatchOptions
34
17
  });
35
- module.exports = __toCommonJS(watcher_exports);
36
- var import_path = __toESM(require("path"));
37
- var import_utils = require("@modern-js/utils");
38
- var import_dependencyTree = require("./dependencyTree");
39
- var import_statsCache = require("./statsCache");
18
+ const _path = /* @__PURE__ */ _interop_require_default(require("path"));
19
+ const _utils = require("@modern-js/utils");
20
+ const _dependencyTree = require("./dependencyTree");
21
+ const _statsCache = require("./statsCache");
22
+ function _define_property(obj, key, value) {
23
+ if (key in obj) {
24
+ Object.defineProperty(obj, key, {
25
+ value,
26
+ enumerable: true,
27
+ configurable: true,
28
+ writable: true
29
+ });
30
+ } else {
31
+ obj[key] = value;
32
+ }
33
+ return obj;
34
+ }
35
+ function _interop_require_default(obj) {
36
+ return obj && obj.__esModule ? obj : {
37
+ default: obj
38
+ };
39
+ }
40
40
  const defaultWatchOptions = {
41
41
  // 初始化的时候不触发 add、addDir 事件
42
42
  ignoreInitial: true,
@@ -47,7 +47,7 @@ const getWatchedFiles = (watcher) => {
47
47
  const files = [];
48
48
  Object.keys(watched).forEach((dir) => {
49
49
  watched[dir].forEach((fileName) => {
50
- files.push(import_path.default.join(dir, fileName));
50
+ files.push(_path.default.join(dir, fileName));
51
51
  });
52
52
  });
53
53
  return files;
@@ -60,7 +60,9 @@ const mergeWatchOptions = (options) => {
60
60
  const { ignored } = watchOptions;
61
61
  const finalIgnored = ignored ? [
62
62
  defaultWatchOptions.ignored,
63
- ...Array.isArray(ignored) ? ignored : [ignored]
63
+ ...Array.isArray(ignored) ? ignored : [
64
+ ignored
65
+ ]
64
66
  ] : ignored;
65
67
  if (finalIgnored) {
66
68
  watchOptions.ignored = finalIgnored;
@@ -73,26 +75,25 @@ const mergeWatchOptions = (options) => {
73
75
  return finalWatchOptions;
74
76
  };
75
77
  class Watcher {
76
- constructor() {
77
- this.dependencyTree = null;
78
- }
79
78
  listen(files, options, callback) {
80
79
  const watched = files.filter(Boolean);
81
80
  const filenames = watched.map((filename) => filename.replace(/\\/g, "/"));
82
- const cache = new import_statsCache.StatsCache();
83
- const watcher = import_utils.chokidar.watch(filenames, options);
81
+ const cache = new _statsCache.StatsCache();
82
+ const watcher = _utils.chokidar.watch(filenames, options);
84
83
  watcher.on("ready", () => {
85
84
  cache.add(getWatchedFiles(watcher));
86
85
  });
87
86
  watcher.on("change", (changed) => {
88
- if (!import_utils.fs.existsSync(changed) || cache.isDiff(changed)) {
87
+ if (!_utils.fs.existsSync(changed) || cache.isDiff(changed)) {
89
88
  cache.refresh(changed);
90
89
  callback(changed, "change");
91
90
  }
92
91
  });
93
92
  watcher.on("add", (changed) => {
94
93
  if (!cache.has(changed)) {
95
- cache.add([changed]);
94
+ cache.add([
95
+ changed
96
+ ]);
96
97
  callback(changed, "add");
97
98
  }
98
99
  });
@@ -103,15 +104,15 @@ class Watcher {
103
104
  this.watcher = watcher;
104
105
  }
105
106
  createDepTree() {
106
- this.dependencyTree = new import_dependencyTree.DependencyTree();
107
+ this.dependencyTree = new _dependencyTree.DependencyTree();
107
108
  }
108
109
  updateDepTree() {
109
- var _a;
110
- (_a = this.dependencyTree) == null ? void 0 : _a.update(require.cache);
110
+ var _this_dependencyTree;
111
+ (_this_dependencyTree = this.dependencyTree) === null || _this_dependencyTree === void 0 ? void 0 : _this_dependencyTree.update(require.cache);
111
112
  }
112
113
  cleanDepCache(filepath) {
113
- var _a;
114
- const node = (_a = this.dependencyTree) == null ? void 0 : _a.getNode(filepath);
114
+ var _this_dependencyTree;
115
+ const node = (_this_dependencyTree = this.dependencyTree) === null || _this_dependencyTree === void 0 ? void 0 : _this_dependencyTree.getNode(filepath);
115
116
  if (node && require.cache[filepath]) {
116
117
  delete require.cache[filepath];
117
118
  for (const parentNode of node.parent.values()) {
@@ -122,10 +123,8 @@ class Watcher {
122
123
  close() {
123
124
  return this.watcher.close();
124
125
  }
126
+ constructor() {
127
+ _define_property(this, "dependencyTree", null);
128
+ _define_property(this, "watcher", void 0);
129
+ }
125
130
  }
126
- // Annotate the CommonJS export names for ESM import in node:
127
- 0 && (module.exports = {
128
- defaultWatchOptions,
129
- getWatchedFiles,
130
- mergeWatchOptions
131
- });