- Added a module to load addons
- Added an example module that just extends the socketIO connection to add an console log
This commit is contained in:
Logan Cusano
2024-03-10 04:03:40 -04:00
parent b209a672c6
commit 7d4f48a446
3 changed files with 48 additions and 1 deletions

View File

@@ -0,0 +1,26 @@
import { fileURLToPath } from 'url';
import fs from 'fs';
import path from 'path';
// Function to load addons from the addons directory
export const loadAddons = async (nodeIo) => {
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
const addonsDir = path.join(__dirname, '../addons');
// Read the directory containing addon modules
const addonDirectories = await fs.readdirSync(addonsDir, { withFileTypes: true });
addonDirectories.forEach(addonDir => {
if (addonDir.isDirectory()) {
const addonPath = path.join(addonsDir, addonDir.name, 'index.js');
import(`file://${addonPath}`).then(addon => {
console.log("Loading addon: ", addon);
addon.initialize(nodeIo);
console.log(`Addon ${addonDir.name} loaded.`);
})
}
});
}