Skip to content

Commit bc32b6b

Browse files
author
Fatme
authored
Merge pull request #4106 from NativeScript/fatme/remove-release-preview
fix(preview-api): remove mandatory release option from IPreviewAppLiveSyncData interface
2 parents f79baa2 + 3dd44c1 commit bc32b6b

File tree

6 files changed

+36
-38
lines changed

6 files changed

+36
-38
lines changed

lib/definitions/preview-app-livesync.d.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ declare global {
88
stopLiveSync(): Promise<void>;
99
}
1010

11-
interface IPreviewAppLiveSyncData extends IProjectDir, IAppFilesUpdaterOptionsComposition, IEnvOptions { }
11+
interface IPreviewAppLiveSyncData extends IProjectDir, IHasUseHotModuleReloadOption, IBundle, IEnvOptions { }
1212

1313
interface IPreviewSdkService extends EventEmitter {
1414
getQrCodeUrl(options: IHasUseHotModuleReloadOption): string;

lib/services/livesync/livesync-service.ts

+11-17
Original file line numberDiff line numberDiff line change
@@ -57,13 +57,13 @@ export class LiveSyncService extends EventEmitter implements IDebugLiveSyncServi
5757
await this.liveSync([], {
5858
syncToPreviewApp: true,
5959
projectDir: data.projectDir,
60-
bundle: data.appFilesUpdaterOptions.bundle,
61-
useHotModuleReload: data.appFilesUpdaterOptions.useHotModuleReload,
60+
bundle: data.bundle,
61+
useHotModuleReload: data.useHotModuleReload,
6262
release: false,
6363
env: data.env,
6464
});
6565

66-
const url = this.$previewSdkService.getQrCodeUrl({ useHotModuleReload: data.appFilesUpdaterOptions.useHotModuleReload });
66+
const url = this.$previewSdkService.getQrCodeUrl({ useHotModuleReload: data.useHotModuleReload });
6767
const result = await this.$previewQrCodeService.getLiveSyncQrCode(url);
6868
return result;
6969
}
@@ -362,13 +362,10 @@ export class LiveSyncService extends EventEmitter implements IDebugLiveSyncServi
362362

363363
if (liveSyncData.syncToPreviewApp) {
364364
await this.$previewAppLiveSyncService.initialize({
365-
appFilesUpdaterOptions: {
366-
bundle: liveSyncData.bundle,
367-
release: liveSyncData.release,
368-
useHotModuleReload: liveSyncData.useHotModuleReload
369-
},
370-
env: liveSyncData.env,
371-
projectDir: projectData.projectDir
365+
projectDir: projectData.projectDir,
366+
bundle: liveSyncData.bundle,
367+
useHotModuleReload: liveSyncData.useHotModuleReload,
368+
env: liveSyncData.env
372369
});
373370
} else {
374371
// In case liveSync is called for a second time for the same projectDir.
@@ -641,13 +638,10 @@ export class LiveSyncService extends EventEmitter implements IDebugLiveSyncServi
641638
if (liveSyncData.syncToPreviewApp) {
642639
await this.addActionToChain(projectData.projectDir, async () => {
643640
await this.$previewAppLiveSyncService.syncFiles({
644-
appFilesUpdaterOptions: {
645-
bundle: liveSyncData.bundle,
646-
release: liveSyncData.release,
647-
useHotModuleReload: liveSyncData.useHotModuleReload
648-
},
649-
env: liveSyncData.env,
650-
projectDir: projectData.projectDir
641+
projectDir: projectData.projectDir,
642+
bundle: liveSyncData.bundle,
643+
useHotModuleReload: liveSyncData.useHotModuleReload,
644+
env: liveSyncData.env
651645
}, currentFilesToSync, currentFilesToRemove);
652646
});
653647
} else {

lib/services/livesync/playground/preview-app-livesync-service.ts

+17-8
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ export class PreviewAppLiveSyncService implements IPreviewAppLiveSyncService {
6666
.uniq()
6767
.value();
6868
for (const platform of platforms) {
69-
await this.syncFilesForPlatformSafe(data, platform, { filesToSync, filesToRemove, useHotModuleReload: data.appFilesUpdaterOptions.useHotModuleReload });
69+
await this.syncFilesForPlatformSafe(data, platform, { filesToSync, filesToRemove, useHotModuleReload: data.useHotModuleReload });
7070
}
7171
}
7272

@@ -78,7 +78,7 @@ export class PreviewAppLiveSyncService implements IPreviewAppLiveSyncService {
7878
const hookArgs = this.getHookArgs(data, device);
7979
await this.$hooksService.executeBeforeHooks("preview-sync", { hookArgs });
8080
await this.$previewAppPluginsService.comparePluginsOnDevice(data, device);
81-
const payloads = await this.syncFilesForPlatformSafe(data, device.platform, { isInitialSync: true, useHotModuleReload: data.appFilesUpdaterOptions.useHotModuleReload });
81+
const payloads = await this.syncFilesForPlatformSafe(data, device.platform, { isInitialSync: true, useHotModuleReload: data.useHotModuleReload });
8282
return payloads;
8383
}
8484

@@ -92,7 +92,11 @@ export class PreviewAppLiveSyncService implements IPreviewAppLiveSyncService {
9292
config: {
9393
env: data.env,
9494
platform: device.platform,
95-
appFilesUpdaterOptions: data.appFilesUpdaterOptions,
95+
appFilesUpdaterOptions: {
96+
bundle: data.bundle,
97+
useHotModuleReload: data.useHotModuleReload,
98+
release: false
99+
},
96100
},
97101
externals: this.$previewAppPluginsService.getExternalPlugins(device),
98102
filesToSyncMap,
@@ -109,10 +113,10 @@ export class PreviewAppLiveSyncService implements IPreviewAppLiveSyncService {
109113
const platformHmrData = currentHmrData[platform] || <any>{};
110114
const filesToSync = _.cloneDeep(filesToSyncMap[platform]);
111115
// We don't need to prepare when webpack emits changed files. We just need to send a message to pubnub.
112-
promise = this.syncFilesForPlatformSafe(data, platform, { filesToSync, skipPrepare: true, useHotModuleReload: data.appFilesUpdaterOptions.useHotModuleReload });
116+
promise = this.syncFilesForPlatformSafe(data, platform, { filesToSync, skipPrepare: true, useHotModuleReload: data.useHotModuleReload });
113117
await promise;
114118

115-
if (data.appFilesUpdaterOptions.useHotModuleReload && platformHmrData.hash) {
119+
if (data.useHotModuleReload && platformHmrData.hash) {
116120
const devices = this.$previewDevicesService.getDevicesForPlatform(platform);
117121

118122
await Promise.all(_.map(devices, async (previewDevice: Device) => {
@@ -133,12 +137,12 @@ export class PreviewAppLiveSyncService implements IPreviewAppLiveSyncService {
133137
let payloads = null;
134138

135139
try {
136-
const { appFilesUpdaterOptions, env, projectDir } = data;
140+
const { env, projectDir } = data;
137141
const projectData = this.$projectDataService.getProjectData(projectDir);
138142
const platformData = this.$platformsData.getPlatformData(platform, projectData);
139143

140144
if (!opts.skipPrepare) {
141-
await this.preparePlatform(platform, appFilesUpdaterOptions, env, projectData);
145+
await this.preparePlatform(platform, data, env, projectData);
142146
}
143147

144148
if (opts.isInitialSync) {
@@ -178,7 +182,12 @@ export class PreviewAppLiveSyncService implements IPreviewAppLiveSyncService {
178182
return { files: payloads, platform: platformData.normalizedPlatformName.toLowerCase(), hmrMode, deviceId };
179183
}
180184

181-
private async preparePlatform(platform: string, appFilesUpdaterOptions: IAppFilesUpdaterOptions, env: Object, projectData: IProjectData): Promise<void> {
185+
private async preparePlatform(platform: string, data: IPreviewAppLiveSyncData, env: Object, projectData: IProjectData): Promise<void> {
186+
const appFilesUpdaterOptions = {
187+
bundle: data.bundle,
188+
useHotModuleReload: data.useHotModuleReload,
189+
release: false
190+
};
182191
const nativePrepare = { skipNativePrepare: true };
183192
const config = <IPlatformOptions>{};
184193
const platformTemplate = <string>null;

lib/services/livesync/playground/preview-app-plugins-service.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ export class PreviewAppPluginsService implements IPreviewAppPluginsService {
6060
}
6161

6262
private getWarningForPlugin(data: IPreviewAppLiveSyncData, localPlugin: string, localPluginVersion: string, devicePluginVersion: string, device: Device): string {
63-
if (data && data.appFilesUpdaterOptions && data.appFilesUpdaterOptions.bundle) {
63+
if (data && data.bundle) {
6464
const pluginPackageJsonPath = path.join(data.projectDir, NODE_MODULES_DIR_NAME, localPlugin, PACKAGE_JSON_FILE_NAME);
6565
const isNativeScriptPlugin = this.$pluginsService.isNativeScriptPlugin(pluginPackageJsonPath);
6666
if (!isNativeScriptPlugin || (isNativeScriptPlugin && !this.hasNativeCode(localPlugin, device.platform, data.projectDir))) {

test/services/playground/preview-app-livesync-service.ts

+4-7
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,8 @@ const defaultProjectFiles = [
6060
];
6161
const syncFilesMockData = {
6262
projectDir: projectDirPath,
63-
appFilesUpdaterOptions: {
64-
release: false,
65-
bundle: false,
66-
useHotModuleReload: false
67-
},
63+
bundle: false,
64+
useHotModuleReload: false,
6865
env: {}
6966
};
7067

@@ -182,7 +179,7 @@ async function initialSync(input?: IActInput) {
182179

183180
const { previewAppLiveSyncService, previewSdkService, actOptions } = input;
184181
const syncFilesData = _.cloneDeep(syncFilesMockData);
185-
syncFilesData.appFilesUpdaterOptions.useHotModuleReload = actOptions.hmr;
182+
syncFilesData.useHotModuleReload = actOptions.hmr;
186183
await previewAppLiveSyncService.initialize(syncFilesData);
187184
if (actOptions.callGetInitialFiles) {
188185
await previewSdkService.getInitialFiles(deviceMockData);
@@ -195,7 +192,7 @@ async function syncFiles(input?: IActInput) {
195192
const { previewAppLiveSyncService, previewSdkService, projectFiles, actOptions } = input;
196193

197194
const syncFilesData = _.cloneDeep(syncFilesMockData);
198-
syncFilesData.appFilesUpdaterOptions.useHotModuleReload = actOptions.hmr;
195+
syncFilesData.useHotModuleReload = actOptions.hmr;
199196
await previewAppLiveSyncService.initialize(syncFilesData);
200197
if (actOptions.callGetInitialFiles) {
201198
await previewSdkService.getInitialFiles(deviceMockData);

test/services/playground/preview-app-plugins-service.ts

+2-4
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,8 @@ function createDevice(plugins: string): Device {
6464
function createPreviewLiveSyncData(options?: { bundle: boolean }) {
6565
return {
6666
projectDir,
67-
appFilesUpdaterOptions: {
68-
release: false,
69-
bundle: options.bundle
70-
},
67+
release: false,
68+
bundle: options.bundle,
7169
env: {}
7270
};
7371
}

0 commit comments

Comments
 (0)