mirror of
https://github.com/clusterio/clusterio.git
synced 2026-11-12 15:04:52 +09:00
Replace invokeHook and the per plugin on* methods with AsyncHook collections on the controller, host, instance, clusterioctl and web control objects. Plugin entrypoints export a default function that receives a load context and attaches handlers to the hooks it needs. Class exports still load through fromContext with a deprecation warning. The create templates and docs use the entrypoint function. This is clusterio/clusterio#921 recreated on top of master after the ESM migration and the PluginDeclaration permissions change. Closes #730 Co-Authored-By: Cooldude2606 <25043174+Cooldude2606@users.noreply.github.com> Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
11 lines
477 B
TypeScript
11 lines
477 B
TypeScript
import { bootstrap } from "./host.js";
|
|
export { BaseHostPlugin, HostHooks, type HostPluginContext } from "./src/BaseHostPlugin.js";
|
|
export { BaseInstancePlugin, InstanceHooks, type InstancePluginContext } from "./src/BaseInstancePlugin.js";
|
|
export { default as Host, HostRouter } from "./src/Host.js";
|
|
export { default as Instance } from "./src/Instance.js";
|
|
export { default as InstanceConnection } from "./src/InstanceConnection.js";
|
|
|
|
if (import.meta.main) {
|
|
bootstrap();
|
|
}
|