Instalando e configurando o pre-commit

Pre commit é uma lib que faz diversas validações antes de enviar seu código para o repositório; como formatar seu código, validar arquivos e outros.

Primeiro passo vamos instalar o pre-commit.

pip install pre-commit

Agora é preciso criar o arquivo na raiz do projeto com o nome ‘.pre-commit-config.yaml’

exclude: "^\
  (third-party/.*)\
  "
repos:
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.4.0
    hooks:
      - id: check-added-large-files # prevents giant files from being committed.
      - id: check-case-conflict # checks for files that would conflict in case-insensitive filesystems.
      - id: check-merge-conflict # checks for files that contain merge conflict strings.
      - id: check-yaml # checks yaml files for parseable syntax.
      - id: detect-private-key # detects the presence of private keys.
      - id: end-of-file-fixer # ensures that a file is either empty, or ends with one newline.
      - id: fix-byte-order-marker # removes utf-8 byte order marker.
      - id: mixed-line-ending # replaces or checks mixed line ending.
      - id: requirements-txt-fixer # sorts entries in requirements.txt.
      - id: trailing-whitespace # trims trailing whitespace.
  - repo: https://github.com/ambv/black
    rev: 22.12.0
    hooks:
      - id: black
        language_version: python3.10
  - repo: https://github.com/pre-commit/mirrors-prettier
    rev: v2.5.1
    hooks:
      - id: prettier
        files: \.(js|ts|jsx|tsx|css|less|html|json|markdown|md|yaml|yml)$

Execute o comando para adicionar todos os arquivos para validação.

pre-commit run --all-files

Toda vez que você fizer um commit, ele irá formatar e validar os arquivos.

Share on telegram
Telegram
Share on twitter
Twitter
Share on facebook
Facebook
Share on linkedin
LinkedIn
Share on pinterest
Pinterest

Youtuber, Programador, investidor, fanatico em tecnologia, fã de dragon ball, artista marcial, futebolista amador e gamer nas horas vagas.

Atuando desde 2007 na área de programação web.

 

Conhecimento em diversas linguagens, frameworks e outros:

 

  • Python/Django
  • Ruby/Ruby on Rails
  • PHP, Java
  • C/C++
  • C#
  • Shellscript
  • HTML/HTML5
  • CSS/CSS3
  • JavaScript
  • Jquery, XML/JSON
  • MySQL
  • PostgreSQL
  • Oracle

 

Já atuei diversas vezes em manutenção e reparo de computadores, atualmente monto os meus por hobby.

 

Conhecimento em servidores linux, softwares já utilizados para aplicações online:

  • nginx
  • apache
  • supervisor
  • bind
  • iptables
  • gunicorn

 

Conhecimento em servidores da Amazon AWS (S3, EC2, Route53, Lambda, SQS).

 

Projeto open source que mantenho para criação de servidores com python/django e php: Acessar

 

Conhecimento em e-commerce, algumas integrações realizadas: Cielo, PagSeguro, Bcash, boleto Santander e débito online e boleto do Banco do Brasil.

 

Plataformas open source utilizadas: prestashop e wordpress.

 

Sistemas operacionais: Windows, Linux(Ubuntu, Debian e CentOS) e Mac OS X

 

Hobby em desenvolvimento de jogos utilizando Unity 3d, Unreal Engine 4, Cry Engine 5 e Game Maker.

 

Desenvolvimento de aplicativos mobile utilizando Ionic e cordova para Android e Firefox OS. 

Categorias

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *