@reliverse/rse
Version:
@reliverse/rse is your all-in-one companion for bootstrapping and improving any kind of projects (especially web apps built with frameworks like Next.js) — whether you're kicking off something new or upgrading an existing app. It is also a little AI-power
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 {};