UNPKG

vinz

Version:

Enables secure storage of credentials right in your repo using AWS KMS.

54 lines (44 loc) 1.49 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.readFromFile = exports.prepSecretDir = exports.writeToFile = undefined; var _fs = require('fs'); var _fs2 = _interopRequireDefault(_fs); var _path = require('path'); var _path2 = _interopRequireDefault(_path); var _constants = require('../constants'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const writeToFile = exports.writeToFile = (fileName, encryptedData) => { const secretPath = _path2.default.join(process.cwd(), _constants.SECRET_DIR_NAME, fileName); return new Promise((resolve, reject) => { _fs2.default.writeFile(secretPath, encryptedData, err => { if (err) { reject(err); } else { resolve('success'); } }); }).catch(err => { throw new Error(`Error writing to ${ secretPath }. Details: \n\n${ err }`); }); }; const prepSecretDir = exports.prepSecretDir = () => { const secretsDir = _path2.default.join(process.cwd(), _constants.SECRET_DIR_NAME); try { _fs2.default.statSync(secretsDir); } catch (e) { _fs2.default.mkdir(secretsDir); } }; const readFromFile = exports.readFromFile = secretName => { return new Promise((resolve, reject) => { _fs2.default.readFile(_path2.default.join(process.cwd(), _constants.SECRET_DIR_NAME, secretName), (err, data) => { if (err) { reject(err); } else { resolve(data); } }); }); };