UNPKG

@salesforce/plugin-release-management

Version:
99 lines (98 loc) 3.2 kB
import { Operation } from 'just-diff'; import { SfCommand } from '@salesforce/sf-plugins-core'; import { JsonMap } from '@salesforce/ts-types'; import { Interfaces } from '@oclif/core'; export type ArtifactsCompareResult = { [plugin: string]: { current: { version: string | null; snapshot: CommandSnapshot[]; schemas: Record<string, JsonMap>; }; previous: { version: string | null; snapshot: CommandSnapshot[]; schemas: Record<string, JsonMap>; }; snapshotChanges: SnapshotChanges; schemaChanges: SchemaChanges; }; }; type CommandSnapshot = { command: string; plugin: string; flags: string[]; alias: string[]; args?: string[]; }; type SnapshotChanges = { commandAdditions: string[]; commandRemovals: string[]; commands: Array<{ command: string; aliasAdditions: string[]; aliasRemovals: string[]; flagAdditions: string[]; flagRemovals: string[]; hasChanges: boolean; hasBreakingChanges: boolean; }>; hasChanges: boolean; hasBreakingChanges: boolean; }; type SchemaChanges = Array<{ op: Operation; path: Array<string | number>; value: unknown; }>; export declare class SnapshotComparator { current: CommandSnapshot[]; previous: CommandSnapshot[]; constructor(current: CommandSnapshot[], previous: CommandSnapshot[]); getChanges(): SnapshotChanges; getCommandAdditions(): string[]; getCommandRemovals(): string[]; getFlagAdditions(cmd: string): string[]; getFlagRemovals(cmd: string): string[]; getAliasAdditions(cmd: string): string[]; getAliasRemovals(cmd: string): string[]; } export declare class SchemaComparator { private current; private previous; constructor(current: Record<string, JsonMap>, previous: Record<string, JsonMap>); static makeReadable(current: Record<string, JsonMap>, previous: Record<string, JsonMap>, changes: SchemaChanges): Record<string, string[]>; static hasBreakingChange(changes: SchemaChanges): boolean; private static isMeaningless; getChanges(): SchemaChanges; } export default class ArtifactsTest extends SfCommand<ArtifactsCompareResult> { static readonly summary: string; static readonly examples: string[]; static readonly flags: { plugin: Interfaces.OptionFlag<string[] | undefined, Interfaces.CustomOptions>; previous: Interfaces.OptionFlag<string | undefined, Interfaces.CustomOptions>; current: Interfaces.OptionFlag<string | undefined, Interfaces.CustomOptions>; }; private octokit; private currentPlugins; private previousPlugins; private flags; private packageJson; private versions; private current; private previous; run(): Promise<ArtifactsCompareResult>; private showResults; private showRemovedPlugins; private showAddedPlugins; private resolveVersions; private getCurrentPlugins; private getPluginsForVersion; private filterPlugins; private getVersions; private getSchemas; private getSnapshot; private getTags; } export {};