Commit Graph

102 Commits

Author SHA1 Message Date
Patrik Oldsberg b6fc7f861f frontend-app-api: fix phased predicate type checks
Use internal extension shapes when reading predicate metadata and type the finalized app test helper explicitly. This fixes the typecheck breakage introduced by the phased predicate and override changes.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-17 13:03:29 +01:00
Patrik Oldsberg f30eeba995 frontend-plugin-api: support feature-level predicates
This lets plugin and module instances apply a shared condition to all of their extensions, while preserving extension-level conditions by combining them with logical AND during app spec resolution.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-17 13:03:11 +01:00
aramissennyeydd ce97558e11 rename to if and add examples of dynamic cards
Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>
2026-03-17 13:00:39 +01:00
aramissennyeydd 25b7ddd664 feat: allow dynamically enabling and disabling extensions
Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>
2026-03-17 13:00:29 +01:00
Patrik Oldsberg e9eb585978 Merge pull request #33392 from backstage/rugvip/fix-api-review-items-1-3-5
frontend-plugin-api, frontend-app-api: API review cleanup
2026-03-17 12:46:03 +01:00
Patrik Oldsberg 5fd78ba82f frontend-plugin-api, frontend-app-api: API review cleanup
Remove @backstage/core-plugin-api leakage from the
@backstage/frontend-app-api public API surface. Rename PluginOptions
to CreateFrontendPluginOptions with a deprecated alias. Remove
ResolvedExtensionInputs from the main @backstage/frontend-plugin-api
entry point.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-17 11:37:13 +01:00
Patrik Oldsberg cc0693ec40 api-ref: move opaque helper to frontend-internal
Share the internal ApiRef opaque helper through frontend-internal and fail fast when ApiRef-shaped values have an unsupported opaque version.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-17 11:05:00 +01:00
Patrik Oldsberg d911b72811 frontend-plugin-api: add explicit ApiRef plugin ownership
Add the new frontend ApiRef builder form while preserving compatibility with existing refs, and let frontend apps resolve API ownership through an explicit pluginId when provided.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-17 09:35:02 +01:00
Patrik Oldsberg cc459f73a8 frontend-plugin-api: convert ApiRef to an opaque type
Convert the ApiRef type in the new frontend system to an opaque type
with a $$type discriminator, matching the pattern used by route refs
and extension data refs. Add a builder-pattern creation overload
(createApiRef<T>().with({ id })) alongside the existing direct-config
form. Create OpaqueApiRef in frontend-internal for internal type
validation.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-03-17 09:35:02 +01:00
github-actions[bot] ed7c4e3bef Version Packages (next) 2026-03-10 17:34:12 +00:00
github-actions[bot] 4bd6a3a1af Version Packages (next) 2026-02-24 19:24:06 +00:00
github-actions[bot] e6df5d52ce Version Packages 2026-02-17 16:06:18 +00:00
Patrik Oldsberg abd0a5ad52 frontend-plugin-api: migration to IconElement + API reports
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-02-17 11:55:23 +01:00
Patrik Oldsberg e1f22f2d15 plugin icons and titles
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2026-02-17 11:55:22 +01:00
github-actions[bot] 7c41134684 Version Packages (next) 2026-02-10 16:14:59 +00:00
github-actions[bot] d4b85dddee Version Packages (next) 2026-01-27 15:51:11 +00:00
github-actions[bot] c24788d5bb Version Packages 2025-12-16 14:08:20 +00:00
Patrik Oldsberg 9b8bde47d1 frontend-plugin-api: remove unnecessary dependencies
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2025-12-12 14:39:24 +01:00
github-actions[bot] 756986e5e7 Version Packages (next) 2025-11-25 16:21:32 +00:00
Patrik Oldsberg 0bc1ce919e frontend-plugin-api: fix input incompatibility crash
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2025-11-19 17:42:16 +01:00
github-actions[bot] 792f4d7e3d Version Packages 2025-11-18 12:23:09 +00:00
Patrik Oldsberg 4d03f08d19 frontend-plugin-api: refactor to use opaque type for route refs
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2025-11-18 10:26:20 +01:00
Patrik Oldsberg 7d87b4f6ad frontend-plugin-api: add OverridableExtensionDefinition
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2025-11-17 10:35:43 +01:00
Patrik Oldsberg 8b84f39946 frontend-plugin-api: runtime attachTo by reference
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2025-11-08 19:01:10 +01:00
Patrik Oldsberg 7c6a66dd9f frontend-plugin-api: add support for relative attachments
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2025-11-08 11:26:08 +01:00
Patrik Oldsberg 878c25146c frontend-plugin-api: make ExtensionInput type parameters optional
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2025-11-03 22:36:53 +01:00
github-actions[bot] 807af8ce0e Version Packages (next) 2025-10-21 16:14:43 +00:00
github-actions[bot] d6ce2db9ca Version Packages 2025-10-14 15:29:54 +00:00
github-actions[bot] c73bfa46d4 Version Packages (next) 2025-09-23 15:00:29 +00:00
github-actions[bot] b799a2d07f Version Packages 2025-09-16 13:22:58 +00:00
Paul Schultz 133ac7ad66 fix(repo-tools): resolve knip-reports failure with spaces in workspace paths
Signed-off-by: Paul Schultz <pschultz@pobox.com>
2025-09-15 12:34:26 -05:00
github-actions[bot] ac48eeb3ba Version Packages (next) 2025-09-02 12:17:03 +00:00
github-actions[bot] b93a3471c2 Version Packages 2025-08-19 13:01:39 +00:00
Patrik Oldsberg 12b6db78eb frontend-plugin-api: add OverridableFrontendPlugin type
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2025-08-15 20:29:04 +02:00
benjdlambert 20f1d88971 chore: some more refactor to get ready for shipping
Signed-off-by: benjdlambert <ben@blam.sh>
2025-08-07 15:58:03 +02:00
benjdlambert 4b3ba2b048 chore: make more things swoppable
Signed-off-by: benjdlambert <ben@blam.sh>

Signed-off-by: benjdlambert <ben@blam.sh>
2025-08-07 15:58:03 +02:00
benjdlambert 71510fb812 feat: big refactor of componentRefs again to move away from makeComponentRefs
Signed-off-by: benjdlambert <ben@blam.sh>
2025-08-07 15:58:02 +02:00
benjdlambert aab7bc21cd chore: enforce loader format for component refs
Signed-off-by: benjdlambert <ben@blam.sh>
2025-08-07 15:58:01 +02:00
benjdlambert 6f8a093ac6 feat: added opaque type helper
Signed-off-by: benjdlambert <ben@blam.sh>
2025-08-07 15:58:01 +02:00
Patrik Oldsberg abe4d879f8 Merge pull request #30805 from backstage/rugvip/clerrity
frontend-*-api: better error when factories return invalid data
2025-08-07 14:05:23 +02:00
Patrik Oldsberg 1c2cc37a70 frontend-*-api: better error when factories return invalid data
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2025-08-07 11:54:43 +02:00
Patrik Oldsberg a25a22b0e1 update knip reports
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2025-08-07 11:20:29 +02:00
Patrik Oldsberg 3c3c8825b2 frontend-plugin-api: get rid of AnyExtensionDataRef
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2025-08-04 16:50:03 +02:00
github-actions[bot] 531a48848c Version Packages (next) 2025-07-29 14:40:44 +00:00
github-actions[bot] 9a7cae26c9 Version Packages 2025-07-15 14:26:41 +00:00
github-actions[bot] f1e160615c Version Packages (next) 2025-06-24 12:20:36 +00:00
github-actions[bot] 58558ef2c1 Version Packages 2025-06-17 12:45:56 +00:00
github-actions[bot] f628f44cab Version Packages (next) 2025-06-10 14:28:09 +00:00
github-actions[bot] 19f0650b16 Version Packages (next) 2025-05-27 14:48:17 +00:00
Patrik Oldsberg 44d1af1928 Merge pull request #29953 from backstage/rugvip/info
frontend-{app,plugin}-api: add support for plugin info and manifests
2025-05-27 13:59:58 +02:00