commitmapping

1.1.0 • Public • Published

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:

Nome Descrição Padrão Alias
COMMITPATH Rota p/ armazenamento do script C:/commitMapping commitpath
LOOKOUTPATH Rota p/ aonde o crawler inicia C:/Users lookoutpath
ISTEST Impede o push dos dados p/ o projeto False test
AUTHOR O Email que serve como filtro nos commits preenchido por diálogo author
PROJECTURL A Url do projeto aonde os commits serão feitos preenchido por diálogo project
TOKEN Um token de acesso p/ a conta preenchido por diálogo token

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

Readme

Keywords

none

Package Sidebar

Install

npm i commitmapping

Weekly Downloads

7

Version

1.1.0

License

MIT

Unpacked Size

28.8 kB

Total Files

15

Last publish

Collaborators

  • pedrothiago