- 1. Resumen del proyecto
- 2. Diagrama de Flujo
- 3. Instalación y guía de uso de la librería
- 4. Características técnicas
- 5. Autora
Este proyecto consta en la creación de una herramienta de línea de comando (CLI) así como una propia librería (o biblioteca - library) en JavaScript.
Diseñar una librería propia es una experiencia fundamental para cualquier desarrollador porque obliga a pensar en la interfaz (API) de módulos propios y cómo será usado por otros developers. Se tomó en cuenta especial consideración en peculiaridades del lenguaje, convenciones y buenas prácticas.
La libreria se instala usando la siguiente vía:
npm i marklink
Una vez que el usuario tenga instalada la librería marklink, va a tener las siguientes herramientas:
- En el terminal ingresamos el comando global md-link seguido de la dirección de la ubicación del archivo y/o carpeta de la cual queremos saber cuales son los links existentes en ese archivo y su texto descriptivo. Ejemplo:
- Si ingresamos el comando global md-link seguido de la dirección de la ubicación del archivo y seguido del comando --validate obtendremos las propiedades de los links que encontramos en ese archivo. Ejemplo:
- Si ingresamos el comando global md-link seguido de la dirección de la ubicación del archivo y seguido del comando --stats obtendremos la cantidad total de links que encontremos en ese archivo y el total de links unicos encontrados:
- Si ingresamos el comando global md-link seguido de la dirección de la ubicación del archivo y seguido de los comandos --stats --validate obtendremos la cantidad total de links que encontremos en ese archivo, el total de links unicos encontrados y el total de links rotos:
- Si ingresamos el comando global md-link seguido de la dirección de la ubicación del archivo y seguido del comando --help obtendremos un texto de ayuda como el siguiente:
Para mayor información visite MarkLink.
El proyecto se realizó bajo estas características técnicas de javascript y node:
-
Diferenciar entre tipos de datos primitivos y no primitivos
-
Arrays (arreglos)
-
Objetos (key, value)
-
Uso de condicionales (if-else, switch, operador ternario, lógica booleana)
-
Funciones (params, args, return)
-
Recursión o recursividad
-
Módulos de CommonJS
-
Diferenciar entre expresiones (expressions) y sentencias (statements)
-
Callbacks
-
Promesas
-
Pruebas unitarias (unit tests)
-
Pruebas asíncronas
-
Uso de mocks y espías
-
Pruebas de compatibilidad en múltiples entornos de ejecución
-
Uso de linter (ESLINT)
-
Uso de identificadores descriptivos (Nomenclatura y Semántica)
-
Instalar y usar módulos con npm
-
Configuración de package.json
-
Configuración de npm-scripts
-
process (env, argv, stdin-stdout-stderr, exit-code)
-
File system (fs, path)
-
Git: Instalación y configuración
-
Git: Control de versiones con git (init, clone, add, commit, status, push, pull, remote)
-
Git: Integración de cambios entre ramas (branch, checkout, fetch, merge, reset, rebase, tag)
-
GitHub: Creación de cuenta y repos, configuración de llaves SSH
-
GitHub: Despliegue con GitHub Pages
-
GitHub: Colaboración en Github (branches | forks | pull requests | code review | tags)
-
GitHub: Organización en Github (projects | issues | labels | milestones | releases)
-
Consulta o petición (request) y respuesta (response).
-
Codigos de status de HTTP
Dafne Aquino Manyari - LIM015 Laboratoria.