Skip to content

feat(endoflife): add new frontend system support - #122

Open
Brezinben wants to merge 1 commit into
dweber019:mainfrom
Brezinben:feat/endoflife-new-frontend-system
Open

feat(endoflife): add new frontend system support#122
Brezinben wants to merge 1 commit into
dweber019:mainfrom
Brezinben:feat/endoflife-new-frontend-system

Conversation

@Brezinben

Copy link
Copy Markdown

What

Adds new frontend system support to the endoflife plugin, via a /alpha entry point. Same dual entry point pattern as #120.

Part of #44.

Changes

  • src/alpha.tsx: ApiBlueprint for the End of Life API, EntityCardBlueprint for the card (filtered with the existing isEndOfLifeAvailable), and EntityContentBlueprint for an optional tab, disabled: true so apps don't get both surfaces at once
  • package.json: ./alpha in exports / typesVersions, @backstage/frontend-plugin-api dependency
  • README section, test, changeset

The / entry point is untouched, so old frontend system consumers are unaffected. The existing route ref and API ref work as-is in the new system — no @backstage/core-compat-api conversion needed.

Extension Default
api:endoflife enabled
entity-card:endoflife enabled
entity-content:endoflife disabled
import endOfLifePlugin from '@dweber019/backstage-plugin-endoflife/alpha';

One deliberate difference from #120

No exports block in publishConfig. backstage-cli package prepack generates the published exports, typesVersions and module itself — including the backstage.features entry and "backstage": "@backstage/FrontendPlugin" export condition that app package discovery needs. Writing it by hand overwrites those, and makes yarn pack fail on the next run with Exports field value must be a string.

Verification

yarn tsc, lint, test (4 suites, 26 tests), prettier:check, and pack all pass. Also installed from a packed tarball into a Backstage 1.53 app on the new frontend system — the card renders its timeline with live data, and a page in that app consumes endOfLifeApiRef through the ApiBlueprint.


🤖 Made with Claude Code.

Adds a `/alpha` entry point exporting the plugin as a `createFrontendPlugin`
default export, with an `ApiBlueprint` for the end of life API, an
`EntityCardBlueprint` for the card, and an `EntityContentBlueprint` for an
optional tab, disabled by default.

The existing `/` entry point is unchanged, so apps on the old frontend
system are unaffected.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant