Glosario
💬 Este repositorio cuenta con una configuración base para GitHub Actions, Codecov y SonarCloud, las cuales se pueden remover fácilmente del proyecto o bien, terminar de configurarlas para aprovechar al maximo las buenas prácticas.
📝 Requerimientos básicos
- Node.js v14.15.4 or higher (Download)
- NPM v6.14.10 or higher
- NestJS v8 or higher (Documentación)
🙌 Let's start
Con el botón Use this template, creamos un repositorio nuevo en nuestro GitHub copiando todos los archivos del
repositorio original, y luego hacemos un git clone
del mismo.
También podés ejecutar el siguiente script cambiando el nombre de destino
git clone https://github.com/rudemex/nestjs-package-starter.git <nombre-de-destino>
Example:
git clone https://github.com/rudemex/nestjs-package-starter.git my-awesome-package
Una vez clonado el repositorio, tenemos que cambiar el name
del archivo package.json
, ya que este va a ser el nombre
del paquete a generar.
{
...,
-
"name": "nestjs-package-starter",
...
+
"name": "my-awesome-package",
...
}
💬 También podés ajustar otras propiedades como el author, description, keywords, etc.
🛠️ Instalar dependencias
Estando en la carpeta del proyecto, instalamos sus dependencias con el script.
npm install
💻 Scripts
Inicia los test con coverage
npm run test
Eslintea el código
npm run lint
Realiza el build del paquete
npm run build
Los builds se hacen con una herramienta llamada @pika/pack
que por debajo usa rollup
, una vez que el build se
realizó, vas a poder acceder al contenido generado entrando a:
cd ./pkg
El folder pkg
va a contener todo lo que necesitamos, desde los diferentes builds, hasta el package.json
con las
referencias a los módulos generados.
Para probar localmente el paquete antes de publicarlo, podés utilizar el comando npm link
estando dentro de la
carpeta ./pkg
, y luego instalarlo en tu proyecto para
probarlo. más info
Publicar el paquete
Para publicar el paquete, podés configurar el @pika/publish
, o bien podés ejecutar alguno de los siguientes scripts
una vez dentro de la carpeta ./pkg
previamente generada.
npm publish
yarn publish
📤 Commits
Para los mensajes de commits se toma como
referencia conventional commits
.
<type>[optional scope]: <description>
[optional body]
[optional footer]
- type: chore, docs, feat, fix, refactor (más comunes)
- scope: indica la página, componente, funcionalidad
- description: comienza en minúsculas y no debe superar los 72 caracteres.