pnpm-lock.yaml. Veröffentlichte OpenClaw-npm-
Pakete verwenden npm-shrinkwrap.json, die veröffentlichbare Dependency-Lockfile von npm, sodass
Paketinstallationen den Dependency-Graph verwenden, der während des Releases geprüft wurde.
Die einfache Version
Shrinkwrap ist eine Quittung für den Dependency-Baum, der mit einem npm-Paket ausgeliefert wird. Sie teilt npm mit, welche exakten transitiven Paketversionen installiert werden sollen. Für OpenClaw-Releases bedeutet das:- das veröffentlichte Paket fordert npm nicht dazu auf, zur Installationszeit einen neuen Dependency-Graph zu erfinden;
- Dependency-Änderungen lassen sich leichter prüfen, weil sie in einer Lockfile erscheinen;
- die Release-Validierung kann denselben Graph testen, den Benutzer installieren werden;
- Überraschungen bei Paketgröße oder nativen Dependencies lassen sich vor dem Veröffentlichen leichter erkennen.
openclaw security audit, Paket-
Provenance oder Installations-Smoke-Tests.
Das kurze mentale Modell:
| Datei | Wo sie relevant ist | Was sie bedeutet |
|---|---|---|
pnpm-lock.yaml | OpenClaw-Source-Checkout | Maintainer-Dependency-Graph |
npm-shrinkwrap.json | Veröffentlichtes npm-Paket | npm-Installationsgraph für Benutzer |
package-lock.json | Lokale npm-Apps | Nicht der OpenClaw-Veröffentlichungsvertrag |
Warum OpenClaw sie verwendet
OpenClaw ist ein Gateway, Plugin-Host, Modell-Router und Agent-Runtime. Eine Standard- installation kann Startzeit, Festplattennutzung, Downloads nativer Pakete und Supply-Chain-Exponierung beeinflussen. Shrinkwrap gibt der Release-Prüfung eine stabile Grenze:- Reviewer können Bewegungen transitiver Dependencies sehen;
- Paketvalidatoren können unerwartete Lockfile-Abweichungen ablehnen;
- die Paketabnahme kann Installationen mit dem Graph testen, der ausgeliefert wird;
- Plugin-Pakete können ihren eigenen gesperrten Dependency-Graph mitbringen, statt sich darauf zu verlassen, dass das Root-Paket Plugin-spezifische Dependencies besitzt.
Technische Details
Das Root-npm-Paketopenclaw und OpenClaw-eigene npm-Plugin-Pakete enthalten
npm-shrinkwrap.json, wenn sie veröffentlicht werden. Geeignete OpenClaw-eigene Plugin-
Pakete können außerdem mit expliziten bundledDependencies veröffentlichen, sodass ihre Runtime-
Dependency-Dateien im Plugin-Tarball mitgeführt werden, statt nur von der
Auflösung zur Installationszeit abzuhängen.
Pflegen Sie die Grenze so:
pnpm-lock.yaml vorhanden sind. Dadurch bleibt
die pnpm-Grenze für Dependency-Alter, Overrides und Patch-Prüfung intakt.
Verwenden Sie Root-only-Befehle nur, wenn Sie das Root-Paket absichtlich aktualisieren,
ohne Plugin-Pakete zu berühren:
pnpm-lock.yamlnpm-shrinkwrap.json- gebündelte Plugin-Dependency-Payloads
- jeder
package-lock.json-Diff
package-lock.json für veröffentlichte OpenClaw-Pakete ab.
So prüfen Sie ein veröffentlichtes Root-Paket: