We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 4ad6edc commit 2f0c461Copy full SHA for 2f0c461
2 files changed
lib/rules/line-after-title.js
@@ -0,0 +1,34 @@
1
+'use strict'
2
+
3
+const id = 'line-after-title'
4
5
+module.exports = {
6
+ id: id
7
+, meta: {
8
+ description: 'enforce a blank newline after the commit title'
9
+ , recommended: true
10
+ }
11
+, defaults: {}
12
+, options: {}
13
+, validate: (context, rule) => {
14
+ // all commits should have a body and a blank line after the title
15
+ if (!context.body.length || context.body[0]) {
16
+ context.report({
17
18
+ , message: 'blank line expected after title'
19
+ , string: context.body.length ? context.body[0] : ''
20
+ , line: 1
21
+ , column: 0
22
+ , level: 'fail'
23
+ })
24
+ return
25
26
27
28
29
+ , message: 'blank line after title'
30
+ , string: ''
31
+ , level: 'pass'
32
33
34
+}
test/validator.js
@@ -211,12 +211,13 @@ test('Validator - real commits', (t) => {
211
const filtered = msgs.filter((item) => {
212
return item.level === 'fail'
213
})
214
- tt.equal(filtered.length, 2, 'messages.length')
215
- tt.equal(filtered[0].id, 'pr-url', 'message id')
216
- tt.equal(filtered[0].string, '#5546', 'message string')
217
- tt.equal(filtered[1].id, 'subsystem', 'message id')
218
- tt.equal(filtered[1].line, 0, 'line')
219
- tt.equal(filtered[1].column, 0, 'column')
+ tt.equal(filtered.length, 3, 'messages.length')
+ tt.equal(filtered[0].id, 'line-after-title', 'message id')
+ tt.equal(filtered[1].id, 'pr-url', 'message id')
+ tt.equal(filtered[1].string, '#5546', 'message string')
+ tt.equal(filtered[2].id, 'subsystem', 'message id')
+ tt.equal(filtered[2].line, 0, 'line')
220
+ tt.equal(filtered[2].column, 0, 'column')
221
tt.end()
222
223
0 commit comments