0.0.9 • Published 9 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
name
delpackage.json
deshouts
con un nombre custom, para que no haya conflicto de nombres en el repo público. - Exponer las 2 funciones de
shouts
:cow
yvoice
. 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 init
para inicializarpackage.json
.- Crear
index.js
con el siguiente contenido http://goo.gl/86khsb npm install
-> nos da error pq el modulo no existe en el repo público.npm link shouts
para que linkee el módulo localmente.npm install
para 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.js
deapp
al modulo con nombrebin.js
- completar el campo
"bin"
delpackage.json
del módulo"bin": { "shouts": "bin.js" }
- cambiar la versión en el
package.json
npm publish
para actualizar el modulo publicadonpm install -g shouts
para instalar globalmente el modulo.shouts
deberia 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
.npmrc
local 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