@gabortorma/mwm
Version:
Multi-repo Workspace Manager
88 lines (81 loc) • 1.98 kB
TypeScript
import { O as OwnerWithId } from '../../shared/mwm.BzqItMuW.js';
import * as citty from 'citty';
import { PackageJson } from 'pkg-types';
import { replaceInFile } from 'replace-in-file';
import 'c12';
declare const main: citty.CommandDef<{
template: {
type: "string";
description: string;
};
owner: {
alias: string;
type: "string";
description: string;
};
name: {
type: "string";
description: string;
};
description: {
alias: string;
type: "string";
description: string;
};
dir: {
type: "string";
description: string;
};
private: {
type: "boolean";
default: false;
description: string;
};
keywords: {
type: "string";
description: string;
};
clone: {
type: "boolean";
description: string;
};
addRemoteTemplate: {
alias: string;
type: "boolean";
description: string;
};
fixReplacements: {
alias: string;
type: "boolean";
description: string;
};
}>;
type ReplaceReplacement = {
type: 'replace';
} & Parameters<typeof replaceInFile>[0];
type pkgReplacement = {
type: 'pkg';
} & {
replace(packageJson: PackageJson, repo: Repo): PackageJson;
};
type Replacement = ReplaceReplacement | pkgReplacement;
type Replacements = Replacement[];
interface Template {
path: string;
owner: string;
repo: string;
branch: string;
getReplacements(input: Repo): Replacements;
}
type Args = Parameters<Required<typeof main>['run']>[0]['args'];
interface Repo {
owner: OwnerWithId;
name: string;
description: string;
path: string;
private: boolean;
keywords?: string[];
}
declare function deployRepo(arg: boolean, repo: Repo): Promise<string>;
declare function generate(args: Args, template: Template, repo: Repo): Promise<void>;
export { deployRepo, generate };