Skip to main content
Version: Next

appPlugin

Home > @backstage/plugin-app > appPlugin

Signature:

appPlugin: import("@backstage/frontend-plugin-api").FrontendPlugin<{}, {}, {
app: import("@backstage/frontend-plugin-api").ExtensionDefinition<{
config: {};
configInput: {};
output: import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("react").JSX.Element, "core.reactElement", {}>;
inputs: {
root: import("@backstage/frontend-plugin-api").ExtensionInput<import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("react").JSX.Element, "core.reactElement", {}>, {
singleton: true;
optional: false;
}>;
};
params: never;
kind: undefined;
name: undefined;
}>;
"api:app/app-language": import("@backstage/frontend-plugin-api").ExtensionDefinition<{
kind: "api";
name: "app-language";
config: {};
configInput: {};
output: import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("@backstage/frontend-plugin-api").AnyApiFactory, "core.api.factory", {}>;
inputs: {};
params: {
factory: import("@backstage/frontend-plugin-api").AnyApiFactory;
};
}>;
"app/layout": import("@backstage/frontend-plugin-api").ExtensionDefinition<{
config: {};
configInput: {};
output: import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("react").JSX.Element, "core.reactElement", {}>;
inputs: {
nav: import("@backstage/frontend-plugin-api").ExtensionInput<import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("react").JSX.Element, "core.reactElement", {}>, {
singleton: true;
optional: false;
}>;
content: import("@backstage/frontend-plugin-api").ExtensionInput<import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("react").JSX.Element, "core.reactElement", {}>, {
singleton: true;
optional: false;
}>;
};
params: never;
kind: undefined;
name: "layout";
}>;
"app/nav": import("@backstage/frontend-plugin-api").ExtensionDefinition<{
config: {};
configInput: {};
output: import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("react").JSX.Element, "core.reactElement", {}>;
inputs: {
items: import("@backstage/frontend-plugin-api").ExtensionInput<import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<{
title: string;
icon: import("@backstage/core-plugin-api").IconComponent;
routeRef: import("@backstage/frontend-plugin-api").RouteRef<undefined>;
}, "core.nav-item.target", {}>, {
singleton: false;
optional: false;
}>;
logos: import("@backstage/frontend-plugin-api").ExtensionInput<import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<{
logoIcon?: JSX.Element | undefined;
logoFull?: JSX.Element | undefined;
}, "core.nav-logo.logo-elements", {}>, {
singleton: true;
optional: true;
}>;
};
params: never;
kind: undefined;
name: "nav";
}>;
"app/root": import("@backstage/frontend-plugin-api").ExtensionDefinition<{
config: {};
configInput: {};
output: import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("react").JSX.Element, "core.reactElement", {}>;
inputs: {
router: import("@backstage/frontend-plugin-api").ExtensionInput<import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("react").ComponentType<{
children?: import("react").ReactNode;
}>, "app.router.wrapper", {}>, {
singleton: true;
optional: true;
}>;
signInPage: import("@backstage/frontend-plugin-api").ExtensionInput<import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("react").ComponentType<import("@backstage/core-plugin-api").SignInPageProps>, "core.sign-in-page.component", {}>, {
singleton: true;
optional: true;
}>;
children: import("@backstage/frontend-plugin-api").ExtensionInput<import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("react").JSX.Element, "core.reactElement", {}>, {
singleton: true;
optional: false;
}>;
elements: import("@backstage/frontend-plugin-api").ExtensionInput<import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("react").JSX.Element, "core.reactElement", {}>, {
singleton: false;
optional: false;
}>;
wrappers: import("@backstage/frontend-plugin-api").ExtensionInput<import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("react").ComponentType<{
children?: import("react").ReactNode;
}>, "app.root.wrapper", {}>, {
singleton: false;
optional: false;
}>;
};
params: never;
kind: undefined;
name: "root";
}>;
"app/routes": import("@backstage/frontend-plugin-api").ExtensionDefinition<{
config: {};
configInput: {};
output: import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("react").JSX.Element, "core.reactElement", {}>;
inputs: {
routes: import("@backstage/frontend-plugin-api").ExtensionInput<import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("react").JSX.Element, "core.reactElement", {}> | import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<string, "core.routing.path", {}> | import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("@backstage/frontend-plugin-api").RouteRef<import("@backstage/frontend-plugin-api").AnyRouteRefParams>, "core.routing.ref", {
optional: true;
}>, {
singleton: false;
optional: false;
}>;
};
params: never;
kind: undefined;
name: "routes";
}>;
"api:app/app-theme": import("@backstage/frontend-plugin-api").ExtensionDefinition<{
config: {};
configInput: {};
output: import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("@backstage/frontend-plugin-api").AnyApiFactory, "core.api.factory", {}>;
inputs: {
themes: import("@backstage/frontend-plugin-api").ExtensionInput<import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("@backstage/frontend-plugin-api").AppTheme, "core.theme.theme", {}>, {
singleton: false;
optional: false;
}>;
};
kind: "api";
name: "app-theme";
params: {
factory: import("@backstage/frontend-plugin-api").AnyApiFactory;
};
}>;
"theme:app/light": import("@backstage/frontend-plugin-api").ExtensionDefinition<{
kind: "theme";
name: "light";
config: {};
configInput: {};
output: import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("@backstage/frontend-plugin-api").AppTheme, "core.theme.theme", {}>;
inputs: {};
params: {
theme: import("@backstage/frontend-plugin-api").AppTheme;
};
}>;
"theme:app/dark": import("@backstage/frontend-plugin-api").ExtensionDefinition<{
kind: "theme";
name: "dark";
config: {};
configInput: {};
output: import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("@backstage/frontend-plugin-api").AppTheme, "core.theme.theme", {}>;
inputs: {};
params: {
theme: import("@backstage/frontend-plugin-api").AppTheme;
};
}>;
"api:app/components": import("@backstage/frontend-plugin-api").ExtensionDefinition<{
config: {};
configInput: {};
output: import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("@backstage/frontend-plugin-api").AnyApiFactory, "core.api.factory", {}>;
inputs: {
components: import("@backstage/frontend-plugin-api").ExtensionInput<import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<{
ref: import("@backstage/frontend-plugin-api").ComponentRef;
impl: import("react").ComponentType;
}, "core.component.component", {}>, {
singleton: false;
optional: false;
}>;
};
kind: "api";
name: "components";
params: {
factory: import("@backstage/frontend-plugin-api").AnyApiFactory;
};
}>;
"api:app/icons": import("@backstage/frontend-plugin-api").ExtensionDefinition<{
config: {};
configInput: {};
output: import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("@backstage/frontend-plugin-api").AnyApiFactory, "core.api.factory", {}>;
inputs: {
icons: import("@backstage/frontend-plugin-api").ExtensionInput<import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<{
[x: string]: import("@backstage/frontend-plugin-api").IconComponent;
}, "core.icons", {}>, {
singleton: false;
optional: false;
}>;
};
kind: "api";
name: "icons";
params: {
factory: import("@backstage/frontend-plugin-api").AnyApiFactory;
};
}>;
"api:app/feature-flags": import("@backstage/frontend-plugin-api").ExtensionDefinition<{
kind: "api";
name: "feature-flags";
config: {};
configInput: {};
output: import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("@backstage/frontend-plugin-api").AnyApiFactory, "core.api.factory", {}>;
inputs: {};
params: {
factory: import("@backstage/frontend-plugin-api").AnyApiFactory;
};
}>;
"api:app/translations": import("@backstage/frontend-plugin-api").ExtensionDefinition<{
config: {};
configInput: {};
output: import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("@backstage/frontend-plugin-api").AnyApiFactory, "core.api.factory", {}>;
inputs: {
translations: import("@backstage/frontend-plugin-api").ExtensionInput<import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("@backstage/frontend-plugin-api").TranslationResource<string> | import("@backstage/frontend-plugin-api").TranslationMessages<string, {
[x: string]: string;
}, boolean>, "core.translation.translation", {}>, {
singleton: false;
optional: false;
}>;
};
kind: "api";
name: "translations";
params: {
factory: import("@backstage/frontend-plugin-api").AnyApiFactory;
};
}>;
"app-root-element:app/oauth-request-dialog": import("@backstage/frontend-plugin-api").ExtensionDefinition<{
kind: "app-root-element";
name: "oauth-request-dialog";
config: {};
configInput: {};
output: import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("react").JSX.Element, "core.reactElement", {}>;
inputs: {};
params: {
element: JSX.Element | (() => JSX.Element);
};
}>;
"app-root-element:app/alert-display": import("@backstage/frontend-plugin-api").ExtensionDefinition<{
config: {
transientTimeoutMs: number;
anchorOrigin: {
horizontal: "center" | "left" | "right";
vertical: "top" | "bottom";
};
};
configInput: {
anchorOrigin?: {
horizontal?: "center" | "left" | "right" | undefined;
vertical?: "top" | "bottom" | undefined;
} | undefined;
transientTimeoutMs?: number | undefined;
};
output: import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("react").JSX.Element, "core.reactElement", {}>;
inputs: {
[x: string]: import("@backstage/frontend-plugin-api").ExtensionInput<import("@backstage/frontend-plugin-api").AnyExtensionDataRef, {
optional: boolean;
singleton: boolean;
}>;
};
kind: "app-root-element";
name: "alert-display";
params: {
element: JSX.Element | (() => JSX.Element);
};
}>;
"api:app/discovery": import("@backstage/frontend-plugin-api").ExtensionDefinition<{
kind: "api";
name: "discovery";
config: {};
configInput: {};
output: import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("@backstage/frontend-plugin-api").AnyApiFactory, "core.api.factory", {}>;
inputs: {};
params: {
factory: import("@backstage/frontend-plugin-api").AnyApiFactory;
};
}>;
"api:app/alert": import("@backstage/frontend-plugin-api").ExtensionDefinition<{
kind: "api";
name: "alert";
config: {};
configInput: {};
output: import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("@backstage/frontend-plugin-api").AnyApiFactory, "core.api.factory", {}>;
inputs: {};
params: {
factory: import("@backstage/frontend-plugin-api").AnyApiFactory;
};
}>;
"api:app/analytics": import("@backstage/frontend-plugin-api").ExtensionDefinition<{
kind: "api";
name: "analytics";
config: {};
configInput: {};
output: import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("@backstage/frontend-plugin-api").AnyApiFactory, "core.api.factory", {}>;
inputs: {};
params: {
factory: import("@backstage/frontend-plugin-api").AnyApiFactory;
};
}>;
"api:app/error": import("@backstage/frontend-plugin-api").ExtensionDefinition<{
kind: "api";
name: "error";
config: {};
configInput: {};
output: import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("@backstage/frontend-plugin-api").AnyApiFactory, "core.api.factory", {}>;
inputs: {};
params: {
factory: import("@backstage/frontend-plugin-api").AnyApiFactory;
};
}>;
"api:app/storage": import("@backstage/frontend-plugin-api").ExtensionDefinition<{
kind: "api";
name: "storage";
config: {};
configInput: {};
output: import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("@backstage/frontend-plugin-api").AnyApiFactory, "core.api.factory", {}>;
inputs: {};
params: {
factory: import("@backstage/frontend-plugin-api").AnyApiFactory;
};
}>;
"api:app/fetch": import("@backstage/frontend-plugin-api").ExtensionDefinition<{
kind: "api";
name: "fetch";
config: {};
configInput: {};
output: import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("@backstage/frontend-plugin-api").AnyApiFactory, "core.api.factory", {}>;
inputs: {};
params: {
factory: import("@backstage/frontend-plugin-api").AnyApiFactory;
};
}>;
"api:app/oauth-request": import("@backstage/frontend-plugin-api").ExtensionDefinition<{
kind: "api";
name: "oauth-request";
config: {};
configInput: {};
output: import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("@backstage/frontend-plugin-api").AnyApiFactory, "core.api.factory", {}>;
inputs: {};
params: {
factory: import("@backstage/frontend-plugin-api").AnyApiFactory;
};
}>;
"api:app/google-auth": import("@backstage/frontend-plugin-api").ExtensionDefinition<{
kind: "api";
name: "google-auth";
config: {};
configInput: {};
output: import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("@backstage/frontend-plugin-api").AnyApiFactory, "core.api.factory", {}>;
inputs: {};
params: {
factory: import("@backstage/frontend-plugin-api").AnyApiFactory;
};
}>;
"api:app/microsoft-auth": import("@backstage/frontend-plugin-api").ExtensionDefinition<{
kind: "api";
name: "microsoft-auth";
config: {};
configInput: {};
output: import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("@backstage/frontend-plugin-api").AnyApiFactory, "core.api.factory", {}>;
inputs: {};
params: {
factory: import("@backstage/frontend-plugin-api").AnyApiFactory;
};
}>;
"api:app/github-auth": import("@backstage/frontend-plugin-api").ExtensionDefinition<{
kind: "api";
name: "github-auth";
config: {};
configInput: {};
output: import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("@backstage/frontend-plugin-api").AnyApiFactory, "core.api.factory", {}>;
inputs: {};
params: {
factory: import("@backstage/frontend-plugin-api").AnyApiFactory;
};
}>;
"api:app/okta-auth": import("@backstage/frontend-plugin-api").ExtensionDefinition<{
kind: "api";
name: "okta-auth";
config: {};
configInput: {};
output: import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("@backstage/frontend-plugin-api").AnyApiFactory, "core.api.factory", {}>;
inputs: {};
params: {
factory: import("@backstage/frontend-plugin-api").AnyApiFactory;
};
}>;
"api:app/gitlab-auth": import("@backstage/frontend-plugin-api").ExtensionDefinition<{
kind: "api";
name: "gitlab-auth";
config: {};
configInput: {};
output: import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("@backstage/frontend-plugin-api").AnyApiFactory, "core.api.factory", {}>;
inputs: {};
params: {
factory: import("@backstage/frontend-plugin-api").AnyApiFactory;
};
}>;
"api:app/onelogin-auth": import("@backstage/frontend-plugin-api").ExtensionDefinition<{
kind: "api";
name: "onelogin-auth";
config: {};
configInput: {};
output: import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("@backstage/frontend-plugin-api").AnyApiFactory, "core.api.factory", {}>;
inputs: {};
params: {
factory: import("@backstage/frontend-plugin-api").AnyApiFactory;
};
}>;
"api:app/bitbucket-auth": import("@backstage/frontend-plugin-api").ExtensionDefinition<{
kind: "api";
name: "bitbucket-auth";
config: {};
configInput: {};
output: import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("@backstage/frontend-plugin-api").AnyApiFactory, "core.api.factory", {}>;
inputs: {};
params: {
factory: import("@backstage/frontend-plugin-api").AnyApiFactory;
};
}>;
"api:app/bitbucket-server-auth": import("@backstage/frontend-plugin-api").ExtensionDefinition<{
kind: "api";
name: "bitbucket-server-auth";
config: {};
configInput: {};
output: import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("@backstage/frontend-plugin-api").AnyApiFactory, "core.api.factory", {}>;
inputs: {};
params: {
factory: import("@backstage/frontend-plugin-api").AnyApiFactory;
};
}>;
"api:app/atlassian-auth": import("@backstage/frontend-plugin-api").ExtensionDefinition<{
kind: "api";
name: "atlassian-auth";
config: {};
configInput: {};
output: import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("@backstage/frontend-plugin-api").AnyApiFactory, "core.api.factory", {}>;
inputs: {};
params: {
factory: import("@backstage/frontend-plugin-api").AnyApiFactory;
};
}>;
"api:app/vmware-cloud-auth": import("@backstage/frontend-plugin-api").ExtensionDefinition<{
kind: "api";
name: "vmware-cloud-auth";
config: {};
configInput: {};
output: import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("@backstage/frontend-plugin-api").AnyApiFactory, "core.api.factory", {}>;
inputs: {};
params: {
factory: import("@backstage/frontend-plugin-api").AnyApiFactory;
};
}>;
"api:app/permission": import("@backstage/frontend-plugin-api").ExtensionDefinition<{
kind: "api";
name: "permission";
config: {};
configInput: {};
output: import("@backstage/frontend-plugin-api").ConfigurableExtensionDataRef<import("@backstage/frontend-plugin-api").AnyApiFactory, "core.api.factory", {}>;
inputs: {};
params: {
factory: import("@backstage/frontend-plugin-api").AnyApiFactory;
};
}>;
}>