@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,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
- };