salesforce-alm
Version:
This package contains tools, and APIs, for an improved salesforce.com developer experience.
27 lines (26 loc) • 1.54 kB
TypeScript
import { DecompositionConfig } from './decompositionConfig';
import { DecompositionCommitStrategy } from './decompositionCommitStrategy';
import { MetadataDocument } from '../metadataDocument';
/**
* This strategy implementation writes updated files (when contents are different),
* and new files. No attempt is made to delete anything because with fine grain tracking
* the deletions should be happening independent of the decomposition.
*/
export declare class FineGrainTrackingCommitStrategy implements DecompositionCommitStrategy {
decompositionConfig: DecompositionConfig;
constructor(decompositionConfig: DecompositionConfig);
commit(documents: Map<string, MetadataDocument>, existingPaths: string[], createDuplicates: boolean, forceoverwrite?: boolean): Promise<[string[], string[], string[], string[]]>;
private categorizePaths;
/**
* We parse and serialize both sides of the comparison so that we are comparing apples to apples.
* This eliminated problems with whitespace, eg, but won't help us with reordering.
* At worst we'll update the fs unnecessarily if the files are semantically equivalent
* but perceived to be different. It's not the end of the world.
*
* @param filePath path to the existing file
* @param document the parsed version of the new contents
* @param documentFactory a factory to acquire a new document of the appropriate type for serialization
* @returns {boolean} <code>true</code> if updated
*/
private static isUpdatedFile;
}