import { tools } from "./plata-create-tools"; import { Command } from 'commander' const program = new Command() program.name('Plata Create cli') program.description('CLI usada para criar rotas, libs, models e muito mais na plata') program.version(Plata.PlataJson.version) program.command('lib ') .description('Cria uma config com e uma lib utilizando o templete da plata') .action(async libs => { if (!Array.isArray(libs)) { return } const promises: any[] = [] for (const lib of libs) { promises.push(tools.files.deployFileToProject( 'configs', 'config', `${lib}.ts`.toLowerCase(), { Name: `${lib}`, name: `${lib}`.toLowerCase() } ).finally(() => console.log(`Config ${lib} criada`))) promises.push(tools.files.deployFileToProject( 'libs', 'lib', `${lib}.ts`.toLowerCase(), { Name: `${lib}`, name: `${lib}`.toLowerCase() } ).finally(() => console.log(`Lib ${lib} criada`))) } await Promise.all(promises) }) ; program.command('config ') .description('Cria uma config utilizando o templete da plata') .action(async configs => { if (!Array.isArray(configs)) { return } const promises: any[] = [] for (const config of configs) { promises.push(tools.files.deployFileToProject( 'configs', 'config', `${config}.ts`.toLowerCase(), { Name: `${config}`, name: `${config}`.toLowerCase() } ).finally(() => console.log(`Config ${config} criada`))) } await Promise.all(promises) }) ; program.command('model ') .description('Cria um model utilizando o templete da plata') .action(async models => { if (!Array.isArray(models)) { return } const promises: any[] = [] const plataName = Plata.ProjectJson.plata_name for (const model of models) { promises.push(tools.files.deployFileToProject( 'models', 'model', `${model}.ts`.toLowerCase(), { Name: `${model}`, PlataName: `${plataName}` } ).finally(() => console.log(`Model ${model} criada`))) } await Promise.all(promises) }) ; export const cli = program