Crear un paquete
Clase 12 de 15 • Curso de NPM: Gestión de Paquetes y Dependencias en JavaScript
Contenido del curso
Instalación de NPM
Configuración de dependencias
- 5

Primeros pasos en NPM
09:36 min - 6

Instalación de dependencias
07:36 min - 7

Instalación de dependencias de versiones específicas
06:25 min - 8

Comandos en NPM (Scripts)
13:27 min - 9

Actualización de dependencias
11:01 min - 10

Seguridad y solución de problemas
06:08 min - 11

Eliminación de dependencias y Package lock
06:29 min
Creación y publicación de paquetes
Cierre
Al crear un paquete para NPM, podrás compartir tu trabajo a varios desarrolladores e instalar tu paquete mediante npm install <tuPaquete>. Te mostraré un ejemplo, un proyecto de mensajes aleatorios que estará instalado globalmente y se ejecutará mediante la terminal.
Cómo colocar un nombre a tu paquete
Al publicar un paquete, es necesario que el nombre sea único, es decir, no debe existir ningún otro paquete publicado con el mismo nombre en NPM.
Sin embargo, no agregues números, ya que NPM lo detecta como spam. Es válido agregar tu nombre de usuario para diferenciarlo,
Asegúrate de eso buscando en la página oficial de NPM el nombre del paquete, si no hay coincidencias lo puedes publicar.
Proyecto de mensajes aleatorios
Como buena práctica, crea un repositorio remoto en GitHub y clónalo en tu computador. Después, inicia un proyecto con NPM con el comando npm init -y. Con esto ya tienes todo listo para empezar el proyecto.
Dentro del proyecto crea la siguiente estructura de archivos:
- Un directorio llamado
srcque contenga el archivo principal del proyectoindex.js - Un directorio llamado
binque contenga un archivo ejecutableglobal.js

Creando el archivo index.js
En el archivo index.js agrega el siguiente código:
- Un array llamado
messagesque contiene los mensajes - Una función
funnyCommitque mostrará de manera aleatoria los elementos del array, es decir, los mensajes aleatorios. - Al final, exporta la función mediante
module.exports.
```js const messages = [ "This is where it all begins...", "Commit committed", "Version control is awful", "COMMIT ALL THE FILES!", "The same thing we do every night, Pinky - try to take over the world!", "Lock S-foils in attack position", "This commit is a lie", "I'll explain when you're older!", "Here be Dragons", "Reinventing the wheel. Again.", "This is not the commit message you are looking for", "Batman! (this commit has no parents)", ];
const funnyCommit = () => {
const message = messages[Math.floor(Math.random() * messages.length)];
console.log(\x1b[34m${message}\x1b[89m);
}
module.exports = { funnyCommit }; ```
Creando el archivo global.js
En el archivo global.js agrega el siguiente código, en el que importamos el la función del archivo index.js y la ejecutamos.
```js
!/usr/bin/env node
let random = require('../src/index.js');
random.funnyCommit();
``
⠀⠀#!/usr/bin/env nodees una instrucción que sirve para indicar que este archivo se ejecutará con Nodejs. Después realizamos la importación de nuestro archivoindex.js. Finalmente, ejecutamos la función de mensajes aleatoriosfunnyCommit`.
Modificar el archivo package.json para el proyecto
⠀⠀
En el archivo package.json, agrega "bin" haciendo referencia a nuestro archivo global.js y "preferGlobal" en true.
json
{
...
"bin": {
"random-str-msg": "./bin/global.js"
},
"preferGlobal": true
}
El nombre que especifiquemos dentro de "bin" será el que utilicemos en la terminal cuando el paquete esté instalado.
¡Listo! Ya tienes un paquete para publicarlo en NPM.
Contribución creada por Andrés Guano (Platzi Contributor).