En este hito, crearás un Interfaz de Linea de Comando (CLI), un script
ejecutable que internamente ejecutará la función mdLinks
que acabas de crear.
Este módulo debe incluir tanto un ejecutable que podamos invocar en la línea de comando como una interfaz que podamos importar para usarlo programáticamente.
El ejecutable de tu aplicación debe poder correr de la siguiente manera a través de la terminal:
`md-links <path-to-file> [options]`
Por ejemplo:
El comportamiento por defecto no debe validar si las URLs responden ok o no, solo debe identificar el archivo Markdown (a partir de la ruta que recibe como argumento), analizar el archivo Markdown e imprimir los links que vaya encontrando, junto con la ruta del archivo donde aparece y el texto que hay dentro del link (truncado a 50 caracteres).
Si pasamos la opción --validate
, el módulo debe hacer una petición HTTP para
averiguar si el link funciona o no. Si el link resulta en una redirección a una
URL que responde ok, entonces consideraremos el link como ok.
Por ejemplo:
Vemos que el output en este caso incluye la palabra ok
o fail
después de
la URL, así como el status de la respuesta recibida a la petición HTTP a dicha
URL.
Si pasamos la opción --stats
el output (salida) será un texto con estadísticas
básicas sobre los links.
También podemos combinar --validate
y --stats
para obtener estadísticas que
necesiten de los resultados de la validación.
Para ejecutar tu script utilizando el comando mdlinks
, debes vincular este
comando al sistema. Sin embargo, antes de vincular el comando, puedes desarrollar
tu interfaz de línea de comandos (CLI) invocándola con node. Por ejemplo,
puedes usar el siguiente comando:
node <RUTA_DE_TU_CLI.js> ruta options
Este paquete deberá estar documentado en un repositorio público con un package.json
para poderlo instalar con NPM.
La instalación sería de la siguiente manera:
npm install `<github-user>/md-links`.