@teambit/checkout
Version:
86 lines (85 loc) • 3.35 kB
TypeScript
import type { CLIMain } from '@teambit/cli';
import type { Logger, LoggerMain } from '@teambit/logger';
import type { Workspace } from '@teambit/workspace';
import type { RemoveMain } from '@teambit/remove';
import type { ApplyVersionResults, MergeStrategy } from '@teambit/component.modules.merge-helper';
import type { ImporterMain } from '@teambit/importer';
import type { ListerMain } from '@teambit/lister';
import type { ComponentWriterMain } from '@teambit/component-writer';
import { ComponentID } from '@teambit/component-id';
import type { Lane } from '@teambit/objects';
import { ModelComponent } from '@teambit/objects';
import type { ComponentStatusBase } from './checkout-version';
import type { ComponentMap } from '@teambit/legacy.bit-map';
export type CheckoutProps = {
version?: string;
ids?: ComponentID[];
head?: boolean;
ancestor?: number;
latest?: boolean;
main?: boolean;
promptMergeOptions?: boolean;
mergeStrategy?: MergeStrategy;
forceOurs?: boolean;
forceTheirs?: boolean;
verbose?: boolean;
skipNpmInstall?: boolean;
reset?: boolean;
revert?: boolean;
all?: boolean;
isLane?: boolean;
lane?: Lane;
workspaceOnly?: boolean;
versionPerId?: ComponentID[];
skipUpdatingBitmap?: boolean;
loadStash?: boolean;
stashedBitmapEntries?: Array<Partial<ComponentMap>>;
restoreMissingComponents?: boolean;
allowAddingComponentsFromScope?: boolean;
includeLocallyDeleted?: boolean;
includeNewFromScope?: boolean;
};
export type ComponentStatusBeforeMergeAttempt = ComponentStatusBase & {
propsForMerge?: {
currentlyUsedVersion: string;
componentModel: ModelComponent;
};
};
export declare class CheckoutMain {
private workspace;
private logger;
private componentWriter;
private importer;
private remove;
private lister;
constructor(workspace: Workspace, logger: Logger, componentWriter: ComponentWriterMain, importer: ImporterMain, remove: RemoveMain, lister: ListerMain);
checkout(checkoutProps: CheckoutProps): Promise<ApplyVersionResults>;
/**
* if .bitmap entry exists but the rootDir is missing from the filesystem, find the component in the scope and restore it.
* returns the restored component ids.
*/
restoreMissingComponents(checkoutProps: CheckoutProps): Promise<ComponentID[] | undefined>;
addNewComponents(checkoutProps: CheckoutProps): Promise<undefined | ComponentID[]>;
checkoutByCLIValues(componentPattern: string, checkoutProps: CheckoutProps): Promise<ApplyVersionResults>;
private syncNewComponents;
private makeLaneComponentsAvailableOnMain;
private ensureCheckoutConfiguration;
private parseValues;
private getNewComponentsFromLane;
private getNewComponentsFromScope;
private getComponentStatusBeforeMergeAttempt;
private getMergeStatus;
static slots: never[];
static dependencies: import("@teambit/harmony").Aspect[];
static runtime: import("@teambit/harmony").RuntimeDefinition;
static provider([cli, workspace, loggerMain, compWriter, importer, remove, lister]: [
CLIMain,
Workspace,
LoggerMain,
ComponentWriterMain,
ImporterMain,
RemoveMain,
ListerMain
]): Promise<CheckoutMain>;
}
export default CheckoutMain;