- En la carpeta
src
podés comenzar a escribir tus archivos.ts
. - Los tests los escribís en el mismo directorio
src
pero con extensiónspec.ts
.
Ejecutá el siguiente comando en la terminal:
npm i
De esa manera vas a instalar las dependencias de tu proyecto. También recomendamos que ejecutes en al consola
nvm install
Así vas a instalar la versión de Node que recomendamos en la materia, a través de NVM (Node Version Manager).
Podés ejecutar el Visual Studio Code desde el menú inicio o bien usando Git Bash hacés
code .
en el directorio donde está el proyecto.
Recordá que tu instalación de Visual Studio Code requiere las extensiones que están en la página específica de Typescript del sitio Algoritmos 3. Y que se instalan de la siguiente manera:
Podés usar el plugin Jest
que los ejecuta dentro de tu editor:
El Jest Runner
que te da la opción de ejecutar o debuggear un test (aunque ya podés ver el preview si tenés la extensión Jest):
También te permite debuggear y avanzar paso a paso con F10 con un simple botón derecho:
Y por último, desde el Git Bash o la línea de comando:
npm test
npm run test:badges
Esto automáticamente genera una carpeta coverage/lcov-report/index.html
que podés navegar localmente para analizar las líneas de código alcanzadas por el testeo unitario automatizado. Por otra parte en la misma carpeta coverage
genera los badges que podés agregar a tu README (junto con el badge del build de Github Actions, que viene en este archivo):
[![build](https://github.com/uqbar-project/XXXXXXXX/actions/workflows/build.yml/badge.svg)](https://github.com/uqbar-project/XXXXXXXX/actions/workflows/build.yml) ![Coverage](./coverage/badge-statements.svg) ![Coverage](./coverage/badge-lines.svg)
Reemplazar XXXXXXXX
por la carpeta asociada al proyecto.
Este proyecto tiene imágenes .gif y esta explicación en el README, si querés eliminarlos podés correr el script
npm run clean
Estos son todos los archivos de configuración de tu proyecto:
tsconfig.json
: es el archivo de configuración de Typescript de tu proyecto, que indica a qué versión de Javascript se está transpilando, eso indica qué herramientas podemos usar (por ejemplo, los decoradores de JS vienen en la versión ES2017)package.json
: indica las dependencias del proyecto, la versión semántica, entre otras cosas.package-lock.json
: es importante subirlo a git, tiene las dependencias exactas y completas del proyecto.jest.config.js
: es el archivo de configuración de Jest, el framework de testeo unitario que utilizamos..eslintrc
: la configuración del linter, que es el proceso que valida la correctitud del código. Por ejemplo, si definimos una variablelet
y no cambiamos la referencia, el linter nos va a pedir que la cambiemos a una definiciónconst
.