JSR - registri baru untuk berbagi paket JavaScript
- Dalam beberapa tahun terakhir, pengelola paket baru seperti yarn dan pnpm telah muncul dan memperbaiki cara paket diunduh
- Namun, registri paket npm, inti dari ekosistem JavaScript, hampir tidak berevolusi
- Pembaruan penting terakhir adalah tab "files" yang ditambahkan beberapa tahun lalu
- Paradoksnya, bahasa JavaScript yang dikenal aktif berevolusi justru tampak terhambat oleh model distribusi yang ketinggalan zaman
Masalah pada sistem modul JavaScript
- Saat Node dibuat, belum ada sistem modul standar untuk JavaScript, sehingga registri npm dan Node mengadopsi sistem CommonJS(
require) yang secara mendasar memiliki cacat sebagai standar bawaan
- Sistem ini tidak dapat berjalan di browser
- Hampir 10 tahun lalu, pada 2015, bahasa ini sendiri mengadopsi sintaks ES module(
import)
- Saat ini sebagian besar JavaScript ditulis menggunakan ES module, tetapi jalur untuk mendistribusikan modul-modul ini masih rumit
- Terutama jika TypeScript ikut terlibat
- Kesenjangan yang jelas dalam ekosistem inilah yang melahirkan JSR
- JSR bukan pengelola paket lain, melainkan registri transformatif yang dirancang untuk merevolusi cara berbagi JavaScript dan TypeScript di runtime sisi server, browser, dan berbagai alat
Fitur dan manfaat JSR
- JSR secara mendasar meningkatkan proses distribusi kode dengan menyederhanakan kompleksitas yang telah lama membebani para pengembang
- Sebagai solusi ESM-only dan TypeScript-first, JSR menghilangkan penyesuaian yang merepotkan pada konfigurasi
package.json dan opsi kompiler tsconfig yang seperti labirin
- Melalui sistem penilaian paket, JSR mendorong praktik terbaik dalam distribusi kode
- Mirip dengan pub.dev di komunitas Dart, paket yang menyertakan dokumentasi JSDoc komprehensif untuk setiap simbol yang diekspor akan mendapat skor lebih tinggi
- Seperti yang terlihat pada ekosistem pemrograman modern lain seperti Go dan Rust, JSR menyediakan fitur pembuatan dokumentasi otomatis secara bawaan
Hubungannya dengan npm
- JSR adalah registri, bukan klien lain untuk registri npm
- Namun, ini tidak berarti Anda harus meninggalkan semua yang ada di npm atau beralih ke ekosistem modul JavaScript yang terpisah
- JSR dirancang untuk melengkapi registri npm, bukan untuk menggantikan npm
- Paket JSR dapat bergantung pada paket npm (misalnya: referensi paket ini)
- Selain itu, paket JSR dapat digunakan dalam perangkat lunak lama yang berpusat pada npm
- Karena JSR sendiri berfungsi sebagai registri npm yang mendistribusikan tarball kompatibel npm (dapat diakses di npm.jsr.io)
- Ini memungkinkan paket JSR disertakan ke dalam perangkat lunak apa pun yang menggunakan npm, yarn, atau pnpm, serta diintegrasikan dengan registri privat
- Tarball npm yang didistribusikan oleh JSR telah dioptimalkan
Mengutamakan keamanan
- Di Deno, keamanan ditempatkan sebagai prioritas utama dalam pengembangan JavaScript
- Tidak ada registri yang dapat mengawasi seluruh kode yang dipublikasikan secara menyeluruh, tetapi JSR memberikan transparansi terhadap penerbit dan melindungi proses penerbitan
- Dengan mengintegrasikan GitHub Actions dan token OIDC, JSR menggunakan supply chain levels untuk artefak perangkat lunak guna membuat bukti asal yang canggih dan dapat diverifikasi, lalu menyimpannya di Sigstore
- Ini tidak hanya menjamin keaslian kode, tetapi juga membangun kepercayaan dan akuntabilitas atas apa yang diimplementasikan pengembang
Pusat pengembangan JavaScript
- JavaScript adalah bahasa umum bagi banyak programmer, bersifat universal dan mudah diakses
- Bahasa ini membutuhkan hub pusat tempat para pengembang dapat berbagi karya mereka tanpa kompleksitas yang tidak perlu, semacam alun-alun kota
- Kami percaya JavaScript akan tetap menjadi pusat pengembangan perangkat lunak selama bertahun-tahun ke depan, dan JSR bertujuan mendukung relevansi yang berkelanjutan ini
- JSR bukan sekadar alat lain dalam ekosistem, melainkan mewakili perubahan mendasar dalam cara kita memandang distribusi JavaScript dan TypeScript
3 komentar
Sepertinya
jsrbisa diunduh dari npm deh,, wkwkSemoga php hancur
Kenapa di artikel JS malah bawa-bawa PHP?? Dari sudut pandang orang yang sedang mengerjakan proyek PHP, rasanya agak tersinggung.