Sobre el proyecto

Yarn 1.x es un gestor de paquetes para proyectos JavaScript, descrito en su README como gestión de dependencias rápida, fiable y segura. Este repositorio contiene las fuentes de la línea 1.x (la última versión al momento de escribir esto es la 1.22) y está explícitamente congelado: las nuevas funciones y correcciones de errores ahora ocurren en el repositorio yarnpkg/berry, mientras que este se mantiene principalmente con fines históricos y correcciones puntuales ocasionales para facilitar la migración de 1.x a versiones posteriores. Capacidades clave documentadas en el README: - Caché: cada paquete descargado se almacena en caché, de modo que el mismo paquete nunca necesita descargarse de nuevo. - Concurrencia: la mayoría de las operaciones se ejecutan de forma concurrente para maximizar el uso de recursos, lo que según el proyecto resulta en instalaciones más rápidas. - Instalaciones deterministas: un formato de archivo de bloqueo detallado pero conciso, junto con un algoritmo de instalación determinista, pretende garantizar que una instalación que funciona en un sistema funcione igual en otro, independientemente del orden de instalación. - Verificaciones de integridad: se utilizan sumas de verificación para verificar cada paquete instalado antes de ejecutar su código. - Modo offline: los paquetes instalados previamente pueden instalarse de nuevo sin conexión a internet. - Rendimiento y resiliencia de red: las solicitudes se ponen en cola de manera eficiente para evitar cascadas de solicitudes, y una sola solicitud fallida no hace fallar toda la instalación porque las solicitudes se reintentan automáticamente. - Modo plano: las versiones de dependencias no coincidentes se resuelven a una sola versión para evitar duplicados. Las instrucciones de instalación y uso no están incluidas en el propio README; este remite a la Guía de instalación y a la Guía de uso en el sitio web yarnpkg.com. El README también señala que el código de 1.x es bastante antiguo y solo aceptará correcciones de seguridad, y recomienda migrar a la última versión, donde el ajuste nodeLinker permite elegir entre node_modules (como npm), enlaces simbólicos (como pnpm) o archivos de manifiesto mediante Yarn PnP. Se atribuye inspiración a Bundler, Cargo y npm, y el README agradece a Sam Holmes por donar el nombre del paquete npm. Las secciones de patrocinio mencionan a Doppler y WorkOS.