mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 05:30:42 +00:00
fix: keep plugin release previews scoped
This commit is contained in:
@@ -250,8 +250,8 @@ export function collectPublishablePluginPackages(
|
||||
const validationErrors: string[] = [];
|
||||
const selectedExtensionIds = new Set(filters.extensionIds ?? []);
|
||||
const selectedPackageNames = new Set(filters.packageNames ?? []);
|
||||
const hasSelectedExtensionIds = selectedExtensionIds.size > 0;
|
||||
const hasSelectedPackageNames = selectedPackageNames.size > 0;
|
||||
const hasSelectedExtensionIds = Array.isArray(filters.extensionIds);
|
||||
const hasSelectedPackageNames = Array.isArray(filters.packageNames);
|
||||
|
||||
for (const candidate of collectExtensionPackageJsonCandidates(rootDir)) {
|
||||
const { extensionId, packageDir, packageJson } = candidate;
|
||||
@@ -467,8 +467,11 @@ export function collectPluginReleasePlan(params?: {
|
||||
})
|
||||
: [];
|
||||
const allPublishable = collectPublishablePluginPackages(params?.rootDir, {
|
||||
extensionIds: params?.selectionMode === "all-publishable" ? [] : changedExtensionIds,
|
||||
packageNames: params?.selection,
|
||||
extensionIds:
|
||||
params?.selectionMode === "all-publishable" || !params?.gitRange
|
||||
? undefined
|
||||
: changedExtensionIds,
|
||||
packageNames: params?.selection && params.selection.length > 0 ? params.selection : undefined,
|
||||
});
|
||||
const selectedPublishable =
|
||||
params?.selectionMode === "all-publishable"
|
||||
|
||||
@@ -18,8 +18,11 @@ export function runPluginNpmReleaseCheck(argv: string[]) {
|
||||
})
|
||||
: [];
|
||||
const publishable = collectPublishablePluginPackages(".", {
|
||||
extensionIds: selectionMode === "all-publishable" ? [] : changedExtensionIds,
|
||||
packageNames: selection,
|
||||
extensionIds:
|
||||
selectionMode === "all-publishable" || !(baseRef && headRef)
|
||||
? undefined
|
||||
: changedExtensionIds,
|
||||
packageNames: selection.length > 0 ? selection : undefined,
|
||||
});
|
||||
const selected =
|
||||
selectionMode === "all-publishable"
|
||||
|
||||
@@ -196,6 +196,28 @@ describe("collectPublishablePluginPackages", () => {
|
||||
}),
|
||||
]);
|
||||
});
|
||||
|
||||
it("treats an explicit empty extension filter as no candidates", () => {
|
||||
const repoDir = makeTempRepoRoot(tempDirs, "openclaw-plugin-npm-release-");
|
||||
mkdirSync(join(repoDir, "extensions", "private-plugin"), { recursive: true });
|
||||
writeJsonFile(join(repoDir, "extensions", "private-plugin", "package.json"), {
|
||||
name: "@openclaw/private-plugin",
|
||||
version: "2026.4.10-beta.1",
|
||||
private: true,
|
||||
openclaw: {
|
||||
extensions: ["./index.ts"],
|
||||
release: {
|
||||
publishToNpm: true,
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
expect(
|
||||
collectPublishablePluginPackages(repoDir, {
|
||||
extensionIds: [],
|
||||
}),
|
||||
).toEqual([]);
|
||||
});
|
||||
});
|
||||
|
||||
describe("resolveSelectedPublishablePluginPackages", () => {
|
||||
|
||||
Reference in New Issue
Block a user