4 puntos por GN⁺ 2025-03-26 | Aún no hay comentarios. | Compartir por WhatsApp
  • El Comité Directivo Técnico (TSC) de Node.js decidió mediante una votación oficial que Corepack dejará de incluirse en la distribución de Node.js
  • Se aplicará a partir de Node.js 25, mientras que en Node.js 24 e inferiores seguirá ofreciéndose como una función experimental

Función y límites de Corepack

  • Corepack es una herramienta experimental introducida en Node.js 16.9.0 que permite usar gestores de paquetes como Yarn y pnpm sin instalarlos por separado
  • Cumple la función de ayudar a forzar una versión específica del gestor de paquetes en un proyecto
  • Sin embargo, no se ha usado ampliamente debido al bajo conocimiento de los usuarios y a malentendidos sobre su propósito
  • También existe escepticismo sobre incluir en Node.js gestores de paquetes que deberían funcionar de manera independiente del runtime

El proceso hasta la eliminación de Corepack

  • El debate sobre el futuro de Corepack ha continuado durante años, y en noviembre de 2023 una propuesta para activarlo por defecto generó polémica
  • En febrero de 2024 surgieron preocupaciones de que Corepack pudiera usarse como una forma de deshacer el acoplamiento entre npm y Node.js
  • En marzo de 2024, aunque se dejó claro que npm seguiría incluido en Node.js, empezó a tomar fuerza la posibilidad de eliminar Corepack
  • El TSC delegó la decisión relacionada al Package Maintenance Working Group (PMWG)
  • El PMWG presentó la siguiente hoja de ruta para la eliminación:
    • Destacar herramientas de gestión de versiones como nvm y fnm en la página de descargas de Node.js
    • Separar la documentación de Corepack de la documentación de la API de Node.js y moverla a un repositorio independiente
    • Eliminar Corepack de la distribución de Node.js a partir de la siguiente versión mayor
  • Esta hoja de ruta recibió un fuerte respaldo dentro del PMWG y llevó a la votación final

Motivos detrás de la decisión de eliminar Corepack

  • Baja adopción: muchos desarrolladores instalan y usan directamente el gestor de paquetes que prefieren en lugar de Corepack
  • Preocupaciones sobre la distribución: existe la opinión de que incluir Corepack dentro del binario de Node.js es innecesario
  • Problemas de mantenimiento a largo plazo: si Corepack se separa de Node.js, los gestores de paquetes podrán evolucionar con mayor independencia
  • El resultado de la votación fue la adopción de la propuesta de una “eliminación gradual en el futuro”
  • Otras propuestas (por ejemplo, mantenerlo desactivado por defecto) no obtuvieron suficiente apoyo
  • Algunos desarrolladores evaluaron esta decisión como un retroceso, ya que usaban Corepack en lugar de npm para aprovechar pnpm
  • Desde Node.js se enfatiza que Corepack nunca estuvo pensado como una función permanente y que es preferible mantenerlo por separado

Cambios a futuro

  • En adelante, Corepack ya no vendrá incluido por defecto en Node.js
  • Si se necesita, deberá instalarse manualmente con el siguiente comando:
    • npm install -g corepack
  • Los proyectos que usan Corepack necesitarán actualizar su documentación y sus flujos de trabajo
  • Aun así, esta decisión no significa el fin del soporte para Corepack, sino únicamente su eliminación de Node.js
  • El mantenimiento de Corepack continuará hasta que Node.js 24.x llegue a EOL

Contexto histórico de Node.js y los gestores de paquetes

  • En el pasado ya hubo debates sobre qué elementos debían incluirse en Node.js, y uno de ellos fue si npm debía formar parte del proyecto
  • Con la aparición de gestores de paquetes alternativos como Yarn y pnpm, surgieron más opciones de elección
  • La eliminación de Corepack forma parte de un movimiento para hacer más simple la distribución de Node.js
  • Esto también está en línea con la tendencia de otros ecosistemas de lenguajes de separar el runtime y el gestor de paquetes
  • Los desarrolladores deberán preparar su entorno de desarrollo teniendo en cuenta que Corepack ya no vendrá incluido en Node.js

Aún no hay comentarios.

Aún no hay comentarios.