UNPKG

yaclt

Version:
124 lines 9.97 kB
"use strict"; 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