@salesforce/packaging
Version:
Packaging library for the Salesforce packaging platform
30 lines (29 loc) • 1.57 kB
TypeScript
import { SfProject } from '@salesforce/core';
import { AsyncCreatable } from '@salesforce/kit';
import { PackageXml, ProfileApiOptions } from '../interfaces';
export declare class PackageProfileApi extends AsyncCreatable<ProfileApiOptions> {
project: SfProject;
includeUserLicenses: boolean;
constructor(options: ProfileApiOptions);
init(): Promise<void>;
/**
* For any profile present in the project package directories, this function generates a subset of data that only
* contains references to items in the manifest.
*
* return a list of profile file locations that need to be removed from the package because they are empty
*
* @param destPath location of new profiles
* @param manifestTypes: array of objects { name: string, members: string[] } that represent package xml types
* @param excludedDirectories Directories to not include profiles from
*/
generateProfiles(destPath: string, manifestTypes: PackageXml['types'], excludedDirectories?: string[]): string[];
/**
* Filter out all profiles in the manifest and if any profiles exist in the project package directories, add them to the manifest.
*
* @param typesArr array of objects { name[], members[] } that represent package types JSON.
* @param excludedDirectories Direcotires not to generate profiles for
*/
filterAndGenerateProfilesForManifest(typesArr: PackageXml['types'], excludedDirectories?: string[]): PackageXml['types'];
private findAllProfiles;
private getProfilesWithNamesAndPaths;
}