mirror of
https://github.com/luxfi/uma.git
synced 2026-10-30 15:14:44 +00:00
The first pass left three classes of config that BOTH tsc 5.9 and tsc 7
reject. Each was proven against both compilers before changing:
TS5090 A `paths` target must be relative once `baseUrl` is gone. The
first pass skipped the "./" prefix wherever baseUrl pointed at
the config's own directory, reasoning it was semantically
equivalent. It is not — without baseUrl a non-relative target
is rejected outright, by 5.9 as well as 7.
TS5110 `moduleResolution: node16` requires `module: node16`. The first
pass mapped commonjs projects to node16 resolution alone, which
BROKE those configs for the current toolchain. Both are now set.
TS5102 `downlevelIteration` is also removed in TS7; it was missing from
the dead-flag list.
Verified: repos that tsc 7 previously refused (base-studio, js-sdk, kv-js)
now report zero config errors on tsc 7 AND tsc 5.9.
Co-authored-by: Hanzo Dev <[email protected]>
37 lines
1.5 KiB
JSON
37 lines
1.5 KiB
JSON
{
|
|
// see https://www.typescriptlang.org/tsconfig to better understand tsconfigs
|
|
"include": ["src", "types"],
|
|
"compilerOptions": {
|
|
"module": "esnext",
|
|
"lib": ["dom", "esnext"],
|
|
"importHelpers": true,
|
|
// output .d.ts declaration files for consumers
|
|
"declaration": true,
|
|
// output .js.map sourcemap files for consumers
|
|
"sourceMap": true,
|
|
// match output dir to input dir. e.g. dist/index instead of dist/src/index
|
|
"rootDir": "./src",
|
|
// stricter type-checking for stronger correctness. Recommended by TS
|
|
"strict": true,
|
|
// linter checks for common issues
|
|
"noImplicitReturns": true,
|
|
"noFallthroughCasesInSwitch": true,
|
|
// noUnused* overlap with @typescript-eslint/no-unused-vars, can disable if duplicative
|
|
"noUnusedLocals": false,
|
|
"noUnusedParameters": false,
|
|
// use Node's module resolution algorithm, instead of the legacy TS one
|
|
"moduleResolution": "bundler",
|
|
// transpile JSX to React.createElement
|
|
"jsx": "react",
|
|
// interop between ESM and CJS modules. Recommended by TS
|
|
"esModuleInterop": true,
|
|
// significant perf increase by skipping checking .d.ts files, particularly those in node_modules. Recommended by TS
|
|
"skipLibCheck": true,
|
|
// error out if import and file system have a casing mismatch. Recommended by TS
|
|
"forceConsistentCasingInFileNames": true,
|
|
// `tsdx build` ignores this option, but it is commonly used when type-checking separately with `tsc`
|
|
"noEmit": true,
|
|
"resolveJsonModule": true
|
|
}
|
|
}
|