

























@@ -2,9 +2,39 @@ import { describe, expect, it } from "vitest";
22import {
33collectPluginNpmPublishedRuntimeErrors,
44parseNpmReadmeMetadata,
5+readPositiveIntEnv,
56resolveNpmPackFilename,
67} from "../../scripts/verify-plugin-npm-published-runtime.mjs";
789+describe("plugin npm publish verifier retry limits", () => {
10+it("rejects loose numeric retry env values instead of parsing prefixes", () => {
11+expect(() =>
12+readPositiveIntEnv("OPENCLAW_PLUGIN_NPM_VERIFY_ATTEMPTS", 90, {
13+OPENCLAW_PLUGIN_NPM_VERIFY_ATTEMPTS: "2tries",
14+}),
15+).toThrow("invalid OPENCLAW_PLUGIN_NPM_VERIFY_ATTEMPTS: 2tries");
16+expect(() =>
17+readPositiveIntEnv("OPENCLAW_PLUGIN_NPM_VERIFY_DELAY_MS", 10000, {
18+OPENCLAW_PLUGIN_NPM_VERIFY_DELAY_MS: "1e3",
19+}),
20+).toThrow("invalid OPENCLAW_PLUGIN_NPM_VERIFY_DELAY_MS: 1e3");
21+expect(() =>
22+readPositiveIntEnv("OPENCLAW_PLUGIN_NPM_README_VERIFY_ATTEMPTS", 6, {
23+OPENCLAW_PLUGIN_NPM_README_VERIFY_ATTEMPTS: "0",
24+}),
25+).toThrow("invalid OPENCLAW_PLUGIN_NPM_README_VERIFY_ATTEMPTS: 0");
26+});
27+28+it("accepts strict positive retry env values and defaults", () => {
29+expect(readPositiveIntEnv("OPENCLAW_PLUGIN_NPM_VERIFY_ATTEMPTS", 90, {})).toBe(90);
30+expect(
31+readPositiveIntEnv("OPENCLAW_PLUGIN_NPM_README_VERIFY_DELAY_MS", 10000, {
32+OPENCLAW_PLUGIN_NPM_README_VERIFY_DELAY_MS: "2500",
33+}),
34+).toBe(2500);
35+});
36+});
37+838describe("collectPluginNpmPublishedRuntimeErrors", () => {
939it("flags published plugin packages with TypeScript entries and no compiled runtime output", () => {
1040expect(
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。