diff --git a/.changeset/selfish-flies-kneel.md b/.changeset/selfish-flies-kneel.md new file mode 100644 index 0000000000..0f13f11d11 --- /dev/null +++ b/.changeset/selfish-flies-kneel.md @@ -0,0 +1,5 @@ +--- +'@backstage/frontend-app-api': patch +--- + +No longer throw error on invalid input if the child is disabled. diff --git a/packages/frontend-app-api/src/tree/instantiateAppNodeTree.test.ts b/packages/frontend-app-api/src/tree/instantiateAppNodeTree.test.ts index 2f4a112166..ff244b53f4 100644 --- a/packages/frontend-app-api/src/tree/instantiateAppNodeTree.test.ts +++ b/packages/frontend-app-api/src/tree/instantiateAppNodeTree.test.ts @@ -167,7 +167,8 @@ describe('instantiateAppNodeTree', () => { { ...makeSpec(simpleExtension), id: 'child-node', - attachTo: { id: 'root-node', input: 'test' }, + // Using an invalid input should not be an error when disabled + attachTo: { id: 'root-node', input: 'invalid' }, disabled: true, }, ]); diff --git a/packages/frontend-app-api/src/tree/instantiateAppNodeTree.ts b/packages/frontend-app-api/src/tree/instantiateAppNodeTree.ts index b6e4179867..912bafaab4 100644 --- a/packages/frontend-app-api/src/tree/instantiateAppNodeTree.ts +++ b/packages/frontend-app-api/src/tree/instantiateAppNodeTree.ts @@ -176,7 +176,9 @@ export function instantiateAppNodeTree(rootNode: AppNode): void { } return [{ id: child.spec.id, instance: childInstance }]; }); - instantiatedAttachments.set(input, instantiatedChildren); + if (instantiatedChildren.length > 0) { + instantiatedAttachments.set(input, instantiatedChildren); + } } (node as Mutable).instance = createAppNodeInstance({