- 1. Introducción
- 2. Resumen del proyecto
- 3. Diagramas de Flujo del Proyecto
- 4. Planificación Github Project
- 5. Interfaz del CLI
- 6. Documentación tecnica de la libreria
- 7. Test Unitario y Asincronos
- 8. Guia de Instalación
- 9. Checklist
- 10. Referencias
En este proyecto se construyo una api para leer links de un archivo MD, y se uso la api desde un aplicación de terminal CLI para que nos de información adicional de cada link del archivo MD, la libreria esta disponible desde npm install.
En el primer Sprint se inicio con la primera versión del diagrama de flujo, en el segundo sprint se finalizo el diagrama de flujo y se realizo un caso ideal para usar la primera versión de la api desde el CLI, para usarlo sin options y con --stats mostrando la cantidad de link encontrados, en el 3er Sprint en el CLI se considera un segundo argumento options que puede tener el valor true o false, y en el CLI se considero --stats, --validate y --stats junto con --validate, en el 4to Sprint se considera la lectura de archivos de forma asincrona, información de la linea donde se encuentra el link encontrado en el archivo MD, se realizaron los test unitarios y se volvio modulo instalable con npm install
Se realizaron dos diagramas de Flujo para el CLI y para la API para visualizar mejor lo que se tendría que hacer y planificar las tareas y objetivos.
- Diagrama de Flujo de la API
- Diagrama de Flujo del CLI
- Sprint 1
- Sprint 2
- Sprint 3
- Sprint 4
- Github Project
- Usando md-links sin options
- Usando md-links con options --validate
- Usando md-links con options --stats
- Usando md-links con options --stats --validate
- Usando md-links con ruta de directorio
path
: Ruta absoluta o relativa al archivo o directorio. Si la ruta pasada es relativa, se resuelve como relativa al directorio desde donde se invoca node - current working directory).options
: Un objeto con únicamente la siguiente propiedad:validate
: Booleano que determina si se desea validar los links encontrados.
La función retorna una promesa (Promise
) que resuelve a un arreglo
(Array
) de objetos (Object
), donde cada objeto representa un link y contiene
las siguientes propiedades
Con validate:false
:
href
: URL encontrada.text
: Texto que aparecía dentro del link (<a>
).file
: Ruta del archivo donde se encontró el link.line
: Arreglo de lineas donde se encontró el link.
Con validate:true
:
href
: URL encontrada.text
: Texto que aparecía dentro del link (<a>
).file
: Ruta del archivo donde se encontró el link.status
: Código de respuesta HTTP.ok
: Mensajefail
en caso de fallo uok
en caso de éxito.line
: Arreglo de lineas donde se encontró el link.
- Usando mdLinks con validate false
- Usando mdLinks con validate true
- npm install YesicaChui/DEV004-md-links
- [ x ] Puede instalarse via
npm install --global <github-user>/md-links
- [ x ] Un board con el backlog para la implementación de la librería.
- [ x ] Documentación técnica de la librería.
- [ x ] Guía de instalación de la librería
- [ x ] El módulo exporta una función con la interfaz (API) esperada.
- [ x ] Implementa soporte para archivo individual
- [ x ] Implementa soporte para directorios
- [ x ] Implementa
options.validate
- [ x ] Expone ejecutable
md-links
en el path (configurado enpackage.json
) - [ x ] Se ejecuta sin errores / output esperado
- [ x ] Implementa
--validate
- [ x ] Implementa
--stats
- [ x ] Pruebas unitarias cubren un mínimo del 70% de statements, functions, lines, y branches.
- [ x ] Pasa tests (y linters) (
npm test
).