plugin system

This commit is contained in:
nicwands
2026-02-24 11:18:37 -05:00
parent 0ab0620da8
commit d21076a785
8 changed files with 488 additions and 46 deletions

View File

@@ -0,0 +1,21 @@
export default class PluginRegistry {
constructor() {
this.plugins = new Map()
}
register(plugin) {
if (!plugin.id) {
throw new Error('Plugin must have an id')
}
this.plugins.set(plugin.id, plugin)
}
get(id) {
return this.plugins.get(id)
}
list() {
return Array.from(this.plugins.values())
}
}