💬 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.
- Node.js v14.15.4 or higher (Download)
- NPM v6.14.10 or higher
- NestJS v8 or higher (Documentación)
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.
Estando en la carpeta del proyecto, instalamos sus dependencias con el script.
npm install
npm run test
npm run lint
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
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
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.