Files
backstage/packages/frontend-test-utils/CHANGELOG.md
T
github-actions[bot] 68db890456 Version Packages (next)
2026-05-26 15:26:38 +00:00

53 KiB

@backstage/frontend-test-utils

0.6.1-next.0

Patch Changes

  • 62dd4fc: Added a mountPath option to renderInTestApp that controls the route path pattern the test element is rendered at. When set, the element is wrapped in a <Route> with the given path, enabling useParams() to extract route parameters from the URL. Use together with initialRouteEntries to set a concrete URL that matches the pattern. This is useful for testing page components that depend on URL parameters, such as entity pages that use useRouteRefParams.
  • Updated dependencies

0.6.0

Minor Changes

  • 44d77e9: BREAKING: renderInTestApp no longer renders a sidebar or legacy nav-item extensions. The app nav extension is now disabled in the minimal test app shell, along with the layout and routes extensions.

    If your tests passed features containing nav-item extensions and asserted on links or labels in that stub sidebar, switch to renderTestApp instead — it uses the real app shell and discovers nav items from page extensions.

    If you only use renderInTestApp to mount a component with APIs or route refs, there is no change.

Patch Changes

  • 0c298f7: Removed internal mockWithApiFactory helper in favor of using attachMockApiFactory directly.
  • fa363f9: Added support for ExternalRouteRef in the mountedRoutes option of renderInTestApp and renderTestApp.
  • 9279ea8: Added explicit type annotations to .map() callback parameters in renderInTestApp to avoid implicit any errors with newer TypeScript versions.
  • Updated dependencies

0.5.3-next.1

Patch Changes

0.5.3-next.0

Patch Changes

  • 0c298f7: Removed internal mockWithApiFactory helper in favor of using attachMockApiFactory directly.
  • 9279ea8: Added explicit type annotations to .map() callback parameters in renderInTestApp to avoid implicit any errors with newer TypeScript versions.
  • Updated dependencies

0.5.2

Patch Changes

0.5.2-next.2

Patch Changes

0.5.2-next.1

Patch Changes

0.5.2-next.0

Patch Changes

0.5.1

Patch Changes

  • b56f573: Deprecated standalone mock API exports in favor of the mockApis namespace. This includes the mock classes (MockAlertApi, MockAnalyticsApi, MockConfigApi, MockErrorApi, MockFetchApi, MockFeatureFlagsApi, MockPermissionApi, MockStorageApi, MockTranslationApi), their option types (MockErrorApiOptions, MockFeatureFlagsApiOptions), and the ErrorWithContext type. MockFetchApiOptions is kept as a non-deprecated export. Use the mockApis namespace instead, for example mockApis.alert() or mockApis.alert.mock().
  • 479282f: Fixed type inference of TestApiPair when using tuple syntax by wrapping MockWithApiFactory in NoInfer.
  • 8e09233: Added a missing dependency on @backstage/filter-predicates to @backstage/frontend-test-utils. This fixes package metadata for consumers using the frontend test app helpers with predicate-based behavior.
  • a49a40d: Updated dependency zod to ^3.25.76 || ^4.0.0 & migrated to /v3 or /v4 imports.
  • 909c742: Switched MockTranslationApi and related test utility imports from @backstage/core-plugin-api/alpha to the stable @backstage/frontend-plugin-api export. The TranslationApi type in the API report is now sourced from a single package. This has no effect on runtime behavior.
  • Updated dependencies

0.5.1-next.2

Patch Changes

  • b56f573: Deprecated standalone mock API exports in favor of the mockApis namespace. This includes the mock classes (MockAlertApi, MockAnalyticsApi, MockConfigApi, MockErrorApi, MockFetchApi, MockFeatureFlagsApi, MockPermissionApi, MockStorageApi, MockTranslationApi), their option types (MockErrorApiOptions, MockFeatureFlagsApiOptions), and the ErrorWithContext type. MockFetchApiOptions is kept as a non-deprecated export. Use the mockApis namespace instead, for example mockApis.alert() or mockApis.alert.mock().
  • Updated dependencies

0.5.1-next.1

Patch Changes

0.5.1-next.0

Patch Changes

  • 909c742: Switched MockTranslationApi and related test utility imports from @backstage/core-plugin-api/alpha to the stable @backstage/frontend-plugin-api export. The TranslationApi type in the API report is now sourced from a single package. This has no effect on runtime behavior.
  • Updated dependencies

0.5.0

Minor Changes

  • 09a6aad: BREAKING: Removed the TestApiRegistry class, use TestApiProvider directly instead, storing reused APIs in a variable, e.g. const apis = [...] as const.

  • d2ac2ec: Added MockAlertApi and MockFeatureFlagsApi implementations to the mockApis namespace. The mock implementations include useful testing methods like clearAlerts(), waitForAlert(), getState(), setState(), and clearState() for better test ergonomics.

  • 09a6aad: BREAKING: The mockApis namespace is no longer a re-export from @backstage/test-utils. It's now a standalone namespace with mock implementations of most core APIs. Mock API instances can be passed directly to TestApiProvider, renderInTestApp, and renderTestApp without needing [apiRef, impl] tuples. As part of this change, the .factory() method on some mocks has been removed, since it's now redundant.

    // Before
    import { mockApis } from '@backstage/frontend-test-utils';
    
    renderInTestApp(<MyComponent />, {
      apis: [[identityApiRef, mockApis.identity()]],
    });
    
    // After - mock APIs can be passed directly
    renderInTestApp(<MyComponent />, {
      apis: [mockApis.identity()],
    });
    

    This change also adds createApiMock, a public utility for creating mock API factories, intended for plugin authors to create their own .mock() variants.

Patch Changes

  • 22864b7: Added an apis option to createExtensionTester, renderInTestApp, and renderTestApp to override APIs when testing extensions. Use the mockApis helpers to create mock implementations:

    import { identityApiRef } from '@backstage/frontend-plugin-api';
    import { mockApis } from '@backstage/frontend-test-utils';
    
    // Override APIs in createExtensionTester
    const tester = createExtensionTester(myExtension, {
      apis: [
        [
          identityApiRef,
          mockApis.identity({ userEntityRef: 'user:default/guest' }),
        ],
      ],
    });
    
    // Override APIs in renderInTestApp
    renderInTestApp(<MyComponent />, {
      apis: [
        [
          identityApiRef,
          mockApis.identity({ userEntityRef: 'user:default/guest' }),
        ],
      ],
    });
    
    // Override APIs in renderTestApp
    renderTestApp({
      extensions: [myExtension],
      apis: [
        [
          identityApiRef,
          mockApis.identity({ userEntityRef: 'user:default/guest' }),
        ],
      ],
    });
    
  • 15ed3f9: Added snapshot() method to ExtensionTester, which returns a tree-shaped representation of the resolved extension hierarchy. Convenient to use with toMatchInlineSnapshot().

  • 013ec22: Added mountedRoutes option to renderTestApp for binding route refs to paths, matching the existing option in renderInTestApp:

    renderTestApp({
      extensions: [...],
      mountedRoutes: {
        '/my-path': myRouteRef,
      },
    });
    
  • d7dd5bd: Fixed Router deprecation warning and switched to using new RouterBlueprint from @backstage/plugin-app-api.

  • a7e0d50: Updated react-router-dom peer dependency to ^6.30.2 and explicitly disabled v7 future flags to suppress deprecation warnings.

  • 69d880e: Bump to latest zod to ensure it has the latest features

  • Updated dependencies

0.5.0-next.2

Minor Changes

  • 09a6aad: BREAKING: Removed the TestApiRegistry class, use TestApiProvider directly instead, storing reused APIs in a variable, e.g. const apis = [...] as const.

  • d2ac2ec: Added MockAlertApi and MockFeatureFlagsApi implementations to the mockApis namespace. The mock implementations include useful testing methods like clearAlerts(), waitForAlert(), getState(), setState(), and clearState() for better test ergonomics.

  • 09a6aad: BREAKING: The mockApis namespace is no longer a re-export from @backstage/test-utils. It's now a standalone namespace with mock implementations of most core APIs. Mock API instances can be passed directly to TestApiProvider, renderInTestApp, and renderTestApp without needing [apiRef, impl] tuples. As part of this change, the .factory() method on some mocks has been removed, since it's now redundant.

    // Before
    import { mockApis } from '@backstage/frontend-test-utils';
    
    renderInTestApp(<MyComponent />, {
      apis: [[identityApiRef, mockApis.identity()]],
    });
    
    // After - mock APIs can be passed directly
    renderInTestApp(<MyComponent />, {
      apis: [mockApis.identity()],
    });
    

    This change also adds createApiMock, a public utility for creating mock API factories, intended for plugin authors to create their own .mock() variants.

Patch Changes

  • 15ed3f9: Added snapshot() method to ExtensionTester, which returns a tree-shaped representation of the resolved extension hierarchy. Convenient to use with toMatchInlineSnapshot().

  • 013ec22: Added mountedRoutes option to renderTestApp for binding route refs to paths, matching the existing option in renderInTestApp:

    renderTestApp({
      extensions: [...],
      mountedRoutes: {
        '/my-path': myRouteRef,
      },
    });
    
  • a7e0d50: Prepare for React Router v7 migration by updating to v6.30.2 across all NFS packages and enabling v7 future flags. Convert routes from splat paths to parent/child structure with Outlet components.

  • Updated dependencies

0.4.6-next.1

Patch Changes

  • 22864b7: Added an apis option to createExtensionTester, renderInTestApp, and renderTestApp to override APIs when testing extensions. Use the mockApis helpers to create mock implementations:

    import { identityApiRef } from '@backstage/frontend-plugin-api';
    import { mockApis } from '@backstage/frontend-test-utils';
    
    // Override APIs in createExtensionTester
    const tester = createExtensionTester(myExtension, {
      apis: [
        [
          identityApiRef,
          mockApis.identity({ userEntityRef: 'user:default/guest' }),
        ],
      ],
    });
    
    // Override APIs in renderInTestApp
    renderInTestApp(<MyComponent />, {
      apis: [
        [
          identityApiRef,
          mockApis.identity({ userEntityRef: 'user:default/guest' }),
        ],
      ],
    });
    
    // Override APIs in renderTestApp
    renderTestApp({
      extensions: [myExtension],
      apis: [
        [
          identityApiRef,
          mockApis.identity({ userEntityRef: 'user:default/guest' }),
        ],
      ],
    });
    
  • Updated dependencies

0.4.5-next.0

Patch Changes

  • d7dd5bd: Fixed Router deprecation warning and switched to using new RouterBlueprint from @backstage/plugin-app-api.
  • 69d880e: Bump to latest zod to ensure it has the latest features
  • Updated dependencies

0.4.3

Patch Changes

0.4.3-next.0

Patch Changes

0.4.2

Patch Changes

0.4.2-next.0

Patch Changes

0.4.1

Patch Changes

0.4.1-next.0

Patch Changes

0.4.0

Minor Changes

  • c41dd80: BREAKING: Removed the extensions option from renderInTestApp. If you need to pass extensions to the test app, use the new renderTestApp utility instead.

Patch Changes

0.3.7-next.1

Patch Changes

0.3.7-next.0

Patch Changes

0.3.6

Patch Changes

0.3.6-next.0

Patch Changes

0.3.5

Patch Changes

0.3.5-next.2

Patch Changes

  • df7bd3b: Updated import of the FrontendFeature type.
  • 5d31d66: Updated the usage of the RouterBlueprint and AppRootWrapperBlueprint to use the lowercase component parameter
  • Updated dependencies

0.3.5-next.1

Patch Changes

0.3.5-next.0

Patch Changes

0.3.4

Patch Changes

0.3.4-next.1

Patch Changes

0.3.4-next.0

Patch Changes

0.3.3

Patch Changes

0.3.3-next.1

Patch Changes

0.3.3-next.0

Patch Changes

0.3.2

Patch Changes

0.3.2-next.3

Patch Changes

0.3.2-next.2

Patch Changes

0.3.2-next.1

Patch Changes

0.3.2-next.0

Patch Changes

0.3.1

Patch Changes

0.3.1-next.1

Patch Changes

0.3.1-next.0

Patch Changes

0.3.0

Minor Changes

  • bba525b: BREAKING: Removed deprecated setupRequestMockHandlers which was replaced by registerMswTestHooks.

Patch Changes

  • f861bfc: Added a initialRouteEntries option to renderInTestApp.
  • f861bfc: The renderInTestApp helper now provides a default mock config with mock values for both app.baseUrl and backend.baseUrl.
  • abcdf44: Internal refactor to match updated createSpecializedApp.
  • Updated dependencies

0.3.0-next.2

Minor Changes

  • bba525b: BREAKING: Removed deprecated setupRequestMockHandlers which was replaced by registerMswTestHooks.

Patch Changes

  • f861bfc: Added a initialRouteEntries option to renderInTestApp.
  • f861bfc: The renderInTestApp helper now provides a default mock config with mock values for both app.baseUrl and backend.baseUrl.
  • abcdf44: Internal refactor to match updated createSpecializedApp.
  • Updated dependencies

0.2.7-next.1

Patch Changes

  • Updated dependencies
    • @backstage/plugin-app@0.1.7-next.1
    • @backstage/config@1.3.2
    • @backstage/frontend-app-api@0.10.6-next.1
    • @backstage/frontend-plugin-api@0.9.6-next.1
    • @backstage/test-utils@1.7.5
    • @backstage/types@1.2.1
    • @backstage/version-bridge@1.0.11

0.2.7-next.0

Patch Changes

0.2.6

Patch Changes

  • 58ec9e7: Removed older versions of React packages as a preparatory step for upgrading to React 19. This commit does not introduce any functional changes, but removes dependencies on previous React versions, allowing for a cleaner upgrade path in subsequent commits.
  • Updated dependencies
    • @backstage/frontend-plugin-api@0.9.5
    • @backstage/frontend-app-api@0.10.5
    • @backstage/version-bridge@1.0.11
    • @backstage/test-utils@1.7.5
    • @backstage/plugin-app@0.1.6
    • @backstage/config@1.3.2
    • @backstage/types@1.2.1

0.2.6-next.3

Patch Changes

  • Updated dependencies
    • @backstage/frontend-plugin-api@0.9.5-next.3
    • @backstage/frontend-app-api@0.10.5-next.3
    • @backstage/config@1.3.2
    • @backstage/test-utils@1.7.5-next.0
    • @backstage/types@1.2.1
    • @backstage/version-bridge@1.0.11-next.0
    • @backstage/plugin-app@0.1.6-next.3

0.2.6-next.2

Patch Changes

  • Updated dependencies
    • @backstage/config@1.3.2
    • @backstage/frontend-app-api@0.10.5-next.2
    • @backstage/frontend-plugin-api@0.9.5-next.2
    • @backstage/test-utils@1.7.5-next.0
    • @backstage/types@1.2.1
    • @backstage/version-bridge@1.0.11-next.0
    • @backstage/plugin-app@0.1.6-next.2

0.2.6-next.1

Patch Changes

  • 58ec9e7: Removed older versions of React packages as a preparatory step for upgrading to React 19. This commit does not introduce any functional changes, but removes dependencies on previous React versions, allowing for a cleaner upgrade path in subsequent commits.
  • Updated dependencies
    • @backstage/frontend-plugin-api@0.9.5-next.1
    • @backstage/frontend-app-api@0.10.5-next.1
    • @backstage/version-bridge@1.0.11-next.0
    • @backstage/test-utils@1.7.5-next.0
    • @backstage/plugin-app@0.1.6-next.1
    • @backstage/config@1.3.2
    • @backstage/types@1.2.1

0.2.6-next.0

Patch Changes

  • Updated dependencies
    • @backstage/frontend-plugin-api@0.9.5-next.0
    • @backstage/frontend-app-api@0.10.5-next.0
    • @backstage/config@1.3.2
    • @backstage/test-utils@1.7.4
    • @backstage/types@1.2.1
    • @backstage/version-bridge@1.0.10
    • @backstage/plugin-app@0.1.6-next.0

0.2.5

Patch Changes

  • Updated dependencies
    • @backstage/frontend-plugin-api@0.9.4
    • @backstage/types@1.2.1
    • @backstage/config@1.3.2
    • @backstage/frontend-app-api@0.10.4
    • @backstage/test-utils@1.7.4
    • @backstage/version-bridge@1.0.10
    • @backstage/plugin-app@0.1.5

0.2.5-next.0

Patch Changes

  • Updated dependencies
    • @backstage/frontend-plugin-api@0.9.4-next.0
    • @backstage/types@1.2.1-next.0
    • @backstage/frontend-app-api@0.10.4-next.0
    • @backstage/plugin-app@0.1.5-next.0
    • @backstage/test-utils@1.7.4-next.0
    • @backstage/config@1.3.2-next.0
    • @backstage/version-bridge@1.0.10

0.2.4

Patch Changes

  • Updated dependencies
    • @backstage/plugin-app@0.1.4
    • @backstage/frontend-plugin-api@0.9.3
    • @backstage/config@1.3.1
    • @backstage/frontend-app-api@0.10.3
    • @backstage/test-utils@1.7.3
    • @backstage/types@1.2.0
    • @backstage/version-bridge@1.0.10

0.2.4-next.2

Patch Changes

  • Updated dependencies
    • @backstage/config@1.3.1-next.0
    • @backstage/frontend-app-api@0.10.3-next.2
    • @backstage/frontend-plugin-api@0.9.3-next.2
    • @backstage/test-utils@1.7.3-next.1
    • @backstage/types@1.2.0
    • @backstage/version-bridge@1.0.10
    • @backstage/plugin-app@0.1.4-next.2

0.2.4-next.1

Patch Changes

  • Updated dependencies
    • @backstage/config@1.3.0
    • @backstage/frontend-app-api@0.10.3-next.1
    • @backstage/frontend-plugin-api@0.9.3-next.1
    • @backstage/test-utils@1.7.3-next.0
    • @backstage/types@1.2.0
    • @backstage/version-bridge@1.0.10
    • @backstage/plugin-app@0.1.4-next.1

0.2.4-next.0

Patch Changes

  • Updated dependencies
    • @backstage/plugin-app@0.1.4-next.0
    • @backstage/frontend-plugin-api@0.9.3-next.0
    • @backstage/config@1.3.0
    • @backstage/frontend-app-api@0.10.3-next.0
    • @backstage/test-utils@1.7.3-next.0
    • @backstage/types@1.2.0
    • @backstage/version-bridge@1.0.10

0.2.2

Patch Changes

  • Updated dependencies
    • @backstage/config@1.3.0
    • @backstage/types@1.2.0
    • @backstage/frontend-app-api@0.10.1
    • @backstage/frontend-plugin-api@0.9.1
    • @backstage/test-utils@1.7.1
    • @backstage/version-bridge@1.0.10
    • @backstage/plugin-app@0.1.2

0.2.2-next.2

Patch Changes

  • Updated dependencies
    • @backstage/config@1.2.0
    • @backstage/frontend-app-api@0.10.1-next.2
    • @backstage/frontend-plugin-api@0.9.1-next.2
    • @backstage/test-utils@1.7.1-next.0
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.10
    • @backstage/plugin-app@0.1.2-next.2

0.2.2-next.1

Patch Changes

  • Updated dependencies
    • @backstage/config@1.2.0
    • @backstage/frontend-app-api@0.10.1-next.1
    • @backstage/frontend-plugin-api@0.9.1-next.1
    • @backstage/test-utils@1.7.1-next.0
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.10
    • @backstage/plugin-app@0.1.2-next.1

0.2.2-next.0

Patch Changes

  • Updated dependencies
    • @backstage/config@1.2.0
    • @backstage/frontend-app-api@0.10.1-next.0
    • @backstage/frontend-plugin-api@0.9.1-next.0
    • @backstage/test-utils@1.7.0
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.10
    • @backstage/plugin-app@0.1.2-next.0

0.2.1

Patch Changes

  • 666d5b1: Disable the built-in SignInPage in createExtensionTester in order to not mess with existing tests

  • e969dc7: Move @types/react to a peer dependency.

  • 873e424: Internal refactor of usage of opaque types.

  • 0801db6: Added an ApiMock, analogous to ServiceMock from the backend test utils.

  • 9cc7dd6: Added a mockApis export, which will replace the MockX API implementation classes and their related types. This is analogous with the backend's mockServices.

    DEPRECATED several old helpers:

    • Deprecated MockAnalyticsApi, please use mockApis.analytics instead.
    • Deprecated MockConfigApi, please use mockApis.config instead.
    • Deprecated MockPermissionApi, please use mockApis.permission instead.
    • Deprecated MockStorageApi, please use mockApis.storage instead.
    • Deprecated MockTranslationApi, please use mockApis.translation instead.
  • Updated dependencies

    • @backstage/frontend-plugin-api@0.9.0
    • @backstage/frontend-app-api@0.10.0
    • @backstage/version-bridge@1.0.10
    • @backstage/test-utils@1.7.0
    • @backstage/plugin-app@0.1.1
    • @backstage/config@1.2.0
    • @backstage/types@1.1.1

0.2.1-next.2

Patch Changes

  • 0801db6: Added an ApiMock, analogous to ServiceMock from the backend test utils.
  • Updated dependencies
    • @backstage/config@1.2.0
    • @backstage/frontend-app-api@0.10.0-next.2
    • @backstage/frontend-plugin-api@0.9.0-next.2
    • @backstage/test-utils@1.6.1-next.2
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.10-next.0
    • @backstage/plugin-app@0.1.1-next.2

0.2.1-next.1

Patch Changes

  • e969dc7: Move @types/react to a peer dependency.
  • Updated dependencies
    • @backstage/frontend-plugin-api@0.9.0-next.1
    • @backstage/frontend-app-api@0.10.0-next.1
    • @backstage/version-bridge@1.0.10-next.0
    • @backstage/test-utils@1.6.1-next.1
    • @backstage/plugin-app@0.1.1-next.1
    • @backstage/config@1.2.0
    • @backstage/types@1.1.1

0.2.1-next.0

Patch Changes

  • 873e424: Internal refactor of usage of opaque types.
  • Updated dependencies
    • @backstage/frontend-plugin-api@0.9.0-next.0
    • @backstage/frontend-app-api@0.10.0-next.0
    • @backstage/plugin-app@0.1.1-next.0
    • @backstage/config@1.2.0
    • @backstage/test-utils@1.6.1-next.0
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.9

0.2.0

Minor Changes

  • 5446061: Removed support for testing "v1" extensions, where outputs are defined as an object rather than an array.
  • e6e488c: BREAKING: The deprecated .render() method has been removed from the extension tester.

Patch Changes

  • 2a61422: The extension tester will no longer unconditionally enable any additional extensions that have been added.
  • fec8b57: Updated exports to use the new type parameters for extensions and extension blueprints.
  • 4a66456: Internal update to add support for passing an ApiRegistry when creating the node tree
  • 2bb9517: Introduce the @backstage/plugin-app package to hold all of the built-in extensions for easy consumption and overriding.
  • 836127c: Updated dependency @testing-library/react to ^16.0.0.
  • 948d431: Removing deprecated namespace parameter in favour of pluginId instead
  • 043d7cd: Internal refactor
  • f6d1874: Added the ability to provide additional extensions and features to renderInTestApp
  • Updated dependencies
    • @backstage/frontend-plugin-api@0.8.0
    • @backstage/frontend-app-api@0.9.0
    • @backstage/plugin-app@0.1.0
    • @backstage/test-utils@1.6.0
    • @backstage/version-bridge@1.0.9
    • @backstage/config@1.2.0
    • @backstage/types@1.1.1

0.2.0-next.2

Patch Changes

  • 2a61422: The extension tester will no longer unconditionally enable any additional extensions that have been added.
  • 836127c: Updated dependency @testing-library/react to ^16.0.0.
  • 043d7cd: Internal refactor
  • Updated dependencies
    • @backstage/test-utils@1.6.0-next.1
    • @backstage/plugin-app@0.1.0-next.2
    • @backstage/frontend-app-api@0.9.0-next.2
    • @backstage/frontend-plugin-api@0.8.0-next.2
    • @backstage/version-bridge@1.0.9-next.0
    • @backstage/config@1.2.0
    • @backstage/types@1.1.1

0.2.0-next.1

Patch Changes

  • 948d431: Removing deprecated namespace parameter in favour of pluginId instead
  • Updated dependencies
    • @backstage/frontend-app-api@0.9.0-next.1
    • @backstage/frontend-plugin-api@0.8.0-next.1
    • @backstage/plugin-app@0.1.0-next.1
    • @backstage/config@1.2.0
    • @backstage/test-utils@1.6.0-next.0
    • @backstage/types@1.1.1

0.2.0-next.0

Minor Changes

  • 5446061: Removed support for testing "v1" extensions, where outputs are defined as an object rather than an array.
  • e6e488c: BREAKING: The deprecated .render() method has been removed from the extension tester.

Patch Changes

  • fec8b57: Updated exports to use the new type parameters for extensions and extension blueprints.
  • 4a66456: Internal update to add support for passing an ApiRegistry when creating the node tree
  • 2bb9517: Introduce the @backstage/plugin-app package to hold all of the built-in extensions for easy consumption and overriding.
  • f6d1874: Added the ability to provide additional extensions and features to renderInTestApp
  • Updated dependencies
    • @backstage/frontend-plugin-api@0.8.0-next.0
    • @backstage/frontend-app-api@0.9.0-next.0
    • @backstage/plugin-app@0.1.0-next.0
    • @backstage/test-utils@1.6.0-next.0
    • @backstage/config@1.2.0
    • @backstage/types@1.1.1

0.1.12

Patch Changes

  • 8209449: Added new APIs for testing extensions

  • 72754db: Updated usage of useRouteRef, which can now always return undefined.

  • 3be9aeb: Added support for v2 extensions, which declare their inputs and outputs without using a data map.

  • fe1fbb2: Migrating usages of the deprecated createExtension v1 format to the newer v2 format, and old create*Extension extension creators to blueprints.

  • 2d21599: Added support for being able to override extension definitions.

    const TestCard = EntityCardBlueprint.make({
      ...
    });
    
    TestCard.override({
      // override attachment points
      attachTo: { id: 'something-else', input: 'overridden' },
      // extend the config schema
      config: {
        schema: {
          newConfig: z => z.string().optional(),
        }
      },
      // override factory
      *factory(originalFactory, { inputs, config }){
        const originalOutput = originalFactory();
    
        yield coreExentsionData.reactElement(
          <Wrapping>
            {originalOutput.get(coreExentsionData.reactElement)}
          </Wrapping>
        );
      }
    });
    
    
  • c00e1a0: Deprecate the .render method of the createExtensionTester in favour of using renderInTestApp directly.

    import {
      renderInTestApp,
      createExtensionTester,
    } from '@backstage/frontend-test-utils';
    
    const tester = createExtensionTester(extension);
    
    const { getByTestId } = renderInTestApp(tester.reactElement());
    
    // or if you're not using `coreExtensionData.reactElement` as the output ref
    const { getByTestId } = renderInTestApp(tester.get(myComponentRef));
    
  • 264e10f: Deprecate existing ExtensionCreators in favour of their new Blueprint counterparts.

  • 264e10f: Refactor .make method on Blueprints into two different methods, .make and .makeWithOverrides.

    When using createExtensionBlueprint you can define parameters for the factory function, if you wish to take advantage of these parameters you should use .make when creating an extension instance of a Blueprint. If you wish to override more things other than the standard attachTo, name, namespace then you should use .makeWithOverrides instead.

    .make is reserved for simple creation of extension instances from Blueprints using higher level parameters, whereas .makeWithOverrides is lower level and you have more control over the final extension.

  • 6349099: Added config input type to the extensions

  • Updated dependencies

    • @backstage/frontend-plugin-api@0.7.0
    • @backstage/frontend-app-api@0.8.0
    • @backstage/config@1.2.0
    • @backstage/test-utils@1.5.10
    • @backstage/types@1.1.1

0.1.12-next.3

Patch Changes

  • 2d21599: Added support for being able to override extension definitions.

    const TestCard = EntityCardBlueprint.make({
      ...
    });
    
    TestCard.override({
      // override attachment points
      attachTo: { id: 'something-else', input: 'overridden' },
      // extend the config schema
      config: {
        schema: {
          newConfig: z => z.string().optional(),
        }
      },
      // override factory
      *factory(originalFactory, { inputs, config }){
        const originalOutput = originalFactory();
    
        yield coreExentsionData.reactElement(
          <Wrapping>
            {originalOutput.get(coreExentsionData.reactElement)}
          </Wrapping>
        );
      }
    });
    
    
  • 264e10f: Deprecate existing ExtensionCreators in favour of their new Blueprint counterparts.

  • 264e10f: Refactor .make method on Blueprints into two different methods, .make and .makeWithOverrides.

    When using createExtensionBlueprint you can define parameters for the factory function, if you wish to take advantage of these parameters you should use .make when creating an extension instance of a Blueprint. If you wish to override more things other than the standard attachTo, name, namespace then you should use .makeWithOverrides instead.

    .make is reserved for simple creation of extension instances from Blueprints using higher level parameters, whereas .makeWithOverrides is lower level and you have more control over the final extension.

  • Updated dependencies

    • @backstage/frontend-plugin-api@0.7.0-next.3
    • @backstage/frontend-app-api@0.7.5-next.3
    • @backstage/config@1.2.0
    • @backstage/test-utils@1.5.10-next.2
    • @backstage/types@1.1.1

0.1.12-next.2

Patch Changes

  • 8209449: Added new APIs for testing extensions
  • 72754db: Updated usage of useRouteRef, which can now always return undefined.
  • Updated dependencies
    • @backstage/frontend-plugin-api@0.7.0-next.2
    • @backstage/frontend-app-api@0.7.5-next.2
    • @backstage/test-utils@1.5.10-next.2
    • @backstage/config@1.2.0
    • @backstage/types@1.1.1

0.1.12-next.1

Patch Changes

  • 3be9aeb: Added support for v2 extensions, which declare their inputs and outputs without using a data map.
  • 6349099: Added config input type to the extensions
  • Updated dependencies
    • @backstage/frontend-app-api@0.7.5-next.1
    • @backstage/frontend-plugin-api@0.6.8-next.1
    • @backstage/test-utils@1.5.10-next.1
    • @backstage/types@1.1.1

0.1.11-next.0

Patch Changes

  • Updated dependencies
    • @backstage/frontend-plugin-api@0.6.8-next.0
    • @backstage/frontend-app-api@0.7.4-next.0
    • @backstage/test-utils@1.5.9-next.0
    • @backstage/types@1.1.1

0.1.10

Patch Changes

  • 95a3a0b: Rename frontend and backend setupRequestMockHandlers methods to registerMswTestHooks.
  • Updated dependencies
    • @backstage/frontend-app-api@0.7.3
    • @backstage/test-utils@1.5.8
    • @backstage/frontend-plugin-api@0.6.7
    • @backstage/types@1.1.1

0.1.10-next.2

Patch Changes

  • Updated dependencies
    • @backstage/frontend-app-api@0.7.3-next.2
    • @backstage/frontend-plugin-api@0.6.7-next.1

0.1.10-next.1

Patch Changes

  • Updated dependencies
    • @backstage/frontend-app-api@0.7.3-next.1
    • @backstage/test-utils@1.5.8-next.1
    • @backstage/frontend-plugin-api@0.6.7-next.0
    • @backstage/types@1.1.1

0.1.9-next.0

Patch Changes

  • Updated dependencies
    • @backstage/frontend-app-api@0.7.2-next.0
    • @backstage/frontend-plugin-api@0.6.7-next.0
    • @backstage/test-utils@1.5.7-next.0
    • @backstage/types@1.1.1

0.1.8

Patch Changes

  • Updated dependencies
    • @backstage/frontend-app-api@0.7.1
    • @backstage/frontend-plugin-api@0.6.6
    • @backstage/test-utils@1.5.6
    • @backstage/types@1.1.1

0.1.8-next.2

Patch Changes

  • Updated dependencies
    • @backstage/frontend-app-api@0.7.1-next.2
    • @backstage/frontend-plugin-api@0.6.6-next.2
    • @backstage/test-utils@1.5.6-next.2
    • @backstage/types@1.1.1

0.1.8-next.1

Patch Changes

  • Updated dependencies
    • @backstage/frontend-app-api@0.7.1-next.1
    • @backstage/frontend-plugin-api@0.6.6-next.1
    • @backstage/test-utils@1.5.6-next.1
    • @backstage/types@1.1.1

0.1.8-next.0

Patch Changes

  • Updated dependencies
    • @backstage/frontend-app-api@0.7.1-next.0
    • @backstage/test-utils@1.5.6-next.0
    • @backstage/frontend-plugin-api@0.6.6-next.0
    • @backstage/types@1.1.1

0.1.7

Patch Changes

  • Updated dependencies
    • @backstage/frontend-app-api@0.7.0
    • @backstage/frontend-plugin-api@0.6.5
    • @backstage/test-utils@1.5.5

0.1.7-next.2

Patch Changes

  • Updated dependencies
    • @backstage/frontend-app-api@0.7.0-next.2
    • @backstage/frontend-plugin-api@0.6.5-next.1

0.1.7-next.1

Patch Changes

  • Updated dependencies
    • @backstage/frontend-app-api@0.6.5-next.1
    • @backstage/frontend-plugin-api@0.6.5-next.1

0.1.7-next.0

Patch Changes

  • Updated dependencies
    • @backstage/frontend-app-api@0.6.5-next.0
    • @backstage/frontend-plugin-api@0.6.5-next.0
    • @backstage/test-utils@1.5.5-next.0
    • @backstage/types@1.1.1

0.1.6

Patch Changes

  • abfbcfc: Updated dependency @testing-library/react to ^15.0.0.
  • Updated dependencies
    • @backstage/frontend-app-api@0.6.4
    • @backstage/frontend-plugin-api@0.6.4
    • @backstage/test-utils@1.5.4
    • @backstage/types@1.1.1

0.1.6-next.1

Patch Changes

  • Updated dependencies
    • @backstage/frontend-app-api@0.6.4-next.1
    • @backstage/frontend-plugin-api@0.6.4-next.1
    • @backstage/test-utils@1.5.4-next.0
    • @backstage/types@1.1.1

0.1.6-next.0

Patch Changes

  • Updated dependencies
    • @backstage/frontend-app-api@0.6.4-next.0
    • @backstage/frontend-plugin-api@0.6.4-next.0
    • @backstage/test-utils@1.5.3
    • @backstage/types@1.1.1

0.1.5

Patch Changes

  • Updated dependencies
    • @backstage/frontend-app-api@0.6.3
    • @backstage/frontend-plugin-api@0.6.3
    • @backstage/test-utils@1.5.3
    • @backstage/types@1.1.1

0.1.4

Patch Changes

  • Updated dependencies
    • @backstage/frontend-app-api@0.6.2
    • @backstage/frontend-plugin-api@0.6.2
    • @backstage/test-utils@1.5.2
    • @backstage/types@1.1.1

0.1.3

Patch Changes

  • Updated dependencies
    • @backstage/frontend-app-api@0.6.1
    • @backstage/frontend-plugin-api@0.6.1
    • @backstage/test-utils@1.5.1
    • @backstage/types@1.1.1

0.1.3-next.2

Patch Changes

  • Updated dependencies
    • @backstage/frontend-app-api@0.6.1-next.2
    • @backstage/frontend-plugin-api@0.6.1-next.2
    • @backstage/test-utils@1.5.1-next.1
    • @backstage/types@1.1.1

0.1.3-next.1

Patch Changes

  • Updated dependencies
    • @backstage/frontend-app-api@0.6.1-next.1
    • @backstage/test-utils@1.5.1-next.1
    • @backstage/frontend-plugin-api@0.6.1-next.1
    • @backstage/types@1.1.1

0.1.3-next.0

Patch Changes

  • Updated dependencies
    • @backstage/frontend-app-api@0.6.1-next.0
    • @backstage/test-utils@1.5.1-next.0
    • @backstage/frontend-plugin-api@0.6.1-next.0
    • @backstage/types@1.1.1

0.1.2

Patch Changes

  • bc621aa: Updates to use the new RouteResolutionsApi.
  • 8472188: Added or fixed the repository field in package.json.
  • Updated dependencies
    • @backstage/frontend-plugin-api@0.6.0
    • @backstage/frontend-app-api@0.6.0
    • @backstage/test-utils@1.5.0
    • @backstage/types@1.1.1

0.1.2-next.3

Patch Changes

  • 8472188: Added or fixed the repository field in package.json.
  • Updated dependencies
    • @backstage/frontend-app-api@0.6.0-next.3
    • @backstage/frontend-plugin-api@0.6.0-next.3
    • @backstage/test-utils@1.5.0-next.3
    • @backstage/types@1.1.1

0.1.2-next.2

Patch Changes

  • Updated dependencies
    • @backstage/frontend-plugin-api@0.6.0-next.2
    • @backstage/frontend-app-api@0.6.0-next.2
    • @backstage/test-utils@1.5.0-next.2
    • @backstage/types@1.1.1

0.1.2-next.1

Patch Changes

  • bc621aa: Updates to use the new RouteResolutionsApi.
  • Updated dependencies
    • @backstage/frontend-plugin-api@0.6.0-next.1
    • @backstage/frontend-app-api@0.6.0-next.1
    • @backstage/test-utils@1.5.0-next.1
    • @backstage/types@1.1.1

0.1.2-next.0

Patch Changes

  • Updated dependencies
    • @backstage/frontend-app-api@0.6.0-next.0
    • @backstage/frontend-plugin-api@0.5.1-next.0
    • @backstage/test-utils@1.5.0-next.0
    • @backstage/types@1.1.1

0.1.1

Patch Changes

  • f7566f9: Updates to reflect the app/router extension having been renamed to app/root.
  • 516fd3e: Updated README to reflect release status
  • c97fa1c: Added elements, wrappers, and router inputs to app/root, that let you add things to the root of the React tree above the layout. You can use the createAppRootElementExtension, createAppRootWrapperExtension, and createRouterExtension extension creator, respectively, to conveniently create such extensions. These are all optional, and if you do not supply a router a default one will be used (BrowserRouter in regular runs, MemoryRouter in tests/CI).
  • Updated dependencies
    • @backstage/frontend-plugin-api@0.5.0
    • @backstage/frontend-app-api@0.5.0
    • @backstage/test-utils@1.4.7
    • @backstage/types@1.1.1

0.1.1-next.2

Patch Changes

  • 516fd3e: Updated README to reflect release status
  • Updated dependencies
    • @backstage/frontend-plugin-api@0.4.1-next.2
    • @backstage/frontend-app-api@0.4.1-next.2

0.1.1-next.1

Patch Changes

  • Updated dependencies
    • @backstage/frontend-app-api@0.4.1-next.1
    • @backstage/frontend-plugin-api@0.4.1-next.1
    • @backstage/test-utils@1.4.7-next.1
    • @backstage/types@1.1.1

0.1.1-next.0

Patch Changes

  • Updated dependencies
    • @backstage/frontend-plugin-api@0.4.1-next.0
    • @backstage/frontend-app-api@0.4.1-next.0
    • @backstage/test-utils@1.4.7-next.0
    • @backstage/types@1.1.1

0.1.0

Minor Changes

  • 59fabd5: New testing utility library for @backstage/frontend-app-api and @backstage/frontend-plugin-api.
  • af7bc3e: Switched all core extensions to instead use the namespace 'app'.

Patch Changes

  • 59fabd5: Added createExtensionTester for rendering extensions in tests.
  • 7e4b0db: The createExtensionTester helper is now able to render more than one route in the test app.
  • 818eea4: Updates for compatibility with the new extension IDs.
  • b9aa6e4: Migrate renderInTestApp to @backstage/frontend-test-utils for testing individual React components in an app.
  • e539735: Updates for core.router addition.
  • c21c9cf: Re-export mock API implementations as well as TestApiProvider, TestApiRegistry, withLogCollector, and setupRequestMockHandlers from @backstage/test-utils.
  • Updated dependencies
    • @backstage/frontend-plugin-api@0.4.0
    • @backstage/frontend-app-api@0.4.0
    • @backstage/test-utils@1.4.6
    • @backstage/types@1.1.1

0.1.0-next.3

Patch Changes

  • Updated dependencies
    • @backstage/frontend-app-api@0.4.0-next.3
    • @backstage/frontend-plugin-api@0.4.0-next.3
    • @backstage/test-utils@1.4.6-next.2
    • @backstage/types@1.1.1

0.1.0-next.2

Patch Changes

  • 818eea4: Updates for compatibility with the new extension IDs.
  • b9aa6e4: Migrate renderInTestApp to @backstage/frontend-test-utils for testing individual React components in an app.
  • Updated dependencies
    • @backstage/frontend-plugin-api@0.4.0-next.2
    • @backstage/frontend-app-api@0.4.0-next.2
    • @backstage/test-utils@1.4.6-next.2
    • @backstage/types@1.1.1

0.1.0-next.1

Patch Changes

  • e539735435: Updates for core.router addition.
  • c21c9cf07b: Re-export mock API implementations as well as TestApiProvider, TestApiRegistry, withLogCollector, and setupRequestMockHandlers from @backstage/test-utils.
  • Updated dependencies
    • @backstage/frontend-plugin-api@0.4.0-next.1
    • @backstage/frontend-app-api@0.4.0-next.1
    • @backstage/test-utils@1.4.6-next.1
    • @backstage/types@1.1.1

0.1.0-next.0

Minor Changes

  • 59fabd5106: New testing utility library for @backstage/frontend-app-api and @backstage/frontend-plugin-api.

Patch Changes

  • 59fabd5106: Added createExtensionTester for rendering extensions in tests.
  • Updated dependencies
    • @backstage/frontend-app-api@0.3.1-next.0
    • @backstage/frontend-plugin-api@0.3.1-next.0
    • @backstage/test-utils@1.4.6-next.0
    • @backstage/types@1.1.1