@papavault/cli
Version:
CLI tool for Papa Vault Secret Manager
77 lines (76 loc) • 2.89 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.PapaVault = void 0;
const commander_1 = require("commander");
const chalk_1 = __importDefault(require("chalk"));
const dotenv_1 = __importDefault(require("dotenv"));
const login_1 = require("./commands/login");
const logout_1 = require("./commands/logout");
const set_project_1 = require("./commands/set-project");
const sync_1 = require("./commands/sync");
const status_1 = require("./commands/status");
const list_projects_1 = require("./commands/list-projects");
const get_credentials_1 = require("./commands/get-credentials");
const config_1 = require("./config");
// Load environment variables from .env.papavault if it exists
dotenv_1.default.config({ path: '.env.papavault' });
const program = new commander_1.Command();
program
.name('papavault')
.description('CLI tool for Papa Vault Secret Manager')
.version('1.1.6')
.option('-t, --token <token>', 'Papa Vault API token')
.option('-p, --project <projectId>', 'Project ID')
.option('-u, --url <url>', 'Papa Vault API URL')
.option('-d, --debug', 'Enable debug logging');
// Register commands
(0, login_1.loginCommand)(program);
(0, logout_1.logoutCommand)(program);
(0, set_project_1.setProjectCommand)(program);
(0, sync_1.syncCommand)(program);
(0, status_1.statusCommand)(program);
(0, list_projects_1.listProjectsCommand)(program);
(0, get_credentials_1.getCredentialsCommand)(program);
// Add a help command
program
.command('help')
.description('Display help information')
.action(() => {
program.outputHelp();
});
// Handle unknown commands
program.on('command:*', () => {
console.error(chalk_1.default.red(`\nError: Invalid command: ${program.args.join(' ')}\n`));
console.log(`See ${chalk_1.default.cyan('papavault --help')} for a list of available commands.`);
process.exit(1);
});
// Parse command line arguments
program.parse(process.argv);
// If no arguments provided, show help
if (process.argv.length === 2) {
program.outputHelp();
}
const options = program.opts();
// Configure debug logging
if (options.debug) {
process.env.DEBUG = 'true';
}
// Set token from command line if provided
if (options.token) {
config_1.config.set('token', options.token);
}
// Set project from command line if provided
if (options.project) {
config_1.config.set('projectId', options.project);
}
// Set API URL from command line if provided
if (options.url) {
config_1.config.set('baseUrl', options.url);
}
// Export the PapaVault class and its types
var papavault_1 = require("./papavault");
Object.defineProperty(exports, "PapaVault", { enumerable: true, get: function () { return papavault_1.PapaVault; } });