Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pre commit hooks #198

Merged
merged 5 commits into from
Oct 1, 2024
Merged

Pre commit hooks #198

merged 5 commits into from
Oct 1, 2024

Conversation

george-gca
Copy link
Contributor

@george-gca george-gca commented Sep 27, 2024

Descrição de PR

Como discutido em #171 seria legal dividir o dicionário por letra e ordenar por ordem alfabética pela chave. Fui pesquisar sobre como fazer isso e a melhor solução que eu encontrei foi como um pre-commit hook.

Basicamente toda vez que uma pessoa usuária realizar um git commit ... alguns processos serão rodados automaticamente para realizar algumas validações/modificações. Acredito até que talvez dê pra tirar a ação de validação do JSON, mas não tenho certeza ainda.

Motivações

Basicamente esse pre-commit hook realiza algumas coisas:

  • end-of-file-fixer: garante que os arquivos terminem com um \n e nada além disso (por exemplo espaços em branco)
  • check-json: valida a sintaxe dos arquivos json
  • check-yaml: valida a sintaxe dos arquivos yml
  • format-data: ordena as entradas nos arquivos json dentro da pasta assets/data/

Informações adicionais

Explicando melhor o format-data:

  • ele roda run_on_data_changed.sh, que basicamente busca por arquivos que estão dentro do commit e são de arquivos dentro de assets/data/ e passa eles como parâmetro pro arquivo format_data.py
  • o format_data.py abre o arquivo JSON e faz as seguintes alterações:
    • ordena os cards pelo título do card, ignorando maiúsculas
    • ordena as tags dentro do card em ordem alfabética, ignorando maiúsculas
    • ordena as chaves dentro do card em ordem alfabética inversa, o que vai resultar nas chaves ficando title, tags, description e content, o que eu acho que fica melhor pra alguém ler nessa ordem.

Eu decidi não commitar o arquivo assets/data/cards_pt-br.json pra ti poderes testar como funciona isso. Pra testar é só fazer uma alteração qualquer no arquivo como, sei lá, adicionar uma letra aleatória dentro do título de um card, e ver a mágica acontecer 🧙🏽‍♂️. Na 1a modificação ele vai reordenar todo o arquivo (que tá em ordem qualquer), mas nos próximos commits feitos ele vai facilitar o merge acredito eu porque vai reduzir a chance de sempre estarem editando as mesmas partes do arquivo.

Signed-off-by: George Araújo <george.gcac@gmail.com>
Signed-off-by: George Araújo <george.gcac@gmail.com>
Copy link

netlify bot commented Sep 27, 2024

Deploy Preview for diciotech ready!

Name Link
🔨 Latest commit 9feb9a1
🔍 Latest deploy log https://app.netlify.com/sites/diciotech/deploys/66fc14d5381c34000886b356
😎 Deploy Preview https://deploy-preview-198--diciotech.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@levxyca levxyca self-requested a review October 1, 2024 14:16
@levxyca levxyca added the enhancement New feature or request label Oct 1, 2024
@levxyca levxyca added this to the v2 milestone Oct 1, 2024
Copy link
Owner

@levxyca levxyca left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CARACAAAAAAAA, sensacional! Adorei 💙 Criei uma branch teste a partir da sua aqui e funcionou muito bem!!! Com certeza isso vai facilitar demais, obrigada por contribuir!

Pode adicionar o commit do arquivo de cards também agora @george-gca! Feito isso já dou o merge!

Signed-off-by: George Araújo <george.gcac@gmail.com>
Signed-off-by: George Araújo <george.gcac@gmail.com>
@george-gca
Copy link
Contributor Author

Fiz 1 mudança que só percebi agora, a palavra Época tava sendo a última dos cards porque a comparação não ignorava acentos. Resolvi isso e subi o arquivo ordenado.

Copy link
Owner

@levxyca levxyca left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Boa!!!!!! Thanks 🚀🔥

@levxyca levxyca merged commit 69ea12f into levxyca:main Oct 1, 2024
5 checks passed
@george-gca george-gca deleted the pre_commit branch October 1, 2024 18:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants