yaclt
Version:
Yet Another Change Log Tool
124 lines • 9.97 kB
JavaScript
;
var __read = (this && this.__read) || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
};
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
to[j] = from[i];
return to;
};
var __values = (this && this.__values) || function(o) {
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
if (m) return m.call(o);
if (o && typeof o.length === "number") return {
next: function () {
if (o && i >= o.length) o = void 0;
return { value: o && o[i++], done: !o };
}
};
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ValidateArgvMiddleware = void 0;
var yargs_1 = __importDefault(require("yargs"));
var logger_1 = require("../../utils/logger");
var string_utils_1 = require("../../utils/string-utils");
var commands_1 = require("../commands");
var allValidOptions = [];
commands_1.Commands.forEach(function (command) {
var e_1, _a;
var _b, _c, _d;
var builderKeys = Object.keys((_b = command.builder) !== null && _b !== void 0 ? _b : {});
if (builderKeys.length === 0) {
return;
}
allValidOptions.push.apply(allValidOptions, __spreadArray([], __read(builderKeys)));
try {
for (var builderKeys_1 = __values(builderKeys), builderKeys_1_1 = builderKeys_1.next(); !builderKeys_1_1.done; builderKeys_1_1 = builderKeys_1.next()) {
var key = builderKeys_1_1.value;
var alias = (_d = (_c = command.builder) === null || _c === void 0 ? void 0 : _c[key]) === null || _d === void 0 ? void 0 : _d.alias;
if (alias) {
if (Array.isArray(alias)) {
allValidOptions.push.apply(allValidOptions, __spreadArray([], __read(alias)));
}
else {
allValidOptions.push(alias);
}
}
}
}
catch (e_1_1) { e_1 = { error: e_1_1 }; }
finally {
try {
if (builderKeys_1_1 && !builderKeys_1_1.done && (_a = builderKeys_1.return)) _a.call(builderKeys_1);
}
finally { if (e_1) throw e_1.error; }
}
});
exports.ValidateArgvMiddleware = {
handler: function (argv) {
var e_2, _a, e_3, _b;
var invalidOptions = [];
var _loop_1 = function (key) {
var convertedKey = string_utils_1.kebabToCamelCase(key);
if (key === "_" || key === "$0") {
return "continue";
}
if (allValidOptions.every(function (optionName) {
return optionName !== key && optionName !== convertedKey;
})) {
invalidOptions.push(key);
}
};
try {
for (var _c = __values(Object.keys(argv)), _d = _c.next(); !_d.done; _d = _c.next()) {
var key = _d.value;
_loop_1(key);
}
}
catch (e_2_1) { e_2 = { error: e_2_1 }; }
finally {
try {
if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
}
finally { if (e_2) throw e_2.error; }
}
if (invalidOptions.length > 0) {
try {
for (var invalidOptions_1 = __values(invalidOptions), invalidOptions_1_1 = invalidOptions_1.next(); !invalidOptions_1_1.done; invalidOptions_1_1 = invalidOptions_1.next()) {
var key = invalidOptions_1_1.value;
logger_1.Logger.error("Unknown option: " + (key.length > 1 ? "--" + key : "-" + key));
}
}
catch (e_3_1) { e_3 = { error: e_3_1 }; }
finally {
try {
if (invalidOptions_1_1 && !invalidOptions_1_1.done && (_b = invalidOptions_1.return)) _b.call(invalidOptions_1);
}
finally { if (e_3) throw e_3.error; }
}
logger_1.Logger.value(false);
yargs_1.default.exit(1, new Error("Invalid options found in argv"));
process.exit(1);
}
return argv;
},
preValidation: true,
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtYXJndi1taWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NsaS9taWRkbGV3YXJlL3ZhbGlkYXRlLWFyZ3YtbWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGdEQUFzRDtBQUN0RCw2Q0FBNEM7QUFDNUMseURBQTREO0FBRTVELHdDQUF1QztBQUd2QyxJQUFNLGVBQWUsR0FBYSxFQUFFLENBQUM7QUFDckMsbUJBQVEsQ0FBQyxPQUFPLENBQUMsVUFBQyxPQUFzQjs7O0lBQ3RDLElBQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBQSxPQUFPLENBQUMsT0FBTyxtQ0FBSSxFQUFFLENBQUMsQ0FBQztJQUN2RCxJQUFJLFdBQVcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQzVCLE9BQU87S0FDUjtJQUVELGVBQWUsQ0FBQyxJQUFJLE9BQXBCLGVBQWUsMkJBQVMsV0FBVyxJQUFFOztRQUVyQyxLQUFrQixJQUFBLGdCQUFBLFNBQUEsV0FBVyxDQUFBLHdDQUFBLGlFQUFFO1lBQTFCLElBQU0sR0FBRyx3QkFBQTtZQUNaLElBQU0sS0FBSyxHQUFHLE1BQUEsTUFBQyxPQUFPLENBQUMsT0FBK0MsMENBQ3BFLEdBQUcsQ0FDSiwwQ0FBRSxLQUFLLENBQUM7WUFDVCxJQUFJLEtBQUssRUFBRTtnQkFDVCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQ3hCLGVBQWUsQ0FBQyxJQUFJLE9BQXBCLGVBQWUsMkJBQVMsS0FBSyxJQUFFO2lCQUNoQztxQkFBTTtvQkFDTCxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQWUsQ0FBQyxDQUFDO2lCQUN2QzthQUNGO1NBQ0Y7Ozs7Ozs7OztBQUNILENBQUMsQ0FBQyxDQUFDO0FBRVUsUUFBQSxzQkFBc0IsR0FBc0I7SUFDdkQsT0FBTyxFQUFFLFVBQ1AsSUFBNkQ7O1FBRTdELElBQU0sY0FBYyxHQUFhLEVBQUUsQ0FBQztnQ0FDekIsR0FBRztZQUNaLElBQU0sWUFBWSxHQUFHLCtCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRTNDLElBQUksR0FBRyxLQUFLLEdBQUcsSUFBSSxHQUFHLEtBQUssSUFBSSxFQUFFOzthQUVoQztZQUVELElBQ0UsZUFBZSxDQUFDLEtBQUssQ0FDbkIsVUFBQyxVQUFrQjtnQkFDakIsT0FBQSxVQUFVLEtBQUssR0FBRyxJQUFJLFVBQVUsS0FBSyxZQUFZO1lBQWpELENBQWlELENBQ3BELEVBQ0Q7Z0JBQ0EsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUMxQjs7O1lBZEgsS0FBa0IsSUFBQSxLQUFBLFNBQUEsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQSxnQkFBQTtnQkFBOUIsSUFBTSxHQUFHLFdBQUE7d0JBQUgsR0FBRzthQWViOzs7Ozs7Ozs7UUFFRCxJQUFJLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFOztnQkFDN0IsS0FBa0IsSUFBQSxtQkFBQSxTQUFBLGNBQWMsQ0FBQSw4Q0FBQSwwRUFBRTtvQkFBN0IsSUFBTSxHQUFHLDJCQUFBO29CQUNaLGVBQU0sQ0FBQyxLQUFLLENBQ1Ysc0JBQW1CLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFLLEdBQUssQ0FBQyxDQUFDLENBQUMsTUFBSSxHQUFLLENBQUUsQ0FDN0QsQ0FBQztpQkFDSDs7Ozs7Ozs7O1lBQ0QsZUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwQixlQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxDQUFDLENBQUM7WUFDMUQsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNqQjtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELGFBQWEsRUFBRSxJQUFJO0NBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeWFyZ3MsIHsgQ29tbWFuZE1vZHVsZSwgT3B0aW9ucyB9IGZyb20gXCJ5YXJnc1wiO1xuaW1wb3J0IHsgTG9nZ2VyIH0gZnJvbSBcIi4uLy4uL3V0aWxzL2xvZ2dlclwiO1xuaW1wb3J0IHsga2ViYWJUb0NhbWVsQ2FzZSB9IGZyb20gXCIuLi8uLi91dGlscy9zdHJpbmctdXRpbHNcIjtcbmltcG9ydCB7IEZ1bmN0aW9uQXJnIH0gZnJvbSBcIi4uLy4uL3V0aWxzL3R5cGUtdXRpbHNcIjtcbmltcG9ydCB7IENvbW1hbmRzIH0gZnJvbSBcIi4uL2NvbW1hbmRzXCI7XG5pbXBvcnQgeyBNaWRkbGV3YXJlSGFuZGxlciB9IGZyb20gXCIuL21pZGRsZXdhcmUtaGFuZGxlclwiO1xuXG5jb25zdCBhbGxWYWxpZE9wdGlvbnM6IHN0cmluZ1tdID0gW107XG5Db21tYW5kcy5mb3JFYWNoKChjb21tYW5kOiBDb21tYW5kTW9kdWxlKSA9PiB7XG4gIGNvbnN0IGJ1aWxkZXJLZXlzID0gT2JqZWN0LmtleXMoY29tbWFuZC5idWlsZGVyID8/IHt9KTtcbiAgaWYgKGJ1aWxkZXJLZXlzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGFsbFZhbGlkT3B0aW9ucy5wdXNoKC4uLmJ1aWxkZXJLZXlzKTtcblxuICBmb3IgKGNvbnN0IGtleSBvZiBidWlsZGVyS2V5cykge1xuICAgIGNvbnN0IGFsaWFzID0gKGNvbW1hbmQuYnVpbGRlciBhcyBSZWNvcmQ8c3RyaW5nLCBPcHRpb25zPiB8IHVuZGVmaW5lZCk/LltcbiAgICAgIGtleVxuICAgIF0/LmFsaWFzO1xuICAgIGlmIChhbGlhcykge1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoYWxpYXMpKSB7XG4gICAgICAgIGFsbFZhbGlkT3B0aW9ucy5wdXNoKC4uLmFsaWFzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFsbFZhbGlkT3B0aW9ucy5wdXNoKGFsaWFzIGFzIHN0cmluZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59KTtcblxuZXhwb3J0IGNvbnN0IFZhbGlkYXRlQXJndk1pZGRsZXdhcmU6IE1pZGRsZXdhcmVIYW5kbGVyID0ge1xuICBoYW5kbGVyOiAoXG4gICAgYXJndjogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgYm9vbGVhbiB8IG51bWJlciB8IEZ1bmN0aW9uQXJnPlxuICApOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBib29sZWFuIHwgbnVtYmVyIHwgRnVuY3Rpb25Bcmc+ID0+IHtcbiAgICBjb25zdCBpbnZhbGlkT3B0aW9uczogc3RyaW5nW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhhcmd2KSkge1xuICAgICAgY29uc3QgY29udmVydGVkS2V5ID0ga2ViYWJUb0NhbWVsQ2FzZShrZXkpO1xuICAgICAgLy8gdGhlc2UgYXJlIHNwZWNpYWwgeWFyZ3MgdGhpbmdzIGFkZGVkIHRvIGFyZ3ZcbiAgICAgIGlmIChrZXkgPT09IFwiX1wiIHx8IGtleSA9PT0gXCIkMFwiKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAoXG4gICAgICAgIGFsbFZhbGlkT3B0aW9ucy5ldmVyeShcbiAgICAgICAgICAob3B0aW9uTmFtZTogc3RyaW5nKSA9PlxuICAgICAgICAgICAgb3B0aW9uTmFtZSAhPT0ga2V5ICYmIG9wdGlvbk5hbWUgIT09IGNvbnZlcnRlZEtleVxuICAgICAgICApXG4gICAgICApIHtcbiAgICAgICAgaW52YWxpZE9wdGlvbnMucHVzaChrZXkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChpbnZhbGlkT3B0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICBmb3IgKGNvbnN0IGtleSBvZiBpbnZhbGlkT3B0aW9ucykge1xuICAgICAgICBMb2dnZXIuZXJyb3IoXG4gICAgICAgICAgYFVua25vd24gb3B0aW9uOiAke2tleS5sZW5ndGggPiAxID8gYC0tJHtrZXl9YCA6IGAtJHtrZXl9YH1gXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBMb2dnZXIudmFsdWUoZmFsc2UpO1xuICAgICAgeWFyZ3MuZXhpdCgxLCBuZXcgRXJyb3IoXCJJbnZhbGlkIG9wdGlvbnMgZm91bmQgaW4gYXJndlwiKSk7XG4gICAgICBwcm9jZXNzLmV4aXQoMSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFyZ3Y7XG4gIH0sXG4gIHByZVZhbGlkYXRpb246IHRydWUsXG59O1xuIl19