{
	"compilerOptions": {
		// Enable latest features
		"lib": ["ESNext", "DOM"],
		"target": "ESNext",
		"module": "ESNext",
		"moduleDetection": "force",
		"allowJs": true,

		// Bundler mode
		"moduleResolution": "bundler",
		"allowImportingTsExtensions": true,
		"verbatimModuleSyntax": true,
		"noEmit": true,

		// Best practices
		"strict": true,
		"skipLibCheck": true,
		"noFallthroughCasesInSwitch": true,

		// Some stricter flags (disabled by default)
		"noUnusedLocals": false,
		"noUnusedParameters": false,
		"noPropertyAccessFromIndexSignature": false,

		// add source map to make vscode's "Go to Definition" feature link to the source TypeScript files instead of the generated .d.ts files.
		"sourceMap": true,
		"declaration": true,
		"declarationMap": true,

		"baseUrl": ".",
		"types": ["node", "vitest/globals"]
	},
	"include": ["src/**/*.ts", "test/**/*.ts", "script/**/*.ts"]
}
