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 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 more frequently.
Tools provided by this SDK are React focused. Host applications are React web apps built with webpack. Plugins use React APIs (hooks, components, etc.) to extend the functionality of the application itself and/or other plugins.
Following SDK packages are distributed via npmjs:
Package Name | Sources |
---|---|
@openshift/dynamic-plugin-sdk |
packages/lib-core |
@openshift/dynamic-plugin-sdk-extensions |
packages/lib-extensions |
@openshift/dynamic-plugin-sdk-utils |
packages/lib-utils |
@openshift/dynamic-plugin-sdk-webpack |
packages/lib-webpack |
Each package is versioned and published independently from other packages.