@salesforce/source-tracking
Version:
API for tracking local and remote Salesforce metadata changes
57 lines (56 loc) • 2.03 kB
TypeScript
import { FileResponse, SourceComponent } from '@salesforce/source-deploy-retrieve';
import { SfError } from '@salesforce/core/sfError';
export type ChangeOptions = {
origin: 'local' | 'remote';
state: 'add' | 'delete' | 'modify' | 'nondelete';
format: 'ChangeResult' | 'SourceComponent' | 'string' | 'ChangeResultWithPaths';
};
export type RemoteSyncInput = Pick<FileResponse, 'fullName' | 'filePath' | 'type' | 'state'>;
export type StatusOutputRow = Pick<FileResponse, 'fullName' | 'filePath' | 'type'> & {
conflict?: boolean;
ignored?: boolean;
} & Pick<ChangeOptions, 'origin' | 'state'>;
export type LocalUpdateOptions = {
files?: string[];
deletedFiles?: string[];
};
export type RemoteChangeElement = {
name: string;
type: string;
deleted?: boolean;
modified?: boolean;
changedBy: string;
revisionCounter: number;
lastModifiedDate: string;
/** the ID of the metadata that was changed. Each metadata type has a different 3-char prefix */
memberIdOrName: string;
};
/**
* Summary type that supports both local and remote change types
*/
export type ChangeResult = Partial<RemoteChangeElement> & {
origin: 'local' | 'remote';
filenames?: string[];
ignored?: boolean;
};
export type ConflictResponse = {
state: 'Conflict';
fullName: string;
type: string;
filePath: string;
};
export type SourceConflictErrorType = {
name: 'SourceConflictError';
} & SfError<ConflictResponse[]>;
export declare class SourceConflictError extends SfError<ConflictResponse[]> implements SourceConflictErrorType {
readonly name: SourceConflictErrorType['name'];
constructor(message: string, data: ConflictResponse[]);
}
export type ChangeOptionType = ChangeResult | SourceComponent | string;
export type SourceMemberPollingEvent = {
original: number;
remaining: number;
attempts: number;
consecutiveEmptyResults: number;
};
export type ChangeResultWithNameAndType = ChangeResult & Required<Pick<ChangeResult, 'name' | 'type'>>;