Align naming convention with HomePageLayoutBlueprint and the catalog
plugin's consistent entity- prefix pattern. Also update the kind string
from 'home-widget' to 'home-page-widget' to match 'home-page-layout'.
Added interface-level JSDoc to HomePageWidgetBlueprintParams.
Signed-off-by: Adam Kunicki <kunickiaj@gmail.com>
- Update README.md to reference HomePageLayoutBlueprint instead of
deleted HomepageBlueprint, with a complete working example
- Update docs/getting-started/homepage.md with corrected blueprint name
- Fix app-next example to properly accept and render widgets via the
HomePageLayoutProps interface instead of ignoring them
Signed-off-by: Adam Kunicki <kunickiaj@gmail.com>
Migrates home plugin to support the new frontend system architecture by
introducing extension blueprints for composable homepage functionality.
Key changes:
- Add CustomHomepageWidgetBlueprint for creating installable homepage widgets
- Add CustomHomepageBlueprint for composing pages from widget extensions
- Introduce titleExtensionDataRef for NFS title handling
This attempts to bring the home plugin up to par with other core plugins that have migrated
to the new frontend system
Signed-off-by: Adam Kunicki <kunickiaj@gmail.com>
This adds a test utility that simplifies testing entity cards and content
extensions in the new frontend system. The utility creates a test page
that provides EntityProvider context and accepts entity extensions through
input redirects.
Also adds the `apis` option to `renderTestApp` for API overrides, and
includes tests for entity cards in catalog, org, and api-docs plugins.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Adds the snapshot() method to ExtensionTester, enabling snapshot
testing of extension tree structures. The snapshots use a tree-shaped
format that mirrors the extension hierarchy, with empty fields and
default values omitted for clarity.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
* feat(gitlab): update discovery by allowing API search
instead of parsing groups/subgroups this change allows to use
the dedicated gitlab search API https://docs.gitlab.com/api/search/#scope-blobs.
this API is restricted to 'Premium' and 'Ultimate' gitlab client.
Signed-off-by: Matthieu Brouillard <m.brouillard@lectra.com>
* tests(gitlab): add tests for entity discovery by search API
Signed-off-by: Matthieu Brouillard <m.brouillard@lectra.com>
* docs(gitlab): update discovery documentation to add 'useSearch' configuration parameter
Signed-off-by: Matthieu Brouillard <m.brouillard@lectra.com>
* docs(gitlab): update report api
Signed-off-by: Matthieu Brouillard <m.brouillard@lectra.com>
* docs(gitlab): add generated changeset
Signed-off-by: Matthieu Brouillard <m.brouillard@lectra.com>
* fix(gitlab): use parameter 'filename:' in group search
Signed-off-by: Matthieu Brouillard <m.brouillard@lectra.com>
---------
Signed-off-by: Matthieu Brouillard <m.brouillard@lectra.com>
Added support for API overrides in `createExtensionTester` and
`renderInTestApp` to allow tests to override specific APIs without
requiring wrapper components. This provides app-level API overrides
that are available throughout the entire extension tree.
The `apis` option follows the same typing pattern as `TestApiProvider`
from `@backstage/test-utils` for consistency and type safety.
Example usage:
```typescript
const tester = createExtensionTester(MyExtension, {
apis: [
[errorApiRef, mockErrorApi],
[analyticsApiRef, mockAnalyticsApi],
],
});
renderInTestApp(<MyComponent />, {
apis: [
[errorApiRef, mockErrorApi],
[analyticsApiRef, mockAnalyticsApi],
],
});
```
This enables cleaner tests with app-level API overrides, eliminating
the need to wrap components with TestApiProvider in many cases.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Added documentation for the new backstage.integrationFor field to the
package metadata guide. This field enables cross-plugin module discovery
by declaring which packages a module provides integration for.
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>