You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
2.**Last base plugin wins.** If multiple non-middleware plugins register for the same type, the last one replaces earlier ones (with a warning).
170
179
3.**Middleware must render `Component`.** If a middleware doesn't render the `Component` prop, the rest of the chain (including the base widget) will not appear.
171
180
4.**Middleware must spread props.** Pass all received props to `Component` to ensure the base widget and other middleware receive them.
172
-
5.**`panelComponent` middleware is separate.**If the base plugin defines a `panelComponent`, middleware targeting the panel layer must also define `panelComponent`.
181
+
5.**`panelComponent` middleware is separate.**When the base plugin defines a `panelComponent`, only middleware that also defines `panelComponent` is applied. Middleware with only `component` is silently skipped in the panel path — it will have no effect for that widget type.
173
182
174
183
## Cross-Plugin Dependencies
175
184
176
-
Plugins load sequentially in manifest order. A plugin can expose its exports for later plugins to import at runtime by declaring a `package` field in the manifest.
185
+
Plugins load sequentially in dependency order (topologically sorted by the `dependencies` field, with manifest order preserved among independent plugins). A plugin can expose its exports for later plugins to import at runtime by declaring a `package` field in the manifest.
0 commit comments