diff --git a/src/Umbraco.Web.UI.Client/src/libs/extension-api/bundle-extension-initializer.ts b/src/Umbraco.Web.UI.Client/src/libs/extension-api/bundle-extension-initializer.ts index 11407f5020..4f7fac564e 100644 --- a/src/Umbraco.Web.UI.Client/src/libs/extension-api/bundle-extension-initializer.ts +++ b/src/Umbraco.Web.UI.Client/src/libs/extension-api/bundle-extension-initializer.ts @@ -26,7 +26,13 @@ export class UmbBundleExtensionInitializer { if (js) { Object.keys(js).forEach((key) => { - this.#extensionRegistry.registerMany(js[key]); + const value = js[key]; + + if (Array.isArray(value)) { + this.#extensionRegistry.registerMany(value); + } else if (typeof value === 'object') { + this.#extensionRegistry.register(value); + } }); } } diff --git a/src/Umbraco.Web.UI.Client/src/libs/extension-api/registry/extension.registry.ts b/src/Umbraco.Web.UI.Client/src/libs/extension-api/registry/extension.registry.ts index 1bbecf1ed2..107dbcfd41 100644 --- a/src/Umbraco.Web.UI.Client/src/libs/extension-api/registry/extension.registry.ts +++ b/src/Umbraco.Web.UI.Client/src/libs/extension-api/registry/extension.registry.ts @@ -62,6 +62,8 @@ export class UmbExtensionRegistry< } register(manifest: ManifestTypes | ManifestKind): void { + // TODO: Consider if we need to implement some safety features here, like checking if the object has a 'type' and/or 'alias'? + if (manifest.type === 'kind') { this.defineKind(manifest as ManifestKind); return;