Add normalizeSvgIconName utility

This commit is contained in:
Mara Nikola Kiefer
2026-04-13 12:57:21 +02:00
parent 0801d374fa
commit 0695b7ef81
3 changed files with 15 additions and 22 deletions
+12
View File
@@ -0,0 +1,12 @@
export function normalizeSvgIconName(iconName?: string): string | undefined {
if (!iconName || iconName.startsWith("octicon")) {
return iconName;
}
if (iconName.startsWith("lucide ")) {
const lucideName = iconName.slice("lucide ".length).split(".")[0].trim();
return lucideName ? `lucide-${lucideName}` : undefined;
}
return iconName;
}
+1 -13
View File
@@ -3,6 +3,7 @@ import { promises as fs } from "fs";
import { safeLoad } from "js-yaml";
import { basename, extname, join } from "path";
import { exec } from "./exec";
import { normalizeSvgIconName } from "../shared/icon-utils";
interface WorkflowDesc {
folder: string;
@@ -30,19 +31,6 @@ interface WorkflowsCheckResult {
incompatibleWorkflows: WorkflowDesc[];
}
function normalizeSvgIconName(iconName?: string): string | undefined {
if (!iconName || iconName.startsWith("octicon")) {
return iconName;
}
if (iconName.startsWith("lucide ")) {
const lucideName = iconName.slice("lucide ".length).split(".")[0].trim();
return lucideName ? `lucide-${lucideName}` : undefined;
}
return iconName;
}
async function checkWorkflows(
folders: string[],
enabledActions: string[],
+2 -9
View File
@@ -4,6 +4,7 @@ import { safeLoad } from "js-yaml";
import { basename, extname, join, dirname } from "path";
import { Validator as validator } from "jsonschema";
import { endGroup, error, info, setFailed, startGroup } from '@actions/core';
import { normalizeSvgIconName } from '../shared/icon-utils';
interface WorkflowWithErrors {
id: string;
@@ -128,15 +129,7 @@ async function checkWorkflow(workflowPath: string, propertiesPath: string, allow
if (properties.iconName) {
if(! /^octicon\s+/.test(properties.iconName)) {
let svgIconName: string | undefined = properties.iconName
if (properties.iconName.startsWith("lucide ")) {
const lucideName = properties.iconName.slice("lucide ".length).split(".")[0].trim()
if(!lucideName) {
svgIconName = undefined
} else {
svgIconName = `lucide-${lucideName}`
}
}
const svgIconName = normalizeSvgIconName(properties.iconName);
if(!svgIconName) {
workflowErrors.errors.push(`No icon named ${properties.iconName} found`)