























@@ -550,11 +550,39 @@ describe("bundled plugin postinstall", () => {
550550const staleFile = path.join(packageRoot, "dist", "stale-runtime.js");
551551const packageJson = path.join(packageRoot, "dist", "extensions", "slack", "package.json");
552552const binDir = path.join(packageRoot, "dist", "extensions", "slack", "node_modules", ".bin");
553+const installStageFile = path.join(
554+packageRoot,
555+"dist",
556+"extensions",
557+"slack",
558+".openclaw-install-stage",
559+"node_modules",
560+"typebox",
561+"build",
562+"compile",
563+"code.mjs",
564+);
565+const retryInstallStageFile = path.join(
566+packageRoot,
567+"dist",
568+"extensions",
569+"slack",
570+".openclaw-install-stage-retry",
571+"node_modules",
572+"typebox",
573+"build",
574+"compile",
575+"code.mjs",
576+);
553577await fs.mkdir(path.dirname(staleFile), { recursive: true });
554578await fs.mkdir(path.dirname(packageJson), { recursive: true });
555579await fs.mkdir(binDir, { recursive: true });
580+await fs.mkdir(path.dirname(installStageFile), { recursive: true });
581+await fs.mkdir(path.dirname(retryInstallStageFile), { recursive: true });
556582await fs.writeFile(staleFile, "export {};\n");
557583await fs.writeFile(packageJson, "{}\n");
584+await fs.writeFile(installStageFile, "export {};\n");
585+await fs.writeFile(retryInstallStageFile, "export {};\n");
558586await fs.symlink("../fxparser/bin.js", path.join(binDir, "fxparser"));
559587560588expect(
@@ -564,6 +592,8 @@ describe("bundled plugin postinstall", () => {
564592log: { log: vi.fn(), warn: vi.fn() },
565593}),
566594).toEqual(["dist/stale-runtime.js"]);
595+await expect(fs.stat(installStageFile)).resolves.toBeDefined();
596+await expect(fs.stat(retryInstallStageFile)).resolves.toBeDefined();
567597});
568598569599it("unlinks stale files instead of recursive pruning them", () => {
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。