UNPKG

gitlab-ci-local

Version:

Tired of pushing to test your .gitlab-ci.yml?

51 lines 5.88 kB
class AbstractWriteStreams { memoStdout = (() => { const cache = new Map(); return (message) => { if (cache.has(message)) return; cache.set(message, null); this.stdout(message); }; })(); } export class WriteStreamsProcess extends AbstractWriteStreams { stderr(txt) { process.stderr.write(txt); } stdout(txt) { process.stdout.write(txt); } flush() { // Process write streams flushes themselves. } } export class WriteStreamsMock extends AbstractWriteStreams { currentStderr = ""; currentStdout = ""; stderrLines = []; stdoutLines = []; stderr(txt) { this.currentStderr += txt; if (txt.endsWith("\n")) { this.stderrLines.push(this.currentStderr.slice(0, -1)); this.currentStderr = ""; } } stdout(txt) { this.currentStdout += txt; if (txt.endsWith("\n")) { this.stdoutLines.push(this.currentStdout.slice(0, -1)); this.currentStdout = ""; } } flush() { if (this.currentStdout.length != 0) { this.stdout("\n"); } if (this.currentStderr.length != 0) { this.stderr("\n"); } } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtc3RyZWFtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIndyaXRlLXN0cmVhbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsTUFBZSxvQkFBb0I7SUFLL0IsVUFBVSxHQUFHLENBQUMsR0FBRyxFQUFFO1FBQ2YsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUN4QixPQUFPLENBQUMsT0FBZSxFQUFFLEVBQUU7WUFDdkIsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQztnQkFBRSxPQUFPO1lBQy9CLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDO0lBQ04sQ0FBQyxDQUFDLEVBQUUsQ0FBQztDQUNSO0FBRUQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLG9CQUFvQjtJQUN6RCxNQUFNLENBQUUsR0FBVztRQUNmLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxNQUFNLENBQUUsR0FBVztRQUNmLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxLQUFLO1FBQ0QsNENBQTRDO0lBQ2hELENBQUM7Q0FDSjtBQUVELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxvQkFBb0I7SUFDOUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUNuQixhQUFhLEdBQUcsRUFBRSxDQUFDO0lBRWxCLFdBQVcsR0FBYSxFQUFFLENBQUM7SUFDM0IsV0FBVyxHQUFhLEVBQUUsQ0FBQztJQUVwQyxNQUFNLENBQUUsR0FBVztRQUNmLElBQUksQ0FBQyxhQUFhLElBQUksR0FBRyxDQUFDO1FBQzFCLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkQsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDNUIsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUUsR0FBVztRQUNmLElBQUksQ0FBQyxhQUFhLElBQUksR0FBRyxDQUFDO1FBQzFCLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkQsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDNUIsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLO1FBQ0QsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RCLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEIsQ0FBQztJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgV3JpdGVTdHJlYW1zIHtcbiAgICBzdGRvdXQ6ICh0eHQ6IHN0cmluZykgPT4gdm9pZDtcbiAgICBtZW1vU3Rkb3V0OiAodHh0OiBzdHJpbmcpID0+IHZvaWQ7XG4gICAgc3RkZXJyOiAodHh0OiBzdHJpbmcpID0+IHZvaWQ7XG4gICAgZmx1c2g6ICgpID0+IHZvaWQ7XG59XG5cbmFic3RyYWN0IGNsYXNzIEFic3RyYWN0V3JpdGVTdHJlYW1zIGltcGxlbWVudHMgV3JpdGVTdHJlYW1zIHtcbiAgICBhYnN0cmFjdCBzdGRvdXQgKHR4dDogc3RyaW5nKTogdm9pZDtcbiAgICBhYnN0cmFjdCBzdGRlcnIgKHR4dDogc3RyaW5nKTogdm9pZDtcbiAgICBhYnN0cmFjdCBmbHVzaCAoKTogdm9pZDtcblxuICAgIG1lbW9TdGRvdXQgPSAoKCkgPT4ge1xuICAgICAgICBjb25zdCBjYWNoZSA9IG5ldyBNYXAoKTtcbiAgICAgICAgcmV0dXJuIChtZXNzYWdlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIGlmIChjYWNoZS5oYXMobWVzc2FnZSkpIHJldHVybjtcbiAgICAgICAgICAgIGNhY2hlLnNldChtZXNzYWdlLCBudWxsKTtcbiAgICAgICAgICAgIHRoaXMuc3Rkb3V0KG1lc3NhZ2UpO1xuICAgICAgICB9O1xuICAgIH0pKCk7XG59XG5cbmV4cG9ydCBjbGFzcyBXcml0ZVN0cmVhbXNQcm9jZXNzIGV4dGVuZHMgQWJzdHJhY3RXcml0ZVN0cmVhbXMge1xuICAgIHN0ZGVyciAodHh0OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgcHJvY2Vzcy5zdGRlcnIud3JpdGUodHh0KTtcbiAgICB9XG5cbiAgICBzdGRvdXQgKHR4dDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHByb2Nlc3Muc3Rkb3V0LndyaXRlKHR4dCk7XG4gICAgfVxuXG4gICAgZmx1c2ggKCk6IHZvaWQge1xuICAgICAgICAvLyBQcm9jZXNzIHdyaXRlIHN0cmVhbXMgZmx1c2hlcyB0aGVtc2VsdmVzLlxuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFdyaXRlU3RyZWFtc01vY2sgZXh0ZW5kcyBBYnN0cmFjdFdyaXRlU3RyZWFtcyB7XG4gICAgcHJpdmF0ZSBjdXJyZW50U3RkZXJyID0gXCJcIjtcbiAgICBwcml2YXRlIGN1cnJlbnRTdGRvdXQgPSBcIlwiO1xuXG4gICAgcmVhZG9ubHkgc3RkZXJyTGluZXM6IHN0cmluZ1tdID0gW107XG4gICAgcmVhZG9ubHkgc3Rkb3V0TGluZXM6IHN0cmluZ1tdID0gW107XG5cbiAgICBzdGRlcnIgKHR4dDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3VycmVudFN0ZGVyciArPSB0eHQ7XG4gICAgICAgIGlmICh0eHQuZW5kc1dpdGgoXCJcXG5cIikpIHtcbiAgICAgICAgICAgIHRoaXMuc3RkZXJyTGluZXMucHVzaCh0aGlzLmN1cnJlbnRTdGRlcnIuc2xpY2UoMCwgLTEpKTtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFN0ZGVyciA9IFwiXCI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdGRvdXQgKHR4dDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3VycmVudFN0ZG91dCArPSB0eHQ7XG4gICAgICAgIGlmICh0eHQuZW5kc1dpdGgoXCJcXG5cIikpIHtcbiAgICAgICAgICAgIHRoaXMuc3Rkb3V0TGluZXMucHVzaCh0aGlzLmN1cnJlbnRTdGRvdXQuc2xpY2UoMCwgLTEpKTtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFN0ZG91dCA9IFwiXCI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmbHVzaCAoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRTdGRvdXQubGVuZ3RoICE9IDApIHtcbiAgICAgICAgICAgIHRoaXMuc3Rkb3V0KFwiXFxuXCIpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRTdGRlcnIubGVuZ3RoICE9IDApIHtcbiAgICAgICAgICAgIHRoaXMuc3RkZXJyKFwiXFxuXCIpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19