Publicar Paquetes en NPM
Publicación de Paquetes
La modularización en el contexto del software es importante para la separación de código y archivos que tengan relevancia entre sí, así como también facilitar el consumo de módulos que son comunes entre 2 o más proyectos. Aunque existen distintos tipos de paquetes y formas de publicarlos, este tutorial se basa en la publicación de paquetes de NPM.
Generación del Personal Access Token
Para poder publicar paquetes, es necesario generar un Personal Access Token o Token de Acceso Personal. Este token puede ser generado al seguir los siguientes pasos:
- Diríjase a la opción de Ajustes o Settings
- Una vez se se encuentra en el panel de configuraciones, presione el botón Developer Settings o Configuraciones de Desarrollador
- Ahora, presione la opción Tokens de Acceso Personal o Personal Access Tokens
- Una vez presionada la anterior opción, presione el botón Generar nuevo token o Generate new token
- Ahora seleccioone el scope o ámbito adecuado para el token, como se muestra en la siguiente imagen
- Finalmente, presione el botón mostrado en la siguiente imagen (ubicado al final de la página) para obtener el tokenEl token se muestra una vez este es generado; proceda a copiarlo en un lugar seguro, ya que no se vuelve a mostrar.
<p style={{ align: "center" }}>
<img alt="Muestra gráficamente donde está el botón" src={ useBaseUrl( '/img/publicacion-de-paquetes/GenerateTokenButton.webp' )} width="100%" />
</p>
Registro de Paquetes de Github
Github Package Registry es un registro de paquetes que entre sus ventajas ofrece:
- Manejo de las mismas credenciales que se utilizan en Github.
- Posibilidad de integración con Github Actions y Webhooks.
- Paquetes privados que se mantienen dentro del mismo ámbito o scope de la organización.
Autenticación Utilizando npm login
Para autenticarse en el Github Registry es necesario utilizar el comando npm login
de la siguiente manera:
$ npm login --scope=@OWNER --registry=https://npm.pkg.github.com
> Username: USERNAME
> Password: TOKEN
> Email: PUBLIC-EMAIL-ADDRESS
Recuerda reemplazar USERNAME con el usuario de Github respectivo (el que creó el Personal Access Token), TOKEN con el Personal Access Token generado y el PUBLIC-EMAIL-ADDRESS con la dirección de correo electrónico que corresponde al usuario.
Si desea autenticarse añadiendo su Personal Access Token al archivo ~/.npmrc
, puede dirigirse a la documentación de github para mayor extensión en este asunto.
Publicar un Paquete
En el archivo package.json
es necesario agregar un elemento más llamado publishConfig
, que hace referencia al registro donde se desea publicar el paquete.
Edite el archivo
package.json
e incluya la entradapublishConfig
"publishConfig": {
"registry":"https://npm.pkg.github.com"
}Verifique si la entrada
repository
en el archivopackage.json
corresponde a la URL de repositorio. Por ejemplo si la URL del repositorio esgithub.com/my-org/test
, entonces la entradarepository
debe sergit://github.com/my-org/test.git
Ahora ejecute el siguiente comando en la terminal para publicar el paquete
$ npm publish
Desplegar una Nueva Versión del Paquete
A la hora publicar una nueva versión, es necesario cambiar la entrada version
en el archivo package.json
. Para esto se está siguiendo el estándar Semantic Versioning de npm.
Instalar el Paquete Publicado
Para instalar el paquete, es necesario ejecutar el siguiente código:
yarn add @scope/package-name
Ten en cuenta que
@scope
se refiere al propietario (nombre de usuario o nombre de org) bajo el cual está publicado el paquete. Si deseas instalar una versión específica del paquete, es necesario ejecutar el comando:yarn add @scope/package-name@versionhere