Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@backstage/plugin-app

backstage368.8kApache-2.00.3.1TypeScript support: included

null

readme

headline

Backstage

English | 한국어 | 中文版 | Français

License CNCF Status Discord Code style Codecov OpenSSF Best Practices OpenSSF Scorecard

What is Backstage?

Backstage is an open source framework for building developer portals. Powered by a centralized software catalog, Backstage restores order to your microservices and infrastructure and enables your product teams to ship high-quality code quickly without compromising autonomy.

Backstage unifies all your infrastructure tooling, services, and documentation to create a streamlined development environment from end to end.

software-catalog

Out of the box, Backstage includes:

  • Backstage Software Catalog for managing all your software such as microservices, libraries, data pipelines, websites, and ML models
  • Backstage Software Templates for quickly spinning up new projects and standardizing your tooling with your organization’s best practices
  • Backstage TechDocs for making it easy to create, maintain, find, and use technical documentation, using a "docs like code" approach
  • Plus, a growing ecosystem of open source plugins that further expand Backstage’s customizability and functionality

Backstage was created by Spotify but is now hosted by the Cloud Native Computing Foundation (CNCF) as an Incubation level project. For more information, see the announcement.

Project roadmap

For information about the detailed project roadmap including delivered milestones, see the Roadmap.

Getting Started

To start using Backstage, see the Getting Started documentation.

Documentation

The documentation of Backstage includes:

Community

To engage with our community, you can use the following resources:

Governance

See the GOVERNANCE.md document in the backstage/community repository.

License

Copyright 2020-2025 © The Backstage Authors. All rights reserved. The Linux Foundation has registered trademarks and uses trademarks. For a list of trademarks of The Linux Foundation, please see our Trademark Usage page: https://www.linuxfoundation.org/trademark-usage

Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0

Security

Please report sensitive security issues using Spotify's bug-bounty program rather than GitHub.

For further details, see our complete security release process.

changelog

@backstage/plugin-app

0.3.1

Patch Changes

0.3.1-next.2

Patch Changes

0.3.1-next.1

Patch Changes

0.3.1-next.0

Patch Changes

0.3.0

Minor Changes

  • 99790db: Add implementation of OpenShift authentication provider.

Patch Changes

0.2.1-next.0

Patch Changes

0.2.0

Minor Changes

  • fda1bbc: BREAKING: The componentsApi implementation has been removed from the plugin and replaced with the new SwappableComponentsApi instead.

    If you were overriding the componentsApi implementation, you can now use the new SwappableComponentsApi instead.

    // old
    appPlugin.getExtension('api:app/components').override(...)
    
    // new
    appPlugin.getExtension('api:app/swappable-components').override(...)
  • 29786f6: Updated the app/nav extension to use the new NavContentBlueprint, and removed support for extensions created with the now removed NavLogoBlueprint.

  • 121899a: BREAKING: The app-root-element extension now only accepts JSX.Element in its element param, meaning overrides need to be updated.

Patch Changes

  • 91cbdf4: Log a warning when SwappableComponent extensions are installed outside of using the app plugin
  • fda1bbc: Default implementations of core components are now provided by this package.

    A backwards compatible componentsApi implementation is also provided from this package which uses the SwappableComponentsApi as the implementation. This backwards compatible wrapper will be removed in the future.

  • f2f133c: Internal update to use the new variant of ApiBlueprint.

  • a08f95f: Added a new module for implementing public sign-in apps, exported as appModulePublicSignIn via the /alpha sub-path export. This replaces the createPublicSignInApp export from @backstage/frontend-defaults, which is now deprecated.
  • 5d31d66: Updated the usage of the RouterBlueprint and AppRootWrapperBlueprint to use the lowercase component parameter
  • 93b5e38: The default implementation of the Analytics API now collects and instantiates analytics implementations exposed via AnalyticsImplementationBlueprint extensions. If no such extensions are discovered, the API continues to do nothing with analytics events fired within Backstage. If multiple such extensions are discovered, every discovered implementation automatically receives analytics events.
  • 9831f4e: Adjusted the dialog API types to have more sensible defaults
  • Updated dependencies

0.2.0-next.2

Minor Changes

  • fda1bbc: BREAKING: The componentsApi implementation has been removed from the plugin and replaced with the new SwappableComponentsApi instead.

    If you were overriding the componentsApi implementation, you can now use the new SwappableComponentsApi instead.

    // old
    appPlugin.getExtension('api:app/components').override(...)
    
    // new
    appPlugin.getExtension('api:app/swappable-components').override(...)

Patch Changes

  • 91cbdf4: Log a warning when SwappableComponent extensions are installed outside of using the app plugin
  • fda1bbc: Default implementations of core components are now provided by this package.

    A backwards compatible componentsApi implementation is also provided from this package which uses the SwappableComponentsApi as the implementation. This backwards compatible wrapper will be removed in the future.

  • 9831f4e: Adjusted the dialog API types to have more sensible defaults

  • Updated dependencies

0.2.0-next.1

Minor Changes

  • 121899a: BREAKING: The app-root-element extension now only accepts JSX.Element in its element param, meaning overrides need to be updated.

Patch Changes

0.2.0-next.0

Minor Changes

  • 29786f6: Updated the app/nav extension to use the new NavContentBlueprint, and removed support for extensions created with the now removed NavLogoBlueprint.

Patch Changes

0.1.11

Patch Changes

0.1.11-next.1

Patch Changes

0.1.11-next.0

Patch Changes

0.1.10

Patch Changes

0.1.10-next.1

Patch Changes

0.1.10-next.0

Patch Changes

0.1.9

Patch Changes

0.1.9-next.3

Patch Changes

0.1.9-next.2

Patch Changes

0.1.9-next.1

Patch Changes

0.1.9-next.0

Patch Changes

0.1.8

Patch Changes

0.1.8-next.1

Patch Changes

0.1.8-next.0

Patch Changes

0.1.7

Patch Changes

0.1.7-next.2

Patch Changes

0.1.7-next.1

Patch Changes

0.1.7-next.0

Patch Changes

0.1.6

Patch Changes

0.1.6-next.3

Patch Changes

0.1.6-next.2

Patch Changes

0.1.6-next.1

Patch Changes

0.1.6-next.0

Patch Changes

0.1.5

Patch Changes

0.1.5-next.0

Patch Changes

0.1.4

Patch Changes

0.1.4-next.2

Patch Changes

0.1.4-next.1

Patch Changes

0.1.4-next.0

Patch Changes

0.1.2

Patch Changes

0.1.2-next.2

Patch Changes

0.1.2-next.1

Patch Changes

0.1.2-next.0

Patch Changes

0.1.1

Patch Changes

0.1.1-next.2

Patch Changes

0.1.1-next.1

Patch Changes

0.1.1-next.0

Patch Changes

0.1.0

Minor Changes

  • 2bb9517: Introduce the @backstage/plugin-app package to hold all of the built-in extensions for easy consumption and overriding.

Patch Changes

  • 52f9c5a: Deprecated the namespace option for createExtensionBlueprint and createExtension, these are no longer required and will default to the pluginId instead.

    You can migrate some of your extensions that use createExtensionOverrides to using createFrontendModule instead and providing a pluginId there.

    // Before
    createExtensionOverrides({
      extensions: [
        createExtension({
          name: 'my-extension',
          namespace: 'my-namespace',
          kind: 'test',
          ...
        })
      ],
    });
    
    // After
    createFrontendModule({
      pluginId: 'my-namespace',
      extensions: [
        createExtension({
          name: 'my-extension',
          kind: 'test',
          ...
        })
      ],
    });
  • 57bf6ae: Fix issue with AlertDisplay and other components defined with AppRootElementBlueprint not being rendered when at the SignInWrapper

  • 836127c: Updated dependency @testing-library/react to ^16.0.0.
  • Updated dependencies

0.1.0-next.2

Patch Changes

0.1.0-next.1

Patch Changes

0.1.0-next.0

Minor Changes

  • 2bb9517: Introduce the @backstage/plugin-app package to hold all of the built-in extensions for easy consumption and overriding.

Patch Changes