onramp-docs-cli
Version:
CLI tool to set up Onramp documentation and integration in your project
70 lines (62 loc) • 1.64 kB
JavaScript
const { Command } = require('commander');
const { OnrampDocs } = require('../dist/index');
const chalk = require('chalk');
const program = new Command();
const onrampDocs = new OnrampDocs();
program
.name('onramp-docs')
.description('CLI tool to set up Onramp documentation in your project')
.version('1.0.0');
// Setup command
program
.command('setup')
.description('Set up Onramp documentation in your project')
.option('-p, --path <path>', 'Custom documentation path')
.option('-f, --force', 'Force overwrite existing files')
.action(async (options) => {
try {
await onrampDocs.setupDocs({
docsPath: options.path,
force: options.force
});
} catch (error) {
console.error(chalk.red('Error:'), error.message);
process.exit(1);
}
});
// Install command
program
.command('install')
.description('Install Onramp dependencies')
.action(async () => {
try {
await onrampDocs.installDependencies();
} catch (error) {
console.error(chalk.red('Error:'), error.message);
process.exit(1);
}
});
// Env command
program
.command('env')
.description('Create environment file template')
.action(async () => {
try {
await onrampDocs.createEnvTemplate();
} catch (error) {
console.error(chalk.red('Error:'), error.message);
process.exit(1);
}
});
// List command (default)
program
.action(async () => {
try {
await onrampDocs.listDocs();
} catch (error) {
console.error(chalk.red('Error:'), error.message);
process.exit(1);
}
});
program.parse();