export function parseGoBuildTags(tags?: string): string | undefined { if (tags === undefined || tags === "") return undefined; if (/\s/.test(tags)) { throw new Error("Invalid Go build tags: tags must not contain spaces"); } const parts = tags.split(","); if (parts.some((part) => part === "")) { throw new Error("Invalid Go build tags: empty tag segment"); } const validTagPattern = /^[A-Za-z0-9_.]+$/; const invalidTag = parts.find((part) => !validTagPattern.test(part)); if (invalidTag) { throw new Error(`Invalid Go build tags: unsupported tag ${invalidTag}`); } return parts.join(","); }