vivianagomez_md-links v0.1.1
Markdown Links
Índice
- 1. Preámbulo
- 2. Resumen del proyecto
- 3. Planificacion del proyecto
- 4. Paso a paso del proyecto
- 5. Testeo del proyecto
- 6. Checklist
1. Preámbulo
es un lenguaje de marcado
ligero muy popular entre developers. Es usado en muchísimas plataformas que
manejan texto plano (GitHub, foros, blogs, ...) y es muy común
encontrar varios archivos en ese formato en cualquier tipo de repositorio
(empezando por el tradicional README.md
).
Estos archivos Markdown
normalmente contienen links (vínculos/ligas) que
muchas veces están rotos o ya no son válidos y eso perjudica mucho el valor de
la información que se quiere compartir.
2. Resumen del proyecto
En este proyecto se creo una herramienta de línea de comando (CLI) así como su propia librería.Esto nos va a permitir ejecutar JavaScript en el entorno del sistema operativo, ya sea tu máquina o un servidor, lo cual nos abre las puertas para poder interactuar con el sistema en sí, archivos, redes, etc.
En esta oportunidad nos alejamos un poco del navegador para construir un programa que se ejecute usando Node.js, es un entorno de ejecución para JavaScript construido con el Node.js
3. Planificación del proyecto
El metodo para desarrollar el proyecto fue por medio de GitHub Projects, Issues y Milestones.
Diagrama de flujo del proyecto
4. Paso a paso del proyecto
CLI (aplicación de línea de comandos).
Instalación. Dentro de tu terminal ejecuta el siguiente comando:
npm i vivianagomez_md-links
Inicar la libreria. Cuando se tenga la libreria instalada sera necesario proporcionar los datos en la terminal de la siguiente forma:
npx npm i vivianagomez_md-links options
Path (Url o Ruta relativa u absoluta).
Options a ejecutar (--validate, --stats, --validate --stats, solo la path).
En caso de se una ruta no encontrada o la ruta no fue proporcionada correctamente lanzara error.
Ingresos de opciones y resultados esperados. 1. npx npm i vivianagomez_md-links Al ejecutar esta opción donde solo se proporciona la ruta la libreria solo enlistara los links encontrados. En caso de no encontrar ruta o no ser proporcionada conrrectamente lanzara error u ruta no encontrada.
npx i vivianagomez_md-links --validate Al ejecutar esta opción el modulo hara una petición HTTP mostrando si los links encontrados funcionan o no. Si el link resulta en una redirección a una URL que responde ok, entonces consideraremos el link como funcional. Si el link resulta en una redirección a una URL que responde fail, entonces consideraremos el link como roto. Si no encuentra ningun archivo se lanzara error.
3.npx i vivianagomez_md-links --stats Al ejecutar esta opción el output (salida) será un texto con estadísticas básicas sobre los links, donde se mostrara la cantidad de links encontrados y no repetidos. Si no encuentra ningun archivo se lanzara error.
npx i vivianagomez_md-links --validate --stats Al ejecutar esta opción el output (salida) será un texto con estadísticas básicas sobre los links, donde se mostrara la cantidad de links encontrados y no repetidos, ademas de analizar la cantidad de links rotos u no funcionales. Si no encuentra ningun archivo se lanzara error.
5. Testeo del proyecto
Resultados de pruebas realizadas a las funciones puras.
6. Checklist
General
- Puede instalarse via
npm install --global <github-user>/md-links
README.md
- Un board con el backlog para la implementación de la librería.
- Documentación técnica de la librería.
- Guía de uso e instalación de la librería
API mdLinks(path, opts)
- El módulo exporta una función con la interfaz (API) esperada.
- Implementa soporte para archivo individual
- Implementa soporte para directorios
- Implementa
options.validate
CLI
- Expone ejecutable
md-links
en el path (configurado enpackage.json
) - Se ejecuta sin errores / output esperado
- Implementa
--validate
- Implementa
--stats
Pruebas / tests
- Pruebas unitarias cubren un mínimo del 70% de statements, functions, lines, y branches.
- Pasa tests (y linters) (
npm test
).