UNPKG

@iota-big3/sdk-production

Version:

Production readiness tools and utilities for SDK

94 lines 2.03 kB
/** * Release Manager * Automated release management with semantic versioning */ import * as semver from 'semver'; export interface ReleaseConfig { packagePath: string; changelogPath?: string; tagPrefix?: string; prerelease?: string; dryRun?: boolean; } export interface ReleaseInfo { currentVersion: string; nextVersion: string; releaseType: semver.ReleaseType; changes: Change[]; breaking: boolean; } export interface Change { type: 'feat' | 'fix' | 'docs' | 'style' | 'refactor' | 'test' | 'chore'; scope?: string; subject: string; breaking?: boolean; hash: string; author: string; date: Date; } export declare class ReleaseManager { private config; constructor(config: ReleaseConfig); /** * Analyze commits and determine next version */ analyzeRelease(): Promise<ReleaseInfo>; /** * Execute release */ release(releaseType?: semver.ReleaseType): Promise<void>; /** * Read package.json */ private readPackageJson; /** * Update version in package.json */ private updateVersion; /** * Get last tag for version */ private getLastTag; /** * Get commits since tag */ private getCommitsSince; /** * Parse commits into changes */ private parseCommits; /** * Determine release type from changes */ private determineReleaseType; /** * Update changelog */ private updateChangelog; /** * Commit release changes */ private commitRelease; /** * Create git tag */ private createTag; /** * Publish to npm */ private publish; } /** * Changelog generator */ export declare class ChangelogGenerator { /** * Generate changelog from git history */ static generate(options?: { from?: string; to?: string; format?: 'markdown' | 'json'; }): Promise<string>; } //# sourceMappingURL=release-manager.d.ts.map