home: add missing vists API to NFS

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
This commit is contained in:
Patrik Oldsberg
2025-07-17 12:30:04 +02:00
parent 191e881f55
commit f16d38086f
3 changed files with 42 additions and 1 deletions
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-home': patch
---
Add the missing Vists API to the alpha plugin, fixing a crash due to the API not being installed.
+16
View File
@@ -3,6 +3,7 @@
> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
```ts
import { AnyApiFactory } from '@backstage/frontend-plugin-api';
import { AnyRouteRefParams } from '@backstage/frontend-plugin-api';
import { ConfigurableExtensionDataRef } from '@backstage/frontend-plugin-api';
import { ExtensionDefinition } from '@backstage/frontend-plugin-api';
@@ -19,6 +20,21 @@ const _default: FrontendPlugin<
},
{},
{
'api:home/visits': ExtensionDefinition<{
kind: 'api';
name: 'visits';
config: {};
configInput: {};
output: ConfigurableExtensionDataRef<
AnyApiFactory,
'core.api.factory',
{}
>;
inputs: {};
params: {
factory: AnyApiFactory;
};
}>;
'app-root-element:home/visit-listener': ExtensionDefinition<{
kind: 'app-root-element';
name: 'visit-listener';
+21 -1
View File
@@ -22,9 +22,14 @@ import {
createFrontendPlugin,
createRouteRef,
AppRootElementBlueprint,
identityApiRef,
storageApiRef,
createApiFactory,
ApiBlueprint,
} from '@backstage/frontend-plugin-api';
import { compatWrapper } from '@backstage/core-compat-api';
import { VisitListener } from './components/';
import { visitsApiRef, VisitsStorageApi } from './api';
const rootRouteRef = createRouteRef();
@@ -72,13 +77,28 @@ const visitListenerAppRootElement = AppRootElementBlueprint.make({
},
});
const visitsApi = ApiBlueprint.make({
name: 'visits',
params: {
factory: createApiFactory({
api: visitsApiRef,
deps: {
storageApi: storageApiRef,
identityApi: identityApiRef,
},
factory: ({ storageApi, identityApi }) =>
VisitsStorageApi.create({ storageApi, identityApi }),
}),
},
});
/**
* @alpha
*/
export default createFrontendPlugin({
pluginId: 'home',
info: { packageJson: () => import('../package.json') },
extensions: [homePage, visitListenerAppRootElement],
extensions: [homePage, visitsApi, visitListenerAppRootElement],
routes: {
root: rootRouteRef,
},