@yumerijs/core 1.0.7 → 1.0.9

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/command.d.ts CHANGED
File without changes
package/dist/command.js CHANGED
File without changes
File without changes
package/dist/config.d.ts CHANGED
@@ -3,7 +3,7 @@ export declare class Config {
3
3
  content: {
4
4
  [name: string]: any;
5
5
  };
6
- constructor(name: string, content: {
6
+ constructor(name: string, content?: {
7
7
  [name: string]: any;
8
8
  });
9
9
  }
package/dist/config.js CHANGED
@@ -6,7 +6,7 @@ class Config {
6
6
  this.name = '';
7
7
  this.content = {};
8
8
  this.name = name;
9
- this.content = content;
9
+ this.content = content || {}; // 如果 content 是 undefined,则赋值为空对象
10
10
  }
11
11
  }
12
12
  exports.Config = Config;
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;AAAA,MAAa,MAAM;IAIf,YAAY,IAAY,EAAE,OAAgC;QAHnD,SAAI,GAAW,EAAE,CAAC;QAClB,YAAO,GAA4B,EAAE,CAAC;QAGzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;CACJ;AARD,wBAQC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;AAAA,MAAa,MAAM;IAIf,YAAY,IAAY,EAAE,OAAiC;QAHpD,SAAI,GAAW,EAAE,CAAC;QAClB,YAAO,GAA4B,EAAE,CAAC;QAGzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC,CAAC,iCAAiC;IACnE,CAAC;CACJ;AARD,wBAQC"}
package/dist/core.d.ts CHANGED
@@ -4,9 +4,11 @@ interface Plugin {
4
4
  apply: (core: Core, config: Config) => Promise<void>;
5
5
  }
6
6
  interface PluginLoader {
7
- load: (pluginName: string) => Promise<Plugin>;
8
- }
9
- interface CoreOptions {
7
+ load(pluginName: string): Promise<Plugin>;
8
+ unloadPlugin(pluginName: string): Promise<void>;
9
+ checkPluginDependencies(pluginPath: string): Promise<boolean>;
10
+ installPluginDependencies(pluginName: string): Promise<void>;
11
+ watchPlugins(core: Core, config: Config, pluginsDir: string): void;
10
12
  }
11
13
  export declare class Core {
12
14
  plugins: {
@@ -16,9 +18,19 @@ export declare class Core {
16
18
  private eventListeners;
17
19
  private components;
18
20
  commands: Record<string, Command>;
19
- constructor(options?: CoreOptions);
21
+ private pluginLoader;
22
+ constructor(pluginLoader: PluginLoader);
20
23
  loadConfig(configPath: string): Promise<void>;
21
- loadPlugins(pluginLoader: PluginLoader): Promise<void>;
24
+ getPluginConfig(pluginName: string): Promise<Config>;
25
+ loadPlugins(): Promise<void>;
26
+ loadPlugin(name: string, config: Config): Promise<void>;
27
+ /**
28
+ * 监听插件目录,实现热重载
29
+ * @param core Core实例
30
+ * @param config Config实例
31
+ * @param pluginsDir 插件目录
32
+ */
33
+ watchPlugins(core: Core, pluginsDir?: string): void;
22
34
  registerComponent(name: string, component: any): void;
23
35
  getComponent(name: string): any;
24
36
  on(event: string, listener: (...args: any[]) => Promise<void>): void;
package/dist/core.js CHANGED
@@ -32,20 +32,30 @@ 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
  exports.Core = void 0;
40
+ /**
41
+ * @time: 2025/03/24 00:19
42
+ * @author: FireGuo
43
+ * WindyPear-Team All right reserved
44
+ **/
37
45
  const yaml = __importStar(require("js-yaml"));
38
46
  const fs = __importStar(require("fs"));
47
+ const path = __importStar(require("path"));
39
48
  const config_1 = require("./config");
40
49
  const command_1 = require("./command");
50
+ const chokidar_1 = __importDefault(require("chokidar"));
41
51
  class Core {
42
- constructor(options) {
52
+ constructor(pluginLoader) {
43
53
  this.plugins = {};
44
54
  this.config = null;
45
55
  this.eventListeners = {};
46
56
  this.components = {};
47
57
  this.commands = {};
48
- // 可以根据 options 初始化
58
+ this.pluginLoader = pluginLoader;
49
59
  }
50
60
  // 加载配置文件
51
61
  async loadConfig(configPath) {
@@ -59,8 +69,17 @@ class Core {
59
69
  throw e; // 抛出异常,让上层处理
60
70
  }
61
71
  }
72
+ async getPluginConfig(pluginName) {
73
+ for (const plugins of this.config.plugins) {
74
+ if (plugins.name == pluginName) {
75
+ const config = new config_1.Config(plugins.name, plugins.config);
76
+ return config;
77
+ }
78
+ }
79
+ return new config_1.Config(pluginName);
80
+ }
62
81
  // 加载插件
63
- async loadPlugins(pluginLoader) {
82
+ async loadPlugins() {
64
83
  if (!this.config || !this.config.plugins) {
65
84
  console.log('No plugins to load.');
66
85
  return;
@@ -69,19 +88,86 @@ class Core {
69
88
  try {
70
89
  console.log(`Loading plugin: ${plugins.name}`);
71
90
  const config = new config_1.Config(plugins.name, plugins.config);
72
- const plugin = await pluginLoader.load(plugins.name);
73
- this.plugins[plugins.name] = plugin;
74
- console.log(`Plugin ${plugins.name} loaded.`);
75
- if (plugin.apply) {
76
- console.log(`Applying plugin: ${plugins.name}`);
77
- await plugin.apply(this, config);
78
- console.log(`Plugin ${plugins.name} applied.`);
79
- }
91
+ await this.loadPlugin(plugins.name, config);
80
92
  }
81
93
  catch (err) {
82
94
  console.error(`Failed to load plugin ${plugins.name}:`, err);
83
95
  }
84
96
  }
97
+ this.watchPlugins(this);
98
+ }
99
+ async loadPlugin(name, config) {
100
+ const plugin = await this.pluginLoader.load(name);
101
+ this.plugins[name] = plugin;
102
+ console.log(`Plugin ${name} loaded.`);
103
+ if (plugin.apply) {
104
+ console.log(`Applying plugin: ${name}`);
105
+ await plugin.apply(this, config);
106
+ console.log(`Plugin ${name} applied.`);
107
+ }
108
+ }
109
+ /**
110
+ * 监听插件目录,实现热重载
111
+ * @param core Core实例
112
+ * @param config Config实例
113
+ * @param pluginsDir 插件目录
114
+ */
115
+ watchPlugins(core, pluginsDir = 'plugins') {
116
+ const watcher = chokidar_1.default.watch(pluginsDir, {
117
+ ignored: /(^|[/\\])\../, // 忽略点文件
118
+ persistent: true,
119
+ ignoreInitial: true,
120
+ awaitWriteFinish: {
121
+ stabilityThreshold: 200,
122
+ pollInterval: 100
123
+ }
124
+ });
125
+ watcher.on('add', async (pluginName) => {
126
+ if (pluginName.endsWith('.ts') || pluginName.endsWith('.js'))
127
+ return;
128
+ //console.log(`New plugin detected: ${pluginName}`);
129
+ try {
130
+ // 仅加载目录名作为插件名
131
+ const pluginDirName = path.basename(pluginName);
132
+ const config = await core.getPluginConfig(pluginName);
133
+ await core.loadPlugin(pluginName, config);
134
+ core.emit('plugin-loaded', pluginName);
135
+ }
136
+ catch (error) {
137
+ console.error(`Failed to load new plugin ${pluginName}:`, error);
138
+ }
139
+ });
140
+ watcher.on('change', async (pluginName) => {
141
+ if (!pluginName.endsWith('.ts'))
142
+ return;
143
+ console.log(`Plugin changed: ${pluginName}`);
144
+ try {
145
+ const pluginDirName = path.dirname(pluginName);
146
+ const config = await core.getPluginConfig(pluginName);
147
+ //const pluginDirName = path.basename(pluginName);
148
+ await core.pluginLoader.unloadPlugin(pluginDirName);
149
+ await core.loadPlugin(pluginName, config);
150
+ core.emit('plugin-reloaded', pluginName);
151
+ }
152
+ catch (error) {
153
+ console.error(`Failed to reload plugin ${pluginName}:`, error);
154
+ }
155
+ });
156
+ watcher.on('unlink', async (pluginName) => {
157
+ if (!pluginName.endsWith('.ts'))
158
+ return;
159
+ console.log(`Plugin removed: ${pluginName}`);
160
+ try {
161
+ const pluginDirName = path.dirname(pluginName);
162
+ //const pluginDirName = path.basename(pluginName);
163
+ await core.pluginLoader.unloadPlugin(pluginDirName);
164
+ core.emit('plugin-unloaded', pluginName);
165
+ }
166
+ catch (error) {
167
+ console.error(`Failed to unload plugin ${pluginName}:`, error);
168
+ }
169
+ });
170
+ console.log(`Watching for plugin changes in ${pluginsDir}`);
85
171
  }
86
172
  // 注册组件
87
173
  registerComponent(name, component) {
package/dist/core.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAE,8CAAgC;AAChC,uCAAyB;AAEzB,qCAAkC;AAClC,uCAAoC;AAcpC,MAAa,IAAI;IAOf,YAAY,OAAqB;QAN1B,YAAO,GAA+B,EAAE,CAAC;QACzC,WAAM,GAAQ,IAAI,CAAC;QAClB,mBAAc,GAA+D,EAAE,CAAC;QAChF,eAAU,GAA4B,EAAE,CAAC;QAC1C,aAAQ,GAA4B,EAAE,CAAC;QAG5C,oBAAoB;IACtB,CAAC;IAED,SAAS;IACT,KAAK,CAAC,UAAU,CAAC,UAAkB;QACjC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;YAC3D,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC;YAC3C,MAAM,CAAC,CAAC,CAAC,aAAa;QACxB,CAAC;IACH,CAAC;IAED,OAAO;IACP,KAAK,CAAC,WAAW,CAAC,YAA0B;QAC1C,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YACnC,OAAO;QACT,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,mBAAmB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC/C,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;gBAExD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAErD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;gBACpC,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC;gBAE9C,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;oBACjB,OAAO,CAAC,GAAG,CAAC,oBAAoB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;oBAChD,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;oBACjC,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,CAAC,IAAI,WAAW,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,yBAAyB,OAAO,CAAC,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;IACP,iBAAiB,CAAC,IAAY,EAAE,SAAc;QAC5C,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,cAAc,IAAI,uBAAuB,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,eAAe,CAAC,CAAC;IACjD,CAAC;IAED,OAAO;IACP,YAAY,CAAC,IAAY;QACvB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,YAAY;IACZ,EAAE,CAAC,KAAa,EAAE,QAA2C;QAC3D,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,6BAA6B,KAAK,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,YAAY;IACZ,KAAK,CAAC,IAAI,CAAC,KAAa,EAAE,GAAG,IAAW;QACtC,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,cAAc,EAAE,IAAI,CAAC,CAAC;YAC1D,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClD,IAAI,CAAC;oBACH,MAAM,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;gBAC1B,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CAAC,gCAAgC,KAAK,IAAI,EAAE,GAAG,CAAC,CAAC;gBAChE,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,2BAA2B,KAAK,IAAI,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,OAAO,CAAC,IAAY;QAChB,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,aAAa;QACtD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;QAC9B,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,SAAS;IACT,cAAc,CAAC,IAAY,EAAE,OAAY,EAAE,GAAG,IAAW;QACrD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACF;AAxGD,oBAwGC"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
package/dist/session.d.ts CHANGED
@@ -1,15 +1,14 @@
1
1
  export declare class Session {
2
2
  ip: string;
3
- cookie: any;
3
+ cookie: Record<string, string>;
4
4
  query: Record<string, string> | undefined;
5
5
  sessionid: string;
6
6
  data: Record<string, any>;
7
- constructor(ip: string, cookie: any, query?: Record<string, string>);
7
+ constructor(ip: string, cookie: Record<string, string>, query?: Record<string, string>);
8
8
  private generateId;
9
9
  private md5;
10
10
  setData(key: string, value: any): void;
11
11
  deleteData(key: string): void;
12
12
  clearData(): void;
13
13
  destroy(): void;
14
- private getCommand;
15
14
  }
package/dist/session.js CHANGED
@@ -16,16 +16,8 @@ class Session {
16
16
  this.ip = ip;
17
17
  this.cookie = cookie;
18
18
  this.query = query;
19
- let jsoncookie;
20
- try {
21
- jsoncookie = JSON.parse(this.cookie);
22
- }
23
- catch (error) {
24
- console.error("Error parsing cookie:", error);
25
- jsoncookie = {};
26
- }
27
- if (jsoncookie.sessionid) {
28
- this.sessionid = jsoncookie.sessionid;
19
+ if (cookie.sessionid) {
20
+ this.sessionid = cookie.sessionid;
29
21
  }
30
22
  else {
31
23
  this.sessionid = this.generateId(this.ip);
@@ -60,24 +52,6 @@ class Session {
60
52
  destroy() {
61
53
  this.clearData(); // 清理会话数据
62
54
  }
63
- // 从请求路径提取指令和剩余的查询字符串
64
- getCommand() {
65
- try {
66
- const jsoncookie = JSON.parse(this.cookie);
67
- if (jsoncookie.requestPath) {
68
- const path = jsoncookie.requestPath;
69
- const pathParts = path.split('?'); // 分割路径和查询字符串
70
- const command = pathParts[0].substring(1); // 移除开头的 '/' (如果存在)
71
- const queryString = pathParts.length > 1 ? pathParts[1] : null; // 获取查询字符串,若没有则为 null
72
- return { command: command || null, queryString };
73
- }
74
- return { command: null, queryString: null };
75
- }
76
- catch (e) {
77
- console.error('Could not extract path from cookie', e);
78
- return { command: null, queryString: null };
79
- }
80
- }
81
55
  }
82
56
  exports.Session = Session;
83
57
  //# sourceMappingURL=session.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAE5B,MAAa,OAAO;IAQhB;;;;OAIG;IACH,YAAY,EAAU,EAAE,MAA8B,EAAE,KAA8B;QAR/E,SAAI,GAAwB,EAAE,CAAC;QASlC,IAAI,CAAC,EAAE,GAAI,EAAE,CAAC;QACd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QACtC,CAAC;aACI,CAAC;YACF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1C,wCAAwC;YACxC,8CAA8C;QAClD,CAAC;IACL,CAAC;IAED,eAAe;IACP,UAAU,CAAC,EAAU,EAAE,MAAe;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ;QAC3F,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,SAAS;IACD,GAAG,CAAC,GAAW;QACnB,MAAM,IAAI,GAAG,gBAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,SAAS;IACF,OAAO,CAAC,GAAW,EAAE,KAAU;QAClC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,SAAS;IACF,UAAU,CAAC,GAAW;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,SAAS;IACF,SAAS;QACb,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;IAClB,CAAC;IAED,WAAW;IACJ,OAAO;QACV,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS;IAC/B,CAAC;CACJ;AA5DD,0BA4DC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yumerijs/core",
3
- "version": "1.0.7",
3
+ "version": "1.0.9",
4
4
  "description": "Core module for yumeri",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -9,7 +9,7 @@
9
9
  ],
10
10
  "scripts": {
11
11
  "build": "tsc",
12
- "prepublishOnly": "npm run build"
12
+ "prepublishOnly": "yarn build"
13
13
  },
14
14
  "repository": {
15
15
  "type": "git",
@@ -31,6 +31,7 @@
31
31
  "typescript": "^5.8.2"
32
32
  },
33
33
  "dependencies": {
34
+ "chokidar": "^4.0.3",
34
35
  "js-sha256": "^0.11.0",
35
36
  "js-yaml": "^4.1.0"
36
37
  }