pnpm-lock.yaml. Gepubliceerde OpenClaw npm-pakketten gebruiken npm-shrinkwrap.json, npm’s publiceerbare dependency-lockfile, zodat pakketinstallaties de dependency-grafiek gebruiken die tijdens de release is beoordeeld.
De eenvoudige versie
Shrinkwrap is een ontvangstbewijs voor de dependency-structuur die met een npm-pakket wordt meegeleverd. Het vertelt npm welke exacte transitieve pakketversies moeten worden geïnstalleerd. Voor OpenClaw-releases betekent dat:- het gepubliceerde pakket vraagt npm niet om tijdens de installatie een nieuwe dependency-grafiek te bedenken;
- dependency-wijzigingen worden eenvoudiger te beoordelen omdat ze in een lockfile verschijnen;
- releasevalidatie kan dezelfde grafiek testen die gebruikers zullen installeren;
- verrassingen rond pakketgrootte of native dependencies zijn gemakkelijker te signaleren vóór publicatie.
openclaw security audit, pakketherkomst of installatiesmoketests niet.
Het korte mentale model:
| Bestand | Waar het ertoe doet | Wat het betekent |
|---|---|---|
pnpm-lock.yaml | OpenClaw-broncheckout | Maintainer-dependency-grafiek |
npm-shrinkwrap.json | Gepubliceerd npm-pakket | npm-installatiegrafiek voor gebruikers |
package-lock.json | Lokale npm-apps | Niet het publicatiecontract van OpenClaw |
Waarom OpenClaw dit gebruikt
OpenClaw is een Gateway, Plugin-host, modelrouter en agentruntime. Een standaardinstallatie kan invloed hebben op opstarttijd, schijfgebruik, native pakketdownloads en blootstelling aan supplychain-risico’s. Shrinkwrap geeft releasebeoordeling een stabiele grens:- reviewers kunnen transitieve dependency-beweging zien;
- pakketvalidators kunnen onverwachte lockfile-drift afwijzen;
- pakketacceptatie kan installaties testen met de grafiek die wordt meegeleverd;
- Plugin-pakketten kunnen hun eigen vergrendelde dependency-grafiek meenemen in plaats van erop te vertrouwen dat het rootpakket Plugin-specifieke dependencies bezit.
Technische details
Het root-openclaw npm-pakket en npm-Plugin-pakketten die eigendom zijn van OpenClaw bevatten npm-shrinkwrap.json wanneer ze publiceren. Geschikte Plugin-pakketten die eigendom zijn van OpenClaw kunnen ook publiceren met expliciete bundledDependencies, zodat hun runtime-dependencybestanden in de Plugin-tarball worden meegeleverd in plaats van alleen afhankelijk te zijn van resolutie tijdens installatie.
Onderhoud de grens zo:
pnpm-lock.yaml. Dat houdt de pnpm-grens voor dependency-leeftijd, overrides en patchbeoordeling intact.
Gebruik root-only opdrachten alleen wanneer je bewust het rootpakket vernieuwt zonder Plugin-pakketten aan te raken:
pnpm-lock.yamlnpm-shrinkwrap.json- gebundelde Plugin-dependency-payloads
- elke
package-lock.json-diff
package-lock.json af voor gepubliceerde OpenClaw-pakketten.
Om een gepubliceerd rootpakket te inspecteren: