diff --git a/packages/app-next/package.json b/packages/app-next/package.json
index fa37cce5c8..1aeaccbf97 100644
--- a/packages/app-next/package.json
+++ b/packages/app-next/package.json
@@ -24,6 +24,7 @@
"@backstage/frontend-plugin-api": "workspace:^",
"@backstage/integration-react": "workspace:^",
"@backstage/plugin-api-docs": "workspace:^",
+ "@backstage/plugin-app": "workspace:^",
"@backstage/plugin-app-visualizer": "workspace:^",
"@backstage/plugin-auth-react": "workspace:^",
"@backstage/plugin-catalog": "workspace:^",
diff --git a/packages/frontend-app-api/src/wiring/createApp.tsx b/packages/frontend-app-api/src/wiring/createApp.tsx
index 83afc2b7a9..51d824ba67 100644
--- a/packages/frontend-app-api/src/wiring/createApp.tsx
+++ b/packages/frontend-app-api/src/wiring/createApp.tsx
@@ -47,18 +47,12 @@ import {
fetchApiRef,
} from '@backstage/core-plugin-api';
import { getAvailableFeatures } from './discovery';
-import {
- ApiFactoryRegistry,
- ApiProvider,
- ApiResolver,
-} from '@backstage/core-app-api';
+import { ApiFactoryRegistry, ApiResolver } from '@backstage/core-app-api';
// TODO: Get rid of all of these
// eslint-disable-next-line @backstage/no-relative-monorepo-imports
import { isProtectedApp } from '../../../core-app-api/src/app/isProtectedApp';
// eslint-disable-next-line @backstage/no-relative-monorepo-imports
-import { AppThemeProvider } from '../../../core-app-api/src/app/AppThemeProvider';
-// eslint-disable-next-line @backstage/no-relative-monorepo-imports
import { AppIdentityProxy } from '../../../core-app-api/src/apis/implementations/IdentityApi/AppIdentityProxy';
// eslint-disable-next-line @backstage/no-relative-monorepo-imports
import { defaultConfigLoaderSync } from '../../../core-app-api/src/app/defaultConfigLoader';
@@ -361,15 +355,11 @@ export function createSpecializedApp(options?: {
.instance!.getData(coreExtensionData.reactElement);
const AppComponent = () => (
-
-
-
- {rootEl}
-
-
-
+
+ {rootEl}
+
);
return {
diff --git a/packages/frontend-plugin-api/src/blueprints/IconBundleBlueprint.ts b/packages/frontend-plugin-api/src/blueprints/IconBundleBlueprint.ts
index de2df761ff..369ac052f5 100644
--- a/packages/frontend-plugin-api/src/blueprints/IconBundleBlueprint.ts
+++ b/packages/frontend-plugin-api/src/blueprints/IconBundleBlueprint.ts
@@ -25,7 +25,7 @@ const iconsDataRef = createExtensionDataRef<{
export const IconBundleBlueprint = createExtensionBlueprint({
kind: 'icon-bundle',
namespace: 'app',
- attachTo: { id: 'api:icons', input: 'icons' },
+ attachTo: { id: 'api:app/icons', input: 'icons' },
output: [iconsDataRef],
config: {
schema: {
diff --git a/packages/frontend-plugin-api/src/blueprints/ThemeBlueprint.ts b/packages/frontend-plugin-api/src/blueprints/ThemeBlueprint.ts
index c06078b122..ca33970125 100644
--- a/packages/frontend-plugin-api/src/blueprints/ThemeBlueprint.ts
+++ b/packages/frontend-plugin-api/src/blueprints/ThemeBlueprint.ts
@@ -29,7 +29,7 @@ const themeDataRef = createExtensionDataRef().with({
export const ThemeBlueprint = createExtensionBlueprint({
kind: 'theme',
namespace: 'app',
- attachTo: { id: 'api:app-theme', input: 'themes' },
+ attachTo: { id: 'api:app/app-theme', input: 'themes' },
output: [themeDataRef],
dataRefs: {
theme: themeDataRef,
diff --git a/packages/frontend-plugin-api/src/blueprints/TranslationBlueprint.ts b/packages/frontend-plugin-api/src/blueprints/TranslationBlueprint.ts
index ea7aa64713..dd4a9ddc09 100644
--- a/packages/frontend-plugin-api/src/blueprints/TranslationBlueprint.ts
+++ b/packages/frontend-plugin-api/src/blueprints/TranslationBlueprint.ts
@@ -28,7 +28,7 @@ const translationDataRef = createExtensionDataRef<
*/
export const TranslationBlueprint = createExtensionBlueprint({
kind: 'translation',
- attachTo: { id: 'api:translations', input: 'translations' },
+ attachTo: { id: 'api:app/translations', input: 'translations' },
output: [translationDataRef],
dataRefs: {
translation: translationDataRef,
diff --git a/packages/frontend-plugin-api/src/extensions/createComponentExtension.tsx b/packages/frontend-plugin-api/src/extensions/createComponentExtension.tsx
index 35d003e99b..c8fa907bc8 100644
--- a/packages/frontend-plugin-api/src/extensions/createComponentExtension.tsx
+++ b/packages/frontend-plugin-api/src/extensions/createComponentExtension.tsx
@@ -35,7 +35,7 @@ export function createComponentExtension(options: {
kind: 'component',
namespace: options.ref.id,
name: options.name,
- attachTo: { id: 'api:components', input: 'components' },
+ attachTo: { id: 'api:app/components', input: 'components' },
disabled: options.disabled,
output: [createComponentExtension.componentDataRef],
factory() {
diff --git a/plugins/app/src/extensions/App.tsx b/plugins/app/src/extensions/App.tsx
index 1eeba30f64..5c6d95bfbc 100644
--- a/plugins/app/src/extensions/App.tsx
+++ b/plugins/app/src/extensions/App.tsx
@@ -21,6 +21,10 @@ import {
createExtension,
createExtensionInput,
} from '@backstage/frontend-plugin-api';
+// eslint-disable-next-line @backstage/no-relative-monorepo-imports
+import { ApiProvider } from '../../../../packages/core-app-api/src';
+// eslint-disable-next-line @backstage/no-relative-monorepo-imports
+import { AppThemeProvider } from '../../../../packages/core-app-api/src/app/AppThemeProvider';
export const App = createExtension({
namespace: 'app',
@@ -31,11 +35,17 @@ export const App = createExtension({
}),
},
output: [coreExtensionData.reactElement],
- factory: ({ node, inputs }) => [
- coreExtensionData.reactElement(
-
- {inputs.root.get(coreExtensionData.reactElement)}
- ,
- ),
- ],
+ factory: ({ node, apis, inputs }) => {
+ return [
+ coreExtensionData.reactElement(
+
+
+
+ {inputs.root.get(coreExtensionData.reactElement)}
+
+
+ ,
+ ),
+ ];
+ },
});
diff --git a/yarn.lock b/yarn.lock
index 07c9b607b7..f870a2b07d 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -4684,7 +4684,7 @@ __metadata:
languageName: unknown
linkType: soft
-"@backstage/plugin-app@^0.0.0, @backstage/plugin-app@workspace:plugins/app":
+"@backstage/plugin-app@^0.0.0, @backstage/plugin-app@workspace:^, @backstage/plugin-app@workspace:plugins/app":
version: 0.0.0-use.local
resolution: "@backstage/plugin-app@workspace:plugins/app"
dependencies:
@@ -26842,6 +26842,7 @@ __metadata:
"@backstage/frontend-plugin-api": "workspace:^"
"@backstage/integration-react": "workspace:^"
"@backstage/plugin-api-docs": "workspace:^"
+ "@backstage/plugin-app": "workspace:^"
"@backstage/plugin-app-visualizer": "workspace:^"
"@backstage/plugin-auth-react": "workspace:^"
"@backstage/plugin-catalog": "workspace:^"