tea menciptakan teknologi baru yang akan mengubah cara kode didistribusikan
Max Howell, pengarang dari sistem manajemen paket populer buatan (Homebrew) dari macOS, diungkapkan itu sedang mengerjakan pengembangan manajer paket baru, bernama Tea, yang diposisikan sebagai kelanjutan dari pengembangan minuman, melampaui manajer paket dan menawarkan infrastruktur manajemen paket terpadu yang bekerja dengan repositori terdesentralisasi.
Teh secara konseptual tidak seperti manajer paket tradisional., dan alih-alih paradigma "Saya ingin menginstal paket", ia menggunakan pendekatan "Saya ingin menggunakan paket".
Khususnya Tea tidak memiliki perintah penginstalan paket seperti itu, melainkan menggunakan pembuatan lingkungan untuk menjalankan konten paket yang tidak tumpang tindih dengan sistem saat ini. Paket ditempatkan di direktori ~/.tea yang terpisah dan tidak ditetapkan ke jalur absolut (dapat dipindahkan).
Dua mode dasar disediakan di Tea operasi: Melompat ke shell perintah dengan akses ke lingkungan dengan paket terinstal dan secara langsung menjalankan perintah terkait paket. Misalnya, dengan menjalankan "tea +gnu.org/wget", manajer paket akan mengunduh utilitas wget dan semua dependensi yang diperlukan, lalu memberikan akses shell di lingkungan tempat utilitas wget yang terinstal tersedia.
Opsi kedua melibatkan peluncuran langsung: «teh +gnu.org/wget -qO- tea.xyz/white-paper | teh +charm.sh/glow glow – ", yang akan menginstal utilitas wget dan segera menjalankannya di lingkungan terpisah, mengunduh file yang akan dirender dengan glow. Rantai kompleks dimungkinkan, misalnya, untuk mengunduh file white-paper.pdf dan memprosesnya dengan utilitas glow, Anda dapat menggunakan konstruksi berikut (jika wget dan glow tidak ada, keduanya akan diinstal).
Demikian juga, Anda dapat langsung menjalankan skrip, contoh kode dan satu kalimat, secara otomatis memuat alat yang diperlukan untuk pekerjaan itu.
Tanpa contoh, jalankan:
tea https://gist.githubusercontent.com/i0bj/2b3afbe07a44179250474b5f36e7bd9b/raw/colors.go --yellow
tea: installing go 1.18.3
go: installing deps
go: running colors.go
…
Ini akan menginstal perangkat bahasa Go dan menjalankan skrip colors.go dengan argumen “–kuning”.
Agar tidak memanggil perintah teh setiap saat, dimungkinkan untuk menghubungkannya sebagai manajer universal lingkungan virtual dan driver program yang hilang. Dalam hal ini, jika program yang sedang berjalan tidak tersedia, itu akan diinstal dan, jika diinstal sebelumnya, itu akan dimulai di lingkungan Anda.
Dalam bentuknya saat ini, paket yang tersedia untuk Teh dikumpulkan dalam dua koleksi, pantry.core dan pantry.extra, yang menyertakan metadata yang menjelaskan sumber pengunduhan paket, skrip build, dan dependensi.
Koleksi pantry.core menyertakan pustaka inti dan utilitas yang dikembangkan Tea terus diperbarui dan diuji. pantry.extra berisi paket yang tidak distabilkan dengan baik atau yang disarankan oleh masyarakat. Antarmuka web disediakan untuk menavigasi paket.
Proses pembuatan paket untuk Tea sangat disederhanakan dan direduksi menjadi pembuatan file package.yml universal (contoh), yang tidak memerlukan paket untuk diadaptasi untuk setiap versi baru. Untuk menemukan versi baru dan mengunduh kodenya, paket tersebut dapat ditautkan ke GitHub.
File tersebut juga menjelaskan dependensi dan menyediakan skrip build untuk platform yang didukung. Ketergantungan yang diinstal tidak dapat diubah (versi diperbaiki), yang menghilangkan situasi berulang yang mirip dengan insiden pad kiri.
Di masa depan, direncanakan untuk membuat repositori terdesentralisasi ituue tidak terikat pada penyimpanan terpisah dan menggunakan blockchain terdistribusi untuk metadata dan infrastruktur terdesentralisasi untuk menyimpan paket. Versi akan langsung disertifikasi oleh pengelola dan ditinjau oleh pihak yang berkepentingan. Dimungkinkan untuk mendistribusikan token cryptocurrency untuk berkontribusi pada pemeliharaan, dukungan, distribusi, dan verifikasi paket.
Akhirnya, perlu disebutkan bahwa saat ini proyek ini awalnya dikembangkan sebagai lintas platform (macOS dan Linux saat ini didukung, dukungan Windows sedang dalam pengembangan.) Kode proyek ditulis dalam TypeScript dan dirilis di bawah lisensi Apache 2.0 (minuman ditulis dalam Ruby dan dikirimkan di bawah lisensi BSD).
Jika Anda tertarik untuk mempelajarinya lebih lanjut, Anda dapat berkonsultasi dengan detail Tea dan panduan pengguna di link berikut.