pnpm-lock.yaml. Опубліковані npm-пакети OpenClaw використовують npm-shrinkwrap.json — придатний для публікації файл фіксації залежностей npm, завдяки якому під час установлення пакетів використовується граф залежностей, перевірений у процесі випуску.
Чому це важливо
Shrinkwrap — це відбиток дерева залежностей, яке постачається з npm-пакетом: він указує npm, які саме транзитивні версії встановлювати.
Для випусків OpenClaw це означає:
- опублікований пакет не просить npm створювати новий граф залежностей під час установлення;
- зміни залежностей можна перевіряти, оскільки вони потрапляють у різницю файлу фіксації;
- під час перевірки випуску тестується той самий граф, який установлюватимуть користувачі;
- несподівані зміни розміру пакета або нативних залежностей виявляються до публікації.
openclaw security audit, перевірку походження пакетів або димові тести встановлення.
OpenClaw — це шлюз, хост плагінів, маршрутизатор моделей і середовище виконання агентів, тому типове встановлення впливає на час запуску, використання диска, завантаження нативних пакетів і ризики ланцюга постачання. Shrinkwrap надає перевірці випуску стабільну межу: рецензенти бачать зміни транзитивних залежностей, засоби перевірки відхиляють неочікуване розходження файлу фіксації, а пакети плагінів містять власний зафіксований граф залежностей замість покладання на кореневий пакет.
Генерування та перевірка
Кореневий npm-пакетopenclaw, npm-пакети плагінів, що належать OpenClaw (наприклад, @openclaw/discord), і придатні для публікації пакети робочого простору, як-от @openclaw/ai, під час публікації містять npm-shrinkwrap.json. Залежності робочого простору не включаються до кореневого shrinkwrap, оскільки публікуються разом із кореневим пакетом; натомість кожен придатний для публікації пакет робочого простору фіксує власне транзитивне дерево. Відповідні пакети плагінів також можуть публікуватися з явно визначеними bundledDependencies, додаючи файли залежностей середовища виконання до tar-архіву плагіна замість того, щоб покладатися лише на їх визначення під час установлення.
pnpm-lock.yaml. Це зберігає встановлені pnpm межі перевірки давності залежностей, перевизначень і виправлень.
Перевіряйте наведене нижче як чутливе з погляду безпеки:
pnpm-lock.yamlnpm-shrinkwrap.json- вміст залежностей, включених до плагінів
- будь-яку різницю
package-lock.json
package-lock.json для опублікованих пакетів. Шлях публікації npm-плагіна перевіряє локальний shrinkwrap плагіна, встановлює локальні для пакета включені залежності, а потім пакує або публікує його.