UNPKG

validstart

Version:

ValidStart is a powerful and intuitive command-line interface (CLI) tool meticulously crafted to streamline the project setup process.

35 lines (34 loc) • 1.6 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.scaffoldBackendPHP = scaffoldBackendPHP; const fs_extra_1 = __importDefault(require("fs-extra")); const path_1 = __importDefault(require("path")); const chalk_1 = __importDefault(require("chalk")); ; const execa_1 = require("execa"); ; async function scaffoldBackendPHP(options) { const { projectName, framework } = options; const projectPath = path_1.default.resolve(process.cwd(), projectName); console.log(chalk_1.default.cyan(`\n🐘 Creating PHP backend project with ${chalk_1.default.bold(framework)}`)); if (framework.toLowerCase() === "laravel") { await (0, execa_1.execa)("composer", ["create-project", "--prefer-dist", "laravel/laravel", projectName], { stdio: "inherit", }); } else if (framework.toLowerCase() === "symfony") { await (0, execa_1.execa)("composer", ["create-project", "symfony/skeleton", projectName], { stdio: "inherit", }); } else { await fs_extra_1.default.mkdirp(projectPath); await fs_extra_1.default.writeFile(path_1.default.join(projectPath, "index.php"), `<?php echo "Hello from PHP!"; ?>`); } console.log(chalk_1.default.gray("šŸ”§ Initializing git...")); await (0, execa_1.execa)("git", ["init"], { cwd: projectPath }); console.log(chalk_1.default.green(`\nāœ… PHP project '${projectName}' created at ${projectPath}\n`)); }