1.1.0 • Published 8 months ago

commitmapping v1.1.0

Weekly downloads
-
License
MIT
Repository
-
Last release
8 months ago

CommitMapping

Um executável de Node que procura todos os repositórios de git na sua máquina, armazena os commmits que você realizou em cada um deles e sobe um espelho deles no projeto desejado.

Esse espelho conta com as informações:

  • Código do commit;
  • Author;
  • Data;
  • Descrição do commit;
  • Número de linhas deletadas, adicionadas e alteradas;

Não há informações sobre a natureza do projeto daonde o commit surge ou snippets do código.

Rodando

Use Em um console com acesso de admin

Npx commitMapping

Ou Clone na sua máquina e use

node . --looktoutpath c:/Users

dentro do repositório.

Variáveis

Essas são as variáveis que o código usa:

NomeDescriçãoPadrãoAlias
COMMITPATHRota p/ armazenamento do scriptC:/commitMappingcommitpath
LOOKOUTPATHRota p/ aonde o crawler iniciaC:/Userslookoutpath
ISTESTImpede o push dos dados p/ o projetoFalsetest
AUTHORO Email que serve como filtro nos commitspreenchido por diálogoauthor
PROJECTURLA Url do projeto aonde os commits serão feitospreenchido por diálogoproject
TOKENUm token de acesso p/ a contapreenchido por diálogotoken

Pode-se setar elas as flagando, como:

npx commitmapping --author example.email --project https://... --token ghpz... --commitpath c:// --lookoutpath c:// --test

Próximos passos

  • Talvez mudar para bun (a API de escrever arquivos e de clone parece ser muito mais rápida);
  • Melhorar a lógica p/ a troca de sistemas operacionais e linguagens;
  • Organizar melhor o código;
  • Forçar o sistema a rodar os comandos no GitBash (para facilitar essa padronização na hora de setar datas, abrir arquivos, etc);
  • Tentar alterar a data do commit pelas próprias opções da API do git (ou mudando as variáveis de ambiente)

  • Disponibilizar para novas linguages / Sistemas

    • Melhorar essa lógica
    • Possibiitar a tradução dos logs (como??????)
    • Disponibilizar para EN

Finalizados

  • Criar um wrapper de erros;

  • Melhorar o log de saída do sistemas;

  • Subir para o NPX (e trocar de nome, talvez);

    • Usar localmente no diretório apontado (quando mudar p/ npx)
  • Nos detalhes do commit, colocar o número de linhas;

  • Nos detalhes do commit, colocar o nome do projeto; (poderia ser considerado vazamento de info)

  • Nos detalhes do commit, colocar as linguagens dos arquivos alterados. (poderia ser considerado vazamento de info)

  • URLs dão problema

  • Não duplicar Commits e não deletar o arquivo atual;

  • Criar um caso de testes que não pusha;

  • Melhorar a leitura do readme;

  • Arrumar as envs de ambiente p/ incluir email, token e repo;

  • Armazenar os commits que deram erro;

  • Error Handler mais completo;

  • Lidar com kill Switchs;

  • Adicionar novas variáveis ao ReadMe;

  • Função de DeleteFile em utils;

  • Mudar o jeito que o crawler funciona p/ evitar a recorrencia da função;

  • Ajustes na escrita e novas tasks;

  • Break o Born() no phaser;

  • Pegar o diretório atual e usar ele para construir as rotas padrões;

  • Possibilitar vários processos de estarem ocupando a thread quando executando em loop;

  • Break o modifyAndCommit() no git.controller;

  • Token e URL estão hardcoded;

  • Bug no horário

  • Bug no caso do projeto já existir

1.1.0

8 months ago

1.0.5

8 months ago

1.0.4

8 months ago

1.0.3

8 months ago

1.0.2

8 months ago

1.0.1

8 months ago

1.0.0

9 months ago