Skip to content

Commit b0a43c1

Browse files
committed
feat: 当第一个tag分组找不到tag的时候,尝试从package.json里找
1 parent 9a4c702 commit b0a43c1

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

index.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,36 @@ function picklog(_args) {
99
latest: false, // 是否只取上一个tag后的commit
1010
}, _args);
1111
let setting;
12+
let pkg;
1213

1314
try {
1415
fs.accessSync(path.resolve('.picklogrc.js'));
1516
setting = require(path.resolve('.picklogrc.js')); // eslint-disable-line global-require,import/no-dynamic-require
17+
18+
fs.accessSync(path.resolve('package.json'));
19+
pkg = require(path.resolve('package.json')); // eslint-disable-line global-require,import/no-dynamic-require
1620
} catch (err) {
1721
setting = defaultSetting;
22+
pkg = {};
1823
}
1924

2025
return new Promise((resolve) => {
2126
getCommits(args, setting).then((commits) => {
27+
if (commits.length && !commits[0].tag) {
28+
const [firstCommit] = commits;
29+
if (pkg.version) {
30+
const { previousTag } = firstCommit;
31+
32+
if (previousTag) {
33+
let prefix = previousTag.match(/^([^\d]*)/);
34+
if (prefix) [, prefix] = prefix;
35+
36+
if (pkg.version !== previousTag.replace(prefix, '')) {
37+
firstCommit.tag = `${prefix}${pkg.version}`;
38+
}
39+
}
40+
}
41+
}
2242
resolve(setting.parse(commits));
2343
});
2444
});

0 commit comments

Comments
 (0)