diff --git a/src/util/plugin/Plugin.ts b/src/util/plugin/Plugin.ts
index 96e05843..1c86a006 100644
--- a/src/util/plugin/Plugin.ts
+++ b/src/util/plugin/Plugin.ts
@@ -6,7 +6,14 @@ type PluginEvents = {
loaded: () => void;
};
-export class Plugin extends (EventEmitter as new () => TypedEventEmitter<PluginEvents>) {
+//this doesnt work, check later:
+ //(EventEmitter as new () => TypedEventEmitter<PluginEvents>) {
+export class Plugin extends EventEmitter {
+ private _untypedOn = this.on
+ private _untypedEmit = this.emit
+ public on = <K extends keyof PluginEvents>(event: K, listener: PluginEvents[K]): this => this._untypedOn(event, listener)
+ public emit = <K extends keyof PluginEvents>(event: K, ...args: Parameters<PluginEvents[K]>): boolean => this._untypedEmit(event, ...args)
+
async init() {
// insert default config into database?
}
diff --git a/src/util/plugin/PluginLoader.ts b/src/util/plugin/PluginLoader.ts
index b46ef269..e69cb499 100644
--- a/src/util/plugin/PluginLoader.ts
+++ b/src/util/plugin/PluginLoader.ts
@@ -2,7 +2,7 @@ import path from "path";
import fs from "fs";
import { Plugin, PluginManifest } from "./";
-const root = process.env.PLUGIN_LOCATION || "../plugins";
+const root = process.env.PLUGIN_LOCATION || "dist/plugins";
let pluginsLoaded = false;
export class PluginLoader {
@@ -24,7 +24,7 @@ export class PluginLoader {
console.log(
`Plugin info: ${manifest.name} (${manifest.id}), written by ${manifest.authors}, available at ${manifest.repository}`
);
- const module_ = require(path.join(modPath, "dist", "index.js")) as Plugin;
+ const module_ = require(path.join(modPath, manifest.index)) as Plugin;
try {
await module_.init();
module_.emit("loaded");
diff --git a/src/util/plugin/PluginManifest.ts b/src/util/plugin/PluginManifest.ts
index b171956b..01b2b084 100644
--- a/src/util/plugin/PluginManifest.ts
+++ b/src/util/plugin/PluginManifest.ts
@@ -6,4 +6,5 @@ export class PluginManifest {
license: string;
version: string // semver
versionCode: number // integer
+ index: string;
}
\ No newline at end of file
|