UNPKG

@mongez/gnz

Version:

Generator Z, the next generation of scaffolding tools.

35 lines (34 loc) 1.8 kB
import {Command}from'commander';import path from'path';import {generateWarlockRepository}from'../../index.js';import {gnz}from'../../../../../main.js';const newWarlockRepositoryCommand = new Command("warlock:repository") .arguments("<name>") .requiredOption("-p, --path <path>", "Path to save the file to, relative to the project root") .option("-m, --model <model>", "Model name, if not provided, it will be generated from the repository name") .option("-mp, --modelPath <modelPath>", "Model path, if not provided, it will be generated from the repository name") .option("-c, --className <className>", "Class name, if not provided, it will be generated from the repository name") .option("-e, --exportName <exportName>", "Export name, if not provided, it will be generated from the repository name") .option("-f, --filters <filters>", "Filters, email:like,id:int,name:=") .option("-f, --fileName <fileName>", "File name") .action(async (name, options) => { const { path: path$1, fileName, filters, className, model, modelPath, exportName } = options; const filtersKeysList = {}; if (filters) { const keys = filters.split(","); keys.forEach(key => { const [keyName, keyType] = key.split(":"); if (!keyName) return; if (!keyType) return; filtersKeysList[keyName] = keyType; }); } await gnz.execute(generateWarlockRepository.execute({ name, saveTo: path.resolve(process.cwd(), path$1 || ""), fileName, filters: filtersKeysList, className, model, modelPath, exportName, })); });export{newWarlockRepositoryCommand};//# sourceMappingURL=new-warlock-repository-command.js.map