fix(explore): restore the tool build's path aliases lost with baseUrl

feature-reporter overrides the inherited paths map, which TypeScript
replaces rather than merges. That was survivable while the root config
set baseUrl -- bare specifiers resolved against it with no paths entry,
and this file's own "./nextjs/..." resolved against it too. The
TypeScript 7 migration dropped baseUrl for an explicit paths map, so the
override began yielding neither, and "./nextjs/..." started resolving
relative to feature-reporter/ where no such file exists.

tsc then failed on toolkit/* and types/*, which fails the image build at
Dockerfile:87 -- so no explore image has been produced since v1.1.13 and
production still serves it, including the homepage crash and the search
crash whose fixes have been on main since Aug 4.

Lists every alias the include-set reaches, as the working sibling
envs-validator already does. tsc -p is clean and emits.
This commit is contained in:
2026-08-06 12:51:10 -07:00
parent 2e1012b761
commit f02d8ce13f
+17 -1
View File
@@ -6,8 +6,24 @@
"module": "node16",
"moduleResolution": "node16",
"outDir": "./build",
// Every alias the include-set reaches must be listed here, because
// TypeScript REPLACES the inherited paths map rather than merging it.
// This was survivable while the root config set baseUrl: bare specifiers
// resolved against it without any paths entry, and this file's own
// "./nextjs/..." resolved against it too. The TypeScript 7 migration
// dropped baseUrl for an explicit paths map, so this override started
// yielding neither — and "./nextjs/..." began resolving relative to THIS
// directory, where no such file exists. Paths are relative to this file.
"paths": {
"nextjs-routes": ["./nextjs/nextjs-routes.d.ts"],
"nextjs-routes": [ "../../../nextjs/nextjs-routes.d.ts" ],
"configs/*": [ "../../../configs/*" ],
"lib/*": [ "../../../lib/*" ],
"toolkit/*": [ "../../../toolkit/*" ],
"types/*": [ "../../../types/*" ],
"ui/*": [ "../../../ui/*" ],
// ui/shared/IconSvg pulls in public/icons/name.d.ts, which the sprite
// step regenerates earlier in the image build.
"public/*": [ "../../../public/*" ]
}
},
"include": [ "../../../configs/app/index.ts", "../../../global.d.ts", "../../../types/@luxfi/ui.d.ts" ],