Este es uno de los repositorios que utilizamos en la serie Diseño orientado a objetos en Kotlin y TypeScript, disponible en YouTube. Te recomendamos que mires la serie para entender un poco más sobre las tecnologías que elegimos. 😃
¡Bienvenida/o! En este repositorio encontrarás una plantilla (de las infinitas posibles) para crear una biblioteca o librería utilizando Typescript. Las principales tecnologías que utilizamos son:
- NodeJS: entorno de ejecución para JavaScript.
- Ramda: biblioteca para tener un manejo funcional de colecciones.
- Jest: framework para escribir tests.
Para crear un proyecto siguiendo esta plantilla, lo único que tenés que hacer es clickear en el botón que dice Use this template. ¡Y no te olvides de cambiarle el nombre en el package.json!
Vas a necesitar un IDE o al menos un editor de texto que coloree la sintaxis. Recomendamos utilizar Visual Studio Code - que se lleva muy bien con proyectos JavaScript - enriquecido con los siguientes plugins:
Para ejecutar el código es necesario tener NodeJS en su versión 14 (lts/fermium). Para instalarlo recomendamos utilizar el manejador de versiones nvm, aunque también podés hacerlo manualmente siguiendo las instrucciones adecuadas para tu sistema operativo.
Asumiendo que ya configuraste todos los prerrequisitos, solamente hay que instalar las dependencias la primera vez que trabajes en el proyecto:
npm installTodo el código fuente debe ir dentro de la carpeta src, pudiendo crearse otras subcarpetas adentro de ella si fuera necesario. Los archivos de código deben tener extensión .ts y los de tests .test.ts.
main y no master, como quizás estés acostumbrado/a. Podés leer el comunicado oficial de la Software Freedom Conservancy para saber más al respecto.
A continuación, algunos comandos necesarios para el desarrollo diario en este proyecto.
# Ejecuta el linter, buscando errores en el código
npm run lint
# Ejecuta los tests una sola vez.
npm test
# Ejecuta los tests y se queda esperando por cambios.
npm test:watchEl proyecto incluye una configuración de GitHub Actions que ejecuta tanto el linter como los tests cada vez que detecta un push o un pull request a la rama main.