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.

Telegram
Twitter
Facebook
LinkedIn
Pinterest

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

Um pouco mais sobre mim

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. 

Procurar

Categorias

Deixe um comentário

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