@@ -2,6 +2,7 @@ import * as path from "path";
2
2
import { Device , FilesPayload } from "nativescript-preview-sdk" ;
3
3
import { APP_RESOURCES_FOLDER_NAME , APP_FOLDER_NAME } from "../../../constants" ;
4
4
import { HmrConstants } from "../../../common/constants" ;
5
+ import { stringify } from "../../../common/helpers" ;
5
6
6
7
export class PreviewAppLiveSyncService implements IPreviewAppLiveSyncService {
7
8
@@ -30,7 +31,7 @@ export class PreviewAppLiveSyncService implements IPreviewAppLiveSyncService {
30
31
return this . deviceInitializationPromise [ device . id ] ;
31
32
}
32
33
33
- this . deviceInitializationPromise [ device . id ] = this . initializePreviewForDevice ( data , device ) ;
34
+ this . deviceInitializationPromise [ device . id ] = this . getInitialFilesForDevice ( data , device ) ;
34
35
try {
35
36
const payloads = await this . deviceInitializationPromise [ device . id ] ;
36
37
return payloads ;
@@ -62,18 +63,18 @@ export class PreviewAppLiveSyncService implements IPreviewAppLiveSyncService {
62
63
this . $previewSdkService . stop ( ) ;
63
64
}
64
65
65
- private async initializePreviewForDevice ( data : IPreviewAppLiveSyncData , device : Device ) : Promise < FilesPayload > {
66
+ private async getInitialFilesForDevice ( data : IPreviewAppLiveSyncData , device : Device ) : Promise < FilesPayload > {
66
67
const hookArgs = this . getHookArgs ( data , device ) ;
67
68
await this . $hooksService . executeBeforeHooks ( "preview-sync" , { hookArgs } ) ;
68
69
await this . $previewAppPluginsService . comparePluginsOnDevice ( data , device ) ;
69
- const payloads = await this . syncInitialFilesForPlatformSafe ( data , device . platform ) ;
70
+ const payloads = await this . getInitialFilesForPlatformSafe ( data , device . platform ) ;
70
71
return payloads ;
71
72
}
72
73
73
74
private getHookArgs ( data : IPreviewAppLiveSyncData , device : Device ) {
74
75
const filesToSyncMap : IDictionary < string [ ] > = { } ;
75
76
const hmrData : IDictionary < IPlatformHmrData > = { } ;
76
- const promise = Promise . resolve < FilesPayload > ( null ) ;
77
+ const promise = Promise . resolve ( ) ;
77
78
const result = {
78
79
projectData : this . $projectDataService . getProjectData ( data . projectDir ) ,
79
80
hmrData,
@@ -94,32 +95,31 @@ export class PreviewAppLiveSyncService implements IPreviewAppLiveSyncService {
94
95
return result ;
95
96
}
96
97
97
- private async syncInitialFilesForPlatformSafe ( data : IPreviewAppLiveSyncData , platform : string ) : Promise < FilesPayload > {
98
- this . $logger . info ( `Start syncing changes for platform ${ platform } .` ) ;
98
+ private async getInitialFilesForPlatformSafe ( data : IPreviewAppLiveSyncData , platform : string ) : Promise < FilesPayload > {
99
+ this . $logger . info ( `Start sending initial files for platform ${ platform } .` ) ;
99
100
100
101
try {
101
102
const payloads = this . $previewAppFilesService . getInitialFilesPayload ( data , platform ) ;
102
- this . $logger . info ( `Successfully synced changes for platform ${ platform } .` ) ;
103
+ this . $logger . info ( `Successfully sent initial files for platform ${ platform } .` ) ;
103
104
return payloads ;
104
105
} catch ( err ) {
105
- this . $logger . warn ( `Unable to apply changes for platform ${ platform } . Error is: ${ err } , ${ JSON . stringify ( err , null , 2 ) } . ` ) ;
106
+ this . $logger . warn ( `Unable to apply changes for platform ${ platform } . Error is: ${ err } , ${ stringify ( err ) } ` ) ;
106
107
}
107
108
}
108
109
109
- private async syncFilesForPlatformSafe ( data : IPreviewAppLiveSyncData , filesData : IPreviewAppFilesData , platform : string , deviceId ?: string ) : Promise < FilesPayload > {
110
+ private async syncFilesForPlatformSafe ( data : IPreviewAppLiveSyncData , filesData : IPreviewAppFilesData , platform : string , deviceId ?: string ) : Promise < void > {
110
111
this . $logger . info ( `Start syncing changes for platform ${ platform } .` ) ;
111
112
112
113
try {
113
114
const payloads = this . $previewAppFilesService . getFilesPayload ( data , filesData , platform ) ;
114
115
await this . $previewSdkService . applyChanges ( payloads ) ;
115
116
this . $logger . info ( `Successfully synced ${ payloads . files . map ( filePayload => filePayload . file . yellow ) } for platform ${ platform } .` ) ;
116
- return payloads ;
117
117
} catch ( err ) {
118
- this . $logger . warn ( `Unable to apply changes for platform ${ platform } . Error is: ${ err } , ${ JSON . stringify ( err , null , 2 ) } .` ) ;
118
+ this . $logger . warn ( `Unable to apply changes for platform ${ platform } . Error is: ${ err } , ${ stringify ( err ) } .` ) ;
119
119
}
120
120
}
121
121
122
- private async onWebpackCompilationComplete ( data : IPreviewAppLiveSyncData , hmrData : IDictionary < IPlatformHmrData > , filesToSyncMap : IDictionary < string [ ] > , promise : Promise < FilesPayload > , platform : string ) {
122
+ private async onWebpackCompilationComplete ( data : IPreviewAppLiveSyncData , hmrData : IDictionary < IPlatformHmrData > , filesToSyncMap : IDictionary < string [ ] > , promise : Promise < void > , platform : string ) {
123
123
await promise
124
124
. then ( async ( ) => {
125
125
const currentHmrData = _ . cloneDeep ( hmrData ) ;
0 commit comments