Provides APIs, utilities and types to develop and run dynamic plugins in host web applications.
Host applications can load and interpret plugins from remote sources at runtime by utilizing webpack module federation. Module federation allows a JavaScript application to load and execute additional code while sharing common runtime dependencies.
Both host applications and plugins can be built, released and deployed independently from each other. This reduces the coupling between an application and its plugins and allows individual plugins to be updated and deployed more frequently.
Tools provided by this SDK are React focused and support webpack
and rspack module bundlers. Plugins use DynamicRemotePlugin to generate their assets.
Both host applications and plugins use React APIs such as hooks, components, etc.
Following SDK packages are distributed via npmjs registry:
| Package Name | Sources |
|---|---|
@openshift/api-types |
packages/lib-api-types |
@openshift/dynamic-plugin-sdk |
packages/lib-core |
@openshift/dynamic-plugin-sdk-utils |
packages/lib-utils |
@openshift/dynamic-plugin-sdk-webpack |
packages/lib-webpack |
Each package is versioned and published independently.