0.0.9 • Published 10 years ago
shouts v0.0.9
Shouts
An example of NPM Module
Este módulo contiene 2 funcionalidades bien básicas. Lo usaremos de ejemplo para los ejercicios de linkear un módulo localmente, publicar en el registro público y en uno privado.
HOW TO
ejercicio 1
- Clonar el repo del módulo: 
git@github.com:dudesl/shouts.git - modificar el campo 
namedelpackage.jsondeshoutscon un nombre custom, para que no haya conflicto de nombres en el repo público. - Exponer las 2 funciones de 
shouts:cowyvoice. PISTA! http://www.sitepoint.com/understanding-module-exports-exports-node-js/ - Linkearlo localmente PISTA! http://vansande.org/2015/03/20/npm-link/
 
ejercicio 2
- Crear una carpeta para el ejercício. Vamos a llamarla 
app. cd app && npm initpara inicializarpackage.json.- Crear 
index.jscon el siguiente contenido http://goo.gl/86khsb npm install-> nos da error pq el modulo no existe en el repo público.npm link shoutspara que linkee el módulo localmente.npm installpara instalar el resto de dependencias.- Ejecutar 
index.js, veremos que carga la dependencia como corresponde. 
ejercicio 3
Publicar en repo público 1. Crear un usuario en NPM https://www.npmjs.com/signup 2. npm login para registrar las credenciales 3. cat ~/.npmrc para chequear el authToken correspondiente 4. npm publish para publicar
ejercicio 4
 Una vez publicado 
1. ir al directorio app.
2. npm unlink shouts para romper el symlink local.
3. npm install traerá el módulo desde el registro público.
ejercicio 5
Hacer disponible un bin script
- copiar el 
index.jsdeappal modulo con nombrebin.js - completar el campo 
"bin"delpackage.jsondel módulo"bin": { "shouts": "bin.js" } - cambiar la versión en el 
package.json npm publishpara actualizar el modulo publicadonpm install -g shoutspara instalar globalmente el modulo.shoutsdeberia estar disponible.
ejercicio 6
Publicar en repo privado
- Setear el registro privado. 2 formas de hacerlo
 
- npm set registry http://registry.npm.ml.com Esto lo setea en ~/.npmrc, o sea, para TODOS los módulos. Cada vez que hagamos npm publish
 - hacer un 
.npmrclocal al proyecto con el siguiente contenidoregistry = http://registry.npm.ml.com/ spin = false 
- Loguearse con el user del registro privado (pedir por mensaje privado)
 
npm add user
- publicar comun y corriente con 
npm publish 
Cualquier conflicto con alguno de los comandos npm de este paso, usar el sufijo --registry http://registry.npm.ml.com