pnpm-lock.yaml. Paket npm OpenClaw yang dipublikasikan menggunakan npm-shrinkwrap.json, lockfile dependensi npm yang dapat dipublikasikan, sehingga instalasi paket menggunakan graf dependensi yang ditinjau selama rilis.
Versi mudah
Shrinkwrap adalah tanda terima untuk pohon dependensi yang dikirim bersama paket npm. Ini memberi tahu npm versi paket transitif persis mana yang harus diinstal. Untuk rilis OpenClaw, itu berarti:- paket yang dipublikasikan tidak meminta npm membuat graf dependensi baru saat waktu instalasi;
- perubahan dependensi menjadi lebih mudah ditinjau karena muncul di lockfile;
- validasi rilis dapat menguji graf yang sama yang akan diinstal pengguna;
- kejutan ukuran paket atau dependensi native lebih mudah ditemukan sebelum publikasi.
openclaw security audit, asal-usul paket, atau uji smoke instalasi.
Model mental singkat:
| File | Tempat relevansinya | Artinya |
|---|---|---|
pnpm-lock.yaml | Checkout sumber OpenClaw | Graf dependensi maintainer |
npm-shrinkwrap.json | Paket npm yang diterbitkan | Graf instalasi npm untuk pengguna |
package-lock.json | Aplikasi npm lokal | Bukan kontrak publikasi OpenClaw |
Mengapa OpenClaw menggunakannya
OpenClaw adalah Gateway, host Plugin, router model, dan runtime agen. Instalasi default dapat memengaruhi waktu startup, penggunaan disk, unduhan paket native, dan paparan rantai pasok. Shrinkwrap memberi tinjauan rilis batas yang stabil:- peninjau dapat melihat pergerakan dependensi transitif;
- validator paket dapat menolak drift lockfile yang tidak diharapkan;
- penerimaan paket dapat menguji instalasi dengan graf yang akan dikirim;
- paket Plugin dapat membawa graf dependensi terkunci miliknya sendiri alih-alih mengandalkan paket root untuk memiliki dependensi khusus Plugin.
Detail teknis
Paket npm rootopenclaw dan paket Plugin npm milik OpenClaw menyertakan npm-shrinkwrap.json saat dipublikasikan. Paket Plugin milik OpenClaw yang sesuai juga dapat dipublikasikan dengan bundledDependencies eksplisit, sehingga file dependensi runtime-nya dibawa di dalam tarball Plugin alih-alih hanya bergantung pada resolusi saat instalasi.
Pertahankan batas seperti ini:
pnpm-lock.yaml. Ini menjaga batas usia dependensi pnpm, override, dan tinjauan patch tetap utuh.
Gunakan perintah khusus root hanya saat sengaja menyegarkan paket root tanpa menyentuh paket Plugin:
pnpm-lock.yamlnpm-shrinkwrap.json- payload dependensi Plugin yang dibundel
- diff
package-lock.jsonapa pun
package-lock.json untuk paket OpenClaw yang dipublikasikan.
Untuk memeriksa paket root yang dipublikasikan: