UNPKG

salesforce-alm

Version:

This package contains tools, and APIs, for an improved salesforce.com developer experience.

118 lines (117 loc) 4.4 kB
import { FlagsConfig, SfdxCommand } from '@salesforce/command'; import { OutputFlags } from '@oclif/parser'; export declare class PackageVersionDisplayAncestryCommand extends SfdxCommand { static readonly description: any; static readonly longDescription: any; static readonly help: any; static readonly showProgress = false; static readonly varargs = false; static readonly orgType: string; static readonly requiresDevhubUsername = true; static readonly SELECT_ALL_ROOTS = "SELECT SubscriberPackageVersionId FROM Package2Version"; static readonly SELECT_ROOT_INFO = "SELECT MajorVersion, MinorVersion, PatchVersion, BuildNumber FROM Package2Version"; static readonly SELECT_CHILD_INFO = "SELECT SubscriberPackageVersionId, MajorVersion, MinorVersion, PatchVersion, BuildNumber FROM Package2Version"; static readonly SELECT_PARENT_INFO = "SELECT AncestorId, MajorVersion, MinorVersion, PatchVersion, BuildNumber FROM Package2Version"; static readonly SELECT_PACKAGE_CONTAINER_OPTIONS = "SELECT ContainerOptions FROM Package2"; static readonly SELECT_PACKAGE_VERSION_CONTAINER_OPTIONS = "SELECT Package2ContainerOptions FROM SubscriberPackageVersion"; releasedOnlyFilter: string; static readonly flagsConfig: FlagsConfig; run(): Promise<unknown>; /** * Finds the ancestry of the given package. * <p>This was separated out from the run() method so that unit testing could actually be done. This is admittedly a bit of a hack, but I think every other command does it too? * // TODO: Maybe some CLI whiz could make this not be needed * </p> * * @param username - username of the org * @param flags - the flags passed in * @private */ protected _findAncestry(username: string, flags: OutputFlags<any>): any; /** * Builds the bottom-up view from a leaf. * * @param nodeId - the 04t of this node * @param connection - the connection object */ private ancestorsFromLeaf; /** * Makes this tree from starting root this is so that we can be given a package Id and then create the forest of versions * * @param connection * @param rootId the subscriber package version id for this root version. */ private exploreTreeFromRoot; /** * Creates the fancy NPM-LS unicode tree output * Idea from: https://github.com/substack/node-archy * * @param forest */ private createUnicodeTreeOutput; /** * Builds the unicode output of this tree. * <p> * Root is handled differently, to make it look better / stand out as the root. * This complicates the code flow somewhat. * </p> * * @param node - current node * @param parent - the parent of the current node * @param prefix - the current prefix, so that we 'indent' far enough */ private unicodeOutputTraversal; /** * Builds a node line in DOT, of the form nodeID [label="MAJOR.MINOR.PATCH"] * * @param currentNode */ private static buildDotNode; /** * Builds an edge line in DOT, of the form fromNode -- toNode * * @param fromNode * @param toNode */ private static buildDotEdge; /** * Runs a single query, and returns a promise with the results * * @param connection * @param query */ private executeQuery; /** * Building {Major}.{Minor}.{Patch}.{BuildNumber} is done in many places, so centralize. * * @param node */ private static buildVersionOutput; } /** * A treenode used to create the package version history for the JSON output. */ export declare class TreeNode { data: PackageInformation; children: TreeNode[]; constructor(data: PackageInformation); /** * Adds a child to this node * * @param child */ addChild(child: TreeNode): void; } /** * This is the 'data' part of TreeNode, a collection of useful version information. */ declare class PackageInformation { SubscriberPackageVersionId: string; MajorVersion: string; MinorVersion: string; PatchVersion: string; BuildNumber: string; depthCounter: number; constructor(SubscriberPackageVersionId: string, MajorVersion: string, MinorVersion: string, PatchVersion: string, BuildNumber: string, depthCounter?: number); } export {};