@broadcom/endevor-for-zowe-cli
Version:
Endevor Plug-in for Zowe CLI
60 lines • 6.06 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.CacheUtils = void 0;
const fs = require("fs");
const zlib = require("zlib");
const lodash_1 = require("lodash");
const HashUtils_1 = require("./HashUtils");
const WorkspaceUtils_1 = require("./WorkspaceUtils");
class CacheUtils {
static addSha1FileFromFile(workspaceDir, environment, stageNum, system, subsystem, version, originalFile) {
return __awaiter(this, void 0, void 0, function* () {
const dir = `${workspaceDir}/.endevor/${environment}/${stageNum}/${system}/${subsystem}`;
version.sha1 = yield HashUtils_1.HashUtils.getFileHash(originalFile);
const fileName = `${dir}/${version.sha1}${(0, lodash_1.random)(1000000)}`;
version.sha1File = fileName;
WorkspaceUtils_1.WorkspaceUtils.ensureDirectoryExistence(fileName);
yield new Promise((fullfil) => {
const inStream = fs.createReadStream(originalFile);
const outStream = fs.createWriteStream(fileName);
const gzip = zlib.createGzip();
const zipStream = inStream.pipe(gzip);
zipStream.pipe(outStream);
zipStream.on("finish", fullfil);
});
});
}
static addSha1FileFromBuffer(workspaceDir, environment, stageNum, system, subsystem, version, content) {
return __awaiter(this, void 0, void 0, function* () {
const dir = `${workspaceDir}/.endevor/${environment}/${stageNum}/${system}/${subsystem}`;
const tempFile = `${dir}/temp${(0, lodash_1.random)(1000000000000000000000000)}`;
WorkspaceUtils_1.WorkspaceUtils.ensureDirectoryExistence(tempFile);
content = zlib.gzipSync(content);
fs.writeFileSync(tempFile, content);
version.sha1 = yield HashUtils_1.HashUtils.getFileHash(tempFile);
const fileName = `${dir}/${version.sha1}${(0, lodash_1.random)(1000000)}`;
fs.renameSync(tempFile, fileName);
version.sha1File = fileName;
});
}
static readSha1File(version) {
return zlib.gunzipSync(fs.readFileSync(version.sha1File));
}
static removeSha1File(version) {
if (version.sha1File != null && version.sha1File != "" && fs.existsSync(version.sha1File))
fs.unlinkSync(version.sha1File);
version.sha1File = "";
version.sha1 = "";
}
}
exports.CacheUtils = CacheUtils;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FjaGVVdGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvd29ya3NwYWNlL0NhY2hlVXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBdUJBLHlCQUF5QjtBQUN6Qiw2QkFBNkI7QUFDN0IsbUNBQWdDO0FBRWhDLDJDQUF3QztBQUN4QyxxREFBa0Q7QUFDbEQsTUFBYSxVQUFVO0lBWWQsTUFBTSxDQUFPLG1CQUFtQixDQUNyQyxZQUFvQixFQUNwQixXQUFtQixFQUNuQixRQUFnQixFQUNoQixNQUFjLEVBQ2QsU0FBaUIsRUFDakIsT0FBcUMsRUFDckMsWUFBb0I7O1lBRXBCLE1BQU0sR0FBRyxHQUFHLEdBQUcsWUFBWSxhQUFhLFdBQVcsSUFBSSxRQUFRLElBQUksTUFBTSxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ3pGLE9BQU8sQ0FBQyxJQUFJLEdBQUcsTUFBTSxxQkFBUyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUN6RCxNQUFNLFFBQVEsR0FBRyxHQUFHLEdBQUcsSUFBSSxPQUFPLENBQUMsSUFBSSxHQUFHLElBQUEsZUFBTSxFQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDNUQsT0FBTyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7WUFDNUIsK0JBQWMsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNsRCxNQUFNLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQzVCLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDbkQsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNqRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQy9CLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3RDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQzFCLFNBQVMsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ2xDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUFBO0lBYU0sTUFBTSxDQUFPLHFCQUFxQixDQUN2QyxZQUFvQixFQUNwQixXQUFtQixFQUNuQixRQUFnQixFQUNoQixNQUFjLEVBQ2QsU0FBaUIsRUFDakIsT0FBcUMsRUFDckMsT0FBZTs7WUFFZixNQUFNLEdBQUcsR0FBRyxHQUFHLFlBQVksYUFBYSxXQUFXLElBQUksUUFBUSxJQUFJLE1BQU0sSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUN6RixNQUFNLFFBQVEsR0FBRyxHQUFHLEdBQUcsUUFBUSxJQUFBLGVBQU0sRUFBQyx5QkFBeUIsQ0FBQyxFQUFFLENBQUM7WUFDbkUsK0JBQWMsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNsRCxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNqQyxFQUFFLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNwQyxPQUFPLENBQUMsSUFBSSxHQUFHLE1BQU0scUJBQVMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDckQsTUFBTSxRQUFRLEdBQUcsR0FBRyxHQUFHLElBQUksT0FBTyxDQUFDLElBQUksR0FBRyxJQUFBLGVBQU0sRUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzVELEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ2xDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQzlCLENBQUM7S0FBQTtJQVFNLE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBcUM7UUFDOUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQU9NLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBcUM7UUFDaEUsSUFBSSxPQUFPLENBQUMsUUFBUSxJQUFJLElBQUksSUFBSSxPQUFPLENBQUMsUUFBUSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7WUFDdkYsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEMsT0FBTyxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDdEIsT0FBTyxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7SUFDcEIsQ0FBQztDQUNGO0FBeEZELGdDQXdGQyJ9