AnalyticsBlueprint -> AnalyticsImplementationBlueprint

Signed-off-by: Eric Peterson <ericpeterson@spotify.com>
This commit is contained in:
Eric Peterson
2025-07-30 09:20:55 +02:00
parent 93b5e38f8b
commit 23676c1add
10 changed files with 75 additions and 69 deletions
+26 -24
View File
@@ -103,22 +103,23 @@ export const apis: AnyApiFactory[] = [
];
// Or, when building for the new frontend system:
import { AnalyticsBlueprint } from '@backstage/frontend-plugin-api';
import { AnalyticsImplementationBlueprint } from '@backstage/frontend-plugin-api';
export const acmeAnalyticsImplementation = AnalyticsBlueprint.make({
name: 'acme',
params: define =>
define({
deps: {},
factory() {
return {
captureEvent: event => {
window._AcmeAnalyticsQ.push(event);
},
};
},
}),
});
export const acmeAnalyticsImplementation =
AnalyticsImplementationBlueprint.make({
name: 'acme',
params: define =>
define({
deps: {},
factory() {
return {
captureEvent: event => {
window._AcmeAnalyticsQ.push(event);
},
};
},
}),
});
```
In reality, you would likely want to encapsulate instantiation logic and pull
@@ -160,16 +161,17 @@ export const apis: AnyApiFactory[] = [
];
// Or, when building for the new frontend system:
import { AnalyticsBlueprint } from '@backstage/frontend-plugin-api';
import { AnalyticsImplementationBlueprint } from '@backstage/frontend-plugin-api';
export const acmeAnalyticsImplementation = AnalyticsBlueprint.make({
name: 'acme',
params: define =>
define({
deps: { configApi: configApiRef },
factory: ({ configApi }) => AcmeAnalytics.fromConfig(configApi),
}),
});
export const acmeAnalyticsImplementation =
AnalyticsImplementationBlueprint.make({
name: 'acme',
params: define =>
define({
deps: { configApi: configApiRef },
factory: ({ configApi }) => AcmeAnalytics.fromConfig(configApi),
}),
});
```
If you are integrating with an analytics service (as opposed to an internal