From d09036f86274dcf49aa9e32869b882dc959470ec Mon Sep 17 00:00:00 2001 From: sck_0 Date: Mon, 23 Feb 2026 07:28:41 +0100 Subject: [PATCH] =?UTF-8?q?fix:=20add=20typo=20alias=20shopify=E2=80=94dev?= =?UTF-8?q?elopment=20->=20shopify-development=20(fixes=20#120)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cursor --- data/aliases.json | 3 ++- scripts/build-catalog.js | 11 +++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/data/aliases.json b/data/aliases.json index c585b759..c25dad23 100644 --- a/data/aliases.json +++ b/data/aliases.json @@ -102,6 +102,7 @@ "startup-business-projections": "startup-business-analyst-financial-projections", "startup-business-opportunity": "startup-business-analyst-market-opportunity", "systems-programming-project": "systems-programming-rust-project", - "team-collaboration-notes": "team-collaboration-standup-notes" + "team-collaboration-notes": "team-collaboration-standup-notes", + "shopify—development": "shopify-development" } } \ No newline at end of file diff --git a/scripts/build-catalog.js b/scripts/build-catalog.js index 5696b20c..4dd05588 100644 --- a/scripts/build-catalog.js +++ b/scripts/build-catalog.js @@ -480,6 +480,11 @@ function buildTriggers(skill, tags) { return unique([...tags, ...tokens]).slice(0, 12); } +/** Common typo aliases (e.g. em dash — instead of hyphen -) for skill lookup. */ +const TYPO_ALIASES = { + "shopify—development": "shopify-development", +}; + function buildAliases(skills) { const existingIds = new Set(skills.map((skill) => skill.id)); const aliases = {}; @@ -518,6 +523,12 @@ function buildAliases(skills) { used.add(alias); } + for (const [typo, canonicalId] of Object.entries(TYPO_ALIASES)) { + if (existingIds.has(canonicalId) && !aliases[typo]) { + aliases[typo] = canonicalId; + } + } + return aliases; }