UNPKG

@naturalcycles/nodejs-lib

Version:
32 lines 1.26 kB
"use strict"; 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"); /** * Encrypts all files in given directory (except *.enc), saves encrypted versions as filename.ext.enc. * Using provided encKey. */ async function secretsEncrypt(pattern, encKey, algorithm, del) { const patterns = [ ...pattern, `!**/*.enc`, ]; const filenames = await globby(patterns); await js_lib_1.pMap(filenames, async (filename) => { const plain = await fs.readFile(filename); const enc = await __1.encryptRandomIVBuffer(plain, encKey, algorithm); const encFilename = `${filename}.enc`; await fs.writeFile(encFilename, enc); if (del) { await fs.unlink(filename); } console.log(` ${path.basename(filename)} > ${path.basename(encFilename)}`); }); console.log(`encrypted ${colors_1.yellow(filenames.length)} files in (${colors_1.dimGrey(pattern.join(' '))})`); } exports.secretsEncrypt = secretsEncrypt; //# sourceMappingURL=secrets-encrypt.util.js.map