* fix: refactor plugin manager * fix: make id optional * fix: allow add to accept single object * fix: getHooks * fix: tsc * fix: remove id
21 lines
503 B
TypeScript
21 lines
503 B
TypeScript
import { Hook, PluginManager } from "@server/utils/PluginManager";
|
|
import { requireDirectory } from "@server/utils/fs";
|
|
import BaseProcessor from "./BaseProcessor";
|
|
|
|
const processors = {};
|
|
|
|
requireDirectory<{ default: BaseProcessor }>(__dirname).forEach(
|
|
([module, id]) => {
|
|
if (id === "index") {
|
|
return;
|
|
}
|
|
processors[id] = module.default;
|
|
}
|
|
);
|
|
|
|
PluginManager.getHooks(Hook.Processor).forEach((hook) => {
|
|
processors[hook.value.name] = hook.value;
|
|
});
|
|
|
|
export default processors;
|