diff --git a/lib/services/livesync/playground/preview-app-plugins-service.ts b/lib/services/livesync/playground/preview-app-plugins-service.ts index 3c8c80a178..1c52a6ae48 100644 --- a/lib/services/livesync/playground/preview-app-plugins-service.ts +++ b/lib/services/livesync/playground/preview-app-plugins-service.ts @@ -7,8 +7,6 @@ import { NODE_MODULES_DIR_NAME } from "../../../common/constants"; import { PLATFORMS_DIR_NAME, PACKAGE_JSON_FILE_NAME } from "../../../constants"; export class PreviewAppPluginsService implements IPreviewAppPluginsService { - private previewAppVersionWarnings: IDictionary = {}; - constructor(private $errors: IErrors, private $fs: IFileSystem, private $logger: ILogger, @@ -23,20 +21,17 @@ export class PreviewAppPluginsService implements IPreviewAppPluginsService { this.$errors.failWithoutHelp("No version of preview app provided."); } - if (!this.previewAppVersionWarnings[device.previewAppVersion]) { - const devicePlugins = this.getDevicePlugins(device); - const localPlugins = this.getLocalPlugins(data.projectDir); - const warnings = _.keys(localPlugins) - .map(localPlugin => { - const localPluginVersion = localPlugins[localPlugin]; - const devicePluginVersion = devicePlugins[localPlugin]; - return this.getWarningForPlugin(data, localPlugin, localPluginVersion, devicePluginVersion, device); - }) - .filter(item => !!item); - this.previewAppVersionWarnings[device.previewAppVersion] = warnings; - } - - return this.previewAppVersionWarnings[device.previewAppVersion]; + const devicePlugins = this.getDevicePlugins(device); + const localPlugins = this.getLocalPlugins(data.projectDir); + const warnings = _.keys(localPlugins) + .map(localPlugin => { + const localPluginVersion = localPlugins[localPlugin]; + const devicePluginVersion = devicePlugins[localPlugin]; + return this.getWarningForPlugin(data, localPlugin, localPluginVersion, devicePluginVersion, device); + }) + .filter(item => !!item); + + return warnings; } public async comparePluginsOnDevice(data: IPreviewAppLiveSyncData, device: Device): Promise { diff --git a/test/services/playground/preview-app-plugins-service.ts b/test/services/playground/preview-app-plugins-service.ts index 277b5be34b..776f72d5d3 100644 --- a/test/services/playground/preview-app-plugins-service.ts +++ b/test/services/playground/preview-app-plugins-service.ts @@ -86,55 +86,6 @@ function setup(localPlugins: IStringDictionary, previewAppPlugins: IStringDictio describe("previewAppPluginsService", () => { describe("comparePluginsOnDevice without bundle", () => { - it("should persist warnings per preview app's version", async () => { - const localPlugins = { - "nativescript-facebook": "2.2.3", - "nativescript-theme-core": "1.0.4", - "tns-core-modules": "4.2.0" - }; - const previewAppPlugins = { - "nativescript-theme-core": "2.0.4", - "tns-core-modules": "4.2.0" - }; - const injector = createTestInjector(localPlugins); - const previewAppPluginsService = injector.resolve("previewAppPluginsService"); - - let isGetDevicePluginsCalled = false; - const originalGetDevicePlugins = (previewAppPluginsService).getDevicePlugins; - (previewAppPluginsService).getDevicePlugins = (device: Device) => { - isGetDevicePluginsCalled = true; - return originalGetDevicePlugins(device); - }; - let isGetLocalPluginsCalled = false; - const originalGetLocalPlugins = (previewAppPluginsService).getLocalPlugins; - (previewAppPluginsService).getLocalPlugins = () => { - isGetLocalPluginsCalled = true; - return originalGetLocalPlugins.apply(previewAppPluginsService, [projectDir]); - }; - - const previewLiveSyncData = createPreviewLiveSyncData({ bundle: false }); - - await previewAppPluginsService.comparePluginsOnDevice(previewLiveSyncData, createDevice(JSON.stringify(previewAppPlugins))); - - const expectedWarnings = [ - util.format(PluginComparisonMessages.PLUGIN_NOT_INCLUDED_IN_PREVIEW_APP, "nativescript-facebook", deviceId), - util.format(PluginComparisonMessages.LOCAL_PLUGIN_WITH_DIFFERENCE_IN_MAJOR_VERSION, "nativescript-theme-core", "1.0.4", "2.0.4") - ]; - assert.isTrue(isGetDevicePluginsCalled); - assert.isTrue(isGetLocalPluginsCalled); - assert.deepEqual(warnParams, expectedWarnings); - - isGetDevicePluginsCalled = false; - isGetLocalPluginsCalled = false; - warnParams = []; - - await previewAppPluginsService.comparePluginsOnDevice(previewLiveSyncData, createDevice(JSON.stringify(previewAppPlugins))); - - assert.isFalse(isGetDevicePluginsCalled); - assert.isFalse(isGetLocalPluginsCalled); - assert.deepEqual(warnParams, expectedWarnings); - }); - const testCases = [ { name: "should show warning for plugin not included in preview app",