Skip to content

Latest commit

History

History
43 lines (34 loc) 路 1.04 KB

release.md

File metadata and controls

43 lines (34 loc) 路 1.04 KB

Release

An interface ("port") for providing information needed to perform a release.

The interface defines the following methods:

interface Release {
  /**
   * @returns A promise for a changelog of the commits included in the release
   */
  getChangelog(): Promise<string>;

  /**
   * @returns A promise for an array of all the previous released versions
   */
  getVersions(): Promise<string[]>;

  /**
   * @returns A promise for the next version
   */
  getNextVersion(): Promise<string>;

  /**
   * @returns A promise for the previous released version
   */
  getPreviousVersion(): Promise<string>;

  /**
   * @returns A promise for the issues mentiond in the commits included in the release
   */
  getMentionedIssues(): Promise<Set<string>>;

  /**
   * @param version - A previously released version
   *
   * @returns A promise for a changelog of a previously released version
   */
  getChangelogByVersion(version: string): Promise<string>;
}

See gitSemanticRelease for a reference implementation