UNPKG

liquido

Version:

Conjunto de ferramentas para desenvolvimento de aplicações para a internet 100% em português

96 lines 5.28 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.criarDiretorioAplicacao = criarDiretorioAplicacao; exports.copiarArquivosDeExemploParaNovoProjeto = copiarArquivosDeExemploParaNovoProjeto; exports.gerarRepositorioGit = gerarRepositorioGit; exports.detectarGerenciadorDePacotes = detectarGerenciadorDePacotes; const child_process_1 = require("child_process"); const fast_glob_1 = require("fast-glob"); const fs_1 = __importDefault(require("fs")); const path_1 = __importDefault(require("path")); function criarDiretorioAplicacao(nomeAplicacao) { const caminhoDiretorioProjeto = process.cwd() + path_1.default.sep + nomeAplicacao; const diretorioJaExiste = fs_1.default.existsSync(nomeAplicacao); if (!diretorioJaExiste) { fs_1.default.mkdirSync(nomeAplicacao); console.log(`Diretório criado: ${caminhoDiretorioProjeto}`); } else console.log(`Diretório já existe: ${caminhoDiretorioProjeto}`); return caminhoDiretorioProjeto; } async function copiarArquivosDeExemploParaNovoProjeto(nomeProjeto, tipoDeProjeto, linguagemDeBackEnd, diretorioProjeto) { const diretorioExemplos = path_1.default.join(__dirname, `../exemplos/${linguagemDeBackEnd}/` + tipoDeProjeto); const formatoGlob = (diretorioExemplos + '/**/*.{delegua,pitu,delprops,foles,lmht,md}') .replace(/\\/gi, '/'); const caminhosArquivos = await (0, fast_glob_1.async)([formatoGlob], { dot: true, absolute: false, stats: false, }); return Promise.all(caminhosArquivos.map(async (caminhoArquivo) => { const caminhoArquivoResolvido = path_1.default.resolve(caminhoArquivo); const novoCaminhoArquivo = caminhoArquivoResolvido.replace(diretorioExemplos, diretorioProjeto); await fs_1.default.promises.mkdir(path_1.default.dirname(novoCaminhoArquivo), { recursive: true }); if (novoCaminhoArquivo.endsWith('configuracao.delprops')) { let codigoConfiguracaoDelegua = await fs_1.default.promises.readFile(caminhoArquivoResolvido, 'utf-8'); codigoConfiguracaoDelegua = codigoConfiguracaoDelegua.replace("'Minha aplicação'", `'${nomeProjeto}'`); return fs_1.default.promises.writeFile(novoCaminhoArquivo, codigoConfiguracaoDelegua); } else { return fs_1.default.promises.copyFile(caminhoArquivoResolvido, novoCaminhoArquivo); } })); } async function gerarRepositorioGit(inicializarRepositorioGit, diretorioProjeto) { if (inicializarRepositorioGit) { (0, child_process_1.execSync)('git init', { cwd: diretorioProjeto }); (0, child_process_1.execSync)('git config --global --add safe.directory ' + diretorioProjeto); const conteudoGitIgnore = 'node_modules/\ndist/\nbuild/\n.env\n.env.local\n.env.development\n.env.production\ncoverage/\n*.log\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\n.DS_Store\nThumbs.db'; await fs_1.default.promises.writeFile(`${diretorioProjeto}/.gitignore`, conteudoGitIgnore); (0, child_process_1.execSync)('git config user.email "liquido@designliquido.com.br"', { cwd: diretorioProjeto }); (0, child_process_1.execSync)('git config user.name "Liquido"', { cwd: diretorioProjeto }); (0, child_process_1.execSync)('git add .', { cwd: diretorioProjeto }); (0, child_process_1.execSync)('git commit -m "Versionamento Inicial"', { cwd: diretorioProjeto }); (0, child_process_1.execSync)('git config --unset user.email', { cwd: diretorioProjeto }); (0, child_process_1.execSync)('git config --unset user.name', { cwd: diretorioProjeto }); } } async function detectarGerenciadorDePacotes(gerenciadorDePacotes, diretorioProjeto) { const caminhoPackageJson = path_1.default.join(diretorioProjeto, 'package.json'); switch (gerenciadorDePacotes) { case 'npm': { (0, child_process_1.execSync)('npm init -y', { cwd: diretorioProjeto }); (0, child_process_1.execSync)('npm install liquido@latest', { cwd: diretorioProjeto }); break; } case 'yarn': { (0, child_process_1.execSync)('yarn init -y', { cwd: diretorioProjeto }); (0, child_process_1.execSync)('yarn add liquido@latest', { cwd: diretorioProjeto }); break; } case 'bun': { if (!fs_1.default.existsSync(caminhoPackageJson)) { const conteudoPackageJson = { name: path_1.default.basename(diretorioProjeto), version: '1.0.0', private: true, dependencies: {} }; await fs_1.default.promises.writeFile(caminhoPackageJson, JSON.stringify(conteudoPackageJson, null, 2) + '\n'); } (0, child_process_1.execSync)('bun add liquido@latest', { cwd: diretorioProjeto }); break; } } } /* export function gerarProjetoPorTipoDeProjeto(tipoDeProjeto: string) { switch (tipoDeProjeto) { case 'api-rest': sistemaArquivos. } } */ //# sourceMappingURL=index.js.map