Skip to content

fix(ci): stop accented theme names from false-colliding in the gate#29

Merged
bumaruf merged 1 commit into
mainfrom
fix/theme-gate-accents
Jul 15, 2026
Merged

fix(ci): stop accented theme names from false-colliding in the gate#29
bumaruf merged 1 commit into
mainfrom
fix/theme-gate-accents

Conversation

@bumaruf

@bumaruf bumaruf commented Jul 15, 2026

Copy link
Copy Markdown
Owner

The bug

The 20-theme pack (#23) failed the gate with three "already exists" errors — and only for the accented names: Catppuccin Frappé, Rosé Pine Dawn, Rosé Pine Moon. The non-accented themes passed.

theme-check-ci.ts reconstructs each catalogue theme's file path to exclude the ones being changed. Its inline path builder used name.toLowerCase().replace(/[^a-z0-9]+/g, "-") — which turns é into a hyphen: "Rosé Pine Dawn" → ros-pine-dawn. But the real file is rose-pine-dawn.toml (the correct slug strips the accent, é→e). The two never matched, so the just-added theme wasn't excluded from the catalogue it's checked against — and collided with itself.

The fix

Use the project's own slugify (exported from check-themes.ts, already NFD-normalizing and accent-stripping) instead of a divergent inline copy. It's the same function the filename rule uses, so the reconstructed path now always matches the real file.

Reproduced the exact failure against the three accented pack themes; with the fix the gate reports "theme check passed". The slugify accent behavior is already covered by a test ("Rosé Pine""rose-pine"), and pathOf now routes through it.

@bumaruf
bumaruf merged commit b3e0f69 into main Jul 15, 2026
9 checks passed
@bumaruf
bumaruf deleted the fix/theme-gate-accents branch July 15, 2026 15:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant