/dynamic-plugin-sdk

Provides the plugin API, types and utilities used by dynamic plugins at runtime

Primary LanguageTypeScriptApache License 2.0Apache-2.0

OpenShift Dynamic Plugin SDK

Provides APIs, utilities and types to develop and run dynamic plugins in host web applications.

Overview

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.

Quick References

Distributable Packages

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.