topsecret-cli
Version:
Command line utility for TopSecret package
29 lines (24 loc) • 833 B
JavaScript
// setup.js:
;
// load all necessary modules
const path = require("path");
const fs = require("fs");
async function setup(topsecret, clipboard, options) {
if (options.key) {
topsecret.key = options.key;
} else if (options.keyFile) {
topsecret.key = fs.readFileSync(path.resolve(options.keyFile), "utf8");
} else if (options.keyenvvar) {
topsecret.key = process.env[options.keyenvvar];
} else if (options.password) {
topsecret.password = options.password;
} else if (options.passwordenvvar) {
topsecret.password = process.env[options.passwordenvvar];
} else if (options.clipboard) {
topsecret.key = await clipboard.paste();
} else {
throw new Error("No encryption key or password was specified!");
}
}
// export function to csetup topsecret instance
module.exports = setup;