Compiler Options
The compiler options are loaded from the nearest tsconfig.json.
TSConfig File
TSTyche searches for the nearest tsconfig.json that includes the file in question. The path of the discovered TSConfig file is included in the report:
uses TypeScript 5.8.3 with ./typetests/tsconfig.jsonIf a particular test file is not included in any of the TSConfig files found in enclosing directories, default compiler options are set. The report will look like this:
uses TypeScript 5.8.3To specify the path to tsconfig.json explicitly, pass it with the --tsconfig command line option or use the tsconfig configuration option.
To inspect the resolved compiler configuration, pass the path of the TSConfig file to tsc together with the --showConfig option:
tsc --project ./typetests/tsconfig.json --showConfigLanguage Service Plugins
To work smoothly with Svelte, Vue or similar projects, a code editor needs an additional extension to be installed. Usually, the extension provides a TypeScript language service plugin , which helps the editor to reason about typings of a project.
TSTyche makes sure the plugins are loaded, but they must be installed and explicitly listed in a TSConfig file. For example, if your type tests import from .svelte files, install the typescript-svelte-plugin package:
npm
npm add -D typescript-svelte-pluginAnd add it to the language service plugins list in tsconfig.json:
{
"compilerOptions": {
"plugins": [{ "name": "typescript-svelte-plugin" }]
}
}Default Compiler Options
TSTyche sets the following default compiler options:
{
"allowImportingTsExtensions": true,
"exactOptionalPropertyTypes": true,
"jsx": "preserve",
"module": "nodenext",
"moduleResolution": "nodenext",
"noUncheckedIndexedAccess": true,
"noUncheckedSideEffectImports": true, // only for TypeScript >=5.6
"resolveJsonModule": true,
"strict": true,
"target": "esnext",
"verbatimModuleSyntax": true
}Your code editor may have set different default compiler options. This is the reason why TSTyche might see typings different from the editor. If that is an issue, add a tsconfig.json file to a project and it will be used by both TSTyche and the editor.