@yumerijs/core 1.0.12 → 1.0.14
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/core.d.ts +1 -0
- package/dist/core.js +20 -35
- package/dist/core.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +15 -0
- package/dist/logger.js +39 -0
- package/dist/logger.js.map +1 -0
- package/package.json +3 -1
package/dist/core.d.ts
CHANGED
|
@@ -20,6 +20,7 @@ export declare class Core {
|
|
|
20
20
|
private components;
|
|
21
21
|
commands: Record<string, Command>;
|
|
22
22
|
private pluginLoader;
|
|
23
|
+
private logger;
|
|
23
24
|
constructor(pluginLoader: PluginLoader);
|
|
24
25
|
loadConfig(configPath: string): Promise<void>;
|
|
25
26
|
getPluginConfig(pluginName: string): Promise<Config>;
|
package/dist/core.js
CHANGED
|
@@ -46,6 +46,7 @@ const yaml = __importStar(require("js-yaml"));
|
|
|
46
46
|
const fs = __importStar(require("fs"));
|
|
47
47
|
const path = __importStar(require("path"));
|
|
48
48
|
const config_1 = require("./config");
|
|
49
|
+
const logger_1 = require("./logger");
|
|
49
50
|
const command_1 = require("./command");
|
|
50
51
|
const chokidar_1 = __importDefault(require("chokidar"));
|
|
51
52
|
class Core {
|
|
@@ -55,6 +56,7 @@ class Core {
|
|
|
55
56
|
this.eventListeners = {};
|
|
56
57
|
this.components = {};
|
|
57
58
|
this.commands = {};
|
|
59
|
+
this.logger = new logger_1.Logger('core');
|
|
58
60
|
this.pluginLoader = pluginLoader;
|
|
59
61
|
}
|
|
60
62
|
// 加载配置文件
|
|
@@ -62,10 +64,10 @@ class Core {
|
|
|
62
64
|
try {
|
|
63
65
|
const doc = yaml.load(fs.readFileSync(configPath, 'utf8'));
|
|
64
66
|
this.config = doc;
|
|
65
|
-
|
|
67
|
+
this.logger.info('Config loaded.');
|
|
66
68
|
}
|
|
67
69
|
catch (e) {
|
|
68
|
-
|
|
70
|
+
this.logger.error('Failed to load config:', e);
|
|
69
71
|
throw e; // 抛出异常,让上层处理
|
|
70
72
|
}
|
|
71
73
|
}
|
|
@@ -81,17 +83,17 @@ class Core {
|
|
|
81
83
|
// 加载插件
|
|
82
84
|
async loadPlugins() {
|
|
83
85
|
if (!this.config || !this.config.plugins) {
|
|
84
|
-
|
|
86
|
+
this.logger.info('No plugins to load.');
|
|
85
87
|
return;
|
|
86
88
|
}
|
|
87
89
|
for (const plugins of this.config.plugins) {
|
|
88
90
|
try {
|
|
89
|
-
|
|
91
|
+
this.logger.info(`Loading plugin: ${plugins.name}`);
|
|
90
92
|
const config = new config_1.Config(plugins.name, plugins.config);
|
|
91
93
|
await this.loadPlugin(plugins.name, config);
|
|
92
94
|
}
|
|
93
95
|
catch (err) {
|
|
94
|
-
|
|
96
|
+
this.logger.error(`Failed to load plugin ${plugins.name}:`, err);
|
|
95
97
|
}
|
|
96
98
|
}
|
|
97
99
|
if (process.env.NODE_ENV === 'development') {
|
|
@@ -101,11 +103,11 @@ class Core {
|
|
|
101
103
|
async loadPlugin(name, config) {
|
|
102
104
|
const plugin = await this.pluginLoader.load(name);
|
|
103
105
|
this.plugins[name] = plugin;
|
|
104
|
-
|
|
106
|
+
this.logger.info(`Plugin ${name} loaded.`);
|
|
105
107
|
if (plugin.apply) {
|
|
106
108
|
console.log(`Applying plugin: ${name}`);
|
|
107
109
|
await plugin.apply(this, config);
|
|
108
|
-
|
|
110
|
+
this.logger.info(`Plugin ${name} applied.`);
|
|
109
111
|
}
|
|
110
112
|
}
|
|
111
113
|
/**
|
|
@@ -115,6 +117,7 @@ class Core {
|
|
|
115
117
|
* @param pluginsDir 插件目录
|
|
116
118
|
*/
|
|
117
119
|
watchPlugins(core, pluginsDir = 'plugins') {
|
|
120
|
+
const logger = new logger_1.Logger('hmr');
|
|
118
121
|
const watcher = chokidar_1.default.watch(pluginsDir, {
|
|
119
122
|
ignored: /(^|[/\\])\../, // 忽略点文件
|
|
120
123
|
persistent: true,
|
|
@@ -124,29 +127,11 @@ class Core {
|
|
|
124
127
|
pollInterval: 100
|
|
125
128
|
}
|
|
126
129
|
});
|
|
127
|
-
/*
|
|
128
|
-
watcher.on('add', async (changePath) => {
|
|
129
|
-
if (changePath.endsWith('.ts') || changePath.endsWith('.js')) return;
|
|
130
|
-
//console.log(`New plugin detected: ${pluginName}`);
|
|
131
|
-
const pluginName = changePath.split('/')[1];
|
|
132
|
-
try {
|
|
133
|
-
// 仅加载目录名作为插件名
|
|
134
|
-
const pluginDirName = path.basename(pluginName);
|
|
135
|
-
const config = await core.getPluginConfig(pluginName);
|
|
136
|
-
await core.loadPlugin(pluginName, config);
|
|
137
|
-
|
|
138
|
-
core.emit('plugin-loaded', pluginName);
|
|
139
|
-
|
|
140
|
-
} catch (error) {
|
|
141
|
-
console.error(`Failed to load new plugin ${pluginName}:`, error);
|
|
142
|
-
}
|
|
143
|
-
});
|
|
144
|
-
*/
|
|
145
130
|
watcher.on('change', async (changePath) => {
|
|
146
131
|
if (!changePath.endsWith('.ts'))
|
|
147
132
|
return;
|
|
148
133
|
const pluginName = changePath.split('/')[1];
|
|
149
|
-
|
|
134
|
+
this.logger.info(`Plugin changed: ${pluginName}`);
|
|
150
135
|
try {
|
|
151
136
|
const pluginDirName = path.dirname(pluginName);
|
|
152
137
|
const config = await core.getPluginConfig(pluginName);
|
|
@@ -163,14 +148,14 @@ class Core {
|
|
|
163
148
|
core.emit('plugin-reloaded', pluginName);
|
|
164
149
|
}
|
|
165
150
|
catch (error) {
|
|
166
|
-
|
|
151
|
+
this.logger.error(`Failed to reload plugin ${pluginName}:`, error);
|
|
167
152
|
}
|
|
168
153
|
});
|
|
169
154
|
watcher.on('unlink', async (changePath) => {
|
|
170
155
|
if (!changePath.endsWith('.ts'))
|
|
171
156
|
return;
|
|
172
157
|
const pluginName = changePath.split('/')[1];
|
|
173
|
-
|
|
158
|
+
this.logger.info(`Plugin removed: ${pluginName}`);
|
|
174
159
|
try {
|
|
175
160
|
const plugin = core.plugins[pluginName];
|
|
176
161
|
if (plugin.disable) {
|
|
@@ -183,18 +168,18 @@ class Core {
|
|
|
183
168
|
core.emit('plugin-unloaded', pluginName);
|
|
184
169
|
}
|
|
185
170
|
catch (error) {
|
|
186
|
-
|
|
171
|
+
this.logger.error(`Failed to unload plugin ${pluginName}:`, error);
|
|
187
172
|
}
|
|
188
173
|
});
|
|
189
|
-
|
|
174
|
+
logger.info(`Watching for plugin changes in ${pluginsDir}`);
|
|
190
175
|
}
|
|
191
176
|
// 注册组件
|
|
192
177
|
registerComponent(name, component) {
|
|
193
178
|
if (this.components[name]) {
|
|
194
|
-
|
|
179
|
+
this.logger.warn(`Component "${name}" already registered.`);
|
|
195
180
|
}
|
|
196
181
|
this.components[name] = component;
|
|
197
|
-
|
|
182
|
+
this.logger.info(`Component "${name}" registered.`);
|
|
198
183
|
}
|
|
199
184
|
// 获取组件
|
|
200
185
|
getComponent(name) {
|
|
@@ -215,18 +200,18 @@ class Core {
|
|
|
215
200
|
// 事件系统:触发事件
|
|
216
201
|
async emit(event, ...args) {
|
|
217
202
|
if (this.eventListeners[event]) {
|
|
218
|
-
|
|
203
|
+
this.logger.info(`Emitting event "${event}" with args:`, args);
|
|
219
204
|
for (const listener of this.eventListeners[event]) {
|
|
220
205
|
try {
|
|
221
206
|
await listener(...args);
|
|
222
207
|
}
|
|
223
208
|
catch (err) {
|
|
224
|
-
|
|
209
|
+
this.logger.error(`Error in event listener for "${event}":`, err);
|
|
225
210
|
}
|
|
226
211
|
}
|
|
227
212
|
}
|
|
228
213
|
else {
|
|
229
|
-
|
|
214
|
+
this.logger.info(`No listeners for event "${event}".`);
|
|
230
215
|
}
|
|
231
216
|
}
|
|
232
217
|
command(name) {
|
package/dist/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;IAII;AACF,8CAAgC;AAChC,uCAAyB;AACzB,2CAA6B;AAC7B,qCAAkC;AAClC,uCAAoC;AACpC,wDAAgC;AAkBhC,MAAa,IAAI;
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,4 +7,5 @@ import { Core } from './core';
|
|
|
7
7
|
import { Session } from './session';
|
|
8
8
|
import { Command } from './command';
|
|
9
9
|
import { Config } from './config';
|
|
10
|
-
|
|
10
|
+
import { Logger } from './logger';
|
|
11
|
+
export { Core, Session, Command, Config, Logger };
|
package/dist/index.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* WindyPear-Team All right reserved
|
|
6
6
|
**/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.Config = exports.Command = exports.Session = exports.Core = void 0;
|
|
8
|
+
exports.Logger = exports.Config = exports.Command = exports.Session = exports.Core = void 0;
|
|
9
9
|
const core_1 = require("./core");
|
|
10
10
|
Object.defineProperty(exports, "Core", { enumerable: true, get: function () { return core_1.Core; } });
|
|
11
11
|
const session_1 = require("./session");
|
|
@@ -14,4 +14,6 @@ const command_1 = require("./command");
|
|
|
14
14
|
Object.defineProperty(exports, "Command", { enumerable: true, get: function () { return command_1.Command; } });
|
|
15
15
|
const config_1 = require("./config");
|
|
16
16
|
Object.defineProperty(exports, "Config", { enumerable: true, get: function () { return config_1.Config; } });
|
|
17
|
+
const logger_1 = require("./logger");
|
|
18
|
+
Object.defineProperty(exports, "Logger", { enumerable: true, get: function () { return logger_1.Logger; } });
|
|
17
19
|
//# 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":";AAAA;;;;IAII;;;AAEJ,iCAA8B;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;IAII;;;AAEJ,iCAA8B;AAMrB,qFANA,WAAI,OAMA;AALb,uCAAoC;AAKrB,wFALN,iBAAO,OAKM;AAJtB,uCAAoC;AAIZ,wFAJf,iBAAO,OAIe;AAH/B,qCAAkC;AAGD,uFAHxB,eAAM,OAGwB;AAFvC,qCAAkC;AAEO,uFAFhC,eAAM,OAEgC"}
|
package/dist/logger.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @time: 2025/03/24 22:35
|
|
3
|
+
* @author: FireGuo
|
|
4
|
+
* WindyPear-Team All right reserved
|
|
5
|
+
**/
|
|
6
|
+
export declare class Logger {
|
|
7
|
+
private title;
|
|
8
|
+
private titleColor;
|
|
9
|
+
constructor(title: string);
|
|
10
|
+
private getRandomColor;
|
|
11
|
+
private log;
|
|
12
|
+
info(...args: any[]): void;
|
|
13
|
+
warn(...args: any[]): void;
|
|
14
|
+
error(...args: any[]): void;
|
|
15
|
+
}
|
package/dist/logger.js
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @time: 2025/03/24 22:35
|
|
4
|
+
* @author: FireGuo
|
|
5
|
+
* WindyPear-Team All right reserved
|
|
6
|
+
**/
|
|
7
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
8
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
9
|
+
};
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.Logger = void 0;
|
|
12
|
+
const chalk_1 = __importDefault(require("chalk")); // 引入 chalk 来实现控制台颜色输出
|
|
13
|
+
class Logger {
|
|
14
|
+
constructor(title) {
|
|
15
|
+
this.title = title;
|
|
16
|
+
this.titleColor = this.getRandomColor(); // 构造器中生成随机颜色
|
|
17
|
+
}
|
|
18
|
+
getRandomColor() {
|
|
19
|
+
const colors = [chalk_1.default.red, chalk_1.default.green, chalk_1.default.yellow, chalk_1.default.blue, chalk_1.default.magenta, chalk_1.default.cyan, chalk_1.default.white, chalk_1.default.gray];
|
|
20
|
+
const randomIndex = Math.floor(Math.random() * colors.length);
|
|
21
|
+
return colors[randomIndex];
|
|
22
|
+
}
|
|
23
|
+
log(level, ...args) {
|
|
24
|
+
const now = new Date();
|
|
25
|
+
const timestamp = `${now.getFullYear()}/${String(now.getMonth() + 1).padStart(2, '0')}/${String(now.getDate()).padStart(2, '0')} ${String(now.getHours()).padStart(2, '0')}:${String(now.getMinutes()).padStart(2, '0')}`;
|
|
26
|
+
console.log(`${timestamp} [${level}] ${this.titleColor(this.title)}`, ...args);
|
|
27
|
+
}
|
|
28
|
+
info(...args) {
|
|
29
|
+
this.log('I', ...args);
|
|
30
|
+
}
|
|
31
|
+
warn(...args) {
|
|
32
|
+
this.log('W', ...args);
|
|
33
|
+
}
|
|
34
|
+
error(...args) {
|
|
35
|
+
this.log('E', ...args);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.Logger = Logger;
|
|
39
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";AAAA;;;;IAII;;;;;;AAEJ,kDAAqC,CAAC,sBAAsB;AAE5D,MAAa,MAAM;IAIjB,YAAa,KAAa;QACxB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,aAAa;IACxD,CAAC;IAEO,cAAc;QACpB,MAAM,MAAM,GAAG,CAAC,eAAK,CAAC,GAAG,EAAE,eAAK,CAAC,KAAK,EAAE,eAAK,CAAC,MAAM,EAAE,eAAK,CAAC,IAAI,EAAE,eAAK,CAAC,OAAO,EAAE,eAAK,CAAC,IAAI,EAAE,eAAK,CAAC,KAAK,EAAE,eAAK,CAAC,IAAI,CAAC,CAAC;QACtH,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9D,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC;IAC7B,CAAC;IAEO,GAAG,CAAC,KAAa,EAAE,GAAG,IAAW;QACvC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;QAC1N,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,KAAK,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IACjF,CAAC;IAED,IAAI,CAAC,GAAG,IAAW;QACjB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,IAAI,CAAC,GAAG,IAAW;QACjB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,GAAG,IAAW;QAClB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IACzB,CAAC;CACF;AAhCD,wBAgCC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yumerijs/core",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.14",
|
|
4
4
|
"description": "Core module for yumeri",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -31,6 +31,8 @@
|
|
|
31
31
|
"typescript": "^5.8.2"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
+
"@types/chalk": "^2.2.4",
|
|
35
|
+
"chalk": "^5.4.1",
|
|
34
36
|
"chokidar": "^4.0.3",
|
|
35
37
|
"js-sha256": "^0.11.0",
|
|
36
38
|
"js-yaml": "^4.1.0"
|