File tree Expand file tree Collapse file tree 1 file changed +20
-0
lines changed Expand file tree Collapse file tree 1 file changed +20
-0
lines changed Original file line number Diff line number Diff line change @@ -9,16 +9,36 @@ function picklog(_args) {
9
9
latest : false , // 是否只取上一个tag后的commit
10
10
} , _args ) ;
11
11
let setting ;
12
+ let pkg ;
12
13
13
14
try {
14
15
fs . accessSync ( path . resolve ( '.picklogrc.js' ) ) ;
15
16
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
16
20
} catch ( err ) {
17
21
setting = defaultSetting ;
22
+ pkg = { } ;
18
23
}
19
24
20
25
return new Promise ( ( resolve ) => {
21
26
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
+ }
22
42
resolve ( setting . parse ( commits ) ) ;
23
43
} ) ;
24
44
} ) ;
You can’t perform that action at this time.
0 commit comments