A plugin written for one host cannot run on another, even when it needs nothing that host owns. This blocks a shared plugin pool and any marketplace built on one.
Current state: pluginkit carries the lifecycle only, and Plugin, Migrator, Seeder, RouteProvider and PublicPathProvider are already host agnostic. Everything else a plugin reaches for comes from its own host's sdk package, and that single import ties the plugin to that host for good.
Proposal: settle what a plugin may ask a host for, and how a host declares what it offers. A plugin needing only the lifecycle, its own schema and its own routes should compile against pluginkit alone.
Trigger: the first plugin wanted on both hosts, or the marketplace design.
A plugin written for one host cannot run on another, even when it needs nothing that host owns. This blocks a shared plugin pool and any marketplace built on one.
Current state: pluginkit carries the lifecycle only, and
Plugin,Migrator,Seeder,RouteProviderandPublicPathProviderare already host agnostic. Everything else a plugin reaches for comes from its own host'ssdkpackage, and that single import ties the plugin to that host for good.Proposal: settle what a plugin may ask a host for, and how a host declares what it offers. A plugin needing only the lifecycle, its own schema and its own routes should compile against pluginkit alone.
Trigger: the first plugin wanted on both hosts, or the marketplace design.