Dependencia Gauss. Somos parte del grupo de trabajo de los cargadores de Node.js. Los cargadores son la forma en que Node.js te permite interceptar la llamada requerida y enrutarla a diferentes ubicaciones. Por ejemplo, podría ser cargar modelos desde HTTP en lugar de cargarlos desde el disco. Podría ser cargar modelos desde archivos compilados, en lugar de cargarlos desde archivos individuales. Hay muchos casos de uso para los cargadores.
Por ejemplo, es posible que conozcas DESP, que está simulando tus modelos. Eso pasa por los cargadores. Entonces, los cargadores son muy nuevos. No existían para command.js. Empezaron a aparecer para ESM. Somos parte de la discusión para averiguar cómo hacer que sean lo suficientemente potentes para ser prácticos en nuestro mundo.
Realizamos pruebas de extremo a extremo contra muchos proyectos de código abierto. Algo que notamos al contribuir a terceros es que es fácil para ellos agregar accidentalmente otra dependencia, olvidarse de listarla y luego las cosas empiezan a fallar. Para prevenir eso, en nuestro lado, dentro de Yarn mismo, cada tres horas, ejecutamos un montón de pruebas de extremo a extremo instalando la última versión de todos los principales proyectos de código abierto como Zvelt, Gatsby, Webpack, todo tipo de proyectos, realmente, y comprobando si funcionan en pruebas simples. Si no lo hacen, entonces podemos ir inmediatamente a los mantenedores y hablar con ellos y ver cuál sería la mejor solución. Así que ha sido bastante útil tanto para nosotros como para los mantenedores para rastrear las regresiones.
Y finalmente, abogamos por un Corepack no implementado, una nueva herramienta de Node.js que te permite administrar la versión de tu administrador de paquetes en una base por proyecto en lugar de una base global. Eso es algo que me ha parecido muy importante, porque cuando lo piensas, el trabajo de tu administrador de paquetes es bloquear tus dependencias. A partir de ahí, parece un poco extraño que el administrador de paquetes sea la única dependencia de tu proyecto que no estaría bloqueada, ¿verdad? Así que con Corepack, puedes bloquear la versión del administrador de paquetes a una versión específica para que estés completamente seguro de que todos en tu equipo tendrán el mismo comportamiento.
Una cosa a tener en cuenta sobre Corepack es que funciona para Yarn, por lo que se distribuye con Node, y cuando ejecutas Corepack enable, tienes Yarn dentro de tu carpeta bin, pero también funciona para PMPM. Así que eso es algo que también me pareció muy importante, que las cosas deberían funcionar no solo para Yarn, porque somos uno de los otros administradores de paquetes, sino también para PMPM, que es otro. Deberíamos reconocerlos y aceptarlos dentro de la comunidad.
Y eso me lleva a mi otro punto, que es la polinización entre proyectos. Queremos que Yarn sea una especie de plataforma que se pueda utilizar para construir tu propio administrador de paquetes si quieres. Mantenemos una base de datos de dependencias Gauss. Todas esas dependencias problemáticas que mencioné, donde si te falta una, puedes tener comportamientos diferentes de una celda a otra. Eso es algo que rastreamos y que almacenamos dentro de una pequeña base de datos. Y PMPM, por ejemplo, aprovecha esta base de datos para solucionar problemas a medida que se informan. Básicamente, es como una base de datos de compatibilidad. PMPM mismo aprovecha nuestro código para generar normales, no los normales de symlink, sino el archivo concreto que puedes...
Comments