diff --git a/.dumi/theme/common/ComponentChangelog/ComponentChangelog.tsx b/.dumi/theme/common/ComponentChangelog/ComponentChangelog.tsx index fa0888527b..44fc2855df 100644 --- a/.dumi/theme/common/ComponentChangelog/ComponentChangelog.tsx +++ b/.dumi/theme/common/ComponentChangelog/ComponentChangelog.tsx @@ -19,6 +19,7 @@ interface ChangelogInfo { version: string; changelog: string; refs: string[]; + releaseDate: string; } function matchDeprecated(v: string): MatchDeprecatedResult { @@ -243,6 +244,7 @@ const ComponentChangelog: React.FC = (props) => { )} + {changelogList[0].releaseDate} ), diff --git a/scripts/generate-component-changelog.ts b/scripts/generate-component-changelog.ts index 8e73b177dd..b33376c143 100644 --- a/scripts/generate-component-changelog.ts +++ b/scripts/generate-component-changelog.ts @@ -92,6 +92,7 @@ const miscKeys = [ // let lastGroup = ''; let lastVersion = ''; + let lastReleaseDate = ''; // Split with lines const lines = content.split(/[\n\r]+/).filter((line) => line.trim()); @@ -99,7 +100,7 @@ const miscKeys = [ // Changelog map const componentChangelog: Record< string, - { version: string; changelog: string; refs: string[] }[] + { version: string; changelog: string; refs: string[]; releaseDate: string }[] > = {}; Object.keys(componentNameMap).forEach((name) => { componentChangelog[name] = []; @@ -119,6 +120,12 @@ const miscKeys = [ continue; } + // Get release date + const matchReleaseDate = line.match(/`(\d{4}-\d{2}-\d{2})`/); + if (matchReleaseDate) { + lastReleaseDate = matchReleaseDate[1]; + } + // Start when get version if (!lastVersion) { continue; @@ -175,6 +182,7 @@ const miscKeys = [ version: lastVersion, changelog: changelogLine, refs, + releaseDate: lastReleaseDate, }); matched = true; }