| 26 | const ALIAS_PATH = path.join(ROOT, 'scripts', 'error-code-aliases.json'); |
| 27 | |
| 28 | function loadEnum() { |
| 29 | const raw = JSON.parse(fs.readFileSync(ENUM_PATH, 'utf8')); |
| 30 | if (!Array.isArray(raw.enum)) { |
| 31 | throw new Error(`Canonical error-code enum at ${ENUM_PATH} is missing or malformed.`); |
| 32 | } |
| 33 | const canonical = new Set(raw.enum); |
| 34 | let aliases = new Set(); |
| 35 | if (fs.existsSync(ALIAS_PATH)) { |
| 36 | const raw2 = JSON.parse(fs.readFileSync(ALIAS_PATH, 'utf8')); |
| 37 | if (raw2.aliases && typeof raw2.aliases === 'object') { |
| 38 | aliases = new Set(Object.keys(raw2.aliases)); |
| 39 | } |
| 40 | } |
| 41 | return { canonical, aliases }; |
| 42 | } |
| 43 | |
| 44 | function walk(dir) { |
| 45 | const out = []; |