@@ -13,7 +13,8 @@ export class PreviewAppFilesService implements IPreviewAppFilesService {
1313 private $logger : ILogger ,
1414 private $platformsData : IPlatformsData ,
1515 private $projectDataService : IProjectDataService ,
16- private $projectFilesManager : IProjectFilesManager
16+ private $projectFilesManager : IProjectFilesManager ,
17+ private $projectFilesProvider : IProjectFilesProvider
1718 ) { }
1819
1920 public getInitialFilesPayload ( data : IPreviewAppLiveSyncData , platform : string , deviceId ?: string ) : FilesPayload {
@@ -34,20 +35,29 @@ export class PreviewAppFilesService implements IPreviewAppFilesService {
3435
3536 this . $logger . trace ( `Sending ${ filesToTransfer . join ( "\n" ) } .` ) ;
3637
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 ) ;
4139
4240 return {
43- files : payloads ,
44- platform : platform ,
41+ files,
42+ platform,
4543 hmrMode : data . useHotModuleReload ? 1 : 0 ,
4644 deviceId
4745 } ;
4846 }
4947
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 {
5161 let fileContents = "" ;
5262 let binary = false ;
5363
0 commit comments