cvm-cli
Version:
A unified CLI tool for managing PHP, Node.js, and Python versions with virtual environment and dependency management support.
46 lines (38 loc) • 997 B
JavaScript
const { spawn } = require('child_process');
const path = require('path');
const cvmPath = path.join(__dirname, 'cvm.js');
const args = process.argv.slice(2);
// Map cenv commands to cvm env commands
const command = args[0];
const name = args[1];
if (!command) {
console.log('Usage: cenv {create|activate|deactivate|list} [environment_name]');
console.log('Examples:');
console.log(' cenv create myproject');
console.log(' cenv activate myproject');
console.log(' cenv deactivate');
console.log(' cenv list');
process.exit(1);
}
let cvmArgs;
switch (command) {
case 'create':
case 'activate':
cvmArgs = ['env', command, name];
break;
case 'deactivate':
case 'list':
cvmArgs = ['env', command];
break;
default:
console.log(`Unknown command: ${command}`);
process.exit(1);
}
const child = spawn('node', [cvmPath, ...cvmArgs], {
stdio: 'inherit',
shell: true
});
child.on('exit', (code) => {
process.exit(code);
});