cz-configuration es un paquete de configuración para commitizen, para poder utilizar esta configuración es necesario tener intalado y configurado commitizen de forma global, basado en cz-emoji que traduce y ofrece un par de mejoras al template.
Instalar yarn con el siguiente comando:
$ npm install --global yarn
Usando npm:
$ npm install --save-dev <DireccionDeDescargaDelPaquete>
Usando yarn:
$ yarn install --dev <DireccionDeDescargaDelPaquete>
Agregamos a nuestro archivo package.json
, la siguiente nodo "config"
para indicarle a commitizen que acceda a nuestra configuración por defecto:
"config": {
"commitizen": {
"path": "./node_modules/@televisadigital/cz-configuration"
}
}
Si se desea tener la configuración de commitizen por separado, se recomienda crear un archivo llamado .czrc
en la carpeta raíz, de la siguiente forma:
- package.json:
"config": "./.czrc"`
- .czrc
{
"path": "./node_modules/@televisadigital/cz-configuration"
}
Para visualizar el template escribimos el siguiente comando en la consola:
git cz
Nota: Este comando funciona al momento de tener instalado commitizen de forma global.
Te ofrecemos diferentes formas de configurar el paquete cz-configuration
, con la finalidad de personalizar de acuerdo a tus requerimientos, esta configuración puede manejarse desde un archivo .czrc
o desde package.json
, se agrega de la siguiente forma:
{
"config": {
"cz-configuration": {}
}
}
Por defecto se tenemos 11 types que se puede utilizar en nuestra configuración, para poder agregar una lista de types personalizada se deberá de agregar un nodo types
a la configuración cada elemento dentro de types
esta será un objeto con los nodos emoji
, code
, description
y name
de la siguiente manera:
{
"config": {
"cz-configuration": {
"types": [
{
"emoji": "🧪",
"code": ":test_tube:",
"description": "Creación de pruebas o correcciones a las existentes.",
"name": "test"
}
]
}
}
}
Nota: Al agregar el nodo types se sobrescribe todos los nodos types que se tienen por defecto.
Se puede proporcionar dentro de la configuración una lista de scopes posibles para elegir cuando se construye el commit, si esta variable no se encuentra entonces se le pedirá al usuario que ingrese de forma manual el scope del commit.
{
"config": {
"cz-configuration": {
"scopes": ["style", "feat", "ci"]
}
}
}
Un valor booleano que permite utilizar el valor de UNICODE para los emojis en lugar del markup en un commit, por defecto symbol es true
.
{
"config": {
"cz-configuration": {
"symbol": false
}
}
}
Dentro de la configuración se puede proporcionar un arreglo con las preguntas que no se necesita que se pregunten mientras se construye el commit, solo es posible saltarle preguntas opocionales
- Preguntas obligatorias:
type
,subject
. - Preguntas opcionales:
scope
,body
,breaking
,issues
ycoauthored
.
{
"config": {
"cz-configuration": {
"skipQuestions": ["scope", "issues", "coauthored"]
}
}
}
En las configuraciones personalizadas exite el nodo questios
, el cual hace referencia al texto de las preguntas, a continuación se enlistan los nodos que pueden cambiar.
Nodos:
types
scope
subject
body
breaking
coauthored
issues
{
"config": {
"cz-configuration": {
"questions": {
"body": "Mensaje personalizado del body",
"coauthored" : "Mensaje personalizado del co-autor"
}
}
}
}
La cantidad máxima de caracteres disponibles en el subject
.
{
"config": {
"cz-configuration": {
"subjectMaxLength": 200,
}
}
}
Nota: El máximo según las reglas de commits convencionales debería de ser 75.
MIT Copyright © 2022 Mauricio Miramontes Ramírez and Carina Jiménez García.