@salesforce/plugin-release-management
Version:
A plugin for preparing and publishing npm packages
62 lines (61 loc) • 2.21 kB
TypeScript
import { Ux } from '@salesforce/sf-plugins-core';
import shelljs from 'shelljs';
import { AsyncOptionalCreatable, Env } from '@salesforce/kit';
import { Package } from './package.js';
import { Registry } from './registry.js';
import { SigningResponse } from './codeSigning/SimplifiedSigning.js';
export type Access = 'public' | 'restricted';
type PublishOpts = {
dryrun?: boolean;
signatures?: SigningResponse[];
tag?: string;
access?: Access;
};
export type PackageInfo = {
name: string;
nextVersion: string;
registryParam: string;
};
type PollFunction = () => boolean;
type RepositoryOptions = {
ux: Ux;
useprerelease?: string;
};
declare abstract class Repository extends AsyncOptionalCreatable<RepositoryOptions> {
protected options?: RepositoryOptions;
protected ux: Ux;
protected env: Env;
protected registry: Registry;
private stepCounter;
constructor(options: RepositoryOptions | undefined);
install(silent?: boolean): void;
build(silent?: boolean): void;
run(script: string, location?: string, silent?: boolean): void;
test(): void;
printStage(msg: string): void;
writeNpmToken(): Promise<void>;
protected execCommand(cmd: string, silent?: boolean): shelljs.ShellString;
protected poll(checkFn: PollFunction): Promise<boolean>;
abstract getSuccessMessage(): string;
abstract getPkgInfo(packageNames?: string[]): PackageInfo | PackageInfo[];
abstract publish(options: PublishOpts): Promise<void>;
abstract sign(packageNames?: string[]): Promise<SigningResponse | SigningResponse[]>;
abstract waitForAvailability(): Promise<boolean>;
protected abstract init(): Promise<void>;
}
export declare class PackageRepo extends Repository {
name: string;
nextVersion: string;
package: Package;
private logger;
constructor(options: RepositoryOptions | undefined);
sign(): Promise<SigningResponse>;
revertChanges(): Promise<void>;
getPkgInfo(): PackageInfo;
publish(opts?: PublishOpts): Promise<void>;
waitForAvailability(): Promise<boolean>;
getSuccessMessage(): string;
protected init(): Promise<void>;
private determineNextVersion;
}
export {};