0.1.0 • Published 2 years ago

md-links_lylyzyta v0.1.0

Weekly downloads
-
License
ISC
Repository
github
Last release
2 years ago

Markdown Links

Índice


1. Resumen del proyecto

En este proyecto crearás una herramienta de línea de comando (CLI) así como tu propia librería (o biblioteca - library) en JavaScript.

En esta oportunidad nos alejamos un poco del navegador para construir un programa que se ejecute usando Node.js. Aprenderemos sobre procesos (process.env, process.args, ...), cómo interactuar con el sistema archivos, cómo hacer consultas de red, etc.

Node.js es un entorno de ejecución para JavaScript construido con el motor de JavaScript V8 de Chrome. 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, ...

Diseñar tu propia librería es una experiencia fundamental para cualquier desarrollador porque que te obliga a pensar en la interfaz (API) de tus módulos y cómo será usado por otros developers. Debes tener especial consideración en peculiaridades del lenguaje, convenciones y buenas prácticas.

2. Planificación

Para el diseño y la implementación de la herramienta se llevó acabo un plan de acción usando Github Projects

GitHub Projects

Se creó un diagrama de flujo.

Diagrama de Flujo

3. Implementación

La presente herramienta permite leer del sistema de archivos, recibir argumentos a través de la línea de comando, analizar texto, hacer consultas HTTP.

Las opciones disponibles en línea de comando son las siguientes:

API mdLinks(path, opts)

  • El módulo exporta una función con la interfaz (API) esperada.
  • Implementa soporte para directorios
  • Implementa options.validate

No option Options --validate

CLI

  • Expone ejecutable md-links en el path (configurado en package.json)
  • Se ejecuta sin errores / output esperado
  • Implementa --validate
  • Implementa --stats

Options --validate Options --stats Options -validate --stats

Pruebas / tests

  • Pruebas unitarias cubren un mínimo del 70% de statements, functions, lines, y branches.
  • Pasa tests (y linters) (npm test).

Test