diff --git a/generate-registry.ts b/generate-registry.ts index 0c3cd24..e7e3200 100644 --- a/generate-registry.ts +++ b/generate-registry.ts @@ -191,6 +191,7 @@ async function convertSvgToReact(svgPath: string): Promise { const componentName = parseSvgFilename({ file: path.basename(svgPath, ".svg"), log: true, + firstUpperCase: true, }); const code = await parseReactSvgContent({ componentName, diff --git a/src/utils/parseSvgFilename.ts b/src/utils/parseSvgFilename.ts index 47b1f83..a6af457 100644 --- a/src/utils/parseSvgFilename.ts +++ b/src/utils/parseSvgFilename.ts @@ -1,15 +1,18 @@ interface ParseSvgFilename { file: string; log?: boolean; + firstUpperCase?: boolean; } export const parseSvgFilename = (params: ParseSvgFilename): string => { - const { file, log } = params; + const { file, log, firstUpperCase = false } = params; const name = file.replace(/\.svg$/i, ""); let component = name .replace(/[-_\s]+(.)?/g, (_, char) => (char ? char.toUpperCase() : "")) - .replace(/^(.)/, (char) => char.toLowerCase()); + .replace(/^(.)/, (char) => + firstUpperCase ? char.toUpperCase() : char.toLowerCase(), + ); if (/^\d/.test(component)) { if (log) {