@eggjs/watcher 4.0.4 → 4.0.5-beta.2

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 (102) hide show
  1. package/README.md +1 -5
  2. package/dist/agent.d.ts +2 -0
  3. package/dist/agent.js +7 -0
  4. package/dist/app.d.ts +2 -0
  5. package/dist/app.js +7 -0
  6. package/dist/config/config.default.d.ts +13 -0
  7. package/dist/config/config.default.js +14 -0
  8. package/dist/config/config.local.d.ts +8 -0
  9. package/dist/config/config.local.js +5 -0
  10. package/dist/config/config.unittest.d.ts +8 -0
  11. package/dist/config/config.unittest.js +5 -0
  12. package/dist/index.d.ts +6 -0
  13. package/dist/index.js +7 -0
  14. package/dist/lib/boot.d.ts +10 -0
  15. package/dist/lib/boot.js +19 -0
  16. package/dist/lib/event-sources/base.d.ts +9 -0
  17. package/dist/lib/event-sources/base.js +7 -0
  18. package/dist/lib/event-sources/default.d.ts +10 -0
  19. package/dist/lib/event-sources/default.js +19 -0
  20. package/dist/lib/event-sources/development.d.ts +11 -0
  21. package/dist/lib/event-sources/development.js +66 -0
  22. package/dist/lib/event-sources/index.d.ts +4 -0
  23. package/dist/lib/event-sources/index.js +5 -0
  24. package/{src/lib/types.ts → dist/lib/types.d.ts} +10 -12
  25. package/dist/lib/types.js +1 -0
  26. package/dist/lib/utils.d.ts +5 -0
  27. package/dist/lib/utils.js +15 -0
  28. package/dist/lib/watcher.d.ts +14 -0
  29. package/dist/lib/watcher.js +59 -0
  30. package/package.json +49 -59
  31. package/dist/commonjs/agent.d.ts +0 -2
  32. package/dist/commonjs/agent.js +0 -5
  33. package/dist/commonjs/app.d.ts +0 -2
  34. package/dist/commonjs/app.js +0 -5
  35. package/dist/commonjs/config/config.default.d.ts +0 -10
  36. package/dist/commonjs/config/config.default.js +0 -22
  37. package/dist/commonjs/config/config.local.d.ts +0 -5
  38. package/dist/commonjs/config/config.local.js +0 -8
  39. package/dist/commonjs/config/config.unittest.d.ts +0 -5
  40. package/dist/commonjs/config/config.unittest.js +0 -8
  41. package/dist/commonjs/index.d.ts +0 -3
  42. package/dist/commonjs/index.js +0 -20
  43. package/dist/commonjs/lib/boot.d.ts +0 -6
  44. package/dist/commonjs/lib/boot.js +0 -23
  45. package/dist/commonjs/lib/event-sources/base.d.ts +0 -5
  46. package/dist/commonjs/lib/event-sources/base.js +0 -8
  47. package/dist/commonjs/lib/event-sources/default.d.ts +0 -6
  48. package/dist/commonjs/lib/event-sources/default.js +0 -19
  49. package/dist/commonjs/lib/event-sources/development.d.ts +0 -7
  50. package/dist/commonjs/lib/event-sources/development.js +0 -103
  51. package/dist/commonjs/lib/event-sources/index.d.ts +0 -4
  52. package/dist/commonjs/lib/event-sources/index.js +0 -13
  53. package/dist/commonjs/lib/types.d.ts +0 -31
  54. package/dist/commonjs/lib/types.js +0 -3
  55. package/dist/commonjs/lib/utils.d.ts +0 -2
  56. package/dist/commonjs/lib/utils.js +0 -25
  57. package/dist/commonjs/lib/watcher.d.ts +0 -10
  58. package/dist/commonjs/lib/watcher.js +0 -113
  59. package/dist/commonjs/package.json +0 -3
  60. package/dist/esm/agent.d.ts +0 -2
  61. package/dist/esm/agent.js +0 -3
  62. package/dist/esm/app.d.ts +0 -2
  63. package/dist/esm/app.js +0 -3
  64. package/dist/esm/config/config.default.d.ts +0 -10
  65. package/dist/esm/config/config.default.js +0 -17
  66. package/dist/esm/config/config.local.d.ts +0 -5
  67. package/dist/esm/config/config.local.js +0 -6
  68. package/dist/esm/config/config.unittest.d.ts +0 -5
  69. package/dist/esm/config/config.unittest.js +0 -6
  70. package/dist/esm/index.d.ts +0 -3
  71. package/dist/esm/index.js +0 -4
  72. package/dist/esm/lib/boot.d.ts +0 -6
  73. package/dist/esm/lib/boot.js +0 -19
  74. package/dist/esm/lib/event-sources/base.d.ts +0 -5
  75. package/dist/esm/lib/event-sources/base.js +0 -4
  76. package/dist/esm/lib/event-sources/default.d.ts +0 -6
  77. package/dist/esm/lib/event-sources/default.js +0 -16
  78. package/dist/esm/lib/event-sources/development.d.ts +0 -7
  79. package/dist/esm/lib/event-sources/development.js +0 -97
  80. package/dist/esm/lib/event-sources/index.d.ts +0 -4
  81. package/dist/esm/lib/event-sources/index.js +0 -5
  82. package/dist/esm/lib/types.d.ts +0 -31
  83. package/dist/esm/lib/types.js +0 -2
  84. package/dist/esm/lib/utils.d.ts +0 -2
  85. package/dist/esm/lib/utils.js +0 -18
  86. package/dist/esm/lib/watcher.d.ts +0 -10
  87. package/dist/esm/lib/watcher.js +0 -106
  88. package/dist/esm/package.json +0 -3
  89. package/dist/package.json +0 -4
  90. package/src/agent.ts +0 -3
  91. package/src/app.ts +0 -3
  92. package/src/config/config.default.ts +0 -18
  93. package/src/config/config.local.ts +0 -7
  94. package/src/config/config.unittest.ts +0 -7
  95. package/src/index.ts +0 -3
  96. package/src/lib/boot.ts +0 -22
  97. package/src/lib/event-sources/base.ts +0 -6
  98. package/src/lib/event-sources/default.ts +0 -18
  99. package/src/lib/event-sources/development.ts +0 -101
  100. package/src/lib/event-sources/index.ts +0 -9
  101. package/src/lib/utils.ts +0 -20
  102. package/src/lib/watcher.ts +0 -120
@@ -1,5 +0,0 @@
1
- import type { WatcherConfig } from '../lib/types.js';
2
- declare const _default: {
3
- watcher: WatcherConfig;
4
- };
5
- export default _default;
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = {
4
- watcher: {
5
- type: 'development',
6
- },
7
- };
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmxvY2FsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbmZpZy9jb25maWcubG9jYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSxrQkFBZTtJQUNiLE9BQU8sRUFBRTtRQUNQLElBQUksRUFBRSxhQUFhO0tBQ0g7Q0FDbkIsQ0FBQyJ9
@@ -1,5 +0,0 @@
1
- import type { WatcherConfig } from '../lib/types.js';
2
- declare const _default: {
3
- watcher: WatcherConfig;
4
- };
5
- export default _default;
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = {
4
- watcher: {
5
- type: 'development',
6
- },
7
- };
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnVuaXR0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbmZpZy9jb25maWcudW5pdHRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSxrQkFBZTtJQUNiLE9BQU8sRUFBRTtRQUNQLElBQUksRUFBRSxhQUFhO0tBQ0g7Q0FDbkIsQ0FBQyJ9
@@ -1,3 +0,0 @@
1
- export * from './lib/types.js';
2
- export * from './lib/watcher.js';
3
- export * from './lib/event-sources/index.js';
@@ -1,20 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./lib/types.js"), exports);
18
- __exportStar(require("./lib/watcher.js"), exports);
19
- __exportStar(require("./lib/event-sources/index.js"), exports);
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlEQUErQjtBQUMvQixtREFBaUM7QUFDakMsK0RBQTZDIn0=
@@ -1,6 +0,0 @@
1
- import type { ILifecycleBoot, EggApplicationCore } from 'egg';
2
- export declare class Boot implements ILifecycleBoot {
3
- #private;
4
- constructor(appOrAgent: EggApplicationCore);
5
- didLoad(): Promise<void>;
6
- }
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Boot = void 0;
4
- const watcher_js_1 = require("./watcher.js");
5
- class Boot {
6
- #app;
7
- #watcher;
8
- constructor(appOrAgent) {
9
- this.#app = appOrAgent;
10
- this.#watcher = this.#app.watcher = this.#app.cluster(watcher_js_1.Watcher, {})
11
- .delegate('watch', 'subscribe')
12
- .create(appOrAgent.config);
13
- this.#watcher.on('info', (msg, ...args) => this.#app.coreLogger.info(msg, ...args))
14
- .on('warn', (msg, ...args) => this.#app.coreLogger.warn(msg, ...args))
15
- .on('error', (msg, ...args) => this.#app.coreLogger.error(msg, ...args));
16
- }
17
- async didLoad() {
18
- await this.#watcher.ready();
19
- this.#app.coreLogger.info('[@eggjs/watcher:%s] watcher start success', this.#app.type);
20
- }
21
- }
22
- exports.Boot = Boot;
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvYm9vdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSw2Q0FBdUM7QUFFdkMsTUFBYSxJQUFJO0lBQ2YsSUFBSSxDQUFxQjtJQUN6QixRQUFRLENBQVU7SUFFbEIsWUFBWSxVQUE4QjtRQUN4QyxJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQztRQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLG9CQUFPLEVBQUUsRUFBRSxDQUFDO2FBQy9ELFFBQVEsQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDO2FBQzlCLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBVyxFQUFFLEdBQUcsSUFBVyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7YUFDL0YsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQVcsRUFBRSxHQUFHLElBQVcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO2FBQ3BGLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFXLEVBQUUsR0FBRyxJQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTztRQUNYLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsMkNBQTJDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6RixDQUFDO0NBQ0Y7QUFsQkQsb0JBa0JDIn0=
@@ -1,5 +0,0 @@
1
- import { Base } from 'sdk-base';
2
- export declare abstract class BaseEventSource extends Base {
3
- abstract watch(file: string): void;
4
- abstract unwatch(file: string): void;
5
- }
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BaseEventSource = void 0;
4
- const sdk_base_1 = require("sdk-base");
5
- class BaseEventSource extends sdk_base_1.Base {
6
- }
7
- exports.BaseEventSource = BaseEventSource;
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvZXZlbnQtc291cmNlcy9iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVDQUFnQztBQUVoQyxNQUFzQixlQUFnQixTQUFRLGVBQUk7Q0FHakQ7QUFIRCwwQ0FHQyJ9
@@ -1,6 +0,0 @@
1
- import { BaseEventSource } from './base.js';
2
- export default class DefaultEventSource extends BaseEventSource {
3
- constructor();
4
- watch(): void;
5
- unwatch(): void;
6
- }
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const base_js_1 = require("./base.js");
4
- class DefaultEventSource extends base_js_1.BaseEventSource {
5
- constructor() {
6
- super();
7
- // delay emit so that can be listened
8
- setImmediate(() => this.emit('info', '[@eggjs/watcher] defaultEventSource watcher will NOT take effect'));
9
- this.ready(true);
10
- }
11
- watch() {
12
- this.emit('info', '[@eggjs/watcher] using defaultEventSource watcher.watch() does NOTHING');
13
- }
14
- unwatch() {
15
- this.emit('info', '[@eggjs/watcher] using defaultEventSource watcher.unwatch() does NOTHING');
16
- }
17
- }
18
- exports.default = DefaultEventSource;
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvZXZlbnQtc291cmNlcy9kZWZhdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsdUNBQTRDO0FBRTVDLE1BQXFCLGtCQUFtQixTQUFRLHlCQUFlO0lBQzdEO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFDUixxQ0FBcUM7UUFDckMsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLGtFQUFrRSxDQUFDLENBQUMsQ0FBQztRQUMxRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsd0VBQXdFLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLDBFQUEwRSxDQUFDLENBQUM7SUFDaEcsQ0FBQztDQUNGO0FBZkQscUNBZUMifQ==
@@ -1,7 +0,0 @@
1
- import { BaseEventSource } from './base.js';
2
- export default class DevelopmentEventSource extends BaseEventSource {
3
- #private;
4
- constructor();
5
- watch(file: string): void;
6
- unwatch(file: string): void;
7
- }
@@ -1,103 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const node_util_1 = require("node:util");
7
- const node_path_1 = __importDefault(require("node:path"));
8
- const node_fs_1 = __importDefault(require("node:fs"));
9
- const base_js_1 = require("./base.js");
10
- const debug = (0, node_util_1.debuglog)('@eggjs/watcher/lib/event-sources/development');
11
- // only used by local dev environment
12
- class DevelopmentEventSource extends base_js_1.BaseEventSource {
13
- #fileWatching = new Map();
14
- constructor() {
15
- super();
16
- this.ready(true);
17
- }
18
- watch(file) {
19
- try {
20
- const stat = node_fs_1.default.statSync(file, { throwIfNoEntry: false });
21
- if (!stat) {
22
- debug('watch %o ignore, file not exists', file);
23
- return;
24
- }
25
- debug('watch %o, isFile: %o', file, stat.isFile());
26
- // https://nodejs.org/docs/latest/api/fs.html#fswatchfilename-options-listener
27
- let recursive = true;
28
- if (process.platform === 'linux' && process.version.startsWith('v18.')) {
29
- // https://github.com/fgnass/filewatcher/pull/6
30
- // disable recursive on linux + Node.js <= 18
31
- recursive = false;
32
- }
33
- const handler = node_fs_1.default.watch(file, {
34
- persistent: true,
35
- recursive,
36
- }, (event, filename) => {
37
- debug('watch %o => event: %o, filename: %o', file, event, filename);
38
- let changePath = file;
39
- if (stat.isFile()) {
40
- this.#onFsWatchChange(event, changePath);
41
- }
42
- else {
43
- // dir
44
- if (filename) {
45
- changePath = node_path_1.default.join(file, filename);
46
- }
47
- this.#onFsWatchChange(event, changePath);
48
- }
49
- });
50
- // 保存 handler,用于解除监听
51
- this.#fileWatching.set(file, handler);
52
- }
53
- catch (e) {
54
- // file not exist, do nothing
55
- // do not emit error, in case of too many logs
56
- this.emit('warn', '[@eggjs/watcher:DevelopmentEventSource] watch %o error: %s', file, e);
57
- }
58
- }
59
- unwatch(file) {
60
- if (!file)
61
- return;
62
- const h = this.#fileWatching.get(file);
63
- if (!h)
64
- return;
65
- // fs.watch 文件监听
66
- h.removeAllListeners();
67
- h.close();
68
- this.#fileWatching.delete(file);
69
- }
70
- #onFsWatchChange(event, file) {
71
- if (!file) {
72
- this.emit('warn', '[@eggjs/watcher:DevelopmentEventSource] event: %o', event);
73
- return;
74
- }
75
- // { event: 'change',
76
- // path: '/Users/mk2/git/changing/test/fixtures/foo.js',
77
- // stat:
78
- // { dev: 16777220,
79
- // mode: 33188,
80
- // nlink: 1,
81
- // uid: 501,
82
- // gid: 20,
83
- // rdev: 0,
84
- // blksize: 4096,
85
- // ino: 72656587,
86
- // size: 11,
87
- // blocks: 8,
88
- // atime: Wed Jun 17 2015 00:08:11 GMT+0800 (CST),
89
- // mtime: Wed Jun 17 2015 00:08:38 GMT+0800 (CST),
90
- // ctime: Wed Jun 17 2015 00:08:38 GMT+0800 (CST),
91
- // birthtime: Tue Jun 16 2015 23:19:13 GMT+0800 (CST) } }
92
- const stat = node_fs_1.default.statSync(file, { throwIfNoEntry: false });
93
- const info = {
94
- path: file,
95
- event,
96
- stat,
97
- isDirectory: stat?.isDirectory(),
98
- };
99
- this.emit('change', info);
100
- }
101
- }
102
- exports.default = DevelopmentEventSource;
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2ZWxvcG1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2V2ZW50LXNvdXJjZXMvZGV2ZWxvcG1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx5Q0FBcUM7QUFDckMsMERBQTZCO0FBQzdCLHNEQUF3RDtBQUN4RCx1Q0FBNEM7QUFHNUMsTUFBTSxLQUFLLEdBQUcsSUFBQSxvQkFBUSxFQUFDLDhDQUE4QyxDQUFDLENBQUM7QUFFdkUscUNBQXFDO0FBQ3JDLE1BQXFCLHNCQUF1QixTQUFRLHlCQUFlO0lBQ2pFLGFBQWEsR0FBRyxJQUFJLEdBQUcsRUFBcUIsQ0FBQztJQUU3QztRQUNFLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBRUQsS0FBSyxDQUFDLElBQVk7UUFDaEIsSUFBSSxDQUFDO1lBQ0gsTUFBTSxJQUFJLEdBQUcsaUJBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDMUQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNWLEtBQUssQ0FBQyxrQ0FBa0MsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDaEQsT0FBTztZQUNULENBQUM7WUFDRCxLQUFLLENBQUMsc0JBQXNCLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQ25ELDhFQUE4RTtZQUM5RSxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUM7WUFDckIsSUFBSSxPQUFPLENBQUMsUUFBUSxLQUFLLE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO2dCQUN2RSwrQ0FBK0M7Z0JBQy9DLDZDQUE2QztnQkFDN0MsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUNwQixDQUFDO1lBQ0QsTUFB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
@@ -1,4 +0,0 @@
1
- import { BaseEventSource } from './base.js';
2
- import DefaultEventSource from './default.js';
3
- import DevelopmentEventSource from './development.js';
4
- export { BaseEventSource, DefaultEventSource, DevelopmentEventSource, };
@@ -1,13 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.DevelopmentEventSource = exports.DefaultEventSource = exports.BaseEventSource = void 0;
7
- const base_js_1 = require("./base.js");
8
- Object.defineProperty(exports, "BaseEventSource", { enumerable: true, get: function () { return base_js_1.BaseEventSource; } });
9
- const default_js_1 = __importDefault(require("./default.js"));
10
- exports.DefaultEventSource = default_js_1.default;
11
- const development_js_1 = __importDefault(require("./development.js"));
12
- exports.DevelopmentEventSource = development_js_1.default;
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2V2ZW50LXNvdXJjZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsdUNBQTRDO0FBSzFDLGdHQUxPLHlCQUFlLE9BS1A7QUFKakIsOERBQThDO0FBSzVDLDZCQUxLLG9CQUFrQixDQUtMO0FBSnBCLHNFQUFzRDtBQUtwRCxpQ0FMSyx3QkFBc0IsQ0FLTCJ9
@@ -1,31 +0,0 @@
1
- import type { WatchEventType, Stats } from 'node:fs';
2
- import type { Watcher } from './watcher.js';
3
- export interface WatcherConfig {
4
- /**
5
- * event source type, default is `default`
6
- * can be `default` or `development`
7
- */
8
- type: string;
9
- /**
10
- * event sources
11
- * key is event source type, value is event source module path
12
- */
13
- eventSources: Record<string, string>;
14
- }
15
- export interface ChangeInfo extends Record<string, any> {
16
- event: WatchEventType;
17
- /**
18
- * file stat if path exists
19
- */
20
- stat?: Stats;
21
- path: string;
22
- isDirectory?: boolean;
23
- }
24
- declare module '@eggjs/core' {
25
- interface EggCore {
26
- watcher: Watcher;
27
- }
28
- interface EggAppConfig {
29
- watcher: WatcherConfig;
30
- }
31
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
@@ -1,2 +0,0 @@
1
- export declare function isEqualOrParentPath(parent: string, child: string): boolean;
2
- export declare function getSourceDirname(): string;
@@ -1,25 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.isEqualOrParentPath = isEqualOrParentPath;
7
- exports.getSourceDirname = getSourceDirname;
8
- const node_path_1 = __importDefault(require("node:path"));
9
- const node_url_1 = require("node:url");
10
- // judge if parent is child's parent path
11
- // isEqualOrParentPath('/foo', '/foo/bar') => true
12
- // isEqualOrParentPath('/foo/bar', '/foo') => false
13
- function isEqualOrParentPath(parent, child) {
14
- return !node_path_1.default.relative(parent, child).startsWith('..');
15
- }
16
- function getSourceDirname() {
17
- if (typeof __dirname === 'string') {
18
- return node_path_1.default.dirname(__dirname);
19
- }
20
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
21
- // @ts-ignore
22
- const __filename = (0, node_url_1.fileURLToPath)('import_meta_url_placeholder_by_tshy_after');
23
- return node_path_1.default.dirname(node_path_1.default.dirname(__filename));
24
- }
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBTUEsa0RBRUM7QUFFRCw0Q0FTQztBQW5CRCwwREFBNkI7QUFDN0IsdUNBQXlDO0FBRXpDLHlDQUF5QztBQUN6QyxrREFBa0Q7QUFDbEQsbURBQW1EO0FBQ25ELFNBQWdCLG1CQUFtQixDQUFDLE1BQWMsRUFBRSxLQUFhO0lBQy9ELE9BQU8sQ0FBQyxtQkFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3hELENBQUM7QUFFRCxTQUFnQixnQkFBZ0I7SUFDOUIsSUFBSSxPQUFPLFNBQVMsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUNsQyxPQUFPLG1CQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCw2REFBNkQ7SUFDN0QsYUFBYTtJQUNiLE1BQU0sVUFBVSxHQUFHLElBQUEsd0JBQWEsRUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xELE9BQU8sbUJBQUksQ0FBQyxPQUFPLENBQUMsbUJBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztBQUNoRCxDQUFDIn0=
@@ -1,10 +0,0 @@
1
- import { Base } from 'sdk-base';
2
- import type { EggAppConfig } from '@eggjs/core';
3
- import type { ChangeInfo } from './types.js';
4
- export type WatchListener = (info: ChangeInfo) => void;
5
- export declare class Watcher extends Base {
6
- #private;
7
- constructor(config: EggAppConfig);
8
- protected _init(): Promise<void>;
9
- watch(path: string | string[], listener: WatchListener): void;
10
- }
@@ -1,113 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Watcher = void 0;
7
- const node_util_1 = require("node:util");
8
- const sdk_base_1 = require("sdk-base");
9
- const camelcase_1 = __importDefault(require("camelcase"));
10
- const utils_1 = require("@eggjs/utils");
11
- const utils_js_1 = require("./utils.js");
12
- const debug = (0, node_util_1.debuglog)('@eggjs/watcher/lib/watcher');
13
- class Watcher extends sdk_base_1.Base {
14
- #config;
15
- #eventSource;
16
- constructor(config) {
17
- super({
18
- initMethod: '_init',
19
- });
20
- this.#config = config;
21
- }
22
- async _init() {
23
- const watcherType = this.#config.watcher.type;
24
- let EventSource = this.#config.watcher.eventSources[watcherType];
25
- if (typeof EventSource === 'string') {
26
- EventSource = await (0, utils_1.importModule)(EventSource, {
27
- importDefaultOnly: true,
28
- });
29
- }
30
- // chokidar => watcherChokidar
31
- // custom => watcherCustom
32
- //
33
- // e.g:
34
- // config => { watcher: { type: 'custom' }, watcherCustom: { ... } }
35
- const key = (0, camelcase_1.default)(['watcher', watcherType]);
36
- const eventSourceOptions = this.#config[key] ?? {};
37
- this.#eventSource = Reflect.construct(EventSource, [eventSourceOptions]);
38
- this.#eventSource.on('change', this.#onChange.bind(this))
39
- .on('fuzzy-change', this.#onFuzzyChange.bind(this))
40
- .on('info', (...args) => this.emit('info', ...args))
41
- .on('warn', (...args) => this.emit('warn', ...args))
42
- .on('error', (...args) => this.emit('error', ...args));
43
- await this.#eventSource.ready();
44
- }
45
- watch(path, listener) {
46
- this.emit('info', '[@eggjs/watcher] Start watching: %j', path);
47
- if (!path)
48
- return;
49
- // support array
50
- if (Array.isArray(path)) {
51
- path.forEach(p => this.watch(p, listener));
52
- return;
53
- }
54
- // one file only watch once
55
- if (!this.listenerCount(path)) {
56
- this.#eventSource.watch(path);
57
- }
58
- this.on(path, listener);
59
- }
60
- /*
61
- // TODO wait unsubscribe implementation of cluster-client
62
- unwatch(path, callback) {
63
- if (!path) return;
64
-
65
- // support array
66
- if (Array.isArray(path)) {
67
- path.forEach(p => this.unwatch(p, callback));
68
- return;
69
- }
70
-
71
- if (callback) {
72
- this.removeListener(path, callback);
73
- // stop watching when no listener bound to the path
74
- if (this.listenerCount(path) === 0) {
75
- this._eventSource.unwatch(path);
76
- }
77
- return;
78
- }
79
-
80
- this.removeAllListeners(path);
81
- this._eventSource.unwatch(path);
82
- }
83
- */
84
- #onChange(info) {
85
- debug('onChange %o', info);
86
- this.emit('info', '[@eggjs/watcher] Received a change event from eventSource: %j', info);
87
- const path = info.path;
88
- for (const p of this.eventNames()) {
89
- if (typeof p !== 'string')
90
- continue;
91
- // if it is a sub path, emit a `change` event
92
- if ((0, utils_js_1.isEqualOrParentPath)(p, path)) {
93
- this.emit(p, info);
94
- }
95
- }
96
- }
97
- #onFuzzyChange(info) {
98
- debug('onFuzzyChange %o', info);
99
- this.emit('info', '[@eggjs/watcher] Received a fuzzy-change event from eventSource: %j', info);
100
- const path = info.path;
101
- for (const p of this.eventNames()) {
102
- if (typeof p !== 'string')
103
- continue;
104
- // if it is a parent path, emit a `change` event
105
- // just the opposite to `_onChange`
106
- if ((0, utils_js_1.isEqualOrParentPath)(path, p)) {
107
- this.emit(p, info);
108
- }
109
- }
110
- }
111
- }
112
- exports.Watcher = Watcher;
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0Y2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvd2F0Y2hlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSx5Q0FBcUM7QUFDckMsdUNBQWdDO0FBQ2hDLDBEQUFrQztBQUNsQyx3Q0FBNEM7QUFHNUMseUNBQWlEO0FBR2pELE1BQU0sS0FBSyxHQUFHLElBQUEsb0JBQVEsRUFBQyw0QkFBNEIsQ0FBQyxDQUFDO0FBSXJELE1BQWEsT0FBUSxTQUFRLGVBQUk7SUFDL0IsT0FBTyxDQUFlO0lBQ3RCLFlBQVksQ0FBa0I7SUFFOUIsWUFBWSxNQUFvQjtRQUM5QixLQUFLLENBQUM7WUFDSixVQUFVLEVBQUUsT0FBTztTQUNwQixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztJQUN4QixDQUFDO0lBRVMsS0FBSyxDQUFDLEtBQUs7UUFDbkIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQzlDLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQXNDLENBQUM7UUFDdEcsSUFBSSxPQUFPLFdBQVcsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNwQyxXQUFXLEdBQUcsTUFBTSxJQUFBLG9CQUFZLEVBQUMsV0FBVyxFQUFFO2dCQUM1QyxpQkFBaUIsRUFBRSxJQUFJO2FBQ3hCLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCw4QkFBOEI7UUFDOUIsMEJBQTBCO1FBQzFCLEVBQUU7UUFDRixPQUFPO1FBQ1AscUVBQXFFO1FBQ3JFLE1BQU0sR0FBRyxHQUFHLElBQUEsbUJBQVMsRUFBQyxDQUFFLFNBQVMsRUFBRSxXQUFXLENBQUUsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFF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
@@ -1,3 +0,0 @@
1
- {
2
- "type": "commonjs"
3
- }
@@ -1,2 +0,0 @@
1
- import { Boot } from './lib/boot.js';
2
- export default Boot;
package/dist/esm/agent.js DELETED
@@ -1,3 +0,0 @@
1
- import { Boot } from './lib/boot.js';
2
- export default Boot;
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWdlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyQyxlQUFlLElBQUksQ0FBQyJ9
package/dist/esm/app.d.ts DELETED
@@ -1,2 +0,0 @@
1
- import { Boot } from './lib/boot.js';
2
- export default Boot;
package/dist/esm/app.js DELETED
@@ -1,3 +0,0 @@
1
- import { Boot } from './lib/boot.js';
2
- export default Boot;
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FwcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJDLGVBQWUsSUFBSSxDQUFDIn0=
@@ -1,10 +0,0 @@
1
- import type { WatcherConfig } from '../lib/types.js';
2
- declare const _default: {
3
- /**
4
- * watcher options
5
- * @member Config#watcher
6
- * @property {string} type - event source type
7
- */
8
- watcher: WatcherConfig;
9
- };
10
- export default _default;
@@ -1,17 +0,0 @@
1
- import path from 'node:path';
2
- import { getSourceDirname } from '../lib/utils.js';
3
- export default {
4
- /**
5
- * watcher options
6
- * @member Config#watcher
7
- * @property {string} type - event source type
8
- */
9
- watcher: {
10
- type: 'default', // default event source
11
- eventSources: {
12
- default: path.join(getSourceDirname(), 'lib', 'event-sources', 'default'),
13
- development: path.join(getSourceDirname(), 'lib', 'event-sources', 'development'),
14
- },
15
- },
16
- };
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmRlZmF1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29uZmlnL2NvbmZpZy5kZWZhdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQztBQUM3QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUduRCxlQUFlO0lBQ2I7Ozs7T0FJRztJQUNILE9BQU8sRUFBRTtRQUNQLElBQUksRUFBRSxTQUFTLEVBQUUsdUJBQXVCO1FBQ3hDLFlBQVksRUFBRTtZQUNaLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxTQUFTLENBQUM7WUFDekUsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLGFBQWEsQ0FBQztTQUNsRjtLQUNlO0NBQ25CLENBQUMifQ==
@@ -1,5 +0,0 @@
1
- import type { WatcherConfig } from '../lib/types.js';
2
- declare const _default: {
3
- watcher: WatcherConfig;
4
- };
5
- export default _default;
@@ -1,6 +0,0 @@
1
- export default {
2
- watcher: {
3
- type: 'development',
4
- },
5
- };
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmxvY2FsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbmZpZy9jb25maWcubG9jYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsZUFBZTtJQUNiLE9BQU8sRUFBRTtRQUNQLElBQUksRUFBRSxhQUFhO0tBQ0g7Q0FDbkIsQ0FBQyJ9
@@ -1,5 +0,0 @@
1
- import type { WatcherConfig } from '../lib/types.js';
2
- declare const _default: {
3
- watcher: WatcherConfig;
4
- };
5
- export default _default;
@@ -1,6 +0,0 @@
1
- export default {
2
- watcher: {
3
- type: 'development',
4
- },
5
- };
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnVuaXR0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbmZpZy9jb25maWcudW5pdHRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsZUFBZTtJQUNiLE9BQU8sRUFBRTtRQUNQLElBQUksRUFBRSxhQUFhO0tBQ0g7Q0FDbkIsQ0FBQyJ9
@@ -1,3 +0,0 @@
1
- export * from './lib/types.js';
2
- export * from './lib/watcher.js';
3
- export * from './lib/event-sources/index.js';
package/dist/esm/index.js DELETED
@@ -1,4 +0,0 @@
1
- export * from './lib/types.js';
2
- export * from './lib/watcher.js';
3
- export * from './lib/event-sources/index.js';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsOEJBQThCLENBQUMifQ==
@@ -1,6 +0,0 @@
1
- import type { ILifecycleBoot, EggApplicationCore } from 'egg';
2
- export declare class Boot implements ILifecycleBoot {
3
- #private;
4
- constructor(appOrAgent: EggApplicationCore);
5
- didLoad(): Promise<void>;
6
- }
@@ -1,19 +0,0 @@
1
- import { Watcher } from './watcher.js';
2
- export class Boot {
3
- #app;
4
- #watcher;
5
- constructor(appOrAgent) {
6
- this.#app = appOrAgent;
7
- this.#watcher = this.#app.watcher = this.#app.cluster(Watcher, {})
8
- .delegate('watch', 'subscribe')
9
- .create(appOrAgent.config);
10
- this.#watcher.on('info', (msg, ...args) => this.#app.coreLogger.info(msg, ...args))
11
- .on('warn', (msg, ...args) => this.#app.coreLogger.warn(msg, ...args))
12
- .on('error', (msg, ...args) => this.#app.coreLogger.error(msg, ...args));
13
- }
14
- async didLoad() {
15
- await this.#watcher.ready();
16
- this.#app.coreLogger.info('[@eggjs/watcher:%s] watcher start success', this.#app.type);
17
- }
18
- }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvYm9vdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXZDLE1BQU0sT0FBTyxJQUFJO0lBQ2YsSUFBSSxDQUFxQjtJQUN6QixRQUFRLENBQVU7SUFFbEIsWUFBWSxVQUE4QjtRQUN4QyxJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQztRQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7YUFDL0QsUUFBUSxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUM7YUFDOUIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFXLEVBQUUsR0FBRyxJQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQzthQUMvRixFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBVyxFQUFFLEdBQUcsSUFBVyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7YUFDcEYsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQVcsRUFBRSxHQUFHLElBQVcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPO1FBQ1gsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQywyQ0FBMkMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pGLENBQUM7Q0FDRiJ9
@@ -1,5 +0,0 @@
1
- import { Base } from 'sdk-base';
2
- export declare abstract class BaseEventSource extends Base {
3
- abstract watch(file: string): void;
4
- abstract unwatch(file: string): void;
5
- }
@@ -1,4 +0,0 @@
1
- import { Base } from 'sdk-base';
2
- export class BaseEventSource extends Base {
3
- }
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvZXZlbnQtc291cmNlcy9iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFaEMsTUFBTSxPQUFnQixlQUFnQixTQUFRLElBQUk7Q0FHakQifQ==
@@ -1,6 +0,0 @@
1
- import { BaseEventSource } from './base.js';
2
- export default class DefaultEventSource extends BaseEventSource {
3
- constructor();
4
- watch(): void;
5
- unwatch(): void;
6
- }