Skip to content

feat(plugin): add MultiPlugin type for registering multiple plugins from one module#2641

Merged
mofojed merged 2 commits intodeephaven:mainfrom
mofojed:DH-21979-composite-plugins
Mar 25, 2026
Merged

feat(plugin): add MultiPlugin type for registering multiple plugins from one module#2641
mofojed merged 2 commits intodeephaven:mainfrom
mofojed:DH-21979-composite-plugins

Conversation

@mofojed
Copy link
Copy Markdown
Member

@mofojed mofojed commented Mar 24, 2026

  • Add MULTI_PLUGIN to PluginType enum
  • Define MultiPlugin interface with plugins: Plugin[] property
  • Add isMultiPlugin() type guard
  • Update loadModulePlugins() to flatten MultiPlugin inner plugins
  • Update PluginsBootstrap to handle MultiPlugin in core plugins
  • Rename PluginModule to PluginModuleExport (with deprecated alias)
  • Add tests for MultiPlugin type guard and loading
  • Tested using the dashboard resolve plugin branch: https://github.com/mofojed/deephaven-plugins/tree/DH-21757-homescreen-resolve
    • Ensured that the WidgetPlugin and the DashboardPlugin were both registered
    • Ensured widget data saved with the dashboard was opened like it used to, while opening deephaven.ui components open with the new mechanism

…rom one module

- Add MULTI_PLUGIN to PluginType enum
- Define MultiPlugin interface with plugins: Plugin[] property
- Add isMultiPlugin() type guard
- Update loadModulePlugins() to flatten MultiPlugin inner plugins
- Update PluginsBootstrap to handle MultiPlugin in core plugins
- Rename PluginModule to PluginModuleExport (with deprecated alias)
- Add tests for MultiPlugin type guard and loading
@mofojed mofojed requested a review from a team March 24, 2026 17:53
@mofojed mofojed self-assigned this Mar 24, 2026
@mofojed mofojed requested review from dgodinez-dh and removed request for a team March 24, 2026 17:53
dgodinez-dh
dgodinez-dh previously approved these changes Mar 24, 2026
Copy link
Copy Markdown
Contributor

@dgodinez-dh dgodinez-dh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like some checks are failing, but it doesn't look like anything major.

@codecov
Copy link
Copy Markdown

codecov Bot commented Mar 25, 2026

Codecov Report

❌ Patch coverage is 48.38710% with 16 lines in your changes missing coverage. Please review.
✅ Project coverage is 49.76%. Comparing base (767f784) to head (e257ccc).
⚠️ Report is 10 commits behind head on main.

Files with missing lines Patch % Lines
packages/app-utils/src/plugins/PluginUtils.tsx 0.00% 9 Missing ⚠️
...ages/app-utils/src/components/PluginsBootstrap.tsx 20.00% 4 Missing ⚠️
packages/plugin/src/PluginTypes.ts 82.35% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2641      +/-   ##
==========================================
+ Coverage   49.51%   49.76%   +0.24%     
==========================================
  Files         774      774              
  Lines       43781    43860      +79     
  Branches    11263    11291      +28     
==========================================
+ Hits        21680    21828     +148     
+ Misses      22055    21986      -69     
  Partials       46       46              
Flag Coverage Δ
unit 49.76% <48.38%> (+0.24%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@mofojed mofojed requested a review from dgodinez-dh March 25, 2026 16:59
@mofojed mofojed merged commit 56f8f62 into deephaven:main Mar 25, 2026
11 checks passed
@mofojed mofojed deleted the DH-21979-composite-plugins branch March 25, 2026 17:42
@github-actions github-actions Bot locked and limited conversation to collaborators Mar 25, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants