vlt
Version:
The vlt CLI
89 lines (86 loc) • 2.36 kB
JavaScript
var global = globalThis;
import {Buffer} from "node:buffer";
import {setTimeout,clearTimeout,setImmediate,clearImmediate,setInterval,clearInterval} from "node:timers";
import {createRequire as _vlt_createRequire} from "node:module";
var require = _vlt_createRequire(import.meta.filename);
import {
deleteToken,
setToken
} from "./chunk-OTLTOVZN.js";
import {
commandUsage
} from "./chunk-L3E552CT.js";
import "./chunk-KPA4XNCN.js";
import "./chunk-VYJVN3B6.js";
import "./chunk-B4MAUXR2.js";
import "./chunk-W7RMFRDJ.js";
import "./chunk-O57KIW5U.js";
import "./chunk-JBBINXAZ.js";
import "./chunk-OAYCZMD4.js";
import "./chunk-BA67AKYJ.js";
import {
error
} from "./chunk-KVH5ECIG.js";
import "./chunk-AECDW3EJ.js";
// ../../src/cli-sdk/src/read-password.ts
var readPassword = async (prompt, { stdin, stdout } = process) => {
let input = "";
stdout.write(prompt);
stdin.setRawMode(true);
await new Promise((res, rej) => {
stdin.on("data", (c) => {
if (c.length === 1 && c[0] === 127) {
input = input.substring(0, input.length - 1);
stdout.write("\x1B[1D \x1B[1D");
return;
}
input += String(c);
if (/\r|\n|\x04|\x03/.test(input)) {
input = input.replace(/(\r|\n|\x04|\x03)/g, "");
stdin.setRawMode(false);
stdin.pause();
if (c[c.length - 1] === 3) {
rej(error("canceled", { signal: "SIGINT" }));
} else res();
} else {
stdout.write("*".repeat(c.length));
}
});
});
return input;
};
// ../../src/cli-sdk/src/commands/token.ts
var usage = () => commandUsage({
command: "token",
usage: ["add", "rm"],
description: `Explicitly add or remove tokens in the vlt keychain`
});
var command = async (conf) => {
const reg = new URL(conf.options.registry).origin;
switch (conf.positionals[0]) {
case "add": {
await setToken(
reg,
`Bearer ${await readPassword("Paste bearer token: ")}`,
conf.options.identity
);
break;
}
case "rm": {
await deleteToken(reg, conf.options.identity);
break;
}
default: {
throw error("Invalid token subcommand", {
found: conf.positionals[0],
validOptions: ["add", "rm"],
code: "EUSAGE"
});
}
}
};
export {
command,
usage
};
//# sourceMappingURL=token-NPE66QAD.js.map