mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 12:00:44 +00:00
build: prepare twitch plugin beta release
This commit is contained in:
@@ -237,14 +237,31 @@ export function collectPublishablePluginPackageErrors(
|
||||
return errors;
|
||||
}
|
||||
|
||||
export type PublishablePluginPackageFilters = {
|
||||
extensionIds?: readonly string[];
|
||||
packageNames?: readonly string[];
|
||||
};
|
||||
|
||||
export function collectPublishablePluginPackages(
|
||||
rootDir = resolve("."),
|
||||
filters: PublishablePluginPackageFilters = {},
|
||||
): PublishablePluginPackage[] {
|
||||
const publishable: PublishablePluginPackage[] = [];
|
||||
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;
|
||||
|
||||
for (const candidate of collectExtensionPackageJsonCandidates(rootDir)) {
|
||||
const { extensionId, packageDir, packageJson } = candidate;
|
||||
if (hasSelectedExtensionIds && !selectedExtensionIds.has(extensionId)) {
|
||||
continue;
|
||||
}
|
||||
const packageName = packageJson.name?.trim() ?? "";
|
||||
if (hasSelectedPackageNames && !selectedPackageNames.has(packageName)) {
|
||||
continue;
|
||||
}
|
||||
if (packageJson.openclaw?.release?.publishToNpm !== true) {
|
||||
continue;
|
||||
}
|
||||
@@ -268,7 +285,7 @@ export function collectPublishablePluginPackages(
|
||||
publishable.push({
|
||||
extensionId,
|
||||
packageDir,
|
||||
packageName: packageJson.name!.trim(),
|
||||
packageName,
|
||||
version,
|
||||
channel: parsedVersion.channel,
|
||||
publishTag: resolveNpmPublishPlan(version).publishTag,
|
||||
@@ -443,7 +460,16 @@ export function collectPluginReleasePlan(params?: {
|
||||
selectionMode?: PluginReleaseSelectionMode;
|
||||
gitRange?: GitRangeSelection;
|
||||
}): PluginReleasePlan {
|
||||
const allPublishable = collectPublishablePluginPackages(params?.rootDir);
|
||||
const changedExtensionIds = params?.gitRange
|
||||
? collectChangedExtensionIdsFromGitRange({
|
||||
rootDir: params.rootDir,
|
||||
gitRange: params.gitRange,
|
||||
})
|
||||
: [];
|
||||
const allPublishable = collectPublishablePluginPackages(params?.rootDir, {
|
||||
extensionIds: params?.selectionMode === "all-publishable" ? [] : changedExtensionIds,
|
||||
packageNames: params?.selection,
|
||||
});
|
||||
const selectedPublishable =
|
||||
params?.selectionMode === "all-publishable"
|
||||
? allPublishable
|
||||
@@ -455,10 +481,7 @@ export function collectPluginReleasePlan(params?: {
|
||||
: params?.gitRange
|
||||
? resolveChangedPublishablePluginPackages({
|
||||
plugins: allPublishable,
|
||||
changedExtensionIds: collectChangedExtensionIdsFromGitRange({
|
||||
rootDir: params.rootDir,
|
||||
gitRange: params.gitRange,
|
||||
}),
|
||||
changedExtensionIds,
|
||||
})
|
||||
: allPublishable;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user