-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #81 from TransbankDevelopers/docs/update-readme
docs: update readme
- Loading branch information
Showing
1 changed file
with
70 additions
and
45 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,9 +2,10 @@ | |
[![GitHub](https://img.shields.io/github/license/transbankdevelopers/transbank-sdk-nodejs)](LICENSE) | ||
[![GitHub contributors](https://img.shields.io/github/contributors/transbankdevelopers/transbank-sdk-nodejs)](https://github.com/TransbankDevelopers/transbank-sdk-nodejs/graphs/contributors) | ||
[![Build Status](https://travis-ci.org/TransbankDevelopers/transbank-sdk-nodejs.svg?branch=master)](https://travis-ci.org/TransbankDevelopers/transbank-sdk-nodejs) | ||
|
||
# Transbank SDK Node.js | ||
|
||
Este es el SDK oficial de Transbank para Node.js | ||
Este es el SDK oficial de Transbank para Node.js | ||
|
||
## Requisitos: | ||
|
||
|
@@ -15,17 +16,21 @@ Este es el SDK oficial de Transbank para Node.js | |
### Instalar con `npm` | ||
|
||
Puedes instalar SDK en tu proyecto usando NPM | ||
|
||
```bash | ||
npm install transbank-sdk | ||
npm install transbank-sdk | ||
``` | ||
|
||
### Instalar con `yarn` | ||
|
||
ó también instalarlo usando [Yarn](https://yarnpkg.com/) | ||
|
||
```bash | ||
yarn add transbank-sdk | ||
yarn add transbank-sdk | ||
``` | ||
|
||
### Detectar vulnerabilidades con `npm` | ||
|
||
```bash | ||
# Este comando te permite ver las vulnerabilidades | ||
npm audit | ||
|
@@ -34,7 +39,7 @@ npm audit | |
npm audit fix | ||
``` | ||
|
||
## Documentación | ||
## Documentación | ||
|
||
Puedes encontrar toda la documentación de cómo usar este SDK en el sitio [www.transbankdevelopers.cl](https://www.transbankdevelopers.cl). | ||
|
||
|
@@ -47,60 +52,80 @@ La documentación relevante para usar este SDK es: | |
- Primeros pasos con [Webpay](https://www.transbankdevelopers.cl/documentacion/webpay). | ||
- Referencia detallada sobre [Webpay](https://www.transbankdevelopers.cl/referencia/webpay) | ||
|
||
## Información para contribuir y desarrollar este SDK | ||
## Información para contribuir | ||
|
||
### Requerimientos | ||
- Node.js +8 | ||
- Plugin de editorconfig para tu editor favorito. | ||
### **Estándares generales** | ||
|
||
### Estándares | ||
- Para los commits, seguimos las normas detalladas en [este enlace](https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#commits) 👀 | ||
- Usamos inglés para los nombres de ramas y mensajes de commit 💬 | ||
- Todas las fusiones a la rama principal se realizan a través de solicitudes de Pull Request(PR) ⬇️ | ||
- Puedes emplear tokens como "WIP" en el encabezado de un commit, separados por dos puntos (:), por ejemplo: "WIP: este es un mensaje de commit útil ✅" | ||
- Las ramas de nuevas funcionalidades que no han sido fusionada, se asume que no está finalizada⚠️ | ||
- Los nombres de las ramas deben estar en minúsculas y las palabras deben separarse con guiones (-) 🔤 | ||
- Los nombres de las ramas deben comenzar con uno de los tokens abreviados definidos. Por ejemplo: feat/tokens-configurations 🌿 | ||
|
||
- Para los commits respetamos las siguientes normas: https://chris.beams.io/posts/git-commit/ | ||
- Usamos ingles, para los mensajes de commit. | ||
- Se pueden usar tokens como WIP, en el subject de un commit, separando el token con `:`, por ejemplo: | ||
`WIP: This is a useful commit message` | ||
- Para los nombres de ramas también usamos inglés. | ||
- Se asume, que una rama de feature no mezclada, es un feature no terminado. | ||
- El nombre de las ramas va en minúsculas. | ||
- Las palabras se separan con `-`. | ||
- Las ramas comienzan con alguno de los short lead tokens definidos, por ejemplo: `feat/tokens-configuration` | ||
### **Short lead tokens** | ||
|
||
#### Short lead tokens | ||
##### Commits | ||
- WIP = Trabajo en progreso. | ||
##### Ramas | ||
- feat = Nuevos features | ||
- chore = Tareas, que no son visibles al usuario. | ||
- bug = Resolución de bugs. | ||
`WIP` = En progreso. | ||
|
||
### Todas las mezclas a master se hacen mediante Pull Request. | ||
`feat` = Nuevos features. | ||
|
||
### Test | ||
Para ejecutar los test localmente debes ejecutar los siguientes comandos en una terminal. | ||
`fix` = Corrección de un bug. | ||
|
||
```bash | ||
npm install # si es que no se han instaldo todavía | ||
npm run test | ||
``` | ||
`docs` = Cambios solo de documentación. | ||
|
||
### Deploy de una nueva versión. | ||
Para generar una nueva versión, se debe crear un PR (con un título "Prepare release X.Y.Z" con los valores que correspondan para `X`, `Y` y `Z`). Se debe seguir el estándar semver para determinar si se incrementa el valor de `X` (si hay cambios no retrocompatibles), `Y` (para mejoras retrocompatibles) o `Z` (si sólo hubo correcciones a bugs). | ||
`style` = Cambios que no afectan el significado del código. (espaciado, formateo de código, comillas faltantes, etc) | ||
|
||
En ese PR deben incluirse los siguientes cambios: | ||
`refactor` = Un cambio en el código que no arregla un bug ni agrega una funcionalidad. | ||
|
||
`perf` = Cambio que mejora el rendimiento. | ||
|
||
`test` = Agregar test faltantes o los corrige. | ||
|
||
`chore` = Cambios en el build o herramientas auxiliares y librerías. | ||
|
||
1. Modificar el archivo `CHANGELOG.md` para incluir una nueva entrada (al comienzo) para `X.Y.Z` que explique en español los cambios **de cara al usuario del SDK**. | ||
2. Modificar el archivo `package.json` para que la propiedad `"version"` apunte a la nueva versión `X.Y.Z` | ||
`revert` = Revierte un commit. | ||
|
||
Luego de obtener aprobación del pull request, debe mezclarse a master e inmediatamente generar un release en GitHub con el tag `X.Y.Z`. En la descripción del release debes poner lo mismo que agregaste al changelog. | ||
`release` = Para liberar una nueva versión. | ||
|
||
Con eso Travis CI generará automáticamente una nueva versión de la librería y la publicará en npm. | ||
#### Flujo de trabajo | ||
|
||
### Vulnerabilidades de seguridad | ||
Si descubres una falla de seguridad dentro de este proyecto, por favor, notifícanos por correo electrónico a [email protected]. Tomaremos el caso con la mayor celeridad. | ||
1. Crea tu rama desde develop. | ||
2. Haz un push de los commits y publica la nueva rama. | ||
3. Abre un Pull Request apuntando tus cambios a develop. | ||
4. Espera a la revisión de los demás integrantes del equipo. | ||
5. Mezcla los cambios sólo cuando esté aprobado por mínimo 2 revisores. | ||
|
||
### Esquema de flujo | ||
|
||
![gitflow](https://wac-cdn.atlassian.com/dam/jcr:cc0b526e-adb7-4d45-874e-9bcea9898b4a/04%20Hotfix%20branches.svg?cdnVersion=1324) | ||
|
||
### **Reglas** 📖 | ||
|
||
1. Todo PR debe incluir test. | ||
2. Todo PR debe cumplir con un mínimo de 80% de coverage para ser aprobado | ||
3. El PR debe tener 2 o más aprobaciones para poder mezclarse. | ||
4. Si un commit revierte un commit anterior deberá comenzar con "revert:" seguido del mensaje del commit anterior. | ||
|
||
### **Pull Request** | ||
|
||
- Usar un lenguaje imperativo y en tiempo presente: "change" no "changed" ni "changes". | ||
- El título del los PR y mensajes de commit no pueden comenzar con una letra mayúscula. | ||
- No se debe usar punto final en los títulos o descripción de los commits. | ||
- El título del PR debe comenzar con el short lead token definido para la rama, seguido de : y una breve descripción del cambio. | ||
- La descripción del PR debe detallar los cambios. | ||
- La descripción del PR debe incluir evidencias de que los test se ejecutan de forma correcta. | ||
- Se pueden usar gif o videos para complementar la descripción o evidenciar el funcionamiento del PR. | ||
|
||
## Generar una nueva versión | ||
|
||
Para generar una nueva versión, se debe crear un PR (con un título "release: prepare release X.Y.Z" con los valores que correspondan para `X`, `Y` y `Z`). Se debe seguir el estándar [SemVer](https://semver.org/lang/es/) para determinar si se incrementa el valor de `X` (si hay cambios no retrocompatibles), `Y` (para mejoras retrocompatibles) o `Z` (si sólo hubo correcciones a bugs). | ||
|
||
En ese PR deben incluirse los siguientes cambios: | ||
|
||
1. Modificar el archivo `CHANGELOG.md` para incluir una nueva entrada (al comienzo) para `X.Y.Z` que explique en español los cambios. | ||
2. Modificar el archivo `package.json` y modificar la versión. | ||
|
||
### Para marcar una versión como Latest | ||
Cuando se desea forzar una versión especifica de la librería como la última (versión `latest` o la que se instalará por defecto cuando se usa el comando `npm i transbank-sdk`) se debe hacer lo siguiente: | ||
Luego de obtener aprobación del PR, debe mezclarse a master e inmediatamente generar un release en GitHub con el tag `vX.Y.Z`. En la descripción del release debes poner lo mismo que agregaste al changelog. | ||
|
||
1. Agregar el usuario `transbankdevelopers` desde la consola del sistema operativo con el comando `npm adduser`. | ||
2. Ejecutar el comando `npm dist-tag add transbank-sdk@xxx latest` | ||
Posterior a la liberación debes mezclar la rama release en develop, finalmente realizar un rebase de la rama develop utilizando como base la rama main. |