ソースを参照

Fix changelog versioning to include date only after final release

(cherry picked from commit d3a4e31fe254ba0c8f3d066a8de32502c0fcafcc)
Francisco Giordano 4 年 前
コミット
3debb8820e
1 ファイル変更8 行追加10 行削除
  1. 8 10
      scripts/release/update-changelog-release-date.js

+ 8 - 10
scripts/release/update-changelog-release-date.js

@@ -18,21 +18,19 @@ const changelog = fs.readFileSync('CHANGELOG.md', 'utf8');
 const pkg = require('../../package.json');
 const version = pkg.version.replace(new RegExp('-' + suffix + '\\..*'), '');
 
-const unreleased = /^## Unreleased$/im;
-const released = new RegExp(`^## ${version} \\([-\\d]*\\)$`, 'm');
+const header = new RegExp(`^## (Unreleased|${version})$`, 'm');
 
-if (released.test(changelog)) {
-  process.exit(0);
-}
-
-if (!unreleased.test(changelog)) {
+if (!header.test(changelog)) {
   console.error('Missing changelog entry');
   process.exit(1);
 }
 
-fs.writeFileSync('CHANGELOG.md', changelog.replace(
-  unreleased,
-  `## ${version} (${new Date().toISOString().split('T')[0]})`),
+const newHeader = pkg.version.indexOf(suffix) === -1
+  ? `## ${version} (${new Date().toISOString().split('T')[0]})`
+  : `## ${version}`;
+
+fs.writeFileSync('CHANGELOG.md',
+  changelog.replace(header, newHeader)
 );
 
 cp.execSync('git add CHANGELOG.md', { stdio: 'inherit' });