diff --git a/src/extensions/extension-loader/extension-loader.ts b/src/extensions/extension-loader/extension-loader.ts index 11bfa1520e..5771c31c34 100644 --- a/src/extensions/extension-loader/extension-loader.ts +++ b/src/extensions/extension-loader/extension-loader.ts @@ -316,14 +316,6 @@ export class ExtensionLoader { extension, ); - const installationCount = (this.dependencies.extensionInstallationCounter.get(instance.sanitizedExtensionId) | 0) + 1; - - this.dependencies.extensionInstallationCounter.set(instance.sanitizedExtensionId, installationCount); - - this.dependencies.extensionRegistrators.forEach((register) => - register(instance, installationCount), - ); - this.instances.set(extId, instance); return { @@ -352,6 +344,16 @@ export class ExtensionLoader { ), ); + extensions.forEach(({ instance }) => { + const installationCount = (this.dependencies.extensionInstallationCounter.get(instance.sanitizedExtensionId) | 0) + 1; + + this.dependencies.extensionInstallationCounter.set(instance.sanitizedExtensionId, installationCount); + + this.dependencies.extensionRegistrators.forEach((register) => + register(instance, installationCount), + ); + }); + // Return ExtensionLoading[] return extensions.map(extension => { const loaded = extension.instance.enable(register).catch((err) => {