UNPKG

@papavault/cli

Version:

CLI tool for Papa Vault Secret Manager

77 lines (76 loc) 2.89 kB
#!/usr/bin/env node "use strict"; 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; } });