Add plugin system

This commit is contained in:
thePR0M3TH3AN
2025-07-10 10:44:46 -04:00
parent 1698044bb4
commit a385a7b312
5 changed files with 97 additions and 1 deletions

View File

@@ -44,6 +44,7 @@ function loadConfig(configPath = path.join(process.cwd(), 'config.yaml')) {
darkMode: false
},
features: {},
pluginsDir: 'plugins',
plugins: []
};

24
src/config/loadPlugins.js Normal file
View File

@@ -0,0 +1,24 @@
const path = require('path');
const fs = require('fs');
function loadPlugins(config) {
const dir = path.resolve(process.cwd(), config.pluginsDir || 'plugins');
const names = Array.isArray(config.plugins) ? config.plugins : [];
const plugins = [];
for (const name of names) {
const file = path.join(dir, name.endsWith('.js') ? name : `${name}.js`);
if (fs.existsSync(file)) {
try {
const mod = require(file);
plugins.push(mod);
} catch (e) {
console.error(`Failed to load plugin ${name}:`, e);
}
} else {
console.warn(`Plugin not found: ${file}`);
}
}
return plugins;
}
module.exports = loadPlugins;