@naturalcycles/nodejs-lib
Version:
Standard library for Node.js
29 lines • 1.26 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const js_lib_1 = require("@naturalcycles/js-lib");
const fs = require("fs-extra");
const globby = require("globby");
const path = require("path");
const __1 = require("..");
const colors_1 = require("../colors");
/**
* Decrypts all files in given directory (*.enc), saves decrypted versions without ending `.enc`.
* Using provided encKey.
*/
async function secretsDecrypt(dir, encKey, algorithm, del) {
const patterns = dir.map(d => `${d}/**/*.enc`);
const filenames = await globby(patterns);
await js_lib_1.pMap(filenames, async (filename) => {
const enc = await fs.readFile(filename);
const plain = __1.decryptRandomIVBuffer(enc, encKey, algorithm);
const plainFilename = filename.substr(0, filename.length - '.enc'.length);
await fs.writeFile(plainFilename, plain);
if (del) {
await fs.unlink(filename);
}
console.log(` ${path.basename(filename)} > ${path.basename(plainFilename)}`);
});
console.log(`decrypted ${colors_1.yellow(filenames.length)} files in ${colors_1.dimGrey(dir.join(' '))}`);
}
exports.secretsDecrypt = secretsDecrypt;
//# sourceMappingURL=secrets-decrypt.util.js.map