@@ -6,6 +6,10 @@ let bodyMaxLineLength = 64;
6
6
let headerMaxLineLength = 50 ;
7
7
let footerMaxLineLength = 150 ;
8
8
9
+ function notNullStringErrorMessage ( stringType : string ) : string {
10
+ return `This is unexpected because ${ stringType } should never be null` ;
11
+ }
12
+
9
13
module . exports = {
10
14
parserPreset : "conventional-changelog-conventionalcommits" ,
11
15
rules : {
@@ -59,20 +63,35 @@ module.exports = {
59
63
{
60
64
rules : {
61
65
"body-prose" : ( { raw } : { raw : any } ) => {
62
- let rawStr = Helpers . convertAnyToString ( raw , "raw" ) . trim ( ) ;
66
+ let rawUncastedStr = Helpers . convertAnyToString ( raw , "raw" ) ;
67
+ let rawStr = Helpers . assertNotNull (
68
+ rawUncastedStr ,
69
+ notNullStringErrorMessage ( "raw" )
70
+ ) . trim ( ) ;
71
+
63
72
return Plugins . bodyProse ( rawStr ) ;
64
73
} ,
65
74
66
75
"commit-hash-alone" : ( { raw } : { raw : any } ) => {
67
- let rawStr = Helpers . convertAnyToString ( raw , "raw" ) ;
76
+ let rawUncastedStr = Helpers . convertAnyToString ( raw , "raw" ) ;
77
+ let rawStr = Helpers . assertNotNull (
78
+ rawUncastedStr ,
79
+ notNullStringErrorMessage ( "raw" )
80
+ ) . trim ( ) ;
81
+
68
82
return Plugins . commitHashAlone ( rawStr ) ;
69
83
} ,
70
84
71
85
"empty-wip" : ( { header } : { header : any } ) => {
72
- let headerStr = Helpers . convertAnyToString (
86
+ let headerUncastedStr = Helpers . convertAnyToString (
73
87
header ,
74
88
"header"
75
89
) ;
90
+ let headerStr = Helpers . assertNotNull (
91
+ headerUncastedStr ,
92
+ notNullStringErrorMessage ( "header" )
93
+ ) . trim ( ) ;
94
+
76
95
return Plugins . emptyWip ( headerStr ) ;
77
96
} ,
78
97
@@ -81,108 +100,167 @@ module.exports = {
81
100
_ : any ,
82
101
maxLineLength : number
83
102
) => {
84
- let headerStr = Helpers . convertAnyToString (
103
+ let headerUncastedStr = Helpers . convertAnyToString (
85
104
header ,
86
105
"header"
87
106
) ;
107
+ let headerStr = Helpers . assertNotNull (
108
+ headerUncastedStr ,
109
+ notNullStringErrorMessage ( "header" )
110
+ ) . trim ( ) ;
111
+
88
112
return Plugins . headerMaxLengthWithSuggestions (
89
113
headerStr ,
90
114
maxLineLength
91
115
) ;
92
116
} ,
93
117
94
- "footer-notes-misplacement" : ( { raw } : { raw : any } ) => {
95
- let rawStr = Helpers . convertAnyToString ( raw , "raw" ) . trim ( ) ;
96
- return Plugins . footerNotesMisplacement ( rawStr ) ;
118
+ "footer-notes-misplacement" : ( { body } : { body : any } ) => {
119
+ let bodyStr = Helpers . convertAnyToString ( body , "body" ) ;
120
+ return Plugins . footerNotesMisplacement ( bodyStr ) ;
97
121
} ,
98
122
99
- "footer-references-existence" : ( { raw } : { raw : any } ) => {
100
- let rawStr = Helpers . convertAnyToString ( raw , "raw" ) . trim ( ) ;
101
- return Plugins . footerReferencesExistence ( rawStr ) ;
123
+ "footer-references-existence" : ( { body } : { body : any } ) => {
124
+ let bodyStr = Helpers . convertAnyToString ( body , "body" ) ;
125
+
126
+ return Plugins . footerReferencesExistence ( bodyStr ) ;
102
127
} ,
103
128
104
129
"prefer-slash-over-backslash" : ( {
105
130
header,
106
131
} : {
107
132
header : any ;
108
133
} ) => {
109
- let headerStr = Helpers . convertAnyToString (
134
+ let headerUncastedStr = Helpers . convertAnyToString (
110
135
header ,
111
136
"header"
112
137
) ;
138
+ let headerStr = Helpers . assertNotNull (
139
+ headerUncastedStr ,
140
+ notNullStringErrorMessage ( "header" )
141
+ ) . trim ( ) ;
142
+
113
143
return Plugins . preferSlashOverBackslash ( headerStr ) ;
114
144
} ,
115
145
116
146
"proper-issue-refs" : ( { raw } : { raw : any } ) => {
117
- let rawStr = Helpers . convertAnyToString ( raw , "raw" ) . trim ( ) ;
147
+ let rawUncastedStr = Helpers . convertAnyToString ( raw , "raw" ) ;
148
+ let rawStr = Helpers . assertNotNull (
149
+ rawUncastedStr ,
150
+ notNullStringErrorMessage ( "raw" )
151
+ ) . trim ( ) ;
152
+
118
153
return Plugins . properIssueRefs ( rawStr ) ;
119
154
} ,
120
155
121
156
"title-uppercase" : ( { header } : { header : any } ) => {
122
- let headerStr = Helpers . convertAnyToString (
157
+ let headerUncastedStr = Helpers . convertAnyToString (
123
158
header ,
124
159
"header"
125
160
) ;
161
+ let headerStr = Helpers . assertNotNull (
162
+ headerUncastedStr ,
163
+ notNullStringErrorMessage ( "header" )
164
+ ) . trim ( ) ;
165
+
126
166
return Plugins . titleUppercase ( headerStr ) ;
127
167
} ,
128
168
129
169
"too-many-spaces" : ( { raw } : { raw : any } ) => {
130
- let rawStr = Helpers . convertAnyToString ( raw , "raw" ) ;
170
+ let rawUncastedStr = Helpers . convertAnyToString ( raw , "raw" ) ;
171
+ let rawStr = Helpers . assertNotNull (
172
+ rawUncastedStr ,
173
+ notNullStringErrorMessage ( "raw" )
174
+ ) . trim ( ) ;
175
+
131
176
return Plugins . tooManySpaces ( rawStr ) ;
132
177
} ,
133
178
134
179
"type-space-after-colon" : ( { header } : { header : any } ) => {
135
- let headerStr = Helpers . convertAnyToString (
180
+ let headerUncastedStr = Helpers . convertAnyToString (
136
181
header ,
137
182
"header"
138
183
) ;
184
+ let headerStr = Helpers . assertNotNull (
185
+ headerUncastedStr ,
186
+ notNullStringErrorMessage ( "header" )
187
+ ) . trim ( ) ;
188
+
139
189
return Plugins . typeSpaceAfterColon ( headerStr ) ;
140
190
} ,
141
191
142
192
"type-with-square-brackets" : ( { header } : { header : any } ) => {
143
- let headerStr = Helpers . convertAnyToString (
193
+ let headerUncastedStr = Helpers . convertAnyToString (
144
194
header ,
145
195
"header"
146
196
) ;
197
+ let headerStr = Helpers . assertNotNull (
198
+ headerUncastedStr ,
199
+ notNullStringErrorMessage ( "header" )
200
+ ) . trim ( ) ;
201
+
147
202
return Plugins . typeWithSquareBrackets ( headerStr ) ;
148
203
} ,
149
204
150
205
// NOTE: we use 'header' instead of 'subject' as a workaround to this bug: https://github.com/conventional-changelog/commitlint/issues/3404
151
206
"subject-lowercase" : ( { header } : { header : any } ) => {
152
- let headerStr = Helpers . convertAnyToString (
207
+ let headerUncastedStr = Helpers . convertAnyToString (
153
208
header ,
154
209
"header"
155
210
) ;
211
+ let headerStr = Helpers . assertNotNull (
212
+ headerUncastedStr ,
213
+ notNullStringErrorMessage ( "header" )
214
+ ) . trim ( ) ;
215
+
156
216
return Plugins . subjectLowercase ( headerStr ) ;
157
217
} ,
158
218
159
219
"type-space-after-comma" : ( { header } : { header : any } ) => {
160
- let headerStr = Helpers . convertAnyToString (
220
+ let headerUncastedStr = Helpers . convertAnyToString (
161
221
header ,
162
222
"header"
163
223
) ;
224
+ let headerStr = Helpers . assertNotNull (
225
+ headerUncastedStr ,
226
+ notNullStringErrorMessage ( "header" )
227
+ ) . trim ( ) ;
228
+
164
229
return Plugins . typeSpaceAfterComma ( headerStr ) ;
165
230
} ,
166
231
167
232
"body-soft-max-line-length" : (
168
- { raw } : { raw : any } ,
233
+ { body } : { body : any } ,
169
234
_ : any ,
170
235
maxLineLength : number
171
236
) => {
172
- let rawStr = Helpers . convertAnyToString ( raw , "raw" ) . trim ( ) ;
173
- return Plugins . bodySoftMaxLineLength ( rawStr , maxLineLength ) ;
237
+ let bodyStr = Helpers . convertAnyToString ( body , "body" ) ;
238
+ return Plugins . bodySoftMaxLineLength (
239
+ bodyStr ,
240
+ maxLineLength
241
+ ) ;
174
242
} ,
175
243
176
244
"trailing-whitespace" : ( { raw } : { raw : any } ) => {
177
- let rawStr = Helpers . convertAnyToString ( raw , "raw" ) ;
245
+ let rawUncastedStr = Helpers . convertAnyToString ( raw , "raw" ) ;
246
+ let rawStr = Helpers . assertNotNull (
247
+ rawUncastedStr ,
248
+ notNullStringErrorMessage ( "raw" )
249
+ ) . trim ( ) ;
250
+
178
251
return Plugins . trailingWhitespace ( rawStr ) ;
179
252
} ,
180
253
181
254
"type-space-before-paren" : ( { header } : { header : any } ) => {
182
- let headerStr = Helpers . convertAnyToString (
255
+ let headerUncastedStr = Helpers . convertAnyToString (
183
256
header ,
184
257
"header"
185
258
) ;
259
+ let headerStr = Helpers . assertNotNull (
260
+ headerUncastedStr ,
261
+ notNullStringErrorMessage ( "header" )
262
+ ) . trim ( ) ;
263
+
186
264
return Plugins . typeSpaceBeforeParen ( headerStr ) ;
187
265
} ,
188
266
} ,
0 commit comments