lint-gitlab-ci
Version:
GitLab-ci script to lint .gitlab-ci.yml files.
26 lines • 3.62 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const axios_1 = __importDefault(require("axios"));
class ApiEndpoints {
constructor(props) {
const { rootUrl, apiVersion, paths } = props;
this._paths = paths;
axios_1.default.defaults.baseURL = `${this.removeSlash(rootUrl)}/${this.removeSlash(apiVersion)}`;
}
async lintCiYml(content) {
var _a;
let url = ((_a = this._paths) === null || _a === void 0 ? void 0 : _a.lintCiYml) || "/ci/lint";
const response = await axios_1.default.post(url, { content: content });
return response.data;
}
removeSlash(str) {
return str
.replace(/^\/*/gm, "") // remove slash prefix
.replace(/\/*$/gm, ""); // remove slash suffix;
}
}
exports.default = ApiEndpoints;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBpRW5kcG9pbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0FwaUVuZHBvaW50cy9BcGlFbmRwb2ludHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxrREFBMEI7QUFXMUIsTUFBcUIsWUFBWTtJQUc3QixZQUFZLEtBQXFCO1FBQzdCLE1BQU0sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxHQUFHLEtBQUssQ0FBQztRQUU3QyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUVwQixlQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO0lBQzVGLENBQUM7SUFFTSxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQWU7O1FBQ2xDLElBQUksR0FBRyxHQUFHLE9BQUEsSUFBSSxDQUFDLE1BQU0sMENBQUUsU0FBUyxLQUFJLFVBQVUsQ0FBQztRQUUvQyxNQUFNLFFBQVEsR0FBRyxNQUFNLGVBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFFN0QsT0FBTyxRQUFRLENBQUMsSUFBd0IsQ0FBQztJQUM3QyxDQUFDO0lBRU8sV0FBVyxDQUFDLEdBQVc7UUFDM0IsT0FBTyxHQUFHO2FBQ0wsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxzQkFBc0I7YUFDNUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLHVCQUF1QjtJQUN2RCxDQUFDO0NBQ0o7QUF4QkQsK0JBd0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGF4aW9zIGZyb20gXCJheGlvc1wiO1xuaW1wb3J0IElBcGlFbmRwb2ludHMgZnJvbSBcIi4uL2ZyYW1ld29yay9JQXBpRW5kcG9pbnRzXCI7XG5pbXBvcnQgSUFwaVBhdGhzIGZyb20gXCIuLi9mcmFtZXdvcmsvSUFwaVBhdGhzXCI7XG5pbXBvcnQgSUFwaUxpbnRSZXNwb25zZSBmcm9tIFwiLi4vbW9kZWxzL0lBcGlMaW50UmVzcG9uc2VcIjtcblxuaW50ZXJmYWNlIElFbnBvaW50c1Byb3BzIHtcbiAgICByb290VXJsOiBzdHJpbmc7XG4gICAgYXBpVmVyc2lvbjogc3RyaW5nO1xuICAgIHBhdGhzPzogSUFwaVBhdGhzO1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBcGlFbmRwb2ludHMgaW1wbGVtZW50cyBJQXBpRW5kcG9pbnRzIHtcbiAgICBwcml2YXRlIF9wYXRoczogSUFwaVBhdGhzIHwgdW5kZWZpbmVkO1xuXG4gICAgY29uc3RydWN0b3IocHJvcHM6IElFbnBvaW50c1Byb3BzKSB7XG4gICAgICAgIGNvbnN0IHsgcm9vdFVybCwgYXBpVmVyc2lvbiwgcGF0aHMgfSA9IHByb3BzO1xuXG4gICAgICAgIHRoaXMuX3BhdGhzID0gcGF0aHM7XG5cbiAgICAgICAgYXhpb3MuZGVmYXVsdHMuYmFzZVVSTCA9IGAke3RoaXMucmVtb3ZlU2xhc2gocm9vdFVybCl9LyR7dGhpcy5yZW1vdmVTbGFzaChhcGlWZXJzaW9uKX1gO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBsaW50Q2lZbWwoY29udGVudDogc3RyaW5nKTogUHJvbWlzZTxJQXBpTGludFJlc3BvbnNlPiB7XG4gICAgICAgIGxldCB1cmwgPSB0aGlzLl9wYXRocz8ubGludENpWW1sIHx8IFwiL2NpL2xpbnRcIjtcblxuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGF4aW9zLnBvc3QodXJsLCB7IGNvbnRlbnQ6IGNvbnRlbnQgfSk7XG5cbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGEgYXMgSUFwaUxpbnRSZXNwb25zZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbW92ZVNsYXNoKHN0cjogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBzdHJcbiAgICAgICAgICAgIC5yZXBsYWNlKC9eXFwvKi9nbSwgXCJcIikgLy8gcmVtb3ZlIHNsYXNoIHByZWZpeFxuICAgICAgICAgICAgLnJlcGxhY2UoL1xcLyokL2dtLCBcIlwiKTsgLy8gcmVtb3ZlIHNsYXNoIHN1ZmZpeDtcbiAgICB9XG59XG4iXX0=