writePackageChangelog method

void writePackageChangelog(
  1. MelosPendingPackageUpdate update
)

Implementation

void writePackageChangelog(MelosPendingPackageUpdate update) {
  // Changelog entry header.
  write('## ');
  writeln(update.nextVersion);
  writeln();

  if (update.reason == PackageUpdateReason.dependency) {
    // Dependency change entry.
    writeln(' - Update a dependency to the latest release.');
    writeln();
  }

  if (update.reason == PackageUpdateReason.graduate) {
    // Package graduation entry.
    writeln(
      ' - Graduate package to a stable release. See pre-releases prior to '
      'this version for changelog entries.',
    );
    writeln();
  }

  if (update.reason == PackageUpdateReason.commit ||
      update.reason == PackageUpdateReason.manual) {
    // Breaking change note.
    if (update.hasBreakingChanges) {
      writeln('> Note: This release has breaking changes.');
      writeln();
    }

    writePackageUpdateChanges(update);
  }
}