30 lines
743 B
TypeScript
Executable File
30 lines
743 B
TypeScript
Executable File
#!/usr/bin/env ts-node-transpile-only
|
|
import chalk from "chalk"
|
|
import prompts from "prompts"
|
|
import { OnePassword } from "./src/index"
|
|
|
|
async function main(args: string[]) {
|
|
const instance = new OnePassword({ path: args[0] })
|
|
const profiles = await instance.getProfileNames()
|
|
|
|
const { profile } = await prompts({
|
|
type: "select",
|
|
name: "profile",
|
|
choices: profiles.map(t => ({ title: t, value: t })),
|
|
message: "Which vault?",
|
|
})
|
|
|
|
console.log(chalk`You have chosen {green ${profile}}.`)
|
|
|
|
const vault = await instance.getProfile(profile)
|
|
const { password } = await prompts({
|
|
type: "invisible",
|
|
name: "password",
|
|
message: "Master Password?",
|
|
})
|
|
|
|
vault.unlock(password)
|
|
}
|
|
|
|
main(process.argv.slice(2))
|