@reliverse/rse-sdk
Version:
@reliverse/rse-sdk without cli. @reliverse/rse-sdk allows you to create new plugins for @reliverse/rse CLI, interact with reliverse.org, and even extend your own CLI functionality (you may also try @reliverse/dler-sdk for this case).
42 lines (41 loc) • 1.34 kB
TypeScript
import { type RseConfig } from "@reliverse/cfg";
/**
* Defines the options for downloading a project from a remote repository.
*/
interface DownloadRepoOptions {
repoURL: string;
projectName: string;
isDev: boolean;
cwd: string;
githubToken?: string;
install?: boolean;
provider?: "github" | "gitlab" | "bitbucket" | "sourcehut";
subdirectory?: string;
force?: boolean;
forceClean?: boolean;
preserveGit?: boolean;
config?: RseConfig | undefined;
returnTime?: boolean;
returnSize?: boolean;
returnConcurrency?: boolean;
fastCloneSource?: string;
isTemplateDownload: boolean;
cache?: boolean;
}
/**
* Represents the result of a successful download operation.
*/
export interface DownloadResult {
source: string;
dir: string;
time?: number;
size?: number;
sizePretty?: string;
concurrency?: number;
}
/**
* Downloads a repository.
* Integrates an optional tarball cache branch if `cache` is enabled and preserveGit is false.
*/
export declare function downloadRepo({ repoURL, projectName, isDev, cwd, githubToken, install, provider, subdirectory, force, forceClean, preserveGit, config, returnTime, returnSize, returnConcurrency, fastCloneSource, isTemplateDownload, cache, }: DownloadRepoOptions): Promise<DownloadResult>;
export {};