feat(firehydrant): add New Frontend System support - #9722
Conversation
There was a problem hiding this comment.
Pull request overview
Adds New Frontend System (NFS) support for the FireHydrant frontend plugin by introducing an /alpha entrypoint and updating package exports + documentation so the plugin can be consumed via the new frontend system.
Changes:
- Added
src/alpha.tsximplementing the plugin usingcreateFrontendPlugin,ApiBlueprint, andEntityCardBlueprint. - Exposed the
/alphaentrypoint viaexports+typesVersionsand documented NFS usage in the plugin README. - Updated the repo-wide NFS compatibility table and added a changeset.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| workspaces/firehydrant/reproduction-notes.md | Adds a note about NFS support status (currently incorrect as written). |
| workspaces/firehydrant/plugins/firehydrant/src/alpha.tsx | New NFS plugin implementation via frontend system blueprints. |
| workspaces/firehydrant/plugins/firehydrant/README.md | Adds NFS setup instructions (needs extension-enablement details). |
| workspaces/firehydrant/plugins/firehydrant/package.json | Exports the new ./alpha entrypoint and its types mapping. |
| workspaces/firehydrant/.changeset/sharp-turkeys-joke.md | Changeset for releasing the new alpha entrypoint support. |
| docs/compatibility/new-frontend-system.md | Marks FireHydrant as supported (and updates the generated table). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| @@ -0,0 +1 @@ | |||
| alpha.tsx is absent from workspaces/firehydrant/plugins/firehydrant/src/ confirming New Frontend System support is not implemented | |||
| ## New Frontend System Setup | ||
|
|
||
| Follow this section if you are using Backstage's new frontend system. | ||
|
|
||
| Import the plugin in your `App.tsx` and add it to your app's features array: | ||
|
|
||
| ```ts | ||
| import firehydrantPlugin from '@backstage-community/plugin-firehydrant/alpha'; | ||
|
|
||
| // ... | ||
|
|
||
| export const app = createApp({ | ||
| features: [ | ||
| // ... other features | ||
| firehydrantPlugin, | ||
| ], | ||
| }); | ||
| ``` |
| export default createFrontendPlugin({ | ||
| pluginId: 'firehydrant', | ||
| extensions: [firehydrantApi, entityFirehydrantCard], | ||
| }); |
2aea7f0 to
6191542
Compare
Changed Packages
|
| @@ -0,0 +1 @@ | |||
| alpha.tsx is absent from workspaces/firehydrant/plugins/firehydrant/src/ confirming New Frontend System support is not implemented | |||
| export default createFrontendPlugin({ | ||
| pluginId: 'firehydrant', | ||
| extensions: [firehydrantApi, entityFirehydrantCard], | ||
| }); |
awanlin
left a comment
There was a problem hiding this comment.
Thanks @melindadeng, if you can rebase and then regenerate the new-frontend-system.md file that would be great, that looks out of date. Also left a few comments, should be pretty easy to address them. 👍
| firehydrant.com/service-name: <firehydrant-service-name> | ||
| ``` | ||
|
|
||
| ## New Frontend System Setup |
There was a problem hiding this comment.
Please make sure to note that you can use auto discovery or the manual option mentioned below, example: https://github.com/backstage/community-plugins/tree/main/workspaces/linguist/plugins/linguist#new-frontend-system-alpha
…ng alpha.tsx Signed-off-by: Melinda Deng <200534829+melindadeng@users.noreply.github.com>
Signed-off-by: Melinda Deng <200534829+melindadeng@users.noreply.github.com>
Signed-off-by: Melinda Deng <200534829+melindadeng@users.noreply.github.com>
Signed-off-by: Melinda Deng <200534829+melindadeng@users.noreply.github.com>
Signed-off-by: Melinda Deng <200534829+melindadeng@users.noreply.github.com>
Signed-off-by: Melinda Deng <200534829+melindadeng@users.noreply.github.com>
Signed-off-by: Melinda Deng <200534829+melindadeng@users.noreply.github.com>
Signed-off-by: Melinda Deng <200534829+melindadeng@users.noreply.github.com>
backstage#7537 Signed-off-by: Melinda Deng <200534829+melindadeng@users.noreply.github.com>
1935d0e to
b40c115
Compare
…ge#7537 Signed-off-by: Melinda Deng <200534829+melindadeng@users.noreply.github.com>
|
Thanks @awanlin for the feedback -- addressed all the comments and added tests for the /alpha entrypoint. Also rebased on latest main and regenerated new-frontend-system.md. Ready for another look :) |
awanlin
left a comment
There was a problem hiding this comment.
Thanks again @melindadeng 🚀
Hey, I just made a Pull Request!
Resolves #7537
This PR adds New Frontend System support to the FireHydrant plugin. The plugin can now
be used with the new frontend system by importing from the
/alphaentrypoint.Changes:
src/alpha.tsxwith the plugin reimplemented usingcreateFrontendPlugin,ApiBlueprint, andEntityCardBlueprintpackage.jsonto export the./alphaentrypointREADME.mdwith setup instructions for the new frontend systemdocs/compatibility/new-frontend-system.mdAll legacy code is untouched — users on the old frontend system are unaffected.
✔️ Checklist
Signed-off-byline in the message. (more info)