@@ -13,7 +13,8 @@ export class PreviewAppFilesService implements IPreviewAppFilesService {
13
13
private $logger : ILogger ,
14
14
private $platformsData : IPlatformsData ,
15
15
private $projectDataService : IProjectDataService ,
16
- private $projectFilesManager : IProjectFilesManager
16
+ private $projectFilesManager : IProjectFilesManager ,
17
+ private $projectFilesProvider : IProjectFilesProvider
17
18
) { }
18
19
19
20
public getInitialFilesPayload ( data : IPreviewAppLiveSyncData , platform : string , deviceId ?: string ) : FilesPayload {
@@ -34,20 +35,29 @@ export class PreviewAppFilesService implements IPreviewAppFilesService {
34
35
35
36
this . $logger . trace ( `Sending ${ filesToTransfer . join ( "\n" ) } .` ) ;
36
37
37
- const rootFilesDir = this . getRootFilesDir ( data , platform ) ;
38
- const payloadsToSync = _ . map ( filesToTransfer , file => this . createFilePayload ( file , rootFilesDir , PreviewSdkEventNames . CHANGE_EVENT_NAME ) ) ;
39
- const payloadsToRemove = _ . map ( filesToRemove , file => this . createFilePayload ( file , rootFilesDir , PreviewSdkEventNames . UNLINK_EVENT_NAME ) ) ;
40
- const payloads = payloadsToSync . concat ( payloadsToRemove ) ;
38
+ const files = this . createFilePayloads ( data , platform , filesToTransfer , filesToRemove ) ;
41
39
42
40
return {
43
- files : payloads ,
44
- platform : platform ,
41
+ files,
42
+ platform,
45
43
hmrMode : data . useHotModuleReload ? 1 : 0 ,
46
44
deviceId
47
45
} ;
48
46
}
49
47
50
- private createFilePayload ( file : string , rootFilesDir : string , event : string ) : FilePayload {
48
+ private createFilePayloads ( data : IPreviewAppLiveSyncData , platform : string , filesToTransfer : string [ ] , filesToRemove : string [ ] ) : FilePayload [ ] {
49
+ const rootFilesDir = this . getRootFilesDir ( data , platform ) ;
50
+ const payloadsToSync = _ . filter ( filesToTransfer , file => {
51
+ const fileInfo = this . $projectFilesProvider . getProjectFileInfo ( file , platform , { } ) ;
52
+ return fileInfo && fileInfo . shouldIncludeFile ;
53
+ } )
54
+ . map ( file => this . createFilePayload ( file , platform , rootFilesDir , PreviewSdkEventNames . CHANGE_EVENT_NAME ) ) ;
55
+ const payloadsToRemove = _ . map ( filesToRemove , file => this . createFilePayload ( file , platform , rootFilesDir , PreviewSdkEventNames . UNLINK_EVENT_NAME ) ) ;
56
+ const payloads = payloadsToSync . concat ( payloadsToRemove ) ;
57
+ return payloads ;
58
+ }
59
+
60
+ private createFilePayload ( file : string , platform : string , rootFilesDir : string , event : string ) : FilePayload {
51
61
let fileContents = "" ;
52
62
let binary = false ;
53
63
0 commit comments