2
2
import load from '@commitlint/load' ;
3
3
import lint from '@commitlint/lint' ;
4
4
import read from '@commitlint/read' ;
5
- import merge from 'lodash/merge' ;
6
5
import isFunction from 'lodash/isFunction' ;
7
6
import stdin from 'get-stdin' ;
8
7
import resolveFrom from 'resolve-from' ;
@@ -21,81 +20,83 @@ import {
21
20
const pkg = require ( '../package' ) ;
22
21
23
22
const cli = yargs
24
- . option ( 'color' , {
25
- alias : 'c' ,
26
- default : true ,
27
- describe : 'toggle colored output' ,
28
- type : 'boolean'
29
- } )
30
- . option ( 'config' , {
31
- alias : 'g' ,
32
- describe : 'path to the config file' ,
33
- type : 'string'
34
- } )
35
- . option ( 'cwd' , {
36
- alias : 'd' ,
37
- default : process . cwd ( ) ,
38
- describe : 'directory to execute in' ,
39
- type : 'string'
40
- } )
41
- . option ( 'edit' , {
42
- alias : 'e' ,
43
- // default: false,
44
- describe :
45
- 'read last commit message from the specified file or fallbacks to ./.git/COMMIT_EDITMSG' ,
46
- type : 'string'
47
- } )
48
- . option ( 'env' , {
49
- alias : 'E' ,
50
- describe :
51
- 'check message in the file at path given by environment variable value' ,
52
- type : 'string'
53
- } )
54
- . option ( 'extends' , {
55
- alias : 'x' ,
56
- describe : 'array of shareable configurations to extend' ,
57
- type : 'array'
58
- } )
59
- . option ( 'help-url' , {
60
- alias : 'H' ,
61
- type : 'string' ,
62
- describe : 'helpurl in error message'
63
- } )
64
- . option ( 'from' , {
65
- alias : 'f' ,
66
- describe : 'lower end of the commit range to lint; applies if edit=false' ,
67
- type : 'string'
68
- } )
69
- . option ( 'format' , {
70
- alias : 'o' ,
71
- describe : 'output format of the results' ,
72
- type : 'string'
73
- } )
74
- . option ( 'parser-preset' , {
75
- alias : 'p' ,
76
- describe : 'configuration preset to use for conventional-commits-parser' ,
77
- type : 'string'
78
- } )
79
- . option ( 'quiet' , {
80
- alias : 'q' ,
81
- default : false ,
82
- describe : 'toggle console output' ,
83
- type : 'boolean'
84
- } )
85
- . option ( 'to' , {
86
- alias : 't' ,
87
- describe : 'upper end of the commit range to lint; applies if edit=false' ,
88
- type : 'string'
89
- } )
90
- . option ( 'version' , {
91
- alias : 'v' ,
92
- type : 'boolean' ,
93
- describe : 'display version information'
94
- } )
95
- . option ( 'verbose' , {
96
- alias : 'V' ,
97
- type : 'boolean' ,
98
- describe : 'enable verbose output for reports without problems'
23
+ . options ( {
24
+ color : {
25
+ alias : 'c' ,
26
+ default : true ,
27
+ description : 'toggle colored output' ,
28
+ type : 'boolean'
29
+ } ,
30
+ config : {
31
+ alias : 'g' ,
32
+ description : 'path to the config file' ,
33
+ type : 'string'
34
+ } ,
35
+ cwd : {
36
+ alias : 'd' ,
37
+ default : process . cwd ( ) ,
38
+ description : 'directory to execute in' ,
39
+ type : 'string'
40
+ } ,
41
+ edit : {
42
+ alias : 'e' ,
43
+ default : false ,
44
+ description :
45
+ 'read last commit message from the specified file or fallbacks to ./.git/COMMIT_EDITMSG' ,
46
+ type : 'string'
47
+ } ,
48
+ env : {
49
+ alias : 'E' ,
50
+ description :
51
+ 'check message in the file at path given by environment variable value' ,
52
+ type : 'string'
53
+ } ,
54
+ extends : {
55
+ alias : 'x' ,
56
+ description : 'array of shareable configurations to extend' ,
57
+ type : 'array'
58
+ } ,
59
+ 'help-url' : {
60
+ alias : 'H' ,
61
+ type : 'string' ,
62
+ description : 'helpurl in error message'
63
+ } ,
64
+ from : {
65
+ alias : 'f' ,
66
+ description : 'lower end of the commit range to lint; applies if edit=false' ,
67
+ type : 'string'
68
+ } ,
69
+ format : {
70
+ alias : 'o' ,
71
+ description : 'output format of the results' ,
72
+ type : 'string'
73
+ } ,
74
+ 'parser-preset' : {
75
+ alias : 'p' ,
76
+ description : 'configuration preset to use for conventional-commits-parser' ,
77
+ type : 'string'
78
+ } ,
79
+ quiet : {
80
+ alias : 'q' ,
81
+ default : false ,
82
+ description : 'toggle console output' ,
83
+ type : 'boolean'
84
+ } ,
85
+ to : {
86
+ alias : 't' ,
87
+ description : 'upper end of the commit range to lint; applies if edit=false' ,
88
+ type : 'string'
89
+ } ,
90
+ version : {
91
+ alias : 'v' ,
92
+ type : 'boolean' ,
93
+ description : 'display version information'
94
+ } ,
95
+ verbose : {
96
+ alias : 'V' ,
97
+ type : 'boolean' ,
98
+ description : 'enable verbose output for reports without problems'
99
+ }
99
100
} )
100
101
. help (
101
102
'help' ,
@@ -242,7 +243,7 @@ async function main(options: CliFlags) {
242
243
}
243
244
}
244
245
245
- function checkFromStdin ( input : string [ ] , flags : CliFlags ) {
246
+ function checkFromStdin ( input : string [ ] , flags : CliFlags ) : boolean {
246
247
return input . length === 0 && ! checkFromRepository ( flags ) ;
247
248
}
248
249
@@ -254,13 +255,16 @@ function checkFromEdit(flags: CliFlags) {
254
255
return Boolean ( flags . edit ) || flags . env ;
255
256
}
256
257
257
- function checkFromHistory ( flags : CliFlags ) {
258
+ function checkFromHistory ( flags : CliFlags ) : boolean {
258
259
return typeof flags . from === 'string' || typeof flags . to === 'string' ;
259
260
}
260
261
261
- function normalizeFlags ( flags : CliFlags ) {
262
+ function normalizeFlags ( flags : CliFlags ) : CliFlags {
262
263
const edit = getEditValue ( flags ) ;
263
- return merge ( { } , flags , { edit, e : edit } ) ;
264
+ return {
265
+ ...flags ,
266
+ edit
267
+ } ;
264
268
}
265
269
266
270
function getEditValue ( flags : CliFlags ) {
0 commit comments