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
JavaScript
;
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`));
}