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 initnpm 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 mitutiliza el paquete de licencias para descargar una licencia de elección, en este caso la licencia MIT.npx gitignore nodeutiliza el paquete gitignore para descargar automáticamente el archivo.gitignorerelevante del repositorio de GitHub.npx covgenutiliza 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 -yacepta todas las opciones predeterminadas quenpm initte 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 initHay 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?