Skip to content

feat(#4037): move app drawer module into app-defaults plugin - #4038

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

feat(#4037): move app drawer module into app-defaults plugin#4038
fullsend-ai-coder[bot] wants to merge 3 commits into
mainfrom
agent/4037-move-drawer-to-app-defaults

Conversation

@fullsend-ai-coder

Copy link
Copy Markdown
Contributor

Move appDrawerExtension and appDrawerModule from app-react into the app-defaults plugin where default module registrations belong. The app-react package retains the reusable building blocks (components, hooks, blueprints, data refs) while app-defaults now owns the module that wires them into the app.

Changes:

  • Create plugins/app-defaults/src/appDrawerModule.tsx importing
    ApplicationDrawer and appDrawerContentDataRef from app-react
  • Export appDrawerModule as named and default export from alpha.ts
  • Remove appDrawerModule.tsx and its barrel export from app-react
  • Update sample app to import from app-defaults/alpha
  • Update API reports for both packages
  • Update README documentation for both packages

Closes #4037

Post-script verification

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

Move appDrawerExtension and appDrawerModule from app-react into the
app-defaults plugin where default module registrations belong. The
app-react package retains the reusable building blocks (components,
hooks, blueprints, data refs) while app-defaults now owns the module
that wires them into the app.

Changes:
- Create plugins/app-defaults/src/appDrawerModule.tsx importing
  ApplicationDrawer and appDrawerContentDataRef from app-react
- Export appDrawerModule as named and default export from alpha.ts
- Remove appDrawerModule.tsx and its barrel export from app-react
- Update sample app to import from app-defaults/alpha
- Update API reports for both packages
- Update README documentation for both packages

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

rhdh-gh-app Bot commented Jul 28, 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 patch v0.0.1
@red-hat-developer-hub/backstage-plugin-app-react workspaces/app-defaults/plugins/app-react minor v0.1.0

@codecov

codecov Bot commented Jul 28, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 57.87%. Comparing base (e03b281) to head (769abb9).
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #4038   +/-   ##
=======================================
  Coverage   57.87%   57.87%           
=======================================
  Files        2393     2392    -1     
  Lines       95985    95980    -5     
  Branches    26803    26803           
=======================================
  Hits        55551    55551           
+ Misses      38940    38935    -5     
  Partials     1494     1494           
Flag Coverage Δ *Carryforward flag
adoption-insights 84.54% <ø> (ø) Carriedforward from 8a997f1
ai-integrations 69.06% <ø> (ø) Carriedforward from 8a997f1
app-defaults 72.22% <ø> (+2.42%) ⬆️
augment 46.67% <ø> (ø) Carriedforward from 8a997f1
boost 76.77% <ø> (ø) Carriedforward from 8a997f1
bulk-import 72.55% <ø> (ø) Carriedforward from 8a997f1
cost-management 13.55% <ø> (ø) Carriedforward from 8a997f1
dcm 60.72% <ø> (ø) Carriedforward from 8a997f1
extensions 56.48% <ø> (ø) Carriedforward from 8a997f1
global-floating-action-button 71.18% <ø> (ø) Carriedforward from 8a997f1
global-header 62.17% <ø> (ø) Carriedforward from 8a997f1
homepage 47.46% <ø> (ø) Carriedforward from 8a997f1
install-dynamic-plugins 56.77% <ø> (ø) Carriedforward from 8a997f1
intelligent-assistant 74.24% <ø> (ø) Carriedforward from 8a997f1
konflux 91.98% <ø> (ø) Carriedforward from 8a997f1
lightspeed 69.02% <ø> (ø) Carriedforward from 8a997f1
mcp-integrations 83.40% <ø> (ø) Carriedforward from 8a997f1
orchestrator 66.79% <ø> (ø) Carriedforward from 8a997f1
quickstart 65.04% <ø> (ø) Carriedforward from 8a997f1
sandbox 79.56% <ø> (ø) Carriedforward from 8a997f1
scorecard 84.94% <ø> (ø) Carriedforward from 8a997f1
theme 87.90% <ø> (ø) Carriedforward from 8a997f1
translations 5.12% <ø> (ø) Carriedforward from 8a997f1
x2a 79.31% <ø> (ø) Carriedforward from 8a997f1

*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 e03b281...769abb9. 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.

@christoph-jerolimov

Copy link
Copy Markdown
Member

/fs-fix

  1. don't use alpha export. Export the backstage modules from the default export of app-defaults.
  2. Add a changelog with breaking change notices and migration hint for all changed plugins. Use patch for the new app-defaults plugin and minor for the react package as it already archived 0.1.

@fullsend-ai-coder

fullsend-ai-coder Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor Author

🤖 Finished Fix · ✅ Success · Started 5:44 PM UTC · Completed 6:09 PM UTC
Commit: 0ed09e3 · View workflow run →

Move appDrawerModule and appDefaultsModule exports from the /alpha
subpath to the default package entry point of app-defaults. Update
the sample app import accordingly.

Add CHANGELOG entries with breaking change notices and migration hints:
- app-defaults 0.0.2 (patch): appDrawerModule added to default export
- app-react 0.2.0 (minor): appDrawerModule removed (moved to app-defaults)

Addresses review feedback on #4038
@fullsend-ai-coder

Copy link
Copy Markdown
Contributor Author

🔧 Fix agent — iteration 1 (human-triggered)

Addressed both review findings: (1) moved module exports from /alpha to the default package entry point, updated all imports, API reports, and documentation accordingly; (2) added CHANGELOG entries with breaking change notices and migration hints for both app-defaults (0.0.2 patch) and app-react (0.2.0 minor), with version bumps in package.json.

Fixed (2):

  1. Don't use alpha export — export modules from default entry point (workspaces/app-defaults/plugins/app-defaults/src/index.ts): Moved appDrawerModule and appDefaultsModule exports from alpha.ts to index.ts (the default package entry point). Reverted alpha.ts to its original state (only appDefaultsModule). Updated sample app import from '/alpha' to default path. Updated both API reports (report.api.md and report-alpha.api.md). Changed JSDoc tags from @Alpha to @public since modules are now on the default export path. Updated README examples in both app-defaults and app-react to use the default import path.
  2. Add changelog with breaking change notices and migration hints (workspaces/app-defaults/plugins/app-defaults/CHANGELOG.md): Added CHANGELOG entry for app-defaults 0.0.2 (patch) documenting the addition of appDrawerModule with migration hint. Added CHANGELOG entry for app-react 0.2.0 (minor) with BREAKING change notice for appDrawerModule removal, including a diff-style migration example. Bumped version in both package.json files to match.

Tests: passed

Decision points
  • Changed JSDoc tags from @Alpha to @public on appDefaultsModule and appDrawerModule (alternatives: Keep @Alpha tags, Use @public tags; rationale: API Extractor requires @public visibility for exports from the default entry point (src/index.ts). The @Alpha tag is reserved for the /alpha subpath. Since the human instruction is to export from the default path, @public is correct.)

Updated by fullsend fix agent

@christoph-jerolimov

Copy link
Copy Markdown
Member

/fs-fix

  1. add a changeset, not a changelog entry. Revert the changelog and the version changes in the package.json

@fullsend-ai-coder

fullsend-ai-coder Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor Author

🤖 Finished Fix · ✅ Success · Started 7:31 PM UTC · Completed 7:44 PM UTC
Commit: 8a997f1 · View workflow run →

Revert manual CHANGELOG.md entries and version bumps in package.json
for both app-defaults and app-react packages. Add a proper changeset
file instead, which will generate changelogs and version bumps during
the release process.

Addresses review feedback on #4038
@fullsend-ai-coder

Copy link
Copy Markdown
Contributor Author

🔧 Fix agent — iteration 2 (human-triggered)

Replaced manual CHANGELOG.md entries and version bumps with a proper changeset file. Reverted both CHANGELOG.md files and both package.json version fields. Created workspaces/app-defaults/.changeset/move-drawer-to-app-defaults.md with patch bump for app-defaults and minor bump for app-react.

Fixed (5):

  1. add a changeset instead of changelog entries (workspaces/app-defaults/.changeset/move-drawer-to-app-defaults.md): Created a changeset file with patch bump for app-defaults and minor bump for app-react, including migration instructions
  2. revert changelog entry in app-defaults (workspaces/app-defaults/plugins/app-defaults/CHANGELOG.md): Removed the manually added 0.0.2 changelog entry
  3. revert changelog entry in app-react (workspaces/app-defaults/plugins/app-react/CHANGELOG.md): Removed the manually added 0.2.0 changelog entry
  4. revert version bump in app-defaults package.json (workspaces/app-defaults/plugins/app-defaults/package.json): Reverted version from 0.0.2 back to 0.0.1
  5. revert version bump in app-react package.json (workspaces/app-defaults/plugins/app-react/package.json): Reverted version from 0.2.0 back to 0.1.0

Tests: passed

Updated by fullsend fix agent

@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

1 participant