sx-cli-tool
Version:
Laravel va Vue frameworklaridagi monolith arxitektura loyihalarni boshqarish uchun mo'ljallangan CLI tool
88 lines (87 loc) • 3.61 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const commander_1 = require("commander");
const inquirer_1 = __importDefault(require("inquirer"));
const child_process_1 = require("child_process");
const program = new commander_1.Command();
const tailwind_1 = require("./tailwind");
const laravel_1 = require("./laravel");
// start dev server
program
.command("start server")
.description("start dev server")
.action(() => __awaiter(void 0, void 0, void 0, function* () {
(0, child_process_1.execSync)("yarn dev", { stdio: "inherit", cwd: __dirname });
}));
// setup tailwind
program
.command("tailwind:setup")
.description("setup tailwind")
.action(() => __awaiter(void 0, void 0, void 0, function* () {
const { framework, packageManager } = yield inquirer_1.default.prompt([
{
type: "list",
name: "framework",
message: "Tailwind CSS setup qilinishi uchun frameworkni tanlang:",
choices: ["Vue 3", "React", "Laravel + Vue 3", "Laravel + React"],
},
{
type: "list",
name: "packageManager",
message: "Package managerni tanlang:",
choices: ["npm", "yarn", "pnpm"],
},
]);
const projectPath = process.cwd();
switch (framework) {
case "Vue 3":
(0, tailwind_1.tailwindVueSetup)(projectPath, packageManager);
break;
case "React":
(0, tailwind_1.tailwindReactSetup)(projectPath, packageManager);
break;
case "Laravel + Vue 3":
(0, tailwind_1.tailwindLaravelVueSetup)(projectPath, packageManager);
break;
case "Laravel + React":
// tailwindLaravelReactSetup(projectPath, packageManager);
break;
}
}));
// setup vue 3 in laravel
program
.command("laravel:vue-setup")
.description("setup vue 3 in laravel")
.action(() => __awaiter(void 0, void 0, void 0, function* () {
const projectPath = process.cwd();
(0, laravel_1.laravelVueSetup)(projectPath);
// tailwindLaravelVueSetup(projectPath, "yarn");
}));
// setup react in laravel
// program
// .command("react:setup")
// .description("setup react in laravel")
// .action(async () => {
// const projectPath = process.cwd();
// tailwindLaravelReactSetup(projectPath, "yarn");
// });
// generate entity
program.command("generate-entity <entityName>").description("generate entity").action((entityName) => __awaiter(void 0, void 0, void 0, function* () {
// open in browser
const url = `http://localhost:3000/configure-entity/${entityName}?projectPath=${process.cwd()}`;
(0, child_process_1.execSync)(`start ${url}`);
}));
program.parse(process.argv);