forked from digitalroute/cz-conventional-changelog-for-jira
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
68 lines (61 loc) · 2.03 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
'format cjs';
var engine = require('./engine');
var conventionalCommitTypes = require('./types');
var defaults = require('./defaults');
var configLoader = require('commitizen').configLoader;
var config = configLoader.load();
function getEnvOrConfig(env, configVar, defaultValue) {
const isEnvSet = Boolean(env);
const isConfigSet = typeof configVar === 'boolean';
if (isEnvSet) return env === 'true';
if (isConfigSet) return configVar;
return defaultValue;
}
const options = {
types: conventionalCommitTypes,
scopes: config.scopes,
defaultType: process.env.CZ_TYPE || config.defaultType,
defaultScope: process.env.CZ_SCOPE || config.defaultScope,
defaultSubject: process.env.CZ_SUBJECT || config.defaultSubject,
defaultBody: process.env.CZ_BODY || config.defaultBody,
defaultIssues: process.env.CZ_ISSUES || config.defaultIssues,
maxHeaderWidth:
(process.env.CZ_MAX_HEADER_WIDTH &&
parseInt(process.env.CZ_MAX_HEADER_WIDTH)) ||
config.maxHeaderWidth ||
defaults.maxHeaderWidth,
minHeaderWidth:
(process.env.CZ_MIN_HEADER_WIDTH &&
parseInt(process.env.CZ_MIN_HEADER_WIDTH)) ||
config.minHeaderWidth ||
defaults.minHeaderWidth,
maxLineWidth:
(process.env.CZ_MAX_LINE_WIDTH &&
parseInt(process.env.CZ_MAX_LINE_WIDTH)) ||
config.maxLineWidth ||
defaults.maxLineWidth,
exclamationMark: getEnvOrConfig(
process.env.CZ_EXCLAMATION_MARK,
config.exclamationMark,
defaults.exclamationMark
),
};
(function(options) {
try {
var commitlintLoad = require('@commitlint/load');
commitlintLoad().then(function(clConfig) {
if (clConfig.rules) {
var maxHeaderLengthRule = clConfig.rules['header-max-length'];
if (
typeof maxHeaderLengthRule === 'object' &&
maxHeaderLengthRule.length >= 3 &&
!process.env.CZ_MAX_HEADER_WIDTH &&
!config.maxHeaderWidth
) {
options.maxHeaderWidth = maxHeaderLengthRule[2];
}
}
});
} catch (err) {}
})(options);
module.exports = engine(options);