@cloudcamp/aws-runtime
Version:
CloudCamp - Launch faster by building scalable infrastructure in few lines of code.
30 lines • 3.95 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.version = exports.parseRepositoryUrl = exports.setDefaults = void 0;
const _ = require("lodash");
const types_1 = require("./types");
const path = require("path");
const fs = require("fs");
function setDefaults(props, defaults) {
return _.defaultsDeep(props, defaults || {});
}
exports.setDefaults = setDefaults;
function parseRepositoryUrl(url) {
let match = url.match(/^.*?@github.com:(.*?)\/(.*?)\.git$/);
if (match !== null) {
return { host: types_1.RepositoryHost.GITHUB, owner: match[1], repo: match[2] };
}
match = url.match(/github\.com\/(.*?)\/(.*?)$/);
if (match !== null) {
return { host: types_1.RepositoryHost.GITHUB, owner: match[1], repo: match[2] };
}
throw new Error("Invalid repository url: " + url);
}
exports.parseRepositoryUrl = parseRepositoryUrl;
function version() {
let packageJsonPath = path.join(__dirname, "..", "package.json");
let contents = JSON.parse(fs.readFileSync(packageJsonPath).toString());
return contents.version;
}
exports.version = version;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNEJBQTRCO0FBQzVCLG1DQUF5QztBQUN6Qyw2QkFBNkI7QUFDN0IseUJBQXlCO0FBRXpCLFNBQWdCLFdBQVcsQ0FBSSxLQUFvQixFQUFFLFFBQWE7SUFDaEUsT0FBTyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxRQUFRLElBQUksRUFBRSxDQUFNLENBQUM7QUFDcEQsQ0FBQztBQUZELGtDQUVDO0FBRUQsU0FBZ0Isa0JBQWtCLENBQUMsR0FBVztJQUs1QyxJQUFJLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7SUFDNUQsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO1FBQ2xCLE9BQU8sRUFBRSxJQUFJLEVBQUUsc0JBQWMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7S0FDekU7SUFDRCxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQ2hELElBQUksS0FBSyxLQUFLLElBQUksRUFBRTtRQUNsQixPQUFPLEVBQUUsSUFBSSxFQUFFLHNCQUFjLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0tBQ3pFO0lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsR0FBRyxHQUFHLENBQUMsQ0FBQztBQUNwRCxDQUFDO0FBZEQsZ0RBY0M7QUFFRCxTQUFnQixPQUFPO0lBQ3JCLElBQUksZUFBZSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxjQUFjLENBQUMsQ0FBQztJQUNqRSxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUN2RSxPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQUM7QUFDMUIsQ0FBQztBQUpELDBCQUlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgXyBmcm9tIFwibG9kYXNoXCI7XG5pbXBvcnQgeyBSZXBvc2l0b3J5SG9zdCB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHNldERlZmF1bHRzPFQ+KHByb3BzOiBUIHwgdW5kZWZpbmVkLCBkZWZhdWx0czogYW55KTogVCB7XG4gIHJldHVybiBfLmRlZmF1bHRzRGVlcChwcm9wcywgZGVmYXVsdHMgfHwge30pIGFzIFQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVJlcG9zaXRvcnlVcmwodXJsOiBzdHJpbmcpOiB7XG4gIGhvc3Q6IFJlcG9zaXRvcnlIb3N0O1xuICBvd25lcjogc3RyaW5nO1xuICByZXBvOiBzdHJpbmc7XG59IHtcbiAgbGV0IG1hdGNoID0gdXJsLm1hdGNoKC9eLio/QGdpdGh1Yi5jb206KC4qPylcXC8oLio/KVxcLmdpdCQvKTtcbiAgaWYgKG1hdGNoICE9PSBudWxsKSB7XG4gICAgcmV0dXJuIHsgaG9zdDogUmVwb3NpdG9yeUhvc3QuR0lUSFVCLCBvd25lcjogbWF0Y2hbMV0sIHJlcG86IG1hdGNoWzJdIH07XG4gIH1cbiAgbWF0Y2ggPSB1cmwubWF0Y2goL2dpdGh1YlxcLmNvbVxcLyguKj8pXFwvKC4qPykkLyk7XG4gIGlmIChtYXRjaCAhPT0gbnVsbCkge1xuICAgIHJldHVybiB7IGhvc3Q6IFJlcG9zaXRvcnlIb3N0LkdJVEhVQiwgb3duZXI6IG1hdGNoWzFdLCByZXBvOiBtYXRjaFsyXSB9O1xuICB9XG4gIHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgcmVwb3NpdG9yeSB1cmw6IFwiICsgdXJsKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZlcnNpb24oKTogc3RyaW5nIHtcbiAgbGV0IHBhY2thZ2VKc29uUGF0aCA9IHBhdGguam9pbihfX2Rpcm5hbWUsIFwiLi5cIiwgXCJwYWNrYWdlLmpzb25cIik7XG4gIGxldCBjb250ZW50cyA9IEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKHBhY2thZ2VKc29uUGF0aCkudG9TdHJpbmcoKSk7XG4gIHJldHVybiBjb250ZW50cy52ZXJzaW9uO1xufVxuIl19