UNPKG

gitlab-ci-local

Version:

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

22 lines 3.79 kB
import fs from "fs-extra"; import * as yaml from "js-yaml"; const loadStateYML = async (stateFile) => { if (!fs.existsSync(stateFile)) { return {}; } const stateFileContent = await fs.readFile(stateFile, "utf8"); return yaml.load(stateFileContent) || {}; }; const getPipelineIid = async (cwd, stateDir) => { const stateFile = `${cwd}/${stateDir}/state.yml`; const ymlData = await loadStateYML(stateFile); return ymlData["pipelineIid"] ? ymlData["pipelineIid"] : 0; }; const incrementPipelineIid = async (cwd, stateDir) => { const stateFile = `${cwd}/${stateDir}/state.yml`; const ymlData = await loadStateYML(stateFile); ymlData["pipelineIid"] = ymlData["pipelineIid"] != null ? ymlData["pipelineIid"] + 1 : 0; await fs.outputFile(stateFile, `---\n${yaml.dump(ymlData)}`); }; export { getPipelineIid, incrementPipelineIid }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDMUIsT0FBTyxLQUFLLElBQUksTUFBTSxTQUFTLENBQUM7QUFFaEMsTUFBTSxZQUFZLEdBQUcsS0FBSyxFQUFFLFNBQWlCLEVBQWdCLEVBQUU7SUFDM0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztRQUM1QixPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFDRCxNQUFNLGdCQUFnQixHQUFHLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDOUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDO0FBQzdDLENBQUMsQ0FBQztBQUVGLE1BQU0sY0FBYyxHQUFHLEtBQUssRUFBRSxHQUFXLEVBQUUsUUFBZ0IsRUFBRSxFQUFFO0lBQzNELE1BQU0sU0FBUyxHQUFHLEdBQUcsR0FBRyxJQUFJLFFBQVEsWUFBWSxDQUFDO0lBQ2pELE1BQU0sT0FBTyxHQUFHLE1BQU0sWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRTlDLE9BQU8sT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMvRCxDQUFDLENBQUM7QUFFRixNQUFNLG9CQUFvQixHQUFHLEtBQUssRUFBRSxHQUFXLEVBQUUsUUFBZ0IsRUFBRSxFQUFFO0lBQ2pFLE1BQU0sU0FBUyxHQUFHLEdBQUcsR0FBRyxJQUFJLFFBQVEsWUFBWSxDQUFDO0lBQ2pELE1BQU0sT0FBTyxHQUFHLE1BQU0sWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRTlDLE9BQU8sQ0FBQyxhQUFhLENBQUMsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekYsTUFBTSxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ2pFLENBQUMsQ0FBQztBQUVGLE9BQU8sRUFBQyxjQUFjLEVBQUUsb0JBQW9CLEVBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBmcyBmcm9tIFwiZnMtZXh0cmFcIjtcbmltcG9ydCAqIGFzIHlhbWwgZnJvbSBcImpzLXlhbWxcIjtcblxuY29uc3QgbG9hZFN0YXRlWU1MID0gYXN5bmMgKHN0YXRlRmlsZTogc3RyaW5nKTogUHJvbWlzZTxhbnk+ID0+IHtcbiAgICBpZiAoIWZzLmV4aXN0c1N5bmMoc3RhdGVGaWxlKSkge1xuICAgICAgICByZXR1cm4ge307XG4gICAgfVxuICAgIGNvbnN0IHN0YXRlRmlsZUNvbnRlbnQgPSBhd2FpdCBmcy5yZWFkRmlsZShzdGF0ZUZpbGUsIFwidXRmOFwiKTtcbiAgICByZXR1cm4geWFtbC5sb2FkKHN0YXRlRmlsZUNvbnRlbnQpIHx8IHt9O1xufTtcblxuY29uc3QgZ2V0UGlwZWxpbmVJaWQgPSBhc3luYyAoY3dkOiBzdHJpbmcsIHN0YXRlRGlyOiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBzdGF0ZUZpbGUgPSBgJHtjd2R9LyR7c3RhdGVEaXJ9L3N0YXRlLnltbGA7XG4gICAgY29uc3QgeW1sRGF0YSA9IGF3YWl0IGxvYWRTdGF0ZVlNTChzdGF0ZUZpbGUpO1xuXG4gICAgcmV0dXJuIHltbERhdGFbXCJwaXBlbGluZUlpZFwiXSA/IHltbERhdGFbXCJwaXBlbGluZUlpZFwiXSA6IDA7XG59O1xuXG5jb25zdCBpbmNyZW1lbnRQaXBlbGluZUlpZCA9IGFzeW5jIChjd2Q6IHN0cmluZywgc3RhdGVEaXI6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IHN0YXRlRmlsZSA9IGAke2N3ZH0vJHtzdGF0ZURpcn0vc3RhdGUueW1sYDtcbiAgICBjb25zdCB5bWxEYXRhID0gYXdhaXQgbG9hZFN0YXRlWU1MKHN0YXRlRmlsZSk7XG5cbiAgICB5bWxEYXRhW1wicGlwZWxpbmVJaWRcIl0gPSB5bWxEYXRhW1wicGlwZWxpbmVJaWRcIl0gIT0gbnVsbCA/IHltbERhdGFbXCJwaXBlbGluZUlpZFwiXSArIDEgOiAwO1xuICAgIGF3YWl0IGZzLm91dHB1dEZpbGUoc3RhdGVGaWxlLCBgLS0tXFxuJHt5YW1sLmR1bXAoeW1sRGF0YSl9YCk7XG59O1xuXG5leHBvcnQge2dldFBpcGVsaW5lSWlkLCBpbmNyZW1lbnRQaXBlbGluZUlpZH07XG4iXX0=