mirror of
https://github.com/openclaw/openclaw.git
synced 2026-06-08 10:12:54 +00:00
Extract shared normalization/coercion helpers into private @openclaw/normalization-core workspace package while preserving existing plugin SDK helper subpaths.\n\nAlso keeps direct normalization-core imports internal, wires UI/build/loader resolution, and replaces the slow PR network CodeQL lane with a fast added-line boundary scan while retaining full CodeQL for scheduled/manual runs.\n\nVerification: local moved tests, plugin SDK boundary tests, extension loader tests, agents-support shard, UI build/test, build artifacts, lint, workflow guards, autoreview, and GitHub CI passed on PR head 963d893715.
21 lines
713 B
TypeScript
21 lines
713 B
TypeScript
import { normalizeOptionalString } from "@openclaw/normalization-core/string-coerce";
|
|
|
|
export function resolveEmojiAndHomepage(params: {
|
|
metadata?: { emoji?: string; homepage?: string } | null;
|
|
frontmatter?: {
|
|
emoji?: string;
|
|
homepage?: string;
|
|
website?: string;
|
|
url?: string;
|
|
} | null;
|
|
}): { emoji?: string; homepage?: string } {
|
|
const emoji = params.metadata?.emoji ?? params.frontmatter?.emoji;
|
|
const homepageRaw =
|
|
params.metadata?.homepage ??
|
|
params.frontmatter?.homepage ??
|
|
params.frontmatter?.website ??
|
|
params.frontmatter?.url;
|
|
const homepage = normalizeOptionalString(homepageRaw);
|
|
return { ...(emoji ? { emoji } : {}), ...(homepage ? { homepage } : {}) };
|
|
}
|