Cómo iniciar un proyecto con Node.js

Esta semana me llegó a mi correo un newsletter sobre JavaScript y me pareció muy interesante este artículo llamado en inglés How to start a Node.js Project el cual muestra cómo podemos automatizar la creación de nuestros proyectos con Node.js.

Generalmente cuando iniciamos un nuevo proyecto Node.js, usamos npm para generar mi proyecto inicial.

npm init

npm luego hace algunas preguntas y crea un archivo package.json. Entonces empezamos a construir el proyecto.

Luego, inevitablemente, copiamos y pegamos un archivo .gitignore del útil repo de plantillas de .gitignore de GitHub. Y si recordamos, en realidad crearemos un archivo de LICENSE con la licencia de código abierto que pretendía usar.

Esto no es eficiente.

Entonces esta semana Tierney Cyren tuiteó esto:

Estos cuatro comandos hacen todo lo que hacemos manualmente y más, configurando un proyecto para el éxito desde el principio.

  • npx license mit utiliza el paquete de licencias para descargar una licencia de elección, en este caso la licencia MIT.
  • npx gitignore node utiliza el paquete gitignore para descargar automáticamente el archivo .gitignore relevante del repositorio de GitHub.
  • npx covgen utiliza el paquete covgen para generar el Pacto de Colaboradores y otorgar al proyecto un código de conducta que dará la bienvenida a todos los contribuyentes.
  • npm init -y acepta todas las opciones predeterminadas que npm init te pregunta.

Personalizando npm init

Puedes ver tu configuración npm actual ingresando npm config list en la línea de comandos. Para ver simplemente la configuración que afecta a npm init puedes hacer grep para "init":

npm config list | grep init

Hay una serie de valores predeterminados que puedes establecer; nombre del autor, correo electrónico del autor, url del autor, la licencia y la versión. Para configurarlos, puede ingresarlos en la línea de comandos o usar npm config edit para abrir el archivo de configuración en su editor de texto. Sin embargo, la línea de comandos es bastante fácil, puedes configurar los cinco valores predeterminados de esta manera:

npm set init.author.name "Tu nombre"
npm set init.author.email "tu@email.com"
npm set init.author.url "https://tu-url.com"
npm set init.license "MIT"
npm set init.version "1.0.0"

Una vez que hayas personalizado eso a tu gusto, npm init -y siempre producirá la configuración correcta.

Construyendo tu propio init script

Hay algunas mejoras que haría a los comandos de Tierney, aunque agradezco que Twitter lo haya restringido. Aquí hay un guión de bash que he encontrado inspirado en su tweet.

function node-project {
  git init
  npx license $(npm get init.license) -o "$(npm get init.author.name)" > LICENSE
  npx gitignore node
  npx covgen "$(npm get init.author.email)"
  npm init -y
  git add -A
  git commit -m "Initial commit"
}

Al original, he agregado la obtención del tipo de licencia, el nombre del autor y el correo electrónico de los valores predeterminados de npm init. También he inicializado un nuevo repositorio de git y confirmado los resultados de este script como el "commit inicial".

Puede tomar esta función y agregarla a tu ~/.bash_profile o ~/.zshrc. Luego, desde la línea de comando ejecuta node-project. Siéntete libre de agregar o eliminar lo que creas adecuado para crear tu secuencia de comandos de inicialización perfecta.

Ve a iniciar un nuevo proyecto

Ahora tienes el script perfecto para iniciar un proyecto con Node.js, ¿por qué no crear uno nuevo?