rocket-git-task
Version:
Automação de fluxo de trabalho no Git para tasks, deploy e releases.
79 lines (68 loc) • 2.97 kB
JavaScript
const yargs = require('yargs');
const { hideBin } = require('yargs/helpers');
const { version } = require('../package.json');
const init = require('./commands/init');
const create = require('./commands/create');
const deploy = require('./commands/deploy');
const release = require('./commands/release');
const finish = require('./commands/finish');
const update = require('./commands/update');
yargs(hideBin(process.argv))
.usage(`
🚀 ROCKET GIT-TASK - Automação de Fluxo de Trabalho no Git
O Rocket Git-Task é uma ferramenta de automação para gerenciar tasks, deploys e releases no Git de forma simplificada.
📌 Autor: @tihhgoncalves
🔹 Uso: git-task <comando> [opções]
📌 Targets disponíveis:
- homolog (Homologação)
- production (Produção)
📌 Comandos disponíveis:
- init Inicializa o Rocket Git-Task no repositório
- create Cria uma nova task no fluxo de desenvolvimento
- deploy Faz deploy da task para homologação ou produção
- release Gera um release oficial do projeto
- finish Finaliza uma task após o merge para produção
- update Atualiza a task com mudanças do develop
`)
.command('init', '📌 Inicializa o Rocket Git-Task no repositório', () => {}, init)
.command('create <name>', '📌 Cria uma nova task no fluxo de desenvolvimento', (yargs) => {
yargs.positional('name', {
describe: 'Nome da task',
type: 'string'
});
}, create)
.command('deploy <target>', '📌 Faz deploy da task para homologação ou produção', (yargs) => {
yargs.positional('target', {
describe: 'Destino do deploy',
type: 'string',
choices: ['homolog', 'production']
});
}, deploy)
.command('release <target>', '📌 Gera um release oficial do projeto', (yargs) => {
yargs.positional('target', {
describe: 'Destino do release',
type: 'string',
choices: ['homolog', 'production']
});
}, release)
.command('finish', '📌 Finaliza a task atual após o deploy', (yargs) => {
yargs.option('force', {
alias: 'f',
type: 'boolean',
description: 'Força a finalização da task sem verificar o merge'
});
}, finish)
.command('update', '📌 Atualiza a task atual com as mudanças do develop', () => {}, update)
.help()
.version(`🚀 Rocket Git-Task v${version}`)
.help()
.alias('h', 'help')
.alias('v', 'version')
.fail((msg, err, yargs) => {
if (err) throw err; // erros internos (ex: require errado) ainda devem quebrar
console.log('\n❌ ERRO DE COMANDO!\n\n', msg, '\n');
console.log(yargs.help());
process.exit(1);
})
.argv;