@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 CHANGED
@@ -4,7 +4,12 @@ interface Plugin {
4
4
  }
5
5
  declare class PluginLoader {
6
6
  private pluginCache;
7
- constructor();
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
- // 1. 检查是否是本地路径
58
- if (path.isAbsolute(pluginName) || pluginName.startsWith('.')) {
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
- // 2. 尝试作为 npm 包加载
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
- const resolvedPath = require.resolve(pluginPath);
95
- const pluginModule = require(resolvedPath);
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":"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"}
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.1",
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
  }