diff --git a/internal/check-help-reachable.mjs b/internal/check-help-reachable.mjs index 8a5ee1855..420586b3c 100644 --- a/internal/check-help-reachable.mjs +++ b/internal/check-help-reachable.mjs @@ -93,7 +93,11 @@ function reachFails(id, sources, ownHelp = OWN_HELP) { if (own) return [`${id}: exempt as having its own help (${own.why}), but "${own.marker}" is gone from it`] return [`${id}: has explainer text in experimentalHelp.js but no hosted "?" (HelpButton hosted, or useHostedHelp) anywhere in its folder, so the text is unreachable`] } -const ids = Object.keys(EXPERIMENTAL_HELP.en || {}) +// The population is every map WITH TEXT in experimentalHelp.js AND every map exempted in OWN_HELP. A map +// whose own control is its explainer carries no entry in the help file (one source of truth per map), and +// deriving the population from that file alone would drop it from this check without a word: removing +// UPG Neighbor's redundant entry took the count from 8 to 7 and stopped checking its About button. +const ids = [...new Set([...Object.keys(EXPERIMENTAL_HELP.en || {}), ...Object.keys(OWN_HELP)])] const reached = [] for (const id of ids) { const srcs = filesUnder(join(ROOT, 'plugin-designs', id)).map((p) => readFileSync(p, 'utf8'))