UNPKG

sx-cli-tool

Version:

Laravel va Vue frameworklaridagi monolith arxitektura loyihalarni boshqarish uchun mo'ljallangan CLI tool

46 lines (45 loc) 1.59 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.generateRoute = generateRoute; const fs_1 = __importDefault(require("fs")); const path_1 = __importDefault(require("path")); const folder_1 = require("../../utils/folder"); function generateRoute(entityName, apiIdPlural, projectPath, groupName = "/admin", apiIdSingular) { const routesPath = path_1.default.join(projectPath, "resources", "vue", "router", "routes", `${groupName.toLocaleLowerCase()}/${apiIdPlural}.ts`); // Ensure the router directory exists (0, folder_1.ensureDirectoryExists)(routesPath); const routeTemplate = ` import { h, resolveComponent } from "vue"; export const ${apiIdSingular}Routes = { path: "/${apiIdPlural}", name: "${entityName}", component: { render() { return h(resolveComponent("router-view")) } }, children: [ { path: "", name: "${entityName}Index", component: () => import("@/pages${groupName}/${apiIdPlural}/Index.vue") }, { path: "create", name: "${entityName}Create", component: () => import("@/pages${groupName}/${apiIdPlural}/AddOrUpdate.vue") }, { path: ":id/update", name: "${entityName}Edit", component: () => import("@/pages${groupName}/${apiIdPlural}/AddOrUpdate.vue") } ] } `; fs_1.default.appendFileSync(routesPath, routeTemplate, "utf8"); console.log(`Route added to ${routesPath}`); }