build: migrate tsconfig to TypeScript 7 (native compiler)

TypeScript 7 is the native Go compiler and removes `baseUrl` and
`moduleResolution: node|node10`. Both appear here, so `tsc` from TS7
refuses the config outright (TS5102 / TS5108) and cannot typecheck.

`paths` targets resolve relative to `baseUrl` when it is set and relative
to the tsconfig file otherwise. Every `baseUrl` folded here already
pointed at the config's own directory, so dropping it moves nothing and
the targets are left byte-identical. Where a baseUrl pointed elsewhere,
each affected target was rewritten as join(baseUrl, target).

`moduleResolution` was chosen from the declared `module`: commonjs ->
node16, esnext/preserve -> bundler. Configs whose `module` is unset or
exotic were left alone rather than guessed at.

The result is accepted by BOTH toolchains, so nothing has to upgrade
TypeScript in lockstep. Verified on hanzo/chat packages/api: tsc 5.9
779 -> 778 errors (no regression), and tsc 7.0.2 now runs the project
in 2s where it previously refused the config.

Co-Authored-By: Hanzo Dev <[email protected]>
This commit is contained in:
2026-07-27 14:18:46 -07:00
co-authored by Hanzo Dev
parent a63372fdd7
commit 863add6f6b
8 changed files with 34 additions and 19 deletions
+1 -2
View File
@@ -7,8 +7,7 @@
"strict": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"outDir": "./dist",
"baseUrl": ".",
"outDir": "./dist",
"paths": {
"configs/*": ["../../../configs/*"],
"lib/*": ["../../../lib/*"],
@@ -8,7 +8,6 @@
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"outDir": "./dist",
"baseUrl": ".",
"paths": {
"configs/*": ["../../../configs/*"],
"lib/*": ["../../../lib/*"],
@@ -8,7 +8,6 @@
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"outDir": "./dist",
"baseUrl": ".",
"paths": {
"configs/*": ["../../../configs/*"],
"lib/*": ["../../../lib/*"],
@@ -8,7 +8,6 @@
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"outDir": "./dist",
"baseUrl": ".",
"paths": {
"configs/*": ["../../../configs/*"],
"lib/*": ["../../../lib/*"],
+24 -9
View File
@@ -16,16 +16,31 @@
"noFallthroughCasesInSwitch": true,
"declaration": true,
"declarationDir": "./dist",
"baseUrl": "..",
"paths": {
"configs/*": ["../configs/*"],
"lib/*": ["../lib/*"],
"types/*": ["../types/*"],
"icons/*": ["../icons/*"],
"ui/*": ["../ui/*"],
"public/*": ["../public/*"],
"toolkit/*": ["./*"],
"nextjs-routes": ["../nextjs/nextjs-routes.d.ts"],
"configs/*": [
"../../configs/*"
],
"lib/*": [
"../../lib/*"
],
"types/*": [
"../../types/*"
],
"icons/*": [
"../../icons/*"
],
"ui/*": [
"../../ui/*"
],
"public/*": [
"../../public/*"
],
"toolkit/*": [
"../*"
],
"nextjs-routes": [
"../../nextjs/nextjs-routes.d.ts"
],
},
"types": ["vite/client", "node"],
"allowJs": true,
+6 -2
View File
@@ -9,12 +9,16 @@
"noEmit": true,
"esModuleInterop": true,
"module": "esnext",
"moduleResolution": "node",
"moduleResolution": "bundler",
"resolveJsonModule": true,
"isolatedModules": true,
"jsx": "react",
"incremental": true,
"baseUrl": ".",
"paths": {
"*": [
"./*"
]
},
},
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", "decs.d.ts", "global.d.ts"],
"exclude": ["node_modules", "node_modules_linux"],
-1
View File
@@ -18,7 +18,6 @@
"isolatedModules": true,
"jsx": "react-jsx",
"incremental": true,
"baseUrl": ".",
"paths": {},
"types": [
"node"
+3 -2
View File
@@ -12,8 +12,9 @@
"isolatedModules": true,
"noEmit": true,
"lib": ["ES2022", "DOM", "DOM.Iterable"],
"types": ["vite/client"],
"baseUrl": ".",
"types": [
"vite/client"
],
"paths": {
"configs/*": ["../configs/*"],
"lib/*": ["../lib/*"],