Skip to content

feat(#4037): move app drawer extension and module into app-defaults - #4444

Open
fullsend-ai-coder[bot] wants to merge 1 commit into
mainfrom
agent/4037-move-drawer-to-app-defaults
Open

feat(#4037): move app drawer extension and module into app-defaults#4444
fullsend-ai-coder[bot] wants to merge 1 commit into
mainfrom
agent/4037-move-drawer-to-app-defaults

Conversation

@fullsend-ai-coder

Copy link
Copy Markdown
Contributor

Move appDrawerExtension and appDrawerModule from the app-react plugin into the app-defaults plugin, where default module registrations belong. The app-react plugin retains the reusable building blocks (AppDrawerContentBlueprint, appDrawerContentDataRef, useAppDrawer, ApplicationDrawer, and all drawer types).

Changes:

  • Create appDrawerModule.tsx in app-defaults with the extension and
    module definitions, importing UI components from app-react.
  • Export appDrawerExtension and appDrawerModule from the app-defaults
    main entry point.
  • Add ./app-drawer-module subpath that default-exports appDrawerModule
    for Scalprum / module-federation dynamic loading.
  • Update appDefaultsModule to import appDrawerExtension locally.
  • Remove appDrawerExtension, appDrawerModule, and ./app-drawer-module
    subpath from app-react.
  • Update the sample app to import appDrawerModule from app-defaults
    and add app-defaults as a dependency of the app package.
  • Regenerate API reports for both packages.

Note: Pre-commit hook (lint-staged eslint --fix) failed because the @backstage/no-undeclared-imports rule's auto-fixer attempted yarn add in the sandbox. The lint errors are resolved by the package.json dependency addition included in this commit. Tests, linting, tsc, prettier, and API reports all pass independently.


Closes #4037

Post-script verification

  • Branch is not main/master (agent/4037-move-drawer-to-app-defaults)
  • Secret scan passed (gitleaks — 277f374bef9b200bb03c427bbc00a827c098778b..HEAD)
  • Pre-commit hooks passed (authoritative run on runner)
  • Tests ran inside sandbox

Move appDrawerExtension and appDrawerModule from the app-react plugin
into the app-defaults plugin, where default module registrations
belong. The app-react plugin retains the reusable building blocks
(AppDrawerContentBlueprint, appDrawerContentDataRef, useAppDrawer,
ApplicationDrawer, and all drawer types).

Changes:
- Create appDrawerModule.tsx in app-defaults with the extension and
  module definitions, importing UI components from app-react.
- Export appDrawerExtension and appDrawerModule from the app-defaults
  main entry point.
- Add ./app-drawer-module subpath that default-exports appDrawerModule
  for Scalprum / module-federation dynamic loading.
- Update appDefaultsModule to import appDrawerExtension locally.
- Remove appDrawerExtension, appDrawerModule, and ./app-drawer-module
  subpath from app-react.
- Update the sample app to import appDrawerModule from app-defaults
  and add app-defaults as a dependency of the app package.
- Regenerate API reports for both packages.

Note: Pre-commit hook (lint-staged eslint --fix) failed because the
@backstage/no-undeclared-imports rule's auto-fixer attempted
yarn add in the sandbox. The lint errors are resolved by the
package.json dependency addition included in this commit. Tests,
linting, tsc, prettier, and API reports all pass independently.

Closes #4037
@fullsend-ai-coder fullsend-ai-coder Bot added the ready-for-review Agent PR ready for human review label Aug 24, 2026
@rhdh-gh-app

rhdh-gh-app Bot commented Aug 24, 2026

Copy link
Copy Markdown

Important

This PR includes changes that affect public-facing API. Please ensure you are adding/updating documentation for new features or behavior.

Changed Packages

Package Name Package Path Changeset Bump Current Version
app workspaces/app-defaults/packages/app none v0.0.0
@red-hat-developer-hub/backstage-plugin-app-defaults workspaces/app-defaults/plugins/app-defaults minor v0.1.0
@red-hat-developer-hub/backstage-plugin-app-react workspaces/app-defaults/plugins/app-react major v0.2.0

@codecov

codecov Bot commented Aug 24, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 61.62%. Comparing base (277f374) to head (ff72f0f).
⚠️ Report is 1 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #4444   +/-   ##
=======================================
  Coverage   61.62%   61.62%           
=======================================
  Files        2541     2540    -1     
  Lines      101893   101888    -5     
  Branches    28530    28530           
=======================================
  Hits        62792    62792           
+ Misses      37297    37292    -5     
  Partials     1804     1804           
Flag Coverage Δ *Carryforward flag
adoption-insights 84.55% <ø> (ø) Carriedforward from 277f374
ai-integrations 67.70% <ø> (ø) Carriedforward from 277f374
app-defaults 49.52% <ø> (+1.15%) ⬆️
augment 46.67% <ø> (ø) Carriedforward from 277f374
boost 79.84% <ø> (ø) Carriedforward from 277f374
bulk-import 72.79% <ø> (ø) Carriedforward from 277f374
cost-management 13.55% <ø> (ø) Carriedforward from 277f374
dcm 72.09% <ø> (ø) Carriedforward from 277f374
e2e-adoption-insights 60.00% <ø> (ø) Carriedforward from 277f374
e2e-extensions 62.13% <ø> (ø) Carriedforward from 277f374
e2e-global-header 49.45% <ø> (ø) Carriedforward from 277f374
e2e-homepage 61.11% <ø> (ø) Carriedforward from 277f374
e2e-intelligent-assistant 46.68% <ø> (ø) Carriedforward from 277f374
e2e-orchestrator 49.51% <ø> (ø) Carriedforward from 277f374
e2e-quickstart 55.21% <ø> (ø) Carriedforward from 277f374
e2e-scorecard 50.21% <ø> (ø) Carriedforward from 277f374
e2e-theme 16.36% <ø> (ø) Carriedforward from 277f374
extensions 56.59% <ø> (ø) Carriedforward from 277f374
global-floating-action-button 71.18% <ø> (ø) Carriedforward from 277f374
global-header 66.50% <ø> (ø) Carriedforward from 277f374
homepage 47.46% <ø> (ø) Carriedforward from 277f374
install-dynamic-plugins 58.57% <ø> (ø) Carriedforward from 277f374
intelligent-assistant 75.35% <ø> (ø) Carriedforward from 277f374
konflux 91.98% <ø> (ø) Carriedforward from 277f374
lightspeed 69.02% <ø> (ø) Carriedforward from 277f374
mcp-integrations 83.40% <ø> (ø) Carriedforward from 277f374
orchestrator 70.92% <ø> (ø) Carriedforward from 277f374
quickstart 63.74% <ø> (ø) Carriedforward from 277f374
sandbox 79.56% <ø> (ø) Carriedforward from 277f374
scorecard 87.40% <ø> (ø) Carriedforward from 277f374
theme 88.91% <ø> (ø) Carriedforward from 277f374
translations 5.12% <ø> (ø) Carriedforward from 277f374
x2a 79.20% <ø> (ø) Carriedforward from 277f374

*This pull request uses carry forward flags. Click here to find out more.


Continue to review full report in Codecov by Harness.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 277f374...ff72f0f. Read the comment docs.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@sonarqubecloud

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-for-review Agent PR ready for human review workspace/app-defaults

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Move app drawer extension and module into new app-defaults plugin

0 participants