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:
How to start any new Node.js project:
— Tierney Cyren (@bitandbang) January 7, 2019
$ npx license mit > LICENSE
$ npx gitignore node
$ npx covgen YOUR_EMAIL_ADDRESS
$ npm init -y
You're ready to start coding.
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 quenpm 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?