mirror of
https://github.com/hanzoai/i18n.git
synced 2026-10-30 14:24:32 +00:00
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]>
28 lines
1.0 KiB
JSON
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/**/*"]
|
|
}
|