Skip to content

Commit 27c8d27

Browse files
storagedddv.veleshko
andauthored
feat: add support for prepend ticket number to head (#249)
Co-authored-by: v.veleshko <v.veleshko@b2b-center.ru>
1 parent 7b08c70 commit 27c8d27

File tree

3 files changed

+27
-7
lines changed

3 files changed

+27
-7
lines changed

__tests__/build-commit.test.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,18 @@ describe('buildCommit()', () => {
118118
};
119119
expect(buildCommit(answersNoScope, options)).toEqual('feat: 123 should not use fallback');
120120
});
121+
122+
it('subject with ticket number prepend', () => {
123+
const answersNoScope = {
124+
type: 'feat',
125+
subject: 'should prepend ticket number to head',
126+
ticketNumber: '123',
127+
};
128+
const options = {
129+
prependTicketToHead: true,
130+
};
131+
expect(buildCommit(answersNoScope, options)).toEqual('123 feat: should prepend ticket number to head');
132+
});
121133
});
122134

123135
describe('type prefix and type suffix', () => {

cz-config-EXAMPLE.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ module.exports = {
2828

2929
usePreparedCommit: false, // to re-use commit from ./.git/COMMIT_EDITMSG
3030
allowTicketNumber: false,
31+
prependTicketToHead: false,
3132
isTicketNumberRequired: false,
3233
ticketNumberPrefix: 'TICKET-',
3334
ticketNumberRegExp: '\\d{1,5}',

lib/build-commit.js

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -80,13 +80,20 @@ module.exports = (answers, config) => {
8080
width: defaultMaxLineWidth,
8181
};
8282

83-
// Hard limit this line
84-
// eslint-disable-next-line max-len
85-
const head =
86-
addType(answers.type, config) +
87-
addScope(answers.scope, config) +
88-
addTicketNumber(answers.ticketNumber, config) +
89-
addSubject(answers.subject.slice(0, config.subjectLimit));
83+
let head = '';
84+
85+
if (config.prependTicketToHead) {
86+
head += addTicketNumber(answers.ticketNumber, config);
87+
}
88+
89+
head += addType(answers.type, config);
90+
head += addScope(answers.scope, config);
91+
92+
if (!config.prependTicketToHead) {
93+
head += addTicketNumber(answers.ticketNumber, config);
94+
}
95+
96+
head += addSubject(answers.subject.slice(0, config.subjectLimit));
9097

9198
// Wrap these lines at 100 characters
9299
let body;

0 commit comments

Comments
 (0)