feat(service-catalog): list of blueprints#2743
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## staging #2743 +/- ##
===========================================
- Coverage 47.34% 47.30% -0.04%
===========================================
Files 1208 1178 -30
Lines 25612 25114 -498
Branches 7544 7471 -73
===========================================
- Hits 12125 11880 -245
+ Misses 11358 11125 -233
+ Partials 2129 2109 -20
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
7f94ec2 to
0204495
Compare
6b94997 to
c01d8b4
Compare
There was a problem hiding this comment.
Pull request overview
This PR introduces a new “Blueprints” experience in the service creation/catalog flow, including data fetching via React Query, shared UI helpers for suspense/error handling, and supporting utilities.
Changes:
- Added blueprint catalog fetching + README fetching (data-access query keys + feature hooks) and integrated the catalog into
ServiceNewbehind aservice-catalogfeature flag. - Introduced a reusable
SuspenseQueryBoundarycomponent in shared UI (with tests/snapshots) to standardize loading + retry error handling for suspense queries. - Added blueprint UI components (cards + details side panel) and a small utility to format cloud provider labels.
Reviewed changes
Copilot reviewed 17 out of 17 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| libs/shared/util-js/src/lib/format-cloud-provider.ts | Adds provider label formatting helper. |
| libs/shared/util-js/src/lib/format-cloud-provider.spec.ts | Tests for formatCloudProvider. |
| libs/shared/util-js/src/index.ts | Exports the new util. |
| libs/shared/ui/src/lib/components/suspense-query-boundary/suspense-query-boundary.tsx | Adds a shared suspense + react-query + error boundary wrapper. |
| libs/shared/ui/src/lib/components/suspense-query-boundary/suspense-query-boundary.spec.tsx | Unit tests for SuspenseQueryBoundary. |
| libs/shared/ui/src/lib/components/suspense-query-boundary/snapshots/suspense-query-boundary.spec.tsx.snap | Snapshot coverage for the new boundary UI. |
| libs/shared/ui/src/index.ts | Exports SuspenseQueryBoundary. |
| libs/domains/services/feature/src/lib/service-new/service-new.tsx | Integrates blueprint catalog section + details panel into ServiceNew. |
| libs/domains/services/feature/src/lib/service-new/service-new.spec.tsx | Adds test coverage for rendering/filtering/opening blueprint details. |
| libs/domains/services/feature/src/lib/service-new/service-new-utils/service-new-utils.ts | Extracts service create-flow path helpers from ServiceNew. |
| libs/domains/services/feature/src/lib/service-new/service-card/service-card.tsx | Extracts service cards + sections into a reusable module. |
| libs/domains/services/feature/src/lib/service-new/blueprint-card/blueprint-card.tsx | Adds blueprint card UI. |
| libs/domains/services/feature/src/lib/service-new/blueprint-details-panel/blueprint-details-panel.tsx | Adds blueprint details side panel and README rendering. |
| libs/domains/services/feature/src/lib/hooks/use-blueprint-catalog/use-blueprint-catalog.ts | Adds a React Query hook for blueprint catalog. |
| libs/domains/services/feature/src/lib/hooks/use-blueprint-catalog-service-readme/use-blueprint-catalog-service-readme.ts | Adds a React Query hook for blueprint README. |
| libs/domains/services/feature/src/index.ts | Exports the new blueprint hooks. |
| libs/domains/services/data-access/src/lib/domains-services-data-access.ts | Adds query keys + API calls for blueprint catalog and README. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
c01d8b4 to
e02c15a
Compare
UI fixes Add feature flag Search now supports categories as well Add details drawer Split service-new into smaller components refactor: data fetching and error handling Display blueprint version only if it is not "default" Better data loading and error handling Remove useless link to repo
e02c15a to
1c47ae2
Compare
Summary
Issue: QOV-1993
Service catalog: list of blueprints
This PR is the entry point for the new Service Catalog feature. This PR focuses exclusively on two main elements:
Known limitations/issues
Feature flag
Yes, the entry point of the feature (the list of blueprints) is conditioned by the
service-catalogfeature flag.Screenshots / Recordings
Testing
yarn testoryarn test -u(if you need to regenerate snapshots)yarn formatyarn lintPR Checklist
.cursor/rules)feat(service): add new Terraform service) - required for semantic-release