refactor: complete NFS shell migration and distribute scaffolder fields - #777
Conversation
Move themes, icons, sidebar (NavContentBlueprint), provider wrappers, and API-entity extensions onto NFS primitives via a portal appModule and portalPlugin. Signed-off-by: Stefinie Fernando <minolispencer@gmail.com>
…eo core plugin Signed-off-by: Stefinie Fernando <minolispencer@gmail.com>
…t version 2.0.0 in yarn.lock and openchoreo package.json Signed-off-by: Stefinie Fernando <minolispencer@gmail.com>
…scaffolder field extensions Signed-off-by: Stefinie Fernando <minolispencer@gmail.com>
|
Important Review skippedToo many files! This PR contains 179 files, which is 79 over the limit of 100. To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch. Upgrade to a paid plan to raise the limit. This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (179)
You can disable this status message by setting the Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
… to core plugin - Removed local implementations of OpenChoreo fetch, permission, and auth APIs from the portal app. - Integrated OpenChoreo API references from the new core plugin, ensuring proper encapsulation and reuse. - Updated tests and components to utilize the new API structure. - Adjusted README files across plugins to reflect the dependency on the core OpenChoreo plugin. Signed-off-by: Stefinie Fernando <minolispencer@gmail.com>
…o include @openchoreo/backstage-plugin and @backstage/config Signed-off-by: Stefinie Fernando <minolispencer@gmail.com>
Signed-off-by: Stefinie Fernando <minolispencer@gmail.com>
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
- portal-app: remove dead "Skip to main content" link. Targeted an id that no longer exists; Backstage's <Sidebar> already renders an accessible <A11ySkipSidebar> internally. - portal-app: surface loadFormFields() errors in OpenChoreoScaffolderPage. useAsync error branch was ignored, so a rejected load silently rendered <ScaffolderPage> with formFields === undefined. Now shows a ResponseErrorPanel. - openchoreo-react: stabilize useQueryParams params/setValues identity. Inline config literals defeated memoization, causing consumer effects to re-run every render. Hold config in a ref; memoize only on searchParams. - openchoreo: collapse 30 scaffolder extensions.ts boilerplate files behind a makeFormFieldExtension helper and a single registry. Signed-off-by: Stefinie Fernando <minolispencer@gmail.com>
Purpose
Finish the NFS migration started in #754 . Remove
convertLegacyAppRootfrom the portal and distribute the 32 scaffolder field extensions through the base OC pluginResolves openchoreo/openchoreo#4023
Goals
Root.tsxdeletedApproach
Portal shell — themes/icons via
ThemeBlueprint/IconBundleBlueprint,sidebar via
NavContentBlueprint, providers viaAppRootWrapperBlueprint,7 API factories via
ApiBlueprint, every route viaPageBlueprint(portal-owned) or plugin-shipped extensions. Extensions on
internalinputs live in an
appModuleunderpluginId: 'app'; rest live underportalAppPlugin.Portal-only overrides in
customOverrides.tsx— API entity 3-tablayout (Overview / Definition / Try Out), settings chrome using legacy
SettingsLayout, custom overrides forpage:catalog-graph,page:api-docs,page:catalog-import,page:search,page:user-settings.Scaffolder fields — moved 32 field folders + shared bits (
utils/,types.ts,ScaffolderPreselectionContext.tsx) frompackages/portal-app/to
plugins/openchoreo/. Rewrote eachextensions.tsfrom legacycreateScaffolderFieldExtensiontoFormFieldBlueprint.make+createFormField.OpenChoreoScaffolderPagenow loads fields viaformFieldsApiRef.loadFormFields()and passes asformFieldsprop —<ScaffolderFieldExtensions>JSX children gone.User stories
Release note
Documentation
Training
Certification
Marketing
Automation tests
Security checks
Samples
Related PRs
Migrations (if applicable)
Test environment
Learning