diff --git a/.changeset/eighty-fans-provide.md b/.changeset/eighty-fans-provide.md new file mode 100644 index 0000000000..b98bc39924 --- /dev/null +++ b/.changeset/eighty-fans-provide.md @@ -0,0 +1,5 @@ +--- +'@backstage/core-components': patch +--- + +Fixed an issue causing `StructuredMetadataTable` to crash in case metadata contained `null` values. diff --git a/packages/core-components/src/components/StructuredMetadataTable/StructuredMetadataTable.test.tsx b/packages/core-components/src/components/StructuredMetadataTable/StructuredMetadataTable.test.tsx index 7ebe15c931..db7c53897d 100644 --- a/packages/core-components/src/components/StructuredMetadataTable/StructuredMetadataTable.test.tsx +++ b/packages/core-components/src/components/StructuredMetadataTable/StructuredMetadataTable.test.tsx @@ -21,7 +21,7 @@ import { StructuredMetadataTable } from './StructuredMetadataTable'; describe('', () => { it('renders without exploding', () => { - const metadata = { hello: 'world' }; + const metadata = { hello: 'world', foo: null }; const { getByText } = render( , ); diff --git a/packages/core-components/src/components/StructuredMetadataTable/StructuredMetadataTable.tsx b/packages/core-components/src/components/StructuredMetadataTable/StructuredMetadataTable.tsx index 6114054bbe..2b18f6ad19 100644 --- a/packages/core-components/src/components/StructuredMetadataTable/StructuredMetadataTable.tsx +++ b/packages/core-components/src/components/StructuredMetadataTable/StructuredMetadataTable.tsx @@ -113,7 +113,7 @@ function toValue( return {value}; } - if (typeof value === 'object' && !Array.isArray(value)) { + if (value !== null && typeof value === 'object' && !Array.isArray(value)) { return renderMap(value, options, nested); }