From 69782ea12925de395fbbdf52c5637e5dd79c1314 Mon Sep 17 00:00:00 2001 From: Kristian Dimitrov Date: Tue, 16 Jul 2019 18:35:22 +0300 Subject: [PATCH] fix: preview for app downloaded from playground fails --- lib/controllers/preview-app-controller.ts | 4 +++- test/services/playground/preview-app-livesync-service.ts | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/controllers/preview-app-controller.ts b/lib/controllers/preview-app-controller.ts index bedfde8326..9634718d99 100644 --- a/lib/controllers/preview-app-controller.ts +++ b/lib/controllers/preview-app-controller.ts @@ -19,6 +19,7 @@ export class PreviewAppController extends EventEmitter implements IPreviewAppCon private $hmrStatusService: IHmrStatusService, private $logger: ILogger, public $hooksService: IHooksService, + private $pluginsService: IPluginsService, private $prepareController: PrepareController, private $previewAppFilesService: IPreviewAppFilesService, private $previewAppPluginsService: IPreviewAppPluginsService, @@ -48,6 +49,8 @@ export class PreviewAppController extends EventEmitter implements IPreviewAppCon } private async previewCore(data: IPreviewAppLiveSyncData): Promise { + const projectData = this.$projectDataService.getProjectData(data.projectDir); + await this.$pluginsService.ensureAllDependenciesAreInstalled(projectData); await this.$previewSdkService.initialize(data.projectDir, async (device: Device) => { try { if (!device) { @@ -71,7 +74,6 @@ export class PreviewAppController extends EventEmitter implements IPreviewAppCon }); } - const projectData = this.$projectDataService.getProjectData(data.projectDir); await this.$hooksService.executeBeforeHooks("preview-sync", { hookArgs: { ...data, platform: device.platform, projectData } }); if (data.useHotModuleReload) { diff --git a/test/services/playground/preview-app-livesync-service.ts b/test/services/playground/preview-app-livesync-service.ts index a93d4a7562..105789a1ab 100644 --- a/test/services/playground/preview-app-livesync-service.ts +++ b/test/services/playground/preview-app-livesync-service.ts @@ -184,6 +184,9 @@ function createTestInjector(options?: { executeBeforeHooks: () => ({}), executeAfterHooks: () => ({}) }); + injector.register("pluginsService", { + ensureAllDependenciesAreInstalled: () => { return Promise.resolve(); } + }); return injector; }