From 825c6aa2847640647c637abfdc785dfe25008e7a Mon Sep 17 00:00:00 2001 From: John Alanbrook Date: Sat, 6 Dec 2025 10:37:00 -0600 Subject: [PATCH] fix why --- scripts/why.ce | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/scripts/why.ce b/scripts/why.ce index dcd9aa84..7298e5f7 100644 --- a/scripts/why.ce +++ b/scripts/why.ce @@ -9,6 +9,9 @@ if (!args || args.length < 1) { var target = args[0] log.console("Searching for '" + target + "'...") +var target_clean = target +if (target_clean.startsWith('/')) target_clean = target_clean.substring(1) + var found = false // DFS to find paths @@ -31,11 +34,20 @@ function search(current_pkg, stack) { var canon = parsed.path + var locator_clean = locator + if (locator.includes('@')) locator_clean = locator.split('@')[0] + // Check if match // 1. Alias matches - // 2. Canonical path ends with target - // 3. Canonical path is target - var match = (alias == target) || (parsed.name == target) || (canon == target) + // 2. Package name matches + // 3. Canonical path matches (exact or clean) + // 4. Locator matches (exact or clean) + var match = (alias == target) || + (parsed.name == target) || + (canon == target) || + (canon == target_clean) || + (locator == target) || + (locator_clean == target) var node = { alias: alias, pkg: canon, locator: locator } var new_stack = stack.concat([node])