@soybeanjs/changelog 0.3.18 → 0.3.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1997,6 +1997,7 @@ function join(array, glue = ", ", finalGlue = " and ") {
1997
1997
  // src/constant.ts
1998
1998
  init_cjs_shims();
1999
1999
  var VERSION_REG = /v\d+\.\d+\.\d+(-(beta|alpha)\.\d+)?/;
2000
+ var RELEASE_VERSION_REG = /v\d+\.\d+\.\d+/;
2000
2001
  var VERSION_REG_OF_MARKDOWN = /## \[v\d+\.\d+\.\d+(-(beta|alpha)\.\d+)?]/g;
2001
2002
  var VERSION_WITH_RELEASE = /release\sv\d+\.\d+\.\d+(-(beta|alpha)\.\d+)?/;
2002
2003
 
@@ -2004,7 +2005,29 @@ var VERSION_WITH_RELEASE = /release\sv\d+\.\d+\.\d+(-(beta|alpha)\.\d+)?/;
2004
2005
  async function getTotalGitTags() {
2005
2006
  const tagStr = await execCommand("git", ["--no-pager", "tag", "-l", "--sort=v:refname"]);
2006
2007
  const tags = tagStr.split("\n");
2007
- return tags.filter((tag) => VERSION_REG.test(tag));
2008
+ const filtered = tags.filter((tag) => VERSION_REG.test(tag));
2009
+ return sortTags(filtered);
2010
+ }
2011
+ function sortTags(tags) {
2012
+ tags.sort((a, b2) => {
2013
+ var _a, _b;
2014
+ const versionA = ((_a = a.match(RELEASE_VERSION_REG)) == null ? void 0 : _a[0]) || "";
2015
+ const versionB = ((_b = b2.match(RELEASE_VERSION_REG)) == null ? void 0 : _b[0]) || "";
2016
+ if (versionA < versionB) {
2017
+ return -1;
2018
+ } else if (versionA > versionB) {
2019
+ return 1;
2020
+ }
2021
+ const isBetaA = isPrerelease(a);
2022
+ const isBetaB = isPrerelease(b2);
2023
+ if (isBetaA && !isBetaB) {
2024
+ return -1;
2025
+ } else if (!isBetaA && isBetaB) {
2026
+ return 1;
2027
+ }
2028
+ return 0;
2029
+ });
2030
+ return tags;
2008
2031
  }
2009
2032
  async function getTagDateMap() {
2010
2033
  const tagDateStr = await execCommand("git", [
package/dist/index.js CHANGED
@@ -61,6 +61,7 @@ function join(array, glue = ", ", finalGlue = " and ") {
61
61
 
62
62
  // src/constant.ts
63
63
  var VERSION_REG = /v\d+\.\d+\.\d+(-(beta|alpha)\.\d+)?/;
64
+ var RELEASE_VERSION_REG = /v\d+\.\d+\.\d+/;
64
65
  var VERSION_REG_OF_MARKDOWN = /## \[v\d+\.\d+\.\d+(-(beta|alpha)\.\d+)?]/g;
65
66
  var VERSION_WITH_RELEASE = /release\sv\d+\.\d+\.\d+(-(beta|alpha)\.\d+)?/;
66
67
 
@@ -68,7 +69,29 @@ var VERSION_WITH_RELEASE = /release\sv\d+\.\d+\.\d+(-(beta|alpha)\.\d+)?/;
68
69
  async function getTotalGitTags() {
69
70
  const tagStr = await execCommand("git", ["--no-pager", "tag", "-l", "--sort=v:refname"]);
70
71
  const tags = tagStr.split("\n");
71
- return tags.filter((tag) => VERSION_REG.test(tag));
72
+ const filtered = tags.filter((tag) => VERSION_REG.test(tag));
73
+ return sortTags(filtered);
74
+ }
75
+ function sortTags(tags) {
76
+ tags.sort((a, b) => {
77
+ var _a, _b;
78
+ const versionA = ((_a = a.match(RELEASE_VERSION_REG)) == null ? void 0 : _a[0]) || "";
79
+ const versionB = ((_b = b.match(RELEASE_VERSION_REG)) == null ? void 0 : _b[0]) || "";
80
+ if (versionA < versionB) {
81
+ return -1;
82
+ } else if (versionA > versionB) {
83
+ return 1;
84
+ }
85
+ const isBetaA = isPrerelease(a);
86
+ const isBetaB = isPrerelease(b);
87
+ if (isBetaA && !isBetaB) {
88
+ return -1;
89
+ } else if (!isBetaA && isBetaB) {
90
+ return 1;
91
+ }
92
+ return 0;
93
+ });
94
+ return tags;
72
95
  }
73
96
  async function getTagDateMap() {
74
97
  const tagDateStr = await execCommand("git", [
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@soybeanjs/changelog",
3
3
  "type": "module",
4
- "version": "0.3.18",
4
+ "version": "0.3.20",
5
5
  "description": "generate changelog form git tags and commits for github",
6
6
  "author": {
7
7
  "name": "Soybean",