Yarn (Facebook)
# Yarn (Facebook)

Yarn es un nuevo tipo de instalador de paquetes JavaScript y gestor de dependencias lanzado por la empresa Facebook en colaboración con otros desarrolladores como Google donde introduce cambios en esa gestión de dependencias, en la ejecución de tareas y algunas mejoras de rendimiento, también en el cambio de enfoque en la descarga e instalación de los paquetes y en su gestión de las dependencias, por ejemplo, con Yarn el programador podrá gestionar nuestras dependencias con mayor fiabilidad.

Es compatible con el registro del npm, pero difiere en su acercamiento a instalar paquetes; Utiliza archivos de bloqueo y un algoritmo de instalación determinista, esto le permite mantener la misma estructura de los directorios node_modules -que albergan dependencias- para todos los usuarios involucrados en un proyecto, y ayudar a reducir los errores que son difíciles de rastrear y replicar en múltiples máquinas.

El proceso de instalación y control que introduce Yarn tiene distintos pasos:

- Resolution: Yarn resuelve las dependencias entre paquetes o bibliotecas JavaScript haciendo solicitudes al registro y revisando cada dependencia que se encuentre ya gestionada dentro del directorio.

- Fetching: después, Yarn revisa el directorio global almacenado en la memoria caché y comprueba que el paquete o biblioteca JavaScript que se quiere descargar no fue instalado con anterioridad. Si Yarn comprueba que no lo tiene, descarga el paquete y lo instala en la caché para evitar instalar y gestionar en el futuro la misma dependencia.

- Linking: el último paso de Yarn es copiar todos los archivos de la memoria caché al node_modules del directorio local para que el desarrollador pueda empezar a trabajar con el paquete JavaScript.

## Características

* Compatible con npm
* Aumenta la productividad
* Instala paquetes de manera simultánea
