No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Crear un paquete para NPM

12/15
Recursos

Al crear un paquete para NPM, podr谩s compartir tu trabajo a varios desarrolladores y utilizar tu c贸digo mediante npm install. Te mostrar茅 un ejemplo, un proyecto de mensajes aleatorios que estar谩 instalado globalmente y se ejecutar谩 mediante la terminal.

Proyecto de mensajes aleatorios

Crea el directorio del proyecto y el archivo package.json mediante npm init. Inicia un repositorio local de Git con git init. Al momento de publicar un paquete, el proyecto debe tener un nombre 煤nico, puedes agregar tu nombre de usuario para diferenciarlo, pero no agregues n煤meros, ya que NPM lo detecta como spam.

Dentro del proyecto crea la siguiente estructura de archivos:

  • Un directorio llamado src que contenga el archivo principal del proyecto index.js
  • Un directorio llamado bin que contenga un archivo ejecutable global.js
Directorio base

En el archivo index.js agrega el siguiente c贸digo, un array llamado messages que contiene cinco nombres y una funci贸n randomMsgque mostrar谩 de manera aleatoria los elementos del array. Al final, exporta la funci贸n mediante module.exports.

const messages = ["Oscar", "Ana", "Nikolai", "Diego", "Laura"];

const randomMsg = () => {
  const message = messages[Math.floor(Math.random() * mesagges.length)];
  console.log(mesagge);
};

module.exports = { randomMsg };

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.

#!/usr/bin/env node
let random = require('../src/index.js');

random.randomMsg();

鉅鉅
#!/usr/bin/env node es una instancia de una l铆nea shebang, la primera l铆nea en un archivo de texto plano ejecutable en plataformas similares a Unix que le dice al sistema: a qu茅 int茅rprete debe pasar ese archivo para su ejecuci贸n, a trav茅s del comando l铆nea siguiendo la magia #! prefijo.
鉅鉅
En el archivo package.json, agrega "bin" haciendo referencia a nuestro archivo global.js y "preferGlobal" en true (el signo + representa las l铆neas de c贸digo a a帽adir).

{
  "name": "random-mesagges-<tuUsuario>",
  "version": "1.0.0",
  "description": "Vamos a crear un paquete para NPM",
  "main": "src/index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "Tu Nombre <[email protected]>",
  "license": "MIT",
+"bin": {
+  "random-msg": "./bin/global.js"
+ },
+ "preferGlobal": true
}

隆Listo! Ya tienes configurado el proyecto para publicarlo en NPM.

Contribuci贸n creada con aportes de: Andr茅s Guano y areyouivan.

Aportes 43

Preguntas 19

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Reg铆strate o inicia sesi贸n para participar.

Ejecutar el comando para saber donde estoy ubicado

pwd
mkdir random-messages
cd random-messages/
git init
npm init

Se crea el archivo index.js en la carpeta src

// Se declara el arreglo
const messages = [
    "David",
    "Diana",
    "Ana Maria",
    "Isabela",
    "Antonio",
    "Norma"
]

//Crear funci贸n para enviar aleatoriamente  los nombres del arreglo
const randomMsg = () => {
    const message = messages[Math.floor(Math.random()*messages.length)]
    console.log(message)
}

// Exportar como un m贸dulo

module.exports = { randomMsg }

Se debe crear una carpeta bin donde se crea ele archivo global.js (Configuraci贸n que se necesita)

#!/usr/bin/env node
// se va ejecutar dentro de bash

//Variable que llama la funcion que exportamos
let random = require('../src/index.js')

//Ejecuto la funcion
random.randomMsg()

Modifico el package.json y coloco la configuraci贸n de bin que necesito

  "bin": {
    "random-msg": "./bin/global.js"
  },
  "preferGlobal": true

#!/usr/bin/env node es una instancia de una l铆nea shebang : la primera l铆nea en un archivo de texto plano ejecutable en plataformas similares a Unix que le dice al sistema a qu茅 int茅rprete debe pasar ese archivo para su ejecuci贸n , a trav茅s del comando l铆nea siguiendo la magia #! prefijo (llamado shebang ).

Nota: Windows no admite l铆neas shebang , por lo que efectivamente se ignoran all铆; en Windows es solo la extensi贸n del nombre de archivo de un archivo dado que determina qu茅 ejecutable lo interpretar谩. Sin embargo, todav铆a los necesita en el contexto de npm .

Muy bueno este v铆deo como crear un paquete para NPM ME GUSTA de hecho me dio muchas ideas de crear unos m贸dulos y compartirlos

Crear un paquete para NPM

鉅鉅
En esta clase crearemos un paquete para poder publicarlo.
鉅鉅
Inicializamos nuestro como hemos aprendido con git init y npm init .
鉅鉅
Dentro crearemos nuestra carpeta src donde vivir谩 nuestro c贸digo y otra de bin
鉅鉅

鉅鉅
Creamos un archivo index.js y colocamos lo siguiente.
鉅鉅

const messages = ["Oscar", "Ana", "Nikolai", "Diego", "Laura"];

const randomMsg = () => {
  const message = messages[Math.floor(Math.random() * mesagges.length)];
  console.log(mesagge);
};

module.exports = { randomMsg };

鉅鉅
Estamos creando un array llamado messages 鈫 que vivir谩 dentro de una funci贸n(randomMsg). Ah铆 iniciamos una constante cuyo valor llama al array, pero con la funci贸n Math.floor() que redonda nuestros valores hac铆a abajo y dentro Math.random() el cu谩l multiplicamos por la longitud del array.
鉅鉅
Por 煤ltimo llamamos un console.log() que nos mostrar谩 el mensaje random.
鉅鉅
Dentro de la carpeta bin crearemos un archivo llamado global. Escribimos la siguiente linea:
鉅鉅

#!/usr/bin/env node
let random = require('../src/index.js');

random.randomMsg();

鉅鉅
Iniciamos random importando nuestro c贸digo de index.js. Luego lo llamamos para ejecutar el programa.
鉅鉅
#!/usr/bin/env node
Es una instancia de una l铆nea shebang, la primera l铆nea en un archivo de texto plano ejecutable en plataformas similares a Unix que le dice al sistema; a qu茅 int茅rprete debe pasar ese archivo para su ejecuci贸n, a trav茅s del comando l铆nea siguiendo la magia #! prefijo (llamado shenbang).
鉅鉅
Vamos a editar nuestro archivo package.json.
鉅鉅
Debajo de 鈥渓icense鈥 definimos bin, colocamos nuestro script y su ruta. Despu茅s seteamos 鈥減referGlobal鈥 con true

{
  "name": "random-mesagges",
  "version": "1.0.0",
  "description": "Vamos a crear un paquete para NPM",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "Iv谩n Garc铆a <[email protected]>",
  "license": "MIT",
  "bin": {
    "random-msg": "./bin/global.js"
  },
  "preferGlobal": true

}

Si no sabes el significado de #!/usr/bin/ 鈥
te recomiendo ir al Curso de Introducci贸n a la Terminal y L铆nea de Comandos ah铆 te explican como poder utilizar m谩s comandos como ese.

Excelente clase.
Solo dejo como aporte que Math es un objeto y floor es un m茅todo.

Una forma de ejecutar el programa sin tener que setear el bin, aclaro que solo es para probar, es con el siguiente comando en consola:

npx node src/index.js

O tambi茅n es un script en el package.json:

"scripts": {
    "start": "node src/index.js"
  },

En consola se ejecuta:

npm run start

COMO SE CORRE EN WINDOWS?

Estoy usando gitbash como consola. Mi compu es windows. Por lo tanto en vez de escribir sudo npm link escribo solo npm link. Mi consola la abr铆 como administrador. Est谩 eso correcto? Obtengo el siguiente error agradezco si alguien me pudiera ayudar.

`npm WARN [email protected] No repository field.

up to date in 1.157s
found 0 vulnerabilities

npm ERR! code ENOENT
npm ERR! syscall chmod
npm ERR! path C:\Program Files (x86)\Nodist\bin\node_modules\js-random-messages.bin\global.js
npm ERR! errno -4058
npm ERR! enoent ENOENT: no such file or directory, chmod 'C:\Program Files (x86)\Nodist\bin\node_modules\js-random-messages.bin\global.js鈥
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent

npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\Cristobal\AppData\Roaming\npm-cache_logs\2020-06-23T22_31_57_854Z-debug.log
`

Crear un paquete para NPM

Debemos tener nuestra aplicaci贸n dentro de la carpeta src y de ah铆 exportar nuestro archivo main o en este caso el index.js.

luego de esto, en la ra铆z creamos otra carpeta llamada bin que contendr谩 un archivo js llamado global.js en el cual vamos a crear la configuraci贸n necesaria para llamar nuestra paquete desde la consola.

Tambi茅n tenemos que configurar nuestro package.json en el que vamos a帽adirle un nuevo apartado llamado bin dentro de el vamos a registrar el paquete que estamos creando, al cual le damos un nombre que en este caso es llamado 鈥渞andom-msg鈥 y finalizamos activando la opci贸n 鈥榩referGlobal鈥.

No pense que era tan adictivo estudiar en platzi 3:04am argentina! Pero estoy feliz y sin trabajo desde la pandemia! nunca pares de aprender! PlatziSalu2!

驴Por qu茅 se desestructura el nombre de la funci贸n?

RESUMEN DE LA CLASE.

  • Crea un proyecto, en este caso random de mensajes.
  • En la terminal se fija estar en el entorno de trabajo y crea carpeta del proyecto.
  • Se mueve a la carpeta e inicializa el proyecto: con git, luego con npm.
  • Completa todas las opciones de informaci贸n sobre el proyecto. El entry point lo coloca en la carpeta 鈥渟rc/index.js鈥 (despu茅s tiene que crear la carpeta y el archivo), la licencia es MIT, el autor ya queda seteado en la maquina del proyecto anterior.
  • Entra al archivo creado con el comando code, que abre visual studio code (al archivo package.json). Estando en Visual Studio Code crea la carpeta src y dentro el archivo index.js donde va a vivir el proyecto (en este caso el random de mensajes, como va a funcionar, como va a a帽adir la configuraci贸n dentro del package y como lo va a inicializar).
  • Crea la l贸gica del proyecto: un array de nombres y una funci贸n que mediante un random muestra en consola alguno de los nombres del array.
  • Para exportar la funci贸n que muestra los nombres utiliza:
    module.exports = { nombreDeLaFuncion };
  • Crea una nueva carpeta que va a llamar bin. Ah铆 va a estar la configuraci贸n para que este paquete que estamos creando sea un paquete que se instala de forma global.
  • Dentro de la carpeta crea un archivo que se llama global.js
  • Dentro de este archivo, establece que es un elemento que se va a ejecutar dentro del sistema bash con esta primer linea
    #!/usr/bin/env node
  • Genera una variable con el nombre random y le coloca un require, luego la ejecuta con la funcion que habiamos creado antes.
  • let random = require(鈥 鈥/src/index.js鈥 );
  • random.randomMsg(); //randomMsg es el nombre de la funcion que habiamos creado en el archivo index.js
  • De esta forma vamos a poder ejecutar este comando dentro de la terminal al escribir el nombre que hay que setear a continuacion.
  • En el archivo package.json creamos un apartado que llamamos bin y dentro creamos el nombre del comando y hacemos que llame al archivo global.js
    tambien debemos configurar que este paquete sea de forma global. Para eso agregamos el siguiente valor
    "preferGlobal": true
  • Entonces lo que agregamos en package.json quedaria asi:
    鈥渂in鈥: {
    鈥渞andom-msg鈥: 鈥./bin/global.js鈥
    },
    鈥減referGlobal鈥: true

Vaya, que genial el poder aprender a c贸mo hacer un paquete para NPM ^^ Aunque a煤n me quedan dudas de c贸mo funcionar铆a, a ver los dem谩s cap铆tulos:D!

<code>
{
  "name": "random-messages",
  "version": "1.0.0",
  "description": "random de mensajes",
  "main": "src/index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [
    "javascript",
    "node",
    "npm"
  ],
  "author": "Yojan Hungria <[email protected]>",
  "license": "(MIT)",
  "bin": {
    "random-msg": "./bin/global.js"
  },
  "preferGlobal": true
}

<code>

#!/usr/bin/env node 

let random = require('../src/index.js');

random.randomMsg();
<code>
const messages = [
    "Yojan",
    "Ana",
    "Yessica",
    "Diana",
    "Laura"
];

const randomMsg = () => {

    const message = messages[Math.floor(Math.random() * messages.length)];
    console.log(message);

};

module.exports = { randomMsg}


Es interesante crear paquetes para publicarlos, puede ser muy 煤til para tener bloques de c贸digo que resuelven un problema espec铆fico. As铆 solamente instalamos nuestro paquete y lo usamos.

Para eliminar el link es como eliminar un modulo normal

sudo npm uninstall -g nombre_de_tu_modulo

Yo puse nombres de anime en el array, es m谩s f谩cil aprender las cosas cuando usas algo que disfrutas.

Esta clase es escencial porque me soluciono un problema en electron para trabajar con modulos, electron no me permite trabajar con imports o exports normales. asi que debes crear tus modulos e instalarlos en tu proyecto

  • Para crea un paquete, luego de inicializar el proyecto y generar el archivo index.js, configurar bin/global.js, para ejecutar el paquete, para ello se debe establecer el shell de node #!/usr/bin/env node.
  • Configurar el archivo package.json
"bin": {
    "random-msg": "./bin/global.js"
  },
  "preferGlobal": true

IMPORTANTE en las nuevas versiones se declara distinto
yo estoy haci茅ndolo en la v16.14.2 (node)

//Declaramos el arreglo de mensajes.
const messages = [
    "Hello",
    "Good morning",
    "Good afternoon",
    "Good evening",
    "Good bye"
];

//Creamos la funci贸n aleatoria para el msj IMPORTANTE declarar que se va a exportar 
 export const randomMsg = ( ) => {
    const message = messages[Math.floor(Math.random()*messages.length)];
    console.log(message);
}

Recomiendo la siguiente pagina, hay informaci贸n importante que puede ayudar a entender mejor y ha profundizar en el curso. Muy interesante las explicaciones.

https://lenguajejs.com/npm/administracion/crear-nuevo-proyecto/

Es interesante esta clase y el alcance de NPM

Hola!
Seguro vienes de la clase #13 buscando respuestas鈥
Te aparece este error?

/random-messages$ sudo npm link
>> /usr/bin/env: 鈥榥ode鈥: No such file or directory

Para abordar este problema te sugiero 3 pasos:
(1) All铆 en la carpeta donde estas ejecuta:

node ./bin/global.js

Si el resultado es un nombre random de tu array. Todo bien.
Si esto no corre es porque hay un problema en tu funci贸n de debes revisarla (seguro es un typo 馃槂)
(2) Ahora ejecuta solamente:

npm link

Por alguna raz贸n, los que instalamos node a trav茅s de NVM no necesitamos poner sudo por delante. (Si alguien sabe porqu茅 se rompe cuando ponemos sudo, se los agradecer铆a).
Deber铆a correr y mostrarte algo as铆鈥

$ npm link

up to date, audited 3 packages in 1s

found 0 vulnerabilities

y eso significa que todo va bien!
Pero si te sale esto鈥

$ npm link
npm ERR! code EJSONPARSE
npm ERR! path /home/tommy/tomProjects/Curso-NPM/Proj-RandomMessages/package.json
npm ERR! JSON.parse Unexpected token "}" (0x7D) in JSON at position 421 while parsing near "...preferGlobal\":true,\n}\n"
npm ERR! JSON.parse Failed to parse JSON data.
npm ERR! JSON.parse Note: package.json must be actual JSON, not just JavaScript.

npm ERR! A complete log of this run can be found in:

Es porque hay un error en nuestro package.json鈥
Revisa que no le hayas puesto una coma al final (eso me pas贸 a mi)鈥 Deber铆a quedar as铆:

  "license": "MIT",
  "bin":{
    "random-msg":"./bin/global.js"
  },
  "preferGlobal":true // sin coma!!
}

Espero te ayude y que nada te detenga 馃挭!

Hola !!! coloquen un nombre propio en vez de:
鈥渞andom-mesasages鈥

Ej: random-messages-pepito

sino en la siguente clase les va ha fallar por que el nombre indicado por el profe ya estara ocupado y despues toca que debggear.

pilas鈥 saludos

a mi me gusta crear primero el repo y clonarlo para que cuando inicie mi proyecto de npm lea la mayor cantidad de valores del repo ya clonado

Despues de tener iniciado el respositorio y NPM, necesitamos crear la carpeta SRC y dentro nuestro INDEX.JS, ya que tengamos el codigo que queramos listo necesitamos crear una nueva carpeta llamada BIN la cual dentro estara la configuracion para que nuestro paquete que estamos creando, se instale de forma global.

Dentro de esta carpeta creamos un archivo Global.js y aqui iran las configuraciones y como se eejecutara de forma bash, entonces dentro utilizamos:

#!/usr/bin/env node
// se va ejecutar dentro de bash

//Variable que llama la funcion que exportamos
let random = require('../src/index.js')

//Ejecuto la funcion
random.randomMsg()

De esta forma ya podemos crear un comando para poder ejecutar los comandos con el nombre que se le asignara.

En package.json podemos crear la configuracion:

"bin": {
    "random-msg": "./bin/global.js"
  },
  "preferGlobal": true

Con esto le asignamos el comando, el archivo y de que este sea global.

Muchas gracias por compartirnos la estructura fundamental que deben tener los paquetes de npm instructor Oscar.

Ahora voy entendiendo el uso y poder que tiene NPM 馃く

vaya! primer paquete configurado!!

muy interesante鈥

Interesante

Resumend de la clase:

  • El proyecto es un random de mensajes con el cual al ejecutarlo podr谩n recibir un mensaje aleatorio.
  • Comandos: git init y npn init
  • El archivo index.js en la carpeta src va vivir nuestro proyecto.
// Se declara el arreglo
const messages = [
    "David",
    "Diana",
    "Ana Maria",
    "Isabela",
    "Antonio",
    "Norma"
];

//Crear funci贸n para enviar aleatoriamente  los nombres del arreglo
const randomMsg = () =>{
    const message = messages[Math.floor(Math.random()*messages.length)];
    console.log(messages0);
};

// Exportar como un m贸dulo
module.exports = { randomMsg };

Se debe crear una carpeta bin donde estar谩 la configuraci贸n para que el paquete que se eta creando se instale de forma global/ se crea el archivo global.js (Configuraci贸n que se necesita)

#!/usr/bin/env node
// se va ejecutar dentro de bash
let random = require('../src/index.js');

random.randomMsg();

#!comando

  • Es una instancia de una l铆nea shebang.
  • La primera l铆nea en un archivo de texto plano ejecutable en plataformas similares a Unix que le dice al sistema a qu茅 int茅rprete debe pasar ese archivo para su ejecuci贸n.
  • A trav茅s del comando l铆nea siguiendo la magia la magia #! prefijo (llamado shebang ).

Nota: Windows no admite l铆neas shebang , por lo que efectivamente se ignoran all铆; en Windows es solo la extensi贸n del nombre de archivo de un archivo dado que determina qu茅 ejecutable lo interpretar谩. Sin embargo, todav铆a los necesita en el contexto de npm .

Modifico el package.json

"bin": {
    "random-msg": "./bin/global.js"
  },
  "preferGlobal": true

Con esta modificaci贸n indicamos:

  • Que es un paquete
  • Donde encontrar informaci贸n de como ejecutarlo
  • De instalaci贸n global

Ctrl + l para limpiar la consola.

1锔忊儯 Crear un paquete para NPM

Crearemos nuestro propio paquete y publicarlo para que otros desarrolladores puedan implementarlo en su proyecto. El proyecto que vamos a crear es un random de mensajes que podr谩n instalar como paquete global y al ejecutar en consola un comando recibir谩n un mensaje aleatorio.

Configuraciones iniciales de nuestro proyecto

Primero, crearemos nuestra carpeta donde ir谩 nuestro proyecto. Luego, nos movemos a esa carpeta y ejecutamos el comando git init que iniciar谩 un repositorio local que despu茅s podremos subir a GitHub, entre otras plataformas.

Ahora, ejecutaremos el comando npm init donde vamos a establecer la configuraci贸n de nuestro proyecto. (en este caso iniciamos nuestro proyecto en la carpeta src/index.js)

Creando nuestro proyecto

Vamos a nuestro editor de texto y nos ubicaremos en nuestro archivo ra铆z donde va a vivir nuestro proyecto (src/index.js).

Dentro de nuestro archivo JavaScript crearemos un arreglo con una lista de nombres. Luego, crearemos una arrow function que guardar谩 en una variable el resultado de unos m茅todos matem谩ticos aplicados a cada elemento de nuestro arreglo para retornarlos aleatoriamente. Y adem谩s, exportaremos este c贸digo como un m贸dulo.

// Creamos nuestro arreglo
const nombres = [
  "Ana",
  "Sebastian",
  "Mar铆a",
  "Oscar",
  "Diego",
  "Felipe",
  "Laura",
  "Daniela",
  "Valentina",
  "El铆as",
];

//Crear funci贸n para enviar aleatoriamente  los nombres del arreglo
const randomMsg = () => {
  const message = nombres[Math.floor(Math.random() * nombres.length)];
  console.log(message);
};

//Exportamos la funci贸n como un m贸dulo
module.exports = { randomMsg };

// Math.floor regresa el primer valor redondeado del metodo .random
// Math.random regresa un valor random seg煤n el n煤mero de elementos del array

Importando nuestro proyecto y haci茅ndolo instalable de forma global

Ahora, crearemos una nueva carpeta llamada bin donde ir谩 toda la configuraci贸n que necesita nuestro proyecto para que se instale de forma global. Luego, crearemos un archivo global.js en esta carpeta donde ir谩 la configuraci贸n que necesita el proyecto.

En este archivo JS, colocaremos una l铆nea que le indica a Node que se va a ejecutar dentro de Bash, luego creamos una variable donde importemos el m贸dulo y luego lo ejecutaremos.

//indicamos que se va a ejecutar dentro de bash
#!/usr/bin/env node

//importamos el m贸dulo con la l贸gica de nuestro c贸digo
let random = require("../src/index.js");

//Ejecutamos la funci贸n de nuestro archivo index.js
random.randomMsg();

Ya que tenemos eso listo, nos vamos al archivo package.json y debajo de el apartado de 鈥渓icense鈥 vamos a crear otro apartado llamado 鈥渂in鈥 y le colocaremos como nombre del paquete 鈥済enerador-msg鈥 y como contenido la ruta del archivo global.js que est谩 en la carpeta de bin.

Adem谩s, para que se pueda instalar de forma global colocaremos el apartado 鈥減referGlobal鈥 con el valor de verdadero.

"bin": {
    "generador-msg": "./bin/global.js"
  },
  "preferGlobal": true

En el archivo package.json completo se ver铆a as铆

{
  "name": "generador-mensajes-random",
  "version": "1.0.0",
  "description": "A trav茅s de un comando el usuario podr谩 recibir distintos mensajes en la consola ",
  "main": "src/index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "hola": "node bin/global.js"
  },
  "keywords": [
    "node",
    "npm",
    "javascript"
  ],
  "author": "Sebasti谩n Arocha <[email protected]>",
  "license": "MIT",
  "bin": {
    "generador-msg": "./bin/global.js"
  },
  "preferGlobal": true
}

De esta forma ya tenemos la configuraci贸n que necesita nuestro paquete en el package.json

Recuerden que gracias a ECMAScript 6, ahora hay una nueva forma de importar m贸dulos. Les comparto mi codigo con esta nueva implementaci贸n.

index.js

const messages = ["Oscar", "ANa", "Diego", "Jessica", "Laura", "Diana"];

const randomMsg = () => {
  const message = messages[Math.floor(Math.random() * messages.length)];
  console.log(message);
};

export default { randomMsg };

global.js

#!/usr/bin/env node
import { randomMsg } from "../src/index.js";

randomMsg;

Crear un paquete para NPM

index.js

const messages = ['santiago', 'oscar', 'ana', 'yesica', 'diego', 'laura']

const randomMsg = () => {
  const message = messages[Math.floor(Math.random() * messages.length)]
  console.log(message)
}

module.exports = { randomMsg }
  1. Se hace un arreglo con los mensajes que se van a imprimir aleatoriamente.
  2. Se crea la funci贸n que va a escoger un mensaje aleatoriamente.
    1. Se crea una constante que va a tener la operaci贸n para sacar un elemento del array aleatoriamente.
    2. Se muestra en consola el resultado.
  3. Se exporta la funci贸n mencionada.

global.js

#!/usr/bin/env node
let random = require('../src/index.js')

random.randomMsg()

Se crea una carpeta llamada bin donde va a estar el archivo de configuraci贸n que permite que el paquete se instale de manera global.

  1. El comando #!/usr/bin/env node establece que va a ser un elemento que se ejecuta en el sistema bash.
  2. Se obtiene el archivo que tiene la l贸gica del paquete.
  3. Se llama la clase que contiene esa l贸gica.

package.json

"bin": {
    "random-msg": "./bin/global.js"
  },
  "preferGlobal": true
  1. Se establece el nombre del paquete y se asigna la ubicaci贸n.
  2. Se establece que es un paquete global.

Est谩 genial 馃槷!!

Muy interesante

Excelente!

Muyyy bacano todo!!

b