Skip to content

Commit cfc53e3

Browse files
committed
feat: overload to preserve backwards compatibility
1 parent a254529 commit cfc53e3

File tree

2 files changed

+15
-10
lines changed

2 files changed

+15
-10
lines changed

src/shared/localComponentSetArray.ts

+2-4
Original file line numberDiff line numberDiff line change
@@ -108,10 +108,8 @@ export const getComponentSets = (groupings: GroupedFile[], sourceApiVersion?: st
108108
.map((component) => componentSet.add(component));
109109
// there may have been ignored files, but componentSet.add doesn't automatically track them.
110110
// We'll manually set the ignored paths from what the resolver has been tracking
111-
resolverForNonDeletes.forceIgnoredPaths.forEach((ignoredPath) =>
112-
componentSet.forceIgnoredPaths
113-
? componentSet.forceIgnoredPaths.add(ignoredPath)
114-
: (componentSet.forceIgnoredPaths = new Set([ignoredPath]))
111+
componentSet.forceIgnoredPaths = new Set(
112+
[...(componentSet.forceIgnoredPaths ?? [])].concat(Array.from(resolverForNonDeletes.forceIgnoredPaths))
115113
);
116114
return componentSet;
117115
})

src/sourceTracking.ts

+13-6
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,11 @@ export interface SourceTrackingOptions {
6464
ignoreLocalCache?: boolean;
6565
}
6666

67+
type RemoteChangesResults = {
68+
componentSetFromNonDeletes: ComponentSet;
69+
fileResponsesFromDelete: FileResponse[];
70+
};
71+
6772
/**
6873
* Manages source tracking files (remote and local)
6974
*
@@ -315,14 +320,16 @@ export class SourceTracking extends AsyncCreatable {
315320
*
316321
* @returns the ComponentSet for what you would retrieve now that the deletes are done
317322
*/
318-
319-
public async maybeApplyRemoteDeletesToLocal(): Promise<{
320-
componentSet: ComponentSet;
321-
fileResponsesFromDelete: FileResponse[];
322-
}> {
323+
public async maybeApplyRemoteDeletesToLocal(returnDeleteComponentSet: true): Promise<RemoteChangesResults>;
324+
public async maybeApplyRemoteDeletesToLocal(returnDeleteComponentSet?: false): Promise<ComponentSet>;
325+
public async maybeApplyRemoteDeletesToLocal(
326+
returnDeleteComponentSet?: boolean
327+
): Promise<ComponentSet | RemoteChangesResults> {
323328
const changesToDelete = await this.getChanges({ origin: 'remote', state: 'delete', format: 'SourceComponent' });
324329
const fileResponsesFromDelete = await this.deleteFilesAndUpdateTracking(changesToDelete);
325-
return { componentSet: await this.remoteNonDeletesAsComponentSet(), fileResponsesFromDelete };
330+
return returnDeleteComponentSet
331+
? { componentSetFromNonDeletes: await this.remoteNonDeletesAsComponentSet(), fileResponsesFromDelete }
332+
: this.remoteNonDeletesAsComponentSet();
326333
}
327334
/**
328335
*

0 commit comments

Comments
 (0)