cvm-cli
Version:
A unified CLI tool for managing PHP, Node.js, and Python versions with virtual environment and dependency management support.
31 lines (26 loc) • 819 B
JavaScript
const NodeVersionManager = require('./nodeVersionManager');
const PythonVersionManager = require('./pythonVersionManager');
const PHPVersionManager = require('./phpVersionManager');
class VersionManagerFactory {
static create(language) {
switch (language.toLowerCase()) {
case 'node':
case 'nodejs':
return new NodeVersionManager();
case 'python':
case 'py':
return new PythonVersionManager();
case 'php':
return new PHPVersionManager();
default:
throw new Error(`Unsupported language: ${language}`);
}
}
static getSupportedLanguages() {
return ['node', 'python', 'php'];
}
static isSupported(language) {
return this.getSupportedLanguages().includes(language.toLowerCase());
}
}
module.exports = VersionManagerFactory;