@yumerijs/loader 1.0.1 → 1.0.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.
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,18 @@ 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);
60
85
  }
61
- // 2. 尝试作为 npm 包加载
86
+ // 3. 尝试作为 npm 包加载
62
87
  else {
63
88
  try {
64
89
  // 尝试 require,如果成功,则认为是一个已安装的 npm 包
@@ -74,7 +99,7 @@ class PluginLoader {
74
99
  }
75
100
  }
76
101
  try {
77
- const plugin = await this.loadPluginFromPath(pluginPath);
102
+ const plugin = await this.loadPluginFromPath(pluginPath, isLocalPlugin);
78
103
  this.pluginCache[pluginName] = plugin;
79
104
  return plugin;
80
105
  }
@@ -86,13 +111,31 @@ class PluginLoader {
86
111
  /**
87
112
  * 从指定路径加载插件.
88
113
  * @param pluginPath 插件路径.
114
+ * @param isLocalPlugin 是否是本地插件
89
115
  * @returns 加载的插件对象.
90
116
  * @throws 如果插件加载失败.
91
117
  */
92
- async loadPluginFromPath(pluginPath) {
118
+ async loadPluginFromPath(pluginPath, isLocalPlugin) {
93
119
  try {
94
- const resolvedPath = require.resolve(pluginPath);
95
- const pluginModule = require(resolvedPath);
120
+ let targetPath = pluginPath;
121
+ if (isLocalPlugin && this.isDev) {
122
+ // 开发模式下,加载 src 目录下的 ts 文件
123
+ targetPath = path.join(pluginPath, 'src', 'index.ts');
124
+ if (!fs.existsSync(targetPath)) {
125
+ throw new Error(`src/index.ts not found in ${pluginPath}`);
126
+ }
127
+ }
128
+ else {
129
+ targetPath = require.resolve(pluginPath);
130
+ }
131
+ let pluginModule;
132
+ if (this.isDev && isLocalPlugin) {
133
+ // Use dynamic import for HMR
134
+ pluginModule = await Promise.resolve(`${(0, url_1.pathToFileURL)(targetPath).toString()}`).then(s => __importStar(require(s)));
135
+ }
136
+ else {
137
+ pluginModule = require(targetPath);
138
+ }
96
139
  if (typeof pluginModule === 'function') {
97
140
  // 假设导出一个函数
98
141
  return { apply: pluginModule };
@@ -110,6 +153,23 @@ class PluginLoader {
110
153
  throw e;
111
154
  }
112
155
  }
156
+ /**
157
+ * 卸载插件
158
+ * @param pluginName 插件名称
159
+ */
160
+ async unloadPlugin(pluginName) {
161
+ if (!this.pluginCache[pluginName]) {
162
+ return; // Plugin not loaded
163
+ }
164
+ delete this.pluginCache[pluginName];
165
+ // Clear the module from the require cache
166
+ const pluginPath = path.resolve(this.pluginsDir, pluginName, 'src', 'index.ts');
167
+ const resolvedPath = (0, url_1.pathToFileURL)(pluginPath).toString();
168
+ if (require.cache[resolvedPath]) {
169
+ delete require.cache[resolvedPath];
170
+ }
171
+ console.log(`Plugin unloaded: ${pluginName}`);
172
+ }
113
173
  /**
114
174
  * 检查插件的依赖是否满足.
115
175
  * @param pluginPath 插件路径.
@@ -138,6 +198,70 @@ class PluginLoader {
138
198
  throw error;
139
199
  }
140
200
  }
201
+ /**
202
+ * 监听插件目录,实现热重载
203
+ * @param core Core实例
204
+ * @param config Config实例
205
+ * @param pluginsDir 插件目录
206
+ */
207
+ watchPlugins(core, config, pluginsDir = 'plugins') {
208
+ const watcher = chokidar_1.default.watch(pluginsDir, {
209
+ ignored: /(^|[/\\])\../, // 忽略点文件
210
+ persistent: true,
211
+ ignoreInitial: true,
212
+ awaitWriteFinish: {
213
+ stabilityThreshold: 200,
214
+ pollInterval: 100
215
+ }
216
+ });
217
+ watcher.on('add', async (pluginName) => {
218
+ if (pluginName.endsWith('.ts') || pluginName.endsWith('.js'))
219
+ return;
220
+ console.log(`New plugin detected: ${pluginName}`);
221
+ try {
222
+ // 仅加载目录名作为插件名
223
+ const pluginDirName = path.basename(pluginName);
224
+ await this.load(pluginDirName);
225
+ if (this.core && this.config)
226
+ this.core.emit('plugin-loaded', pluginName);
227
+ }
228
+ catch (error) {
229
+ console.error(`Failed to load new plugin ${pluginName}:`, error);
230
+ }
231
+ });
232
+ watcher.on('change', async (pluginName) => {
233
+ if (!pluginName.endsWith('.ts'))
234
+ return;
235
+ console.log(`Plugin changed: ${pluginName}`);
236
+ try {
237
+ const pluginDirName = path.dirname(pluginName);
238
+ //const pluginDirName = path.basename(pluginName);
239
+ await this.unloadPlugin(pluginDirName);
240
+ await this.load(pluginDirName);
241
+ if (this.core && this.config)
242
+ this.core.emit('plugin-reloaded', pluginName);
243
+ }
244
+ catch (error) {
245
+ console.error(`Failed to reload plugin ${pluginName}:`, error);
246
+ }
247
+ });
248
+ watcher.on('unlink', async (pluginName) => {
249
+ if (!pluginName.endsWith('.ts'))
250
+ return;
251
+ console.log(`Plugin removed: ${pluginName}`);
252
+ try {
253
+ const pluginDirName = path.dirname(pluginName);
254
+ //const pluginDirName = path.basename(pluginName);
255
+ await this.unloadPlugin(pluginDirName);
256
+ if (this.core && this.config)
257
+ this.core.emit('plugin-unloaded', pluginName);
258
+ }
259
+ catch (error) {
260
+ console.error(`Failed to unload plugin ${pluginName}:`, error);
261
+ }
262
+ });
263
+ console.log(`Watching for plugin changes in ${pluginsDir}`);
264
+ }
141
265
  }
142
266
  exports.default = PluginLoader;
143
267
  //# 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.2",
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
  }