@jwpkg/gitversion
Version:
Gitversion is a complete customizable git-based release management system
91 lines (90 loc) • 3.47 kB
TypeScript
import * as t from 'typanion';
import { BumpType } from '../../../core/bump-utils';
import { ChangelogEntry } from '../../../core/changelog';
import { IConfiguration, VersionBranch } from '../../../core/configuration';
import { Git } from '../../../core/git';
import { LogReporter } from '../../../core/log-reporter';
import { IProject, IWorkspace } from '../../../core/workspace-utils';
import { IGitPlatform, IPlugin, IPluginInitialize } from '../..';
export declare const isNodeManifest: t.StrictTest<unknown, Partial<Pick<{
version: string | undefined;
name: string;
private: boolean | undefined;
workspaces: string[] | undefined;
}, "version" | "private" | "workspaces">> & Pick<{
version: string | undefined;
name: string;
private: boolean | undefined;
workspaces: string[] | undefined;
}, "name"> & {
[x: string]: unknown;
}> & t.Trait<Partial<Pick<{
version: string | undefined;
name: string;
private: boolean | undefined;
workspaces: string[] | undefined;
}, "version" | "private" | "workspaces">> & Pick<{
version: string | undefined;
name: string;
private: boolean | undefined;
workspaces: string[] | undefined;
}, "name"> & {
[x: string]: unknown;
}> & {
properties: {
version: t.StrictValidator<unknown, string | undefined>;
name: t.StrictValidator<unknown, string>;
private: t.StrictValidator<unknown, boolean | undefined>;
workspaces: t.StrictValidator<unknown, string[] | undefined>;
};
};
export type NodeManifest = t.InferType<typeof isNodeManifest>;
export interface NodeManifestContent {
manifest: NodeManifest;
eofInEnd: boolean;
}
export declare function loadManifest(folder: string): Promise<NodeManifestContent | null>;
export declare function persistManifest(folder: string, manifestContent: NodeManifestContent): Promise<void>;
export declare class NodeWorkspace implements IWorkspace {
protected _project: NodeProject;
private manifestContent;
get manifest(): Partial<Pick<{
version: string | undefined;
name: string;
private: boolean | undefined;
workspaces: string[] | undefined;
}, "version" | "private" | "workspaces">> & Pick<{
version: string | undefined;
name: string;
private: boolean | undefined;
workspaces: string[] | undefined;
}, "name"> & {
[x: string]: unknown;
};
readonly relativeCwd: string;
get cwd(): string;
get version(): string;
get private(): boolean;
get config(): any;
get packageName(): string;
get project(): NodeProject;
get tagPrefix(): any;
constructor(project: NodeProject, relativeCwd: string, manifestContent: NodeManifestContent);
updateChangelog(entry: ChangelogEntry): Promise<string>;
updateVersion(version: string): Promise<void>;
detectBumpType(configuration: IConfiguration, versionBranch: VersionBranch, gitPlatform: IGitPlatform, logger?: LogReporter): Promise<BumpType>;
}
export declare class NodeProject extends NodeWorkspace implements IProject, IPlugin {
readonly name = "Node project";
private _cwd;
private _config;
private _git;
get cwd(): any;
get config(): any;
get git(): Git;
childWorkspaces: NodeWorkspace[];
get workspaces(): NodeWorkspace[];
get project(): NodeProject;
static initialize(initialize: IPluginInitialize): Promise<NodeProject | null>;
private constructor();
}