@eggjs/watcher 4.0.1 → 4.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commonjs/config/config.default.d.ts +2 -7
- package/dist/commonjs/config/config.default.js +1 -1
- package/dist/commonjs/config/config.local.d.ts +2 -3
- package/dist/commonjs/config/config.local.js +1 -1
- package/dist/commonjs/config/config.unittest.d.ts +2 -3
- package/dist/commonjs/config/config.unittest.js +1 -1
- package/dist/commonjs/lib/boot.d.ts +2 -2
- package/dist/commonjs/lib/boot.js +3 -3
- package/dist/commonjs/lib/event-sources/index.d.ts +4 -3
- package/dist/commonjs/lib/event-sources/index.js +10 -17
- package/dist/commonjs/lib/types.d.ts +15 -18
- package/dist/commonjs/lib/watcher.d.ts +3 -2
- package/dist/commonjs/lib/watcher.js +1 -1
- package/dist/esm/config/config.default.d.ts +2 -7
- package/dist/esm/config/config.default.js +1 -1
- package/dist/esm/config/config.local.d.ts +2 -3
- package/dist/esm/config/config.local.js +1 -1
- package/dist/esm/config/config.unittest.d.ts +2 -3
- package/dist/esm/config/config.unittest.js +1 -1
- package/dist/esm/lib/boot.d.ts +2 -2
- package/dist/esm/lib/boot.js +3 -3
- package/dist/esm/lib/event-sources/index.d.ts +4 -3
- package/dist/esm/lib/event-sources/index.js +5 -4
- package/dist/esm/lib/types.d.ts +15 -18
- package/dist/esm/lib/watcher.d.ts +3 -2
- package/dist/esm/lib/watcher.js +1 -1
- package/dist/package.json +1 -1
- package/package.json +13 -8
- package/src/config/config.default.ts +2 -1
- package/src/config/config.local.ts +3 -1
- package/src/config/config.unittest.ts +3 -1
- package/src/lib/boot.ts +5 -5
- package/src/lib/event-sources/index.ts +9 -3
- package/src/lib/types.ts +15 -16
- package/src/lib/watcher.ts +5 -4
|
@@ -1,15 +1,10 @@
|
|
|
1
|
+
import type { WatcherConfig } from '../lib/types.js';
|
|
1
2
|
declare const _default: {
|
|
2
3
|
/**
|
|
3
4
|
* watcher options
|
|
4
5
|
* @member Config#watcher
|
|
5
6
|
* @property {string} type - event source type
|
|
6
7
|
*/
|
|
7
|
-
watcher:
|
|
8
|
-
type: string;
|
|
9
|
-
eventSources: {
|
|
10
|
-
default: string;
|
|
11
|
-
development: string;
|
|
12
|
-
};
|
|
13
|
-
};
|
|
8
|
+
watcher: WatcherConfig;
|
|
14
9
|
};
|
|
15
10
|
export default _default;
|
|
@@ -19,4 +19,4 @@ exports.default = {
|
|
|
19
19
|
},
|
|
20
20
|
},
|
|
21
21
|
};
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmRlZmF1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29uZmlnL2NvbmZpZy5kZWZhdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsMERBQTZCO0FBQzdCLDhDQUFtRDtBQUduRCxrQkFBZTtJQUNiOzs7O09BSUc7SUFDSCxPQUFPLEVBQUU7UUFDUCxJQUFJLEVBQUUsU0FBUyxFQUFFLHVCQUF1QjtRQUN4QyxZQUFZLEVBQUU7WUFDWixPQUFPLEVBQUUsbUJBQUksQ0FBQyxJQUFJLENBQUMsSUFBQSwyQkFBZ0IsR0FBRSxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsU0FBUyxDQUFDO1lBQ3pFLFdBQVcsRUFBRSxtQkFBSSxDQUFDLElBQUksQ0FBQyxJQUFBLDJCQUFnQixHQUFFLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxhQUFhLENBQUM7U0FDbEY7S0FDZTtDQUNuQixDQUFDIn0=
|
|
@@ -5,4 +5,4 @@ exports.default = {
|
|
|
5
5
|
type: 'development',
|
|
6
6
|
},
|
|
7
7
|
};
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmxvY2FsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbmZpZy9jb25maWcubG9jYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSxrQkFBZTtJQUNiLE9BQU8sRUFBRTtRQUNQLElBQUksRUFBRSxhQUFhO0tBQ0g7Q0FDbkIsQ0FBQyJ9
|
|
@@ -5,4 +5,4 @@ exports.default = {
|
|
|
5
5
|
type: 'development',
|
|
6
6
|
},
|
|
7
7
|
};
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnVuaXR0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbmZpZy9jb25maWcudW5pdHRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSxrQkFBZTtJQUNiLE9BQU8sRUFBRTtRQUNQLElBQUksRUFBRSxhQUFhO0tBQ0g7Q0FDbkIsQ0FBQyJ9
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ILifecycleBoot, EggApplicationCore } from 'egg';
|
|
2
2
|
export declare class Boot implements ILifecycleBoot {
|
|
3
3
|
#private;
|
|
4
|
-
constructor(appOrAgent:
|
|
4
|
+
constructor(appOrAgent: EggApplicationCore);
|
|
5
5
|
didLoad(): Promise<void>;
|
|
6
6
|
}
|
|
@@ -9,8 +9,8 @@ class Boot {
|
|
|
9
9
|
this.#app = appOrAgent;
|
|
10
10
|
this.#watcher = this.#app.watcher = this.#app.cluster(watcher_js_1.Watcher, {})
|
|
11
11
|
.delegate('watch', 'subscribe')
|
|
12
|
-
.create(appOrAgent.config)
|
|
13
|
-
|
|
12
|
+
.create(appOrAgent.config);
|
|
13
|
+
this.#watcher.on('info', (msg, ...args) => this.#app.coreLogger.info(msg, ...args))
|
|
14
14
|
.on('warn', (msg, ...args) => this.#app.coreLogger.warn(msg, ...args))
|
|
15
15
|
.on('error', (msg, ...args) => this.#app.coreLogger.error(msg, ...args));
|
|
16
16
|
}
|
|
@@ -20,4 +20,4 @@ class Boot {
|
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
exports.Boot = Boot;
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvYm9vdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSw2Q0FBdUM7QUFFdkMsTUFBYSxJQUFJO0lBQ2YsSUFBSSxDQUFxQjtJQUN6QixRQUFRLENBQVU7SUFFbEIsWUFBWSxVQUE4QjtRQUN4QyxJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQztRQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLG9CQUFPLEVBQUUsRUFBRSxDQUFDO2FBQy9ELFFBQVEsQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDO2FBQzlCLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBVyxFQUFFLEdBQUcsSUFBVyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7YUFDL0YsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQVcsRUFBRSxHQUFHLElBQVcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO2FBQ3BGLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFXLEVBQUUsR0FBRyxJQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTztRQUNYLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsMkNBQTJDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6RixDQUFDO0NBQ0Y7QUFsQkQsb0JBa0JDIn0=
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { BaseEventSource } from './base.js';
|
|
2
|
+
import DefaultEventSource from './default.js';
|
|
3
|
+
import DevelopmentEventSource from './development.js';
|
|
4
|
+
export { BaseEventSource, DefaultEventSource, DevelopmentEventSource, };
|
|
@@ -1,20 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
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);
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
4
|
};
|
|
16
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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,13 +1,18 @@
|
|
|
1
1
|
import type { WatchEventType, Stats } from 'node:fs';
|
|
2
2
|
import type { Watcher } from './watcher.js';
|
|
3
3
|
export interface WatcherConfig {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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>;
|
|
9
14
|
}
|
|
10
|
-
export interface ChangeInfo {
|
|
15
|
+
export interface ChangeInfo extends Record<string, any> {
|
|
11
16
|
event: WatchEventType;
|
|
12
17
|
/**
|
|
13
18
|
* file stat if path exists
|
|
@@ -15,19 +20,11 @@ export interface ChangeInfo {
|
|
|
15
20
|
stat?: Stats;
|
|
16
21
|
path: string;
|
|
17
22
|
}
|
|
18
|
-
declare module '
|
|
19
|
-
interface
|
|
23
|
+
declare module '@eggjs/core' {
|
|
24
|
+
interface EggCore {
|
|
20
25
|
watcher: Watcher;
|
|
21
26
|
}
|
|
22
|
-
interface
|
|
23
|
-
|
|
24
|
-
interface EggWatcherApplication {
|
|
25
|
-
watcher: Watcher;
|
|
26
|
-
}
|
|
27
|
-
interface Application extends EggWatcherApplication {
|
|
28
|
-
}
|
|
29
|
-
interface EggWatcherAppConfig extends WatcherConfig {
|
|
30
|
-
}
|
|
31
|
-
interface EggAppConfig extends EggWatcherAppConfig {
|
|
27
|
+
interface EggAppConfig {
|
|
28
|
+
watcher: WatcherConfig;
|
|
32
29
|
}
|
|
33
30
|
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { Base } from 'sdk-base';
|
|
2
|
-
import type {
|
|
2
|
+
import type { EggAppConfig } from '@eggjs/core';
|
|
3
|
+
import type { ChangeInfo } from './types.js';
|
|
3
4
|
export type WatchListener = (info: ChangeInfo) => void;
|
|
4
5
|
export declare class Watcher extends Base {
|
|
5
6
|
#private;
|
|
6
|
-
constructor(config:
|
|
7
|
+
constructor(config: EggAppConfig);
|
|
7
8
|
protected _init(): Promise<void>;
|
|
8
9
|
watch(path: string | string[], listener: WatchListener): void;
|
|
9
10
|
}
|
|
@@ -110,4 +110,4 @@ class Watcher extends sdk_base_1.Base {
|
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
112
|
exports.Watcher = Watcher;
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0Y2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvd2F0Y2hlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSx5Q0FBcUM7QUFDckMsdUNBQWdDO0FBQ2hDLDBEQUFrQztBQUNsQyx3Q0FBNEM7QUFHNUMseUNBQWlEO0FBR2pELE1BQU0sS0FBSyxHQUFHLElBQUEsb0JBQVEsRUFBQyw0QkFBNEIsQ0FBQyxDQUFDO0FBSXJELE1BQWEsT0FBUSxTQUFRLGVBQUk7SUFDL0IsT0FBTyxDQUFlO0lBQ3RCLFlBQVksQ0FBa0I7SUFFOUIsWUFBWSxNQUFvQjtRQUM5QixLQUFLLENBQUM7WUFDSixVQUFVLEVBQUUsT0FBTztTQUNwQixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztJQUN4QixDQUFDO0lBRVMsS0FBSyxDQUFDLEtBQUs7UUFDbkIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQzlDLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQXNDLENBQUM7UUFDdEcsSUFBSSxPQUFPLFdBQVcsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNwQyxXQUFXLEdBQUcsTUFBTSxJQUFBLG9CQUFZLEVBQUMsV0FBVyxFQUFFO2dCQUM1QyxpQkFBaUIsRUFBRSxJQUFJO2FBQ3hCLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCw4QkFBOEI7UUFDOUIsMEJBQTBCO1FBQzFCLEVBQUU7UUFDRixPQUFPO1FBQ1AscUVBQXFFO1FBQ3JFLE1BQU0sR0FBRyxHQUFHLElBQUEsbUJBQVMsRUFBQyxDQUFFLFNBQVMsRUFBRSxXQUFXLENBQUUsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFF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
|
|
@@ -1,15 +1,10 @@
|
|
|
1
|
+
import type { WatcherConfig } from '../lib/types.js';
|
|
1
2
|
declare const _default: {
|
|
2
3
|
/**
|
|
3
4
|
* watcher options
|
|
4
5
|
* @member Config#watcher
|
|
5
6
|
* @property {string} type - event source type
|
|
6
7
|
*/
|
|
7
|
-
watcher:
|
|
8
|
-
type: string;
|
|
9
|
-
eventSources: {
|
|
10
|
-
default: string;
|
|
11
|
-
development: string;
|
|
12
|
-
};
|
|
13
|
-
};
|
|
8
|
+
watcher: WatcherConfig;
|
|
14
9
|
};
|
|
15
10
|
export default _default;
|
|
@@ -14,4 +14,4 @@ export default {
|
|
|
14
14
|
},
|
|
15
15
|
},
|
|
16
16
|
};
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmRlZmF1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29uZmlnL2NvbmZpZy5kZWZhdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQztBQUM3QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUduRCxlQUFlO0lBQ2I7Ozs7T0FJRztJQUNILE9BQU8sRUFBRTtRQUNQLElBQUksRUFBRSxTQUFTLEVBQUUsdUJBQXVCO1FBQ3hDLFlBQVksRUFBRTtZQUNaLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxTQUFTLENBQUM7WUFDekUsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLGFBQWEsQ0FBQztTQUNsRjtLQUNlO0NBQ25CLENBQUMifQ==
|
|
@@ -3,4 +3,4 @@ export default {
|
|
|
3
3
|
type: 'development',
|
|
4
4
|
},
|
|
5
5
|
};
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmxvY2FsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbmZpZy9jb25maWcubG9jYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsZUFBZTtJQUNiLE9BQU8sRUFBRTtRQUNQLElBQUksRUFBRSxhQUFhO0tBQ0g7Q0FDbkIsQ0FBQyJ9
|
|
@@ -3,4 +3,4 @@ export default {
|
|
|
3
3
|
type: 'development',
|
|
4
4
|
},
|
|
5
5
|
};
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnVuaXR0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbmZpZy9jb25maWcudW5pdHRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsZUFBZTtJQUNiLE9BQU8sRUFBRTtRQUNQLElBQUksRUFBRSxhQUFhO0tBQ0g7Q0FDbkIsQ0FBQyJ9
|
package/dist/esm/lib/boot.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ILifecycleBoot, EggApplicationCore } from 'egg';
|
|
2
2
|
export declare class Boot implements ILifecycleBoot {
|
|
3
3
|
#private;
|
|
4
|
-
constructor(appOrAgent:
|
|
4
|
+
constructor(appOrAgent: EggApplicationCore);
|
|
5
5
|
didLoad(): Promise<void>;
|
|
6
6
|
}
|
package/dist/esm/lib/boot.js
CHANGED
|
@@ -6,8 +6,8 @@ export class Boot {
|
|
|
6
6
|
this.#app = appOrAgent;
|
|
7
7
|
this.#watcher = this.#app.watcher = this.#app.cluster(Watcher, {})
|
|
8
8
|
.delegate('watch', 'subscribe')
|
|
9
|
-
.create(appOrAgent.config)
|
|
10
|
-
|
|
9
|
+
.create(appOrAgent.config);
|
|
10
|
+
this.#watcher.on('info', (msg, ...args) => this.#app.coreLogger.info(msg, ...args))
|
|
11
11
|
.on('warn', (msg, ...args) => this.#app.coreLogger.warn(msg, ...args))
|
|
12
12
|
.on('error', (msg, ...args) => this.#app.coreLogger.error(msg, ...args));
|
|
13
13
|
}
|
|
@@ -16,4 +16,4 @@ export class Boot {
|
|
|
16
16
|
this.#app.coreLogger.info('[@eggjs/watcher:%s] watcher start success', this.#app.type);
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvYm9vdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXZDLE1BQU0sT0FBTyxJQUFJO0lBQ2YsSUFBSSxDQUFxQjtJQUN6QixRQUFRLENBQVU7SUFFbEIsWUFBWSxVQUE4QjtRQUN4QyxJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQztRQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7YUFDL0QsUUFBUSxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUM7YUFDOUIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFXLEVBQUUsR0FBRyxJQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQzthQUMvRixFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBVyxFQUFFLEdBQUcsSUFBVyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7YUFDcEYsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQVcsRUFBRSxHQUFHLElBQVcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPO1FBQ1gsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQywyQ0FBMkMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pGLENBQUM7Q0FDRiJ9
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { BaseEventSource } from './base.js';
|
|
2
|
+
import DefaultEventSource from './default.js';
|
|
3
|
+
import DevelopmentEventSource from './development.js';
|
|
4
|
+
export { BaseEventSource, DefaultEventSource, DevelopmentEventSource, };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { BaseEventSource } from './base.js';
|
|
2
|
+
import DefaultEventSource from './default.js';
|
|
3
|
+
import DevelopmentEventSource from './development.js';
|
|
4
|
+
export { BaseEventSource, DefaultEventSource, DevelopmentEventSource, };
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2V2ZW50LXNvdXJjZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM1QyxPQUFPLGtCQUFrQixNQUFNLGNBQWMsQ0FBQztBQUM5QyxPQUFPLHNCQUFzQixNQUFNLGtCQUFrQixDQUFDO0FBRXRELE9BQU8sRUFDTCxlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLHNCQUFzQixHQUN2QixDQUFDIn0=
|
package/dist/esm/lib/types.d.ts
CHANGED
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
import type { WatchEventType, Stats } from 'node:fs';
|
|
2
2
|
import type { Watcher } from './watcher.js';
|
|
3
3
|
export interface WatcherConfig {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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>;
|
|
9
14
|
}
|
|
10
|
-
export interface ChangeInfo {
|
|
15
|
+
export interface ChangeInfo extends Record<string, any> {
|
|
11
16
|
event: WatchEventType;
|
|
12
17
|
/**
|
|
13
18
|
* file stat if path exists
|
|
@@ -15,19 +20,11 @@ export interface ChangeInfo {
|
|
|
15
20
|
stat?: Stats;
|
|
16
21
|
path: string;
|
|
17
22
|
}
|
|
18
|
-
declare module '
|
|
19
|
-
interface
|
|
23
|
+
declare module '@eggjs/core' {
|
|
24
|
+
interface EggCore {
|
|
20
25
|
watcher: Watcher;
|
|
21
26
|
}
|
|
22
|
-
interface
|
|
23
|
-
|
|
24
|
-
interface EggWatcherApplication {
|
|
25
|
-
watcher: Watcher;
|
|
26
|
-
}
|
|
27
|
-
interface Application extends EggWatcherApplication {
|
|
28
|
-
}
|
|
29
|
-
interface EggWatcherAppConfig extends WatcherConfig {
|
|
30
|
-
}
|
|
31
|
-
interface EggAppConfig extends EggWatcherAppConfig {
|
|
27
|
+
interface EggAppConfig {
|
|
28
|
+
watcher: WatcherConfig;
|
|
32
29
|
}
|
|
33
30
|
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { Base } from 'sdk-base';
|
|
2
|
-
import type {
|
|
2
|
+
import type { EggAppConfig } from '@eggjs/core';
|
|
3
|
+
import type { ChangeInfo } from './types.js';
|
|
3
4
|
export type WatchListener = (info: ChangeInfo) => void;
|
|
4
5
|
export declare class Watcher extends Base {
|
|
5
6
|
#private;
|
|
6
|
-
constructor(config:
|
|
7
|
+
constructor(config: EggAppConfig);
|
|
7
8
|
protected _init(): Promise<void>;
|
|
8
9
|
watch(path: string | string[], listener: WatchListener): void;
|
|
9
10
|
}
|
package/dist/esm/lib/watcher.js
CHANGED
|
@@ -103,4 +103,4 @@ export class Watcher extends Base {
|
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
105
|
}
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0Y2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvd2F0Y2hlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDaEMsT0FBTyxTQUFTLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHNUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBR2pELE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0FBSXJELE1BQU0sT0FBTyxPQUFRLFNBQVEsSUFBSTtJQUMvQixPQUFPLENBQWU7SUFDdEIsWUFBWSxDQUFrQjtJQUU5QixZQUFZLE1BQW9CO1FBQzlCLEtBQUssQ0FBQztZQUNKLFVBQVUsRUFBRSxPQUFPO1NBQ3BCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO0lBQ3hCLENBQUM7SUFFUyxLQUFLLENBQUMsS0FBSztRQUNuQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDOUMsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBc0MsQ0FBQztRQUN0RyxJQUFJLE9BQU8sV0FBVyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3BDLFdBQVcsR0FBRyxNQUFNLFlBQVksQ0FBQyxXQUFXLEVBQUU7Z0JBQzVDLGlCQUFpQixFQUFFLElBQUk7YUFDeEIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELDhCQUE4QjtRQUM5QiwwQkFBMEI7UUFDMUIsRUFBRTtRQUNGLE9BQU87UUFDUCxxRUFBcUU7UUFDckUsTUFBTSxHQUFH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
|
package/dist/package.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eggjs/watcher",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.3",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -9,16 +9,19 @@
|
|
|
9
9
|
"name": "watcher",
|
|
10
10
|
"exports": {
|
|
11
11
|
"import": "./dist/esm",
|
|
12
|
-
"require": "./dist/commonjs"
|
|
12
|
+
"require": "./dist/commonjs",
|
|
13
|
+
"typescript": "./src"
|
|
13
14
|
}
|
|
14
15
|
},
|
|
15
16
|
"scripts": {
|
|
16
17
|
"lint": "eslint --cache src test --ext .ts",
|
|
17
|
-
"pretest": "npm run
|
|
18
|
+
"pretest": "npm run clean && npm run lint -- --fix",
|
|
18
19
|
"test": "egg-bin test",
|
|
19
|
-
"preci": "npm run
|
|
20
|
+
"preci": "npm run clean && npm run lint",
|
|
20
21
|
"ci": "egg-bin cov",
|
|
21
|
-
"
|
|
22
|
+
"postci": "npm run prepublishOnly && attw --pack && npm run clean",
|
|
23
|
+
"prepublishOnly": "tshy && tshy-after",
|
|
24
|
+
"clean": "rimraf dist"
|
|
22
25
|
},
|
|
23
26
|
"homepage": "https://github.com/eggjs/watcher",
|
|
24
27
|
"repository": {
|
|
@@ -35,7 +38,8 @@
|
|
|
35
38
|
"node": ">= 18.19.0"
|
|
36
39
|
},
|
|
37
40
|
"dependencies": {
|
|
38
|
-
"@eggjs/
|
|
41
|
+
"@eggjs/core": "^6.2.13",
|
|
42
|
+
"@eggjs/utils": "^4.2.3",
|
|
39
43
|
"camelcase": "^5.0.0",
|
|
40
44
|
"sdk-base": "^5.0.0"
|
|
41
45
|
},
|
|
@@ -45,8 +49,9 @@
|
|
|
45
49
|
"@types/node": "22",
|
|
46
50
|
"@types/mocha": "10",
|
|
47
51
|
"egg": "beta",
|
|
48
|
-
"
|
|
49
|
-
"
|
|
52
|
+
"@eggjs/bin": "7",
|
|
53
|
+
"@eggjs/mock": "6",
|
|
54
|
+
"rimraf": "6",
|
|
50
55
|
"eslint": "8",
|
|
51
56
|
"eslint-config-egg": "14",
|
|
52
57
|
"tshy": "3",
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import path from 'node:path';
|
|
2
2
|
import { getSourceDirname } from '../lib/utils.js';
|
|
3
|
+
import type { WatcherConfig } from '../lib/types.js';
|
|
3
4
|
|
|
4
5
|
export default {
|
|
5
6
|
/**
|
|
@@ -13,5 +14,5 @@ export default {
|
|
|
13
14
|
default: path.join(getSourceDirname(), 'lib', 'event-sources', 'default'),
|
|
14
15
|
development: path.join(getSourceDirname(), 'lib', 'event-sources', 'development'),
|
|
15
16
|
},
|
|
16
|
-
},
|
|
17
|
+
} as WatcherConfig,
|
|
17
18
|
};
|
package/src/lib/boot.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ILifecycleBoot, EggApplicationCore } from 'egg';
|
|
2
2
|
import { Watcher } from './watcher.js';
|
|
3
3
|
|
|
4
4
|
export class Boot implements ILifecycleBoot {
|
|
5
|
-
#app:
|
|
5
|
+
#app: EggApplicationCore;
|
|
6
6
|
#watcher: Watcher;
|
|
7
7
|
|
|
8
|
-
constructor(appOrAgent:
|
|
8
|
+
constructor(appOrAgent: EggApplicationCore) {
|
|
9
9
|
this.#app = appOrAgent;
|
|
10
10
|
this.#watcher = this.#app.watcher = this.#app.cluster(Watcher, {})
|
|
11
11
|
.delegate('watch', 'subscribe')
|
|
12
|
-
.create(appOrAgent.config)
|
|
13
|
-
|
|
12
|
+
.create(appOrAgent.config);
|
|
13
|
+
this.#watcher.on('info', (msg: string, ...args: any[]) => this.#app.coreLogger.info(msg, ...args))
|
|
14
14
|
.on('warn', (msg: string, ...args: any[]) => this.#app.coreLogger.warn(msg, ...args))
|
|
15
15
|
.on('error', (msg: string, ...args: any[]) => this.#app.coreLogger.error(msg, ...args));
|
|
16
16
|
}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { BaseEventSource } from './base.js';
|
|
2
|
+
import DefaultEventSource from './default.js';
|
|
3
|
+
import DevelopmentEventSource from './development.js';
|
|
4
|
+
|
|
5
|
+
export {
|
|
6
|
+
BaseEventSource,
|
|
7
|
+
DefaultEventSource,
|
|
8
|
+
DevelopmentEventSource,
|
|
9
|
+
};
|
package/src/lib/types.ts
CHANGED
|
@@ -2,14 +2,19 @@ import type { WatchEventType, Stats } from 'node:fs';
|
|
|
2
2
|
import type { Watcher } from './watcher.js';
|
|
3
3
|
|
|
4
4
|
export interface WatcherConfig {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
/**
|
|
6
|
+
* event source type, default is `default`
|
|
7
|
+
* can be `default` or `development`
|
|
8
|
+
*/
|
|
9
|
+
type: string;
|
|
10
|
+
/**
|
|
11
|
+
* event sources
|
|
12
|
+
* key is event source type, value is event source module path
|
|
13
|
+
*/
|
|
14
|
+
eventSources: Record<string, string>;
|
|
10
15
|
}
|
|
11
16
|
|
|
12
|
-
export interface ChangeInfo {
|
|
17
|
+
export interface ChangeInfo extends Record<string, any> {
|
|
13
18
|
event: WatchEventType;
|
|
14
19
|
/**
|
|
15
20
|
* file stat if path exists
|
|
@@ -18,18 +23,12 @@ export interface ChangeInfo {
|
|
|
18
23
|
path: string;
|
|
19
24
|
}
|
|
20
25
|
|
|
21
|
-
declare module '
|
|
22
|
-
|
|
26
|
+
declare module '@eggjs/core' {
|
|
27
|
+
interface EggCore {
|
|
23
28
|
watcher: Watcher;
|
|
24
29
|
}
|
|
25
|
-
export interface Agent extends EggWatcherAgent {}
|
|
26
30
|
|
|
27
|
-
|
|
28
|
-
watcher:
|
|
31
|
+
interface EggAppConfig {
|
|
32
|
+
watcher: WatcherConfig;
|
|
29
33
|
}
|
|
30
|
-
export interface Application extends EggWatcherApplication {}
|
|
31
|
-
|
|
32
|
-
export interface EggWatcherAppConfig extends WatcherConfig {}
|
|
33
|
-
|
|
34
|
-
export interface EggAppConfig extends EggWatcherAppConfig {}
|
|
35
34
|
}
|
package/src/lib/watcher.ts
CHANGED
|
@@ -2,19 +2,20 @@ import { debuglog } from 'node:util';
|
|
|
2
2
|
import { Base } from 'sdk-base';
|
|
3
3
|
import camelcase from 'camelcase';
|
|
4
4
|
import { importModule } from '@eggjs/utils';
|
|
5
|
+
import type { EggAppConfig } from '@eggjs/core';
|
|
5
6
|
import { BaseEventSource } from './event-sources/base.js';
|
|
6
7
|
import { isEqualOrParentPath } from './utils.js';
|
|
7
|
-
import type { ChangeInfo
|
|
8
|
+
import type { ChangeInfo } from './types.js';
|
|
8
9
|
|
|
9
10
|
const debug = debuglog('@eggjs/watcher/lib/watcher');
|
|
10
11
|
|
|
11
12
|
export type WatchListener = (info: ChangeInfo) => void;
|
|
12
13
|
|
|
13
14
|
export class Watcher extends Base {
|
|
14
|
-
#config:
|
|
15
|
+
#config: EggAppConfig;
|
|
15
16
|
#eventSource: BaseEventSource;
|
|
16
17
|
|
|
17
|
-
constructor(config:
|
|
18
|
+
constructor(config: EggAppConfig) {
|
|
18
19
|
super({
|
|
19
20
|
initMethod: '_init',
|
|
20
21
|
});
|
|
@@ -23,7 +24,7 @@ export class Watcher extends Base {
|
|
|
23
24
|
|
|
24
25
|
protected async _init() {
|
|
25
26
|
const watcherType = this.#config.watcher.type;
|
|
26
|
-
let EventSource
|
|
27
|
+
let EventSource = this.#config.watcher.eventSources[watcherType] as unknown as typeof BaseEventSource;
|
|
27
28
|
if (typeof EventSource === 'string') {
|
|
28
29
|
EventSource = await importModule(EventSource, {
|
|
29
30
|
importDefaultOnly: true,
|