@yumerijs/loader 1.0.1 → 1.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/index.d.ts +19 -1
- package/dist/index.js +133 -8
- package/dist/index.js.map +1 -1
- package/package.json +2 -1
package/dist/index.d.ts
CHANGED
|
@@ -4,7 +4,12 @@ interface Plugin {
|
|
|
4
4
|
}
|
|
5
5
|
declare class PluginLoader {
|
|
6
6
|
private pluginCache;
|
|
7
|
-
|
|
7
|
+
private core;
|
|
8
|
+
private config;
|
|
9
|
+
private isDev;
|
|
10
|
+
private pluginsDir;
|
|
11
|
+
constructor(core?: Core, config?: Config, pluginsDir?: string);
|
|
12
|
+
setCoreAndConfig(core: Core, config: Config): void;
|
|
8
13
|
/**
|
|
9
14
|
* 从本地目录或 npm 包加载插件.
|
|
10
15
|
* @param pluginName 插件名称或路径.
|
|
@@ -15,10 +20,16 @@ declare class PluginLoader {
|
|
|
15
20
|
/**
|
|
16
21
|
* 从指定路径加载插件.
|
|
17
22
|
* @param pluginPath 插件路径.
|
|
23
|
+
* @param isLocalPlugin 是否是本地插件
|
|
18
24
|
* @returns 加载的插件对象.
|
|
19
25
|
* @throws 如果插件加载失败.
|
|
20
26
|
*/
|
|
21
27
|
private loadPluginFromPath;
|
|
28
|
+
/**
|
|
29
|
+
* 卸载插件
|
|
30
|
+
* @param pluginName 插件名称
|
|
31
|
+
*/
|
|
32
|
+
unloadPlugin(pluginName: string): Promise<void>;
|
|
22
33
|
/**
|
|
23
34
|
* 检查插件的依赖是否满足.
|
|
24
35
|
* @param pluginPath 插件路径.
|
|
@@ -30,5 +41,12 @@ declare class PluginLoader {
|
|
|
30
41
|
* @param pluginPath 插件路径.
|
|
31
42
|
*/
|
|
32
43
|
installPluginDependencies(pluginName: string): Promise<void>;
|
|
44
|
+
/**
|
|
45
|
+
* 监听插件目录,实现热重载
|
|
46
|
+
* @param core Core实例
|
|
47
|
+
* @param config Config实例
|
|
48
|
+
* @param pluginsDir 插件目录
|
|
49
|
+
*/
|
|
50
|
+
watchPlugins(core: Core, config: Config, pluginsDir?: string): void;
|
|
33
51
|
}
|
|
34
52
|
export default PluginLoader;
|
package/dist/index.js
CHANGED
|
@@ -32,15 +32,33 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
32
32
|
return result;
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
35
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
39
|
const path = __importStar(require("path"));
|
|
40
|
+
const fs = __importStar(require("fs"));
|
|
37
41
|
const util_1 = require("util");
|
|
38
42
|
const child_process_1 = require("child_process");
|
|
43
|
+
const chokidar_1 = __importDefault(require("chokidar"));
|
|
44
|
+
const url_1 = require("url");
|
|
39
45
|
const execAsync = (0, util_1.promisify)(child_process_1.exec);
|
|
40
46
|
class PluginLoader {
|
|
41
|
-
constructor() {
|
|
47
|
+
constructor(core, config, pluginsDir = 'plugins') {
|
|
42
48
|
this.pluginCache = {};
|
|
49
|
+
this.core = null;
|
|
50
|
+
this.config = null;
|
|
51
|
+
this.isDev = false;
|
|
52
|
+
this.pluginsDir = 'plugins'; // Default plugins directory
|
|
43
53
|
this.pluginCache = {};
|
|
54
|
+
this.core = core || null;
|
|
55
|
+
this.config = config || null;
|
|
56
|
+
this.isDev = process.env.NODE_ENV === 'development';
|
|
57
|
+
this.pluginsDir = pluginsDir;
|
|
58
|
+
}
|
|
59
|
+
setCoreAndConfig(core, config) {
|
|
60
|
+
this.core = core;
|
|
61
|
+
this.config = config;
|
|
44
62
|
}
|
|
45
63
|
/**
|
|
46
64
|
* 从本地目录或 npm 包加载插件.
|
|
@@ -54,11 +72,19 @@ class PluginLoader {
|
|
|
54
72
|
return this.pluginCache[pluginName];
|
|
55
73
|
}
|
|
56
74
|
let pluginPath;
|
|
57
|
-
|
|
58
|
-
|
|
75
|
+
let isLocalPlugin = false;
|
|
76
|
+
// 1. 检查是否是本地插件目录下的插件
|
|
77
|
+
const localPluginPath = path.resolve(this.pluginsDir, pluginName);
|
|
78
|
+
if (fs.existsSync(localPluginPath)) {
|
|
79
|
+
pluginPath = localPluginPath;
|
|
80
|
+
isLocalPlugin = true;
|
|
81
|
+
}
|
|
82
|
+
// 2. 检查是否是绝对路径或相对路径
|
|
83
|
+
else if (path.isAbsolute(pluginName) || pluginName.startsWith('.')) {
|
|
59
84
|
pluginPath = path.resolve(pluginName);
|
|
85
|
+
isLocalPlugin = true;
|
|
60
86
|
}
|
|
61
|
-
//
|
|
87
|
+
// 3. 尝试作为 npm 包加载
|
|
62
88
|
else {
|
|
63
89
|
try {
|
|
64
90
|
// 尝试 require,如果成功,则认为是一个已安装的 npm 包
|
|
@@ -74,7 +100,7 @@ class PluginLoader {
|
|
|
74
100
|
}
|
|
75
101
|
}
|
|
76
102
|
try {
|
|
77
|
-
const plugin = await this.loadPluginFromPath(pluginPath);
|
|
103
|
+
const plugin = await this.loadPluginFromPath(pluginPath, isLocalPlugin);
|
|
78
104
|
this.pluginCache[pluginName] = plugin;
|
|
79
105
|
return plugin;
|
|
80
106
|
}
|
|
@@ -86,13 +112,31 @@ class PluginLoader {
|
|
|
86
112
|
/**
|
|
87
113
|
* 从指定路径加载插件.
|
|
88
114
|
* @param pluginPath 插件路径.
|
|
115
|
+
* @param isLocalPlugin 是否是本地插件
|
|
89
116
|
* @returns 加载的插件对象.
|
|
90
117
|
* @throws 如果插件加载失败.
|
|
91
118
|
*/
|
|
92
|
-
async loadPluginFromPath(pluginPath) {
|
|
119
|
+
async loadPluginFromPath(pluginPath, isLocalPlugin) {
|
|
93
120
|
try {
|
|
94
|
-
|
|
95
|
-
|
|
121
|
+
let targetPath = pluginPath;
|
|
122
|
+
if (isLocalPlugin && this.isDev) {
|
|
123
|
+
// 开发模式下,加载 src 目录下的 ts 文件
|
|
124
|
+
targetPath = path.join(pluginPath, 'src', 'index.ts');
|
|
125
|
+
if (!fs.existsSync(targetPath)) {
|
|
126
|
+
throw new Error(`src/index.ts not found in ${pluginPath}`);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
targetPath = require.resolve(pluginPath);
|
|
131
|
+
}
|
|
132
|
+
let pluginModule;
|
|
133
|
+
if (this.isDev && isLocalPlugin) {
|
|
134
|
+
// Use dynamic import for HMR
|
|
135
|
+
pluginModule = await Promise.resolve(`${(0, url_1.pathToFileURL)(targetPath).toString()}`).then(s => __importStar(require(s)));
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
pluginModule = require(targetPath);
|
|
139
|
+
}
|
|
96
140
|
if (typeof pluginModule === 'function') {
|
|
97
141
|
// 假设导出一个函数
|
|
98
142
|
return { apply: pluginModule };
|
|
@@ -110,6 +154,23 @@ class PluginLoader {
|
|
|
110
154
|
throw e;
|
|
111
155
|
}
|
|
112
156
|
}
|
|
157
|
+
/**
|
|
158
|
+
* 卸载插件
|
|
159
|
+
* @param pluginName 插件名称
|
|
160
|
+
*/
|
|
161
|
+
async unloadPlugin(pluginName) {
|
|
162
|
+
if (!this.pluginCache[pluginName]) {
|
|
163
|
+
return; // Plugin not loaded
|
|
164
|
+
}
|
|
165
|
+
delete this.pluginCache[pluginName];
|
|
166
|
+
// Clear the module from the require cache
|
|
167
|
+
const pluginPath = path.resolve(this.pluginsDir, pluginName, 'src', 'index.ts');
|
|
168
|
+
const resolvedPath = (0, url_1.pathToFileURL)(pluginPath).toString();
|
|
169
|
+
if (require.cache[resolvedPath]) {
|
|
170
|
+
delete require.cache[resolvedPath];
|
|
171
|
+
}
|
|
172
|
+
console.log(`Plugin unloaded: ${pluginName}`);
|
|
173
|
+
}
|
|
113
174
|
/**
|
|
114
175
|
* 检查插件的依赖是否满足.
|
|
115
176
|
* @param pluginPath 插件路径.
|
|
@@ -138,6 +199,70 @@ class PluginLoader {
|
|
|
138
199
|
throw error;
|
|
139
200
|
}
|
|
140
201
|
}
|
|
202
|
+
/**
|
|
203
|
+
* 监听插件目录,实现热重载
|
|
204
|
+
* @param core Core实例
|
|
205
|
+
* @param config Config实例
|
|
206
|
+
* @param pluginsDir 插件目录
|
|
207
|
+
*/
|
|
208
|
+
watchPlugins(core, config, pluginsDir = 'plugins') {
|
|
209
|
+
const watcher = chokidar_1.default.watch(pluginsDir, {
|
|
210
|
+
ignored: /(^|[/\\])\../, // 忽略点文件
|
|
211
|
+
persistent: true,
|
|
212
|
+
ignoreInitial: true,
|
|
213
|
+
awaitWriteFinish: {
|
|
214
|
+
stabilityThreshold: 200,
|
|
215
|
+
pollInterval: 100
|
|
216
|
+
}
|
|
217
|
+
});
|
|
218
|
+
watcher.on('add', async (pluginName) => {
|
|
219
|
+
if (pluginName.endsWith('.ts') || pluginName.endsWith('.js'))
|
|
220
|
+
return;
|
|
221
|
+
console.log(`New plugin detected: ${pluginName}`);
|
|
222
|
+
try {
|
|
223
|
+
// 仅加载目录名作为插件名
|
|
224
|
+
const pluginDirName = path.basename(pluginName);
|
|
225
|
+
await this.load(pluginDirName);
|
|
226
|
+
if (this.core && this.config)
|
|
227
|
+
this.core.emit('plugin-loaded', pluginName);
|
|
228
|
+
}
|
|
229
|
+
catch (error) {
|
|
230
|
+
console.error(`Failed to load new plugin ${pluginName}:`, error);
|
|
231
|
+
}
|
|
232
|
+
});
|
|
233
|
+
watcher.on('change', async (pluginName) => {
|
|
234
|
+
if (!pluginName.endsWith('.ts'))
|
|
235
|
+
return;
|
|
236
|
+
console.log(`Plugin changed: ${pluginName}`);
|
|
237
|
+
try {
|
|
238
|
+
const pluginDirName = path.dirname(pluginName);
|
|
239
|
+
//const pluginDirName = path.basename(pluginName);
|
|
240
|
+
await this.unloadPlugin(pluginDirName);
|
|
241
|
+
await this.load(pluginDirName);
|
|
242
|
+
if (this.core && this.config)
|
|
243
|
+
this.core.emit('plugin-reloaded', pluginName);
|
|
244
|
+
}
|
|
245
|
+
catch (error) {
|
|
246
|
+
console.error(`Failed to reload plugin ${pluginName}:`, error);
|
|
247
|
+
}
|
|
248
|
+
});
|
|
249
|
+
watcher.on('unlink', async (pluginName) => {
|
|
250
|
+
if (!pluginName.endsWith('.ts'))
|
|
251
|
+
return;
|
|
252
|
+
console.log(`Plugin removed: ${pluginName}`);
|
|
253
|
+
try {
|
|
254
|
+
const pluginDirName = path.dirname(pluginName);
|
|
255
|
+
//const pluginDirName = path.basename(pluginName);
|
|
256
|
+
await this.unloadPlugin(pluginDirName);
|
|
257
|
+
if (this.core && this.config)
|
|
258
|
+
this.core.emit('plugin-unloaded', pluginName);
|
|
259
|
+
}
|
|
260
|
+
catch (error) {
|
|
261
|
+
console.error(`Failed to unload plugin ${pluginName}:`, error);
|
|
262
|
+
}
|
|
263
|
+
});
|
|
264
|
+
console.log(`Watching for plugin changes in ${pluginsDir}`);
|
|
265
|
+
}
|
|
141
266
|
}
|
|
142
267
|
exports.default = PluginLoader;
|
|
143
268
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yumerijs/loader",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"description": "Module loader for yumeri",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"@yumerijs/core": "^1.0.1",
|
|
35
|
+
"chokidar": "^4.0.3",
|
|
35
36
|
"semver": "^7.7.1"
|
|
36
37
|
}
|
|
37
38
|
}
|