@salesforce/packaging
Version:
Packaging library for the Salesforce packaging platform
84 lines (83 loc) • 3.52 kB
TypeScript
import { Connection } from '@salesforce/core';
import { AsyncCreatable } from '@salesforce/kit';
import { PackageVersionDependencyOptions, DependencyGraphNode } from '../interfaces';
import { VersionNumber } from './versionNumber';
export declare const VERSION_BEING_BUILT = "VERSION_BEING_BUILT";
export declare class PackageVersionDependency extends AsyncCreatable<PackageVersionDependencyOptions> {
options: PackageVersionDependencyOptions;
private connection;
private project?;
private userPackageVersionId;
private verbose;
private edgeDirection;
private resolvedPackageVersionId;
constructor(options: PackageVersionDependencyOptions);
init(): Promise<void>;
/**
* Returns a DependencyDotProducer that can be used to produce a DOT code representation of the package dependency graph.
*/
getDependencyDotProducer(): Promise<DependencyDotProducer>;
/**
* Resolves id input to a 08c. User can input a 08c or 04t.
* Currently a 04t is not supported in filtering the Package2VersionCreateRequest. So a user's input of 04t will be resolved to a 05i and then a 08c.
*/
private resolvePackageCreateRequestId;
private query05iFrom04t;
private query08cFrom05i;
/**
* Checks that the given Package2VersionCreateRequest ID (08c) contains a valid DependencyGraphJson to generate DOT code
*/
private validatePackageVersion;
private verifyCreateRequesIdExistsOnDevHub;
private verifyTransitiveDependenciesCalculated;
}
export declare class DependencyDotProducer {
private dependencyGraphString;
private verbose;
private edgeDirection;
private resolvedPackageVersionId;
private subscriberPackageVersionId;
private connection;
private dependencyGraphData;
private selectedNodeIds;
constructor(connection: Connection, dependencyGraphString: string, verbose: boolean, edgeDirection: 'root-first' | 'root-last', resolvedPackageVersionId: string);
private static throwErrorOnInvalidRecord;
init(): Promise<void>;
produce(): string;
private addSelectedNodeIds;
private createDependencyGraphNodes;
/**
* Creates a single dependency graph node.
* All nodes in the json are 04t... or VERSION_BEING_BUILT and requires different queries to create the node
*/
private createSingleDependencyGraphNode;
private createVersionBeingBuiltNode;
private createNormalDependencyNode;
private createDependencyGraphEdges;
/**
* Builds a DOT node with a label containing the package name and version
*
* @param node the node id and label
*/
private buildDotNode;
private addColorToSelectedNode;
/**
* Builds a DOT edge line of the form fromNode -> toNode
*
* @param edge the edge to build where the target node depends on the source node in the json
*/
private buildDotEdge;
}
/**
* A class that represents a package dependency node.
* Given a PackageRequestId (08c), PackageName, SubscriberPackageVersionId (04t), and version (MajorVersion.MinorVersion.PatchVersion.BuildNumber) it will build a node of the package dependency.
*/
export declare class PackageDependencyNode extends AsyncCreatable<DependencyGraphNode> {
options: DependencyGraphNode;
readonly packageName: string;
readonly subscriberPackageVersionId: string;
readonly version: VersionNumber;
constructor(options: DependencyGraphNode);
getVersion(): string;
protected init(): Promise<void>;
}