pnpm-lock.yaml. Paket npm OpenClaw yang dipublikasikan menggunakan npm-shrinkwrap.json, yaitu lockfile dependensi npm yang dapat dipublikasikan, sehingga instalasi paket menggunakan graf dependensi yang telah ditinjau selama rilis.
Mengapa ini penting
Shrinkwrap adalah bukti untuk pohon dependensi yang dikirimkan bersama paket npm: berkas ini memberi tahu npm versi transitif persis yang harus diinstal.
Untuk rilis OpenClaw, ini berarti:
- paket yang dipublikasikan tidak meminta npm membuat graf dependensi baru saat instalasi;
- perubahan dependensi dapat ditinjau karena tercantum dalam perbedaan lockfile;
- validasi rilis menguji graf yang sama dengan yang akan diinstal pengguna;
- kejutan terkait ukuran paket atau dependensi native muncul sebelum publikasi.
openclaw security audit, asal-usul paket, atau uji smoke instalasi.
OpenClaw adalah gateway, host plugin, perute model, dan runtime agen, sehingga instalasi bawaan memengaruhi waktu mulai, penggunaan disk, pengunduhan paket native, dan paparan rantai pasok. Shrinkwrap memberikan batas yang stabil untuk peninjauan rilis: peninjau dapat melihat pergerakan dependensi transitif, validator menolak penyimpangan lockfile yang tidak diharapkan, dan paket plugin membawa graf dependensinya sendiri yang terkunci alih-alih mengandalkan paket root.
Membuat dan memeriksa
Paket npm rootopenclaw, paket plugin npm milik OpenClaw (misalnya @openclaw/discord), dan paket workspace yang dapat dipublikasikan seperti @openclaw/ai menyertakan npm-shrinkwrap.json saat dipublikasikan. Dependensi workspace tidak disertakan dalam shrinkwrap root karena dipublikasikan bersama paket root; sebagai gantinya, setiap paket workspace yang dapat dipublikasikan mengunci pohon transitifnya sendiri. Paket plugin yang sesuai juga dapat dipublikasikan dengan bundledDependencies eksplisit, sehingga berkas dependensi runtime disertakan dalam tarball plugin alih-alih hanya mengandalkan resolusi saat instalasi.
pnpm-lock.yaml. Hal ini mempertahankan batas peninjauan usia dependensi, override, dan patch pnpm.
Tinjau hal-hal berikut sebagai hal yang sensitif terhadap keamanan:
pnpm-lock.yamlnpm-shrinkwrap.json- muatan dependensi plugin yang dibundel
- setiap perbedaan
package-lock.json
package-lock.json untuk paket yang dipublikasikan. Jalur publikasi npm plugin memeriksa shrinkwrap lokal plugin, menginstal dependensi yang dibundel secara lokal dalam paket, lalu mengemas atau memublikasikannya.