2 min de lectura

Boss trae paquetes al estilo npm a Delphi

Boss es un gestor de dependencias de código abierto para Delphi y Lazarus, con comandos similares a npm, versionado semántico y control de la cadena de herramientas.

Imagen: Hacker News

Boss es un gestor de dependencias de código abierto para Delphi y Lazarus, explícitamente inspirado en npm. El proyecto busca ofrecer a los desarrolladores Pascal un flujo de trabajo de paquetes familiar, centrado en un manifiesto boss.json, instalaciones desde la CLI, restricciones de versiones y scripts reutilizables.

La configuración es sencilla: descarga la versión más reciente, extráela, añade la carpeta al PATH del sistema y ejecuta boss en una terminal. También hay disponible un complemento opcional de Boss para el IDE Delphi.

El conjunto de comandos refleja de cerca a los gestores de paquetes modernos. Los comandos principales incluyen:

  • boss init para crear un nuevo proyecto y generar boss.json
  • boss install y boss uninstall para añadir o quitar dependencias
  • boss update para obtener las últimas versiones compatibles
  • boss upgrade para actualizar la propia CLI
  • boss dependencies para inspeccionar los árboles de dependencias
  • boss run para ejecutar scripts personalizados definidos en boss.json

Boss también admite autenticación en repositorios mediante boss login y boss logout, además de instalaciones globales, salida de depuración y opciones de ayuda integradas.

Recomendado

Llegan los emojis cara agrietada y pepinillo en Unicode 18

Una característica notable es su manejo de la cadena de herramientas. Los desarrolladores pueden fijar un compilador y una plataforma específicos en boss.json, incluidos 37.0, Win32 y Win64, y opcionalmente exigir una coincidencia exacta con el modo estricto. La CLI también puede detectar las versiones de Delphi instaladas y cambiar entre ellas con boss config delphi use.

En el lado de Git, Boss ofrece un modo integrado usando go-git y un modo nativo usando el git.exe del sistema. También admite clonación superficial (shallow clone), que según el proyecto puede reducir drásticamente las descargas — por ejemplo, de 127 MB a <1 MB en repositorios grandes. La clonación superficial está desactivada por defecto por compatibilidad.

El versionado sigue patrones familiares de versionado semántico, incluyendo ^1.0.0, ~1.0.0, 1.0.x y formatos comodín como \* o x. El manifiesto también puede definir metadatos del proyecto, rutas de origen, objetivos de compilación, requisitos del motor y scripts como build, test, clean y deploy.

Tomas Berg

Computing Editor

Tomas lives in the terminal. He covers chips, laptops, and operating systems with a focus on performance and efficiency. He reads kernel changelogs the way other people read fiction, and he's always on the hunt for the perfect mechanical keyboard switch. If it processes data, Tomas has an opinion on it.

vía Hacker News

// Sigue leyendo