{
	/* Visit https://aka.ms/tsconfig.json to read more about this file */
	"include": [
		"src/**/*.ts",
		"src/**/*.json",
		"scripts/**/*.ts",
		"tests/**/*.ts",
		"tests/**/*.json",
		"vitest.config.ts"
	],
	"compilerOptions": {
		/* Projects */
		//"incremental": true,

		/* Language and Environment */
		"target": "esnext",
		"useDefineForClassFields": true,

		/* Modules */
		"module": "esnext",
		"moduleResolution": "node",
		"resolveJsonModule": true,

		/* Interop Constraints */
		"allowSyntheticDefaultImports": true,
		"esModuleInterop": true,
		"forceConsistentCasingInFileNames": true,

		/* Type Checking */
		"strict": true,
		"types": ["vitest/importMeta", "node"],
		"isolatedModules": true,
		"noUnusedLocals": true,
		"noUnusedParameters": true,
		"noImplicitReturns": true,
		"noFallthroughCasesInSwitch": true,

		/* Completeness */
		"skipLibCheck": true // Skip type checking all .d.ts files.
	},
	"$schema": "https://json.schemastore.org/tsconfig"
}
