Utilities for writing git hooks
Project description
hook_tools
Estas son herramientas que ayudan a mantener el código en los distintos repositorios del proyecto omegaUp con un estilo consistente.
Para agregar hook_tools
a tu repositorio:
- Agrega hook_tools como submódulo de git en algún lugar de tu repositorio.
- Agrega un archivo
.lint.config.json
en la raíz de tu repositorio. - Invoca
hook_tools/lint.py validate --all
en tu archivo.travis.yml
o en los git pre-upload hooks. - Si estás en un sistema que soporta correr Docker,
puedes también correr
docker run -v $PWD:/src omegaup/hook_tools validate --all
.
.lint.config.json
Este es un diccionario de configuración de los linters que se van a correr. Los linters soportados (con sus respectivas opciones) son:
clang-format
: Corre ClangFormat.html
: Corre HTML Tidy.strict
: Un bool que indica si se va a correr en modo estricto
javascript
: Corre el linter de Prettier.extra_js_linters
: Un arreglo con comandos que se van a correr.
json
: Corre el linter de Prettier.karel
: Corre el linter de Prettier.markdown
: Corre el linter de Prettier.php
: Corre PHP Code Beautifier.standard
: Una cadena con la ruta del estándar de phpcbf.
problematic-terms
: Busca términos problemáticos.terms
: Una lista de objetos con las siguientes llaves:regexps
: Una lista de expresiones regulares a buscar.message
: El mensaje a desplegar.allowlist
: (Opcional) Una lista de expresiones regulares. Si está definido y ninguna de estas expresiones regulares hace match con el nombre del archivo, el archivo se ignora.denylist
: (Opcional) Una lista de expresiones regulares. Si está definido y alguna de estas expresiones regulares hace match con el nombre del archivo, el archivo se ignora.
whitespace
: Elimina molestos espacios en blanco, como espacios al final de la línea, múltiples líneas vacías, saltos de línea estilo Windows.style
: Corre stylelint.typescript
: Corre el linter de Prettier.vue
: Corre los linters dejavascript
yhtml
en las distintas secciones de un Vue template.extra_js_linters
: Un arreglo con comandos que se van a correr en la sección<script>..</script>
del template.stylelint
: Un booleano que determina si también se va a correr stylelint en la sección<style>..</style>
del template.
python
: Corre pep8 y pylint.pep8_config
: Una cadena con la ruta del archivo de configuración para pep8.pylint_config
: Una cadena con la ruta del archivo de configuración para pylint.
custom
: Corre comandos personalizados.commands
: Un arreglo con comandos.
Todos los linters soportan dos opciones adicionales:
allowlist
: Un arreglo con expresiones regulares. Los archivos a considerar para el linter actual deben de hacer match con al menos un regex de este arreglo.denylist
: Un arreglo con expresiones regulares. Los archivos a considerar para el linter actual deben de no hacer match con ningún regex de este arreglo.
Comandos personalizados
Tanto el linter custom
como javascript
soportan comandos personalizados.
Estos comandos se van a correr tal-cual con dos argumentos extra: el nombre del
archivo (temporal) que debe de actualizarse con el contenido correctamente
formateado, y el nombre de archivo original (si se desea escribir información
de depuración a stderr). Este comando se ejecutará mediante /bin/bash
.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file omegaup_hook_tools-1.0.9.tar.gz
.
File metadata
- Download URL: omegaup_hook_tools-1.0.9.tar.gz
- Upload date:
- Size: 251.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 86d346005b6df8510947d33a6f8fd6a77dfe48ac03586cff8240eb2539a33a2f |
|
MD5 | 96fe61cc441d929ee2d3383690620079 |
|
BLAKE2b-256 | b43cc64176fa37d106d43573f55162ce17cf49e8d2597b0497dfdbc9bfb4d482 |
File details
Details for the file omegaup_hook_tools-1.0.9-py3-none-any.whl
.
File metadata
- Download URL: omegaup_hook_tools-1.0.9-py3-none-any.whl
- Upload date:
- Size: 249.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 206c02938a9defbd31f729f4298b8fb14405c677058cef6aa1f13e9d8f111771 |
|
MD5 | 70990eac7aa9a98f1c5529208eaf300b |
|
BLAKE2b-256 | 2e869cd5734e23a06f61838246dee5f3f6d528fbf698d4d339abdb9b084edfe7 |