Skip to content

Commit c17417b

Browse files
committed
feat: new syncChangedDataOnDevices. also send the changed files in IFilesChangeEventData so that hooks can know what files have changed
1 parent b72ffaa commit c17417b

File tree

4 files changed

+17
-6
lines changed

4 files changed

+17
-6
lines changed

lib/controllers/prepare-controller.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,7 @@ export class PrepareController extends EventEmitter {
277277
if (
278278
data.platform.toLowerCase() === platformData.platformNameLowerCase
279279
) {
280-
this.emitPrepareEvent({ ...data, hasNativeChanges: false });
280+
this.emitPrepareEvent({ ...data, files: data.files || [], hasNativeChanges: false });
281281
}
282282
};
283283

lib/controllers/run-controller.ts

+12-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import * as util from "util";
1212
import * as _ from "lodash";
1313
import { IProjectDataService, IProjectData } from "../definitions/project";
1414
import { IBuildController } from "../definitions/build";
15-
import { IPlatformsDataService } from "../definitions/platform";
15+
import { IPlatformData, IPlatformsDataService } from "../definitions/platform";
1616
import { IDebugController } from "../definitions/debug";
1717
import { IPluginsService } from "../definitions/plugins";
1818
import {
@@ -23,6 +23,7 @@ import {
2323
} from "../common/declarations";
2424
import { IInjector } from "../common/definitions/yok";
2525
import { injector } from "../common/yok";
26+
import { hook } from "../common/helpers";
2627

2728
export class RunController extends EventEmitter implements IRunController {
2829
private prepareReadyEventHandler: any = null;
@@ -99,17 +100,23 @@ export class RunController extends EventEmitter implements IRunController {
99100
const changesInfo = await this.$projectChangesService.checkForChanges(
100101
platformData,
101102
projectData,
102-
prepareData
103+
prepareData,
104+
data
103105
);
104106
if (changesInfo.hasChanges) {
105107
await this.syncChangedDataOnDevices(
106108
data,
107109
projectData,
110+
platformData,
108111
liveSyncInfo
109112
);
110113
}
111114
} else {
112-
await this.syncChangedDataOnDevices(data, projectData, liveSyncInfo);
115+
const platformData = this.$platformsDataService.getPlatformData(
116+
data.platform,
117+
projectData
118+
);
119+
await this.syncChangedDataOnDevices(data, projectData, platformData, liveSyncInfo);
113120
}
114121
};
115122

@@ -613,9 +620,11 @@ export class RunController extends EventEmitter implements IRunController {
613620
);
614621
}
615622

623+
@hook("syncChangedDataOnDevices")
616624
private async syncChangedDataOnDevices(
617625
data: IFilesChangeEventData,
618626
projectData: IProjectData,
627+
platformData: IPlatformData,
619628
liveSyncInfo: ILiveSyncInfo
620629
): Promise<void> {
621630
const successfullySyncedMessageFormat = `Successfully synced application %s on device %s.`;

lib/services/project-changes-service.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,8 @@ export class ProjectChangesService implements IProjectChangesService {
7474
public async checkForChanges(
7575
platformData: IPlatformData,
7676
projectData: IProjectData,
77-
prepareData: IPrepareData
77+
prepareData: IPrepareData,
78+
filesChangedData?: IFilesChangeEventData
7879
): Promise<IProjectChangesInfo> {
7980
this._changesInfo = new ProjectChangesInfo();
8081
const isNewPrepareInfo = await this.ensurePrepareInfo(

lib/services/webpack/webpack.d.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@ declare global {
4242
checkForChanges(
4343
platformData: IPlatformData,
4444
projectData: IProjectData,
45-
prepareData: IPrepareData
45+
prepareData: IPrepareData,
46+
filesChangedData?: IFilesChangeEventData
4647
): Promise<IProjectChangesInfo>;
4748
getPrepareInfoFilePath(platformData: IPlatformData): string;
4849
getPrepareInfo(platformData: IPlatformData): IPrepareInfo;

0 commit comments

Comments
 (0)