export async function renderPackageChangelog()

in common/config/beachball/changelog-custom-renders.ts [54:90]


export async function renderPackageChangelog(renderInfo: PackageChangelogRenderInfo): Promise<string> {
  let changelog = '';
  let features: ChangelogEntry[] = [];
  let improvements: ChangelogEntry[] = [];
  let bugs: ChangelogEntry[] = [];
  let storybookChanges: ChangelogEntry[] = [];
  let unknowns: ChangelogEntry[] = [];

  changelog = renderHeader(renderInfo) + '\n\n';
  for (const [changetype, entries] of Object.entries(renderInfo.newVersionChangelog.comments)) {
    if (entries.length > 0) {
      features = features.concat(filterByArea(entries, 'feature'));
      improvements = improvements.concat(filterByArea(entries, 'improvement'));
      bugs = bugs.concat(filterByArea(entries, 'fix'));
      storybookChanges = storybookChanges.concat(filterByArea(entries, 'storybook'));
      unknowns = unknowns.concat(filterUnknown(entries));
    }
  }

  if (features.length > 0) {
    changelog += await renderSubsection('Features', features);
  }
  if (improvements.length > 0) {
    changelog += await renderSubsection('Improvements', improvements);
  }
  if (bugs.length > 0) {
    changelog += await renderSubsection('Bug Fixes', bugs);
  }
  if (storybookChanges.length > 0) {
    changelog += await renderSubsection('Storybook Changes', storybookChanges);
  }
  if (unknowns.length > 0) {
    changelog += await renderSubsection('Other Changes', unknowns);
  }
  
  return changelog;
};