UNPKG

bitbucket-env-manager

Version:

Deploys Bitbucket Environment

72 lines (62 loc) 2.05 kB
#!/usr/bin/env node const { intro, outro, select, isCancel, cancel, log } = require('@clack/prompts'); const color = require('picocolors'); const { runInit, runGenerate } = require('./src/init'); const { runDeploy } = require('./src/deploy'); const { delete_env } = require('./src/delete_env'); const { list } = require('./src/list'); const { download } = require('./src/download'); const [, , ...args] = process.argv; const [firstArg] = args; (async () => { console.clear(); intro(color.bgCyan(color.black(' Bitbucket Env Manager '))); try { const choices = ['init', 'generate', 'deploy', 'list', 'download', 'delete']; let choice = choices.find((c) => c === firstArg); if (!choice) { if (firstArg) { log.warn(`No matching command for "${firstArg}"`); } choice = await select({ message: 'What would you like to do?', options: [ { value: 'init', label: 'Init', hint: 'Configure OAuth credentials' }, { value: 'generate', label: 'Generate', hint: 'Create project template' }, { value: 'deploy', label: 'Deploy', hint: 'Push env vars to Bitbucket' }, { value: 'list', label: 'List', hint: 'View environment variables' }, { value: 'download', label: 'Download', hint: 'Fetch env vars from Bitbucket' }, { value: 'delete', label: 'Delete', hint: 'Remove an environment' }, ], }); if (isCancel(choice)) { cancel('Operation cancelled.'); process.exit(0); } } switch (choice) { case 'init': await runInit(); break; case 'generate': await runGenerate(); break; case 'deploy': await runDeploy(); break; case 'list': await list(); break; case 'download': await download({ multiple: true }); break; case 'delete': await delete_env(); break; } outro(color.green('Done!')); } catch (e) { log.error(e.message); process.exit(1); } })();