1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | exports.format = exports.getPreset = exports.getMessages = exports.getConfiguration = undefined;
|
7 |
|
8 | var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
|
9 |
|
10 | var _conventionalCommitsParser = require('conventional-commits-parser');
|
11 |
|
12 | var _lodash = require('lodash');
|
13 |
|
14 | var _getConfiguration2 = require('./library/get-configuration');
|
15 |
|
16 | var _getConfiguration3 = _interopRequireDefault(_getConfiguration2);
|
17 |
|
18 | var _getMessages2 = require('./library/get-messages');
|
19 |
|
20 | var _getMessages3 = _interopRequireDefault(_getMessages2);
|
21 |
|
22 | var _getPreset2 = require('./library/get-preset');
|
23 |
|
24 | var _getPreset3 = _interopRequireDefault(_getPreset2);
|
25 |
|
26 | var _format2 = require('./library/format');
|
27 |
|
28 | var _format3 = _interopRequireDefault(_format2);
|
29 |
|
30 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
31 |
|
32 | function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; return arr2; } else { return Array.from(arr); } }
|
33 |
|
34 | function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { return step("next", value); }, function (err) { return step("throw", err); }); } } return step("next"); }); }; }
|
35 |
|
36 | exports.getConfiguration = _getConfiguration3.default;
|
37 | exports.getMessages = _getMessages3.default;
|
38 | exports.getPreset = _getPreset3.default;
|
39 | exports.format = _format3.default;
|
40 |
|
41 | exports.default = (() => {
|
42 | var ref = _asyncToGenerator(function* (message) {
|
43 | let options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
|
44 | const parserOptions = options.preset.parserOpts;
|
45 | var _options$configuratio = options.configuration;
|
46 | const rules = _options$configuratio.rules;
|
47 | const wildcards = _options$configuratio.wildcards;
|
48 |
|
49 |
|
50 |
|
51 | const parsed = (0, _lodash.merge)({ raw: message }, (0, _conventionalCommitsParser.sync)(message, parserOptions));
|
52 |
|
53 |
|
54 | const bails = Object.entries(wildcards).filter(function (entry) {
|
55 | var _entry = _slicedToArray(entry, 2);
|
56 |
|
57 | const pattern = _entry[1];
|
58 |
|
59 | return Array.isArray(pattern);
|
60 | }).filter(function (entry) {
|
61 | var _entry2 = _slicedToArray(entry, 2);
|
62 |
|
63 | const pattern = _entry2[1];
|
64 |
|
65 | const expression = new (Function.prototype.bind.apply(RegExp, [null].concat(_toConsumableArray(pattern))))();
|
66 | return parsed.header.match(expression);
|
67 | }).map(function (entry) {
|
68 | return entry[0];
|
69 | });
|
70 |
|
71 |
|
72 | if (bails.length > 0) {
|
73 | return {
|
74 | valid: true,
|
75 | wildcards: bails,
|
76 | rules: [],
|
77 | warnings: [],
|
78 | errors: []
|
79 | };
|
80 | }
|
81 |
|
82 |
|
83 | const results = Object.entries(rules).filter(function (entry) {
|
84 | var _entry3 = _slicedToArray(entry, 2);
|
85 |
|
86 | var _entry3$ = _slicedToArray(_entry3[1], 1);
|
87 |
|
88 | const level = _entry3$[0];
|
89 |
|
90 | return level > 0;
|
91 | }).map(function (entry) {
|
92 | var _entry4 = _slicedToArray(entry, 2);
|
93 |
|
94 | const name = _entry4[0];
|
95 | const config = _entry4[1];
|
96 |
|
97 | var _config = _slicedToArray(config, 3);
|
98 |
|
99 | const level = _config[0];
|
100 | const when = _config[1];
|
101 | const value = _config[2];
|
102 |
|
103 |
|
104 |
|
105 | if (level === 0) {
|
106 | return null;
|
107 | }
|
108 |
|
109 | const rule = require(`./rules/${ name }`);
|
110 |
|
111 | var _rule = rule(parsed, when, value);
|
112 |
|
113 | var _rule2 = _slicedToArray(_rule, 2);
|
114 |
|
115 | const valid = _rule2[0];
|
116 | const message = _rule2[1];
|
117 |
|
118 |
|
119 | return {
|
120 | level,
|
121 | valid,
|
122 | name,
|
123 | message
|
124 | };
|
125 | }).filter(Boolean);
|
126 |
|
127 | const errors = results.filter(function (result) {
|
128 | return result.level > 1 && !result.valid;
|
129 | });
|
130 |
|
131 | const warnings = results.filter(function (result) {
|
132 | return result.level < 2 && !result.valid;
|
133 | });
|
134 |
|
135 | const valid = errors.length === 0;
|
136 |
|
137 | return {
|
138 | valid,
|
139 | errors,
|
140 | warnings
|
141 | };
|
142 | }),
|
143 | _this = undefined;
|
144 |
|
145 | return function (_x, _x2) {
|
146 | return ref.apply(_this, arguments);
|
147 | };
|
148 | })(); |
\ | No newline at end of file |