Brew Creator desenvolve un novo xestor de paquetes de té

Max Howell, o autor do popular sistema de xestión de paquetes de macOS brew (Homebrew), está a desenvolver un novo xestor de paquetes chamado Tea, posicionado como unha continuación do desenvolvemento de brew, que vai máis aló do xestor de paquetes e ofrece unha infraestrutura de xestión de paquetes unificada que funciona con repositorios descentralizados. O proxecto desenvólvese inicialmente como un proxecto multiplataforma (actualmente é compatible con MacOS e Linux, o soporte para Windows está en desenvolvemento). O código do proxecto está escrito en TypeScript e distribúese baixo a licenza Apache 2.0 (brew foi escrito en Ruby e distribuído baixo a licenza BSD).

Tea non é conceptualmente como os xestores de paquetes tradicionais e en lugar do paradigma "Quero instalar un paquete", usa o paradigma "Quero usar un paquete". En particular, Tea non ten un comando para instalar un paquete como tal, senón que usa a xeración de ambientes para executar os contidos do paquete que non se solapan co sistema actual. Os paquetes colócanse nun directorio separado ~/.tea e non están ligados a camiños absolutos (pódense mover).

Ofrécense dous modos de operación principais: ir a un shell de comandos con acceso ao ambiente cos paquetes instalados e chamar directamente a comandos relacionados co paquete. Por exemplo, ao executar "tea +gnu.org/wget", o xestor de paquetes descargará a utilidade wget e todas as dependencias necesarias e, a continuación, proporcionará acceso ao intérprete de comandos no ambiente no que está dispoñible a utilidade wget instalada. A segunda opción implica o lanzamento directo - "tea +gnu.org/wget wget https://some_webpage", no que a utilidade wget instalarase e lanzarase inmediatamente nun ambiente separado. É posible compoñer cadeas complexas, por exemplo, para descargar o ficheiro white-paper.pdf e procesalo coa utilidade glow, podes usar a seguinte construción (se faltan wget e glow, instalaranse): té + gnu.org/wget wget -qO- https://tea.xyz/white-paper.pdf | tea +charm.sh/glow glow - ou pode usar unha sintaxe máis sinxela: tea -X wget -qO- tea.xyz/white-paper | té -X brillo -

Do mesmo xeito, pode executar directamente scripts, exemplos de código e one-liners, cargando automaticamente as ferramentas necesarias para o seu funcionamento. Por exemplo, executando "tea https://gist.githubusercontent.com/i0bj/…/raw/colors.go -yellow" instalará o kit de ferramentas Go e executará o script colors.go co argumento "-yellow".

Para non chamar ao comando tea cada vez, é posible conectalo como xestor universal de ambientes virtuais e xestor de programas que faltan. Neste caso, se o programa en execución non está dispoñible, instalarase e, se se instalou anteriormente, lanzarase no seu entorno. $ deno zsh: comando non atopado: deno $ cd o meu-proxecto $ deno tea: instalando deno.land^1.22 deno 1.27.0 > ^D

Na súa forma actual, os paquetes dispoñibles para Tea recóllense en dúas coleccións: pantry.core e pantry.extra, que inclúen metadatos que describen fontes de descarga de paquetes, scripts de compilación e dependencias. A colección pantry.core inclúe as principais bibliotecas e utilidades, mantidas actualizadas e probadas polos desenvolvedores de Tea. Pantry.extra contén paquetes que non están suficientemente estabilizados ou que son suxeridos polos membros da comunidade. Ofrécese unha interface web para navegar polos paquetes.

O proceso de creación de paquetes para Tea simplifícase moito e redúcese á creación dun ficheiro package.yml universal (exemplo), que non require adaptar o paquete para cada nova versión. Un paquete pode ligar a GitHub para descubrir novas versións e descargar o seu código. O ficheiro tamén describe dependencias e ofrece scripts de compilación para plataformas compatibles. As dependencias instaladas son inmutables (a versión é fixa), o que elimina a repetición de situacións semellantes ao incidente do panel esquerdo.

No futuro, está previsto crear repositorios descentralizados que non estean ligados a ningún almacenamento separado e utilizar unha cadea de bloques distribuída para metadatos e unha infraestrutura descentralizada para almacenar paquetes. As versións serán certificadas directamente polos mantedores e revisadas polas partes interesadas. É posible distribuír fichas de criptomoeda para contribuír ao mantemento, soporte, distribución e verificación de paquetes.

Brew Creator desenvolve un novo xestor de paquetes de té


Fonte: opennet.ru

Engadir un comentario