Skip to content

feat(jaeger): add new frontend system support - #9783

Open
RonitGandhi wants to merge 3 commits into
backstage:mainfrom
RonitGandhi:jaeger/new-frontend-system-support
Open

feat(jaeger): add new frontend system support#9783
RonitGandhi wants to merge 3 commits into
backstage:mainfrom
RonitGandhi:jaeger/new-frontend-system-support

Conversation

@RonitGandhi

@RonitGandhi RonitGandhi commented Jul 12, 2026

Copy link
Copy Markdown

Closes #7538

Hey, I just made a Pull Request!

Adds new frontend system (alpha) support to the Jaeger plugin: registers the Jaeger API and the Traces entity content extension via a new ./alpha export. Legacy exports are unchanged. Closes #7538.

✔️ Checklist

  • A changeset describing the change and affected packages. (more info)
  • Added or updated documentation
  • Tests for new functionality and regression tests for bug fixes
  • Screenshots attached (for UI changes)
  • All your commits have a Signed-off-by line in the message. (more info)

@backstage-goalie

backstage-goalie Bot commented Jul 12, 2026

Copy link
Copy Markdown
Contributor

Changed Packages

Package Name Package Path Changeset Bump Current Version
@backstage-community/plugin-jaeger workspaces/jaeger/plugins/jaeger minor v0.18.0

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds New Frontend System (alpha) support for the Jaeger workspace plugin, enabling installation via the @backstage-community/plugin-jaeger/alpha export and registering the plugin’s API + entity content extension for feature discovery / configuration.

Changes:

  • Introduces src/alpha/* entrypoint with createFrontendPlugin, API blueprint, and entity content blueprint.
  • Updates package exports and dependencies to include @backstage/frontend-plugin-api and @backstage/core-compat-api.
  • Adds documentation and an API extractor alpha report, plus a changeset for the new capability.

Reviewed changes

Copilot reviewed 9 out of 10 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
workspaces/jaeger/yarn.lock Locks newly added Backstage frontend-system dependencies.
workspaces/jaeger/plugins/jaeger/src/alpha/plugin.ts Defines the alpha frontend-system plugin and binds legacy route refs.
workspaces/jaeger/plugins/jaeger/src/alpha/plugin.test.ts Adds a basic unit test for the alpha plugin export.
workspaces/jaeger/plugins/jaeger/src/alpha/index.ts Exposes the alpha plugin as the default export for /alpha.
workspaces/jaeger/plugins/jaeger/src/alpha/entityContents.tsx Adds the entity content (tab) extension using compat wrapper + route ref conversion.
workspaces/jaeger/plugins/jaeger/src/alpha/apis.ts Adds the API extension wiring jaegerApiRef to JaegerClient.
workspaces/jaeger/plugins/jaeger/report-alpha.api.md Adds generated alpha API report reflecting the new exports/extensions.
workspaces/jaeger/plugins/jaeger/README.md Documents how to install/configure the plugin in the new frontend system.
workspaces/jaeger/plugins/jaeger/package.json Adds ./alpha export + typesVersions and required dependencies.
workspaces/jaeger/.changeset/jaeger-new-frontend-system.md Declares a minor release for the new alpha frontend-system support.

Comment thread workspaces/jaeger/plugins/jaeger/README.md Outdated
Copilot AI review requested due to automatic review settings July 12, 2026 02:40

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 10 changed files in this pull request and generated 2 comments.

Comment thread workspaces/jaeger/plugins/jaeger/src/alpha/plugin.ts Outdated
Comment thread workspaces/jaeger/plugins/jaeger/src/alpha/plugin.test.ts Outdated
Comment thread workspaces/jaeger/.changeset/jaeger-new-frontend-system.md
  Closes backstage#7538

Signed-off-by: RonitGandhi <ronitgandhi.16@gmail.com>
…s map

The exports map supersedes these fields; yarn fix --check flagged the
package as out of sync.

Signed-off-by: RonitGandhi <ronitgandhi.16@gmail.com>
- Drop `@backstage/core-compat-api` entirely. Per the upstream
  plugin-new-frontend-system-support skill, `convertLegacyRouteRef(s)` and
  `compatWrapper` are no longer required for plugin migration, and this
  workspace is on Backstage 1.52. Route refs from `@backstage/core-plugin-api`
  are now passed directly to the plugin and to `EntityContentBlueprint`.
- Expose the route under `root` instead of `entityContent`, matching the
  route contract already published by the legacy plugin in `src/plugin.ts`.
- Strengthen the alpha test: it now imports the default export through the
  public `./alpha` entry point, asserts the API and entity content extensions
  are registered, pins the `root` route mapping, renders the Traces content
  against a mocked Jaeger API, and covers the annotation filter.
- Nest "Extensions config" as a subsection of "New Frontend System" in the
  README.
- Regenerate report-alpha.api.md and knip-report.md.

Signed-off-by: RonitGandhi <ronitgandhi.16@gmail.com>
@RonitGandhi
RonitGandhi force-pushed the jaeger/new-frontend-system-support branch from a88159d to f2d5f24 Compare August 8, 2026 01:51
@RonitGandhi

Copy link
Copy Markdown
Author

Thanks for the reviews! Rebased onto latest main (the branch had drifted and was conflicting) and pushed updates addressing everything:

@04kash — ran the changes against the plugin-new-frontend-system-support skill. The one migration step it flagged was the compat layer: the skill states that convertLegacyRouteRef/convertLegacyRouteRefs and compatWrapper are no longer required for plugin migration, and this workspace is on Backstage 1.52. So @backstage/core-compat-api is now dropped entirely — the existing @backstage/core-plugin-api route ref is passed directly to both createFrontendPlugin and EntityContentBlueprint, and the loader returns the component without a wrapper.

Walking the rest of the skill's checklist: this plugin contributes an entity content tab rather than a top-level page, so the PageBlueprint/SubPageBlueprint and dual-header steps don't apply — there's no page shell to split, JaegerComponent already renders Content only. The API is on ApiBlueprint, there are no translations or external route refs, and refs stay exported from the main entry point rather than being duplicated in ./alpha.

Copilot comments:

  • Route key — agreed, switched entityContentroot to match the legacy plugin's route contract, and regenerated report-alpha.api.md.
  • Test — rewritten. It now imports the default export through the public ./alpha entry point, asserts the API and entity content extensions are registered, pins the root route mapping, renders the Traces content against a mocked Jaeger API, and covers the annotation filter. Added @backstage/frontend-test-utils as a devDependency for this.
  • README headingExtensions config is now a level-3 subsection under New Frontend System.

yarn tsc, lint:all, test:all, and prettier:check all pass locally; API and knip reports regenerated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

🚀 Jaeger: Add New Frontend System Support

4 participants