From 0ded8b1862bfc0a4aeede786e72e80ff4f4bcf04 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Tue, 16 May 2023 13:14:27 +0200 Subject: [PATCH] update types --- .../entry-point-extension-initializer.ts | 6 +++--- .../registry/extension.registry.test.ts | 12 +++++++----- .../libs/extensions-api/types.ts | 2 +- .../libs/extensions-api/umb-lifecycle.interface.ts | 6 +++++- .../libs/extensions-registry/models/index.ts | 4 ++-- .../repository/server-extension.controller.ts | 6 +++--- 6 files changed, 21 insertions(+), 15 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/libs/extensions-api/entry-point-extension-initializer.ts b/src/Umbraco.Web.UI.Client/libs/extensions-api/entry-point-extension-initializer.ts index 40201e8ec4..0970e6927e 100644 --- a/src/Umbraco.Web.UI.Client/libs/extensions-api/entry-point-extension-initializer.ts +++ b/src/Umbraco.Web.UI.Client/libs/extensions-api/entry-point-extension-initializer.ts @@ -1,4 +1,4 @@ -import type { ManifestEntrypoint } from './types'; +import type { ManifestEntryPoint } from './types'; import { hasInitExport } from './has-init-export.function'; import { loadExtension } from './load-extension.function'; import { UmbExtensionRegistry } from './registry/extension.registry'; @@ -9,7 +9,7 @@ export class UmbEntryPointExtensionInitializer { #extensionRegistry; #entryPointMap = new Map(); - constructor(host: UmbControllerHostElement, extensionRegistry: UmbExtensionRegistry) { + constructor(host: UmbControllerHostElement, extensionRegistry: UmbExtensionRegistry) { this.#host = host; this.#extensionRegistry = extensionRegistry; extensionRegistry.extensionsOfType('entryPoint').subscribe((entryPoints) => { @@ -21,7 +21,7 @@ export class UmbEntryPointExtensionInitializer { }); } - async instantiateEntryPoint(manifest: ManifestEntrypoint) { + async instantiateEntryPoint(manifest: ManifestEntryPoint) { const js = await loadExtension(manifest); // If the extension has an onInit export, be sure to run that or else let the module handle itself if (hasInitExport(js)) { diff --git a/src/Umbraco.Web.UI.Client/libs/extensions-api/registry/extension.registry.test.ts b/src/Umbraco.Web.UI.Client/libs/extensions-api/registry/extension.registry.test.ts index 730336c611..536090747c 100644 --- a/src/Umbraco.Web.UI.Client/libs/extensions-api/registry/extension.registry.test.ts +++ b/src/Umbraco.Web.UI.Client/libs/extensions-api/registry/extension.registry.test.ts @@ -1,10 +1,10 @@ import { expect } from '@open-wc/testing'; -import type { ManifestKind } from '../types'; +import type { ManifestElementWithElementName, ManifestKind, ManifestWithMeta } from '../types'; import { UmbExtensionRegistry } from './extension.registry'; import type { ManifestTypes } from '@umbraco-cms/backoffice/extensions-registry'; describe('UmbExtensionRegistry', () => { - let extensionRegistry: UmbExtensionRegistry; + let extensionRegistry: UmbExtensionRegistry; let manifests: Array; beforeEach(() => { @@ -153,11 +153,13 @@ describe('UmbExtensionRegistry', () => { }); describe('UmbExtensionRegistry with kinds', () => { - let extensionRegistry: UmbExtensionRegistry; - let manifests: Array; + let extensionRegistry: UmbExtensionRegistry; + let manifests: Array< + ManifestElementWithElementName | ManifestWithMeta | ManifestKind + >; beforeEach(() => { - extensionRegistry = new UmbExtensionRegistry(); + extensionRegistry = new UmbExtensionRegistry(); manifests = [ { type: 'kind', diff --git a/src/Umbraco.Web.UI.Client/libs/extensions-api/types.ts b/src/Umbraco.Web.UI.Client/libs/extensions-api/types.ts index 0f57c5a2c3..8389ad3f9f 100644 --- a/src/Umbraco.Web.UI.Client/libs/extensions-api/types.ts +++ b/src/Umbraco.Web.UI.Client/libs/extensions-api/types.ts @@ -149,7 +149,7 @@ export interface ManifestWithMeta extends ManifestBase { * This type of extension gives full control and will simply load the specified JS file * You could have custom logic to decide which extensions to load/register by using extensionRegistry */ -export interface ManifestEntrypoint extends ManifestBase { +export interface ManifestEntryPoint extends ManifestBase { type: 'entryPoint'; /** diff --git a/src/Umbraco.Web.UI.Client/libs/extensions-api/umb-lifecycle.interface.ts b/src/Umbraco.Web.UI.Client/libs/extensions-api/umb-lifecycle.interface.ts index f1fe6f9d57..f72289be37 100644 --- a/src/Umbraco.Web.UI.Client/libs/extensions-api/umb-lifecycle.interface.ts +++ b/src/Umbraco.Web.UI.Client/libs/extensions-api/umb-lifecycle.interface.ts @@ -1,7 +1,11 @@ import type { UmbExtensionRegistry } from './registry/extension.registry'; +import { ManifestBase } from './types'; import type { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller'; -export type UmbEntryPointOnInit = (host: UmbControllerHostElement, extensionRegistry: UmbExtensionRegistry) => void; +export type UmbEntryPointOnInit = ( + host: UmbControllerHostElement, + extensionRegistry: UmbExtensionRegistry +) => void; /** * Interface containing supported life-cycle functions for ESModule entry points diff --git a/src/Umbraco.Web.UI.Client/libs/extensions-registry/models/index.ts b/src/Umbraco.Web.UI.Client/libs/extensions-registry/models/index.ts index 1d23a38a17..ea538b4479 100644 --- a/src/Umbraco.Web.UI.Client/libs/extensions-registry/models/index.ts +++ b/src/Umbraco.Web.UI.Client/libs/extensions-registry/models/index.ts @@ -25,7 +25,7 @@ import type { ManifestWorkspace } from './workspace.model'; import type { ManifestWorkspaceAction } from './workspace-action.model'; import type { ManifestWorkspaceEditorView } from './workspace-editor-view.model'; import type { ManifestWorkspaceViewCollection } from './workspace-view-collection.model'; -import type { ManifestBase, ManifestEntrypoint } from '@umbraco-cms/backoffice/extensions-api'; +import type { ManifestBase, ManifestEntryPoint } from '@umbraco-cms/backoffice/extensions-api'; export * from './collection-view.model'; export * from './dashboard-collection.model'; @@ -61,7 +61,7 @@ export type ManifestTypes = | ManifestDashboardCollection | ManifestEntityAction | ManifestEntityBulkAction - | ManifestEntrypoint + | ManifestEntryPoint | ManifestExternalLoginProvider | ManifestHeaderApp | ManifestHeaderAppButtonKind diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/packages/repository/server-extension.controller.ts b/src/Umbraco.Web.UI.Client/src/backoffice/packages/repository/server-extension.controller.ts index aa3807e7dd..e373b41794 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/packages/repository/server-extension.controller.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/packages/repository/server-extension.controller.ts @@ -1,18 +1,18 @@ import { Subject, takeUntil } from 'rxjs'; import { UmbPackageRepository } from './package.repository'; import { UmbController, UmbControllerHostElement } from '@umbraco-cms/backoffice/controller'; -import { UmbExtensionRegistry } from '@umbraco-cms/backoffice/extensions-api'; +import { UmbBackofficeExtensionRegistry } from '@umbraco-cms/backoffice/extensions-registry'; export class UmbExtensionInitializer extends UmbController { #host: UmbControllerHostElement; - #extensionRegistry: UmbExtensionRegistry; + #extensionRegistry: UmbBackofficeExtensionRegistry; #unobserve = new Subject(); #repository: UmbPackageRepository; #localPackages: Array>; constructor( host: UmbControllerHostElement, - extensionRegistry: UmbExtensionRegistry, + extensionRegistry: UmbBackofficeExtensionRegistry, localPackages: Array> ) { super(host, UmbExtensionInitializer.name);