cvm-cli
Version:
A unified CLI tool for managing PHP, Node.js, and Python versions with virtual environment and dependency management support.
174 lines (167 loc) • 4.4 kB
JavaScript
const templates = {
// PHP Frameworks
laravel: {
language: 'php',
description: 'Laravel PHP Framework',
command: 'composer create-project laravel/laravel',
requirements: ['php', 'composer'],
minVersion: '8.0.0'
},
symfony: {
language: 'php',
description: 'Symfony PHP Framework',
command: 'composer create-project symfony/skeleton',
requirements: ['php', 'composer'],
minVersion: '8.0.0'
},
codeigniter: {
language: 'php',
description: 'CodeIgniter PHP Framework',
command: 'composer create-project codeigniter4/appstarter',
requirements: ['php', 'composer'],
minVersion: '7.4.0'
},
// Python Frameworks
django: {
language: 'python',
description: 'Django Python Web Framework',
command: 'django-admin startproject',
requirements: ['python', 'pip'],
minVersion: '3.8.0',
setup: ['pip install django']
},
flask: {
language: 'python',
description: 'Flask Python Micro Framework',
command: 'flask init',
requirements: ['python', 'pip'],
minVersion: '3.7.0',
setup: ['pip install flask']
},
fastapi: {
language: 'python',
description: 'FastAPI Python Framework',
command: 'fastapi new',
requirements: ['python', 'pip'],
minVersion: '3.7.0',
setup: ['pip install fastapi uvicorn']
},
// Node.js Frameworks & Libraries
'next-app': {
language: 'node',
description: 'Next.js React Framework',
command: 'npx create-next-app@latest',
requirements: ['node', 'npm'],
minVersion: '16.0.0'
},
'react-app': {
language: 'node',
description: 'Create React App',
command: 'npx create-react-app',
requirements: ['node', 'npm'],
minVersion: '14.0.0'
},
'react-native': {
language: 'node',
description: 'React Native Mobile App',
command: 'npx react-native init',
requirements: ['node', 'npm'],
minVersion: '16.0.0'
},
vue: {
language: 'node',
description: 'Vue.js Application',
command: 'npm create vue@latest',
requirements: ['node', 'npm'],
minVersion: '16.0.0'
},
angular: {
language: 'node',
description: 'Angular Application',
command: 'npx @angular/cli new',
requirements: ['node', 'npm'],
minVersion: '16.0.0'
},
express: {
language: 'node',
description: 'Express.js Server',
command: 'npx express-generator',
requirements: ['node', 'npm'],
minVersion: '14.0.0'
},
nestjs: {
language: 'node',
description: 'NestJS Framework',
command: 'npx @nestjs/cli new',
requirements: ['node', 'npm'],
minVersion: '16.0.0'
},
nuxt: {
language: 'node',
description: 'Nuxt.js Framework',
command: 'npx nuxi@latest init',
requirements: ['node', 'npm'],
minVersion: '16.0.0'
},
svelte: {
language: 'node',
description: 'SvelteKit Application',
command: 'npm create svelte@latest',
requirements: ['node', 'npm'],
minVersion: '16.0.0'
},
vite: {
language: 'node',
description: 'Vite Project',
command: 'npm create vite@latest',
requirements: ['node', 'npm'],
minVersion: '14.0.0'
},
electron: {
language: 'node',
description: 'Electron Desktop App',
command: 'npx create-electron-app',
requirements: ['node', 'npm'],
minVersion: '16.0.0'
},
// Mobile Frameworks
ionic: {
language: 'node',
description: 'Ionic Mobile App Framework',
command: 'npx @ionic/cli start',
requirements: ['node', 'npm'],
minVersion: '16.0.0'
},
cordova: {
language: 'node',
description: 'Apache Cordova Mobile App',
command: 'npx cordova create',
requirements: ['node', 'npm'],
minVersion: '14.0.0'
},
// Static Site Generators
gatsby: {
language: 'node',
description: 'Gatsby Static Site Generator',
command: 'npx create-gatsby',
requirements: ['node', 'npm'],
minVersion: '16.0.0'
},
hugo: {
language: 'go',
description: 'Hugo Static Site Generator',
command: 'hugo new site',
requirements: ['hugo'],
minVersion: '0.100.0'
},
// Additional Templates
typescript: {
language: 'node',
description: 'TypeScript Project',
command: 'npm init -y && npm install -D typescript @types/node',
requirements: ['node', 'npm'],
minVersion: '14.0.0',
postSetup: ['npx tsc --init']
}
};
module.exports = templates;