Files
zeekayandHanzo Dev 1cb7c59bd7 Typecheck on the native compiler, keep 6 for the tools
typescript 7.0.2 is the native compiler and exports no JavaScript API, and every
package here builds with `tsc` and runs eslint over its source, so typescript
stays on the 6 line and the native compiler comes in aliased as tsgo. Each
package's typecheck script calls it directly, because pnpm cannot link a bin for
the alias — both packages declare `tsc`.

Three configs moved with it. The CLI tools name "types": ["node"]: TS7 does not
sweep in every installed @types, so process and node: imports were 19
diagnostics. pkgs/react overrides rootDir, which resolved against the base it
extends and put every file outside it. And useT is now a re-export rather than
`const useT = useTranslation`, because an aliased value needs its type named in
the declaration output and react-i18next does not export that overload type.

1 diagnostic before, 0 after, on both compilers.

Co-authored-by: Hanzo Dev <[email protected]>
2026-09-17 00:12:13 -07:00

28 lines
1.0 KiB
JSON

{
"compilerOptions": {
"target": "ES2022",
// TS7 does not sweep in every installed @types, and does not reach a parent
// node_modules for them either. This CLI is Node, so name it.
"types": ["node"],
"module": "NodeNext",
"moduleResolution": "NodeNext",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"resolveJsonModule": true,
"declaration": true,
"declarationMap": true,
"sourceMap": true,
"outDir": "dist",
"rootDir": "src",
// Source names the file that exists (`./locales.ts`), so Node runs this tree
// directly with type stripping and a test needs no build. The emit rewrites
// those to `.js`, because what ships is JavaScript: Node REFUSES to strip
// types under node_modules at any version and no flag lifts it, so a package
// whose `main` is a .ts file cannot be imported by anyone who installs it.
"allowImportingTsExtensions": true,
"rewriteRelativeImportExtensions": true
},
"include": ["src/**/*"]
}