{
	"compilerOptions": {
		"allowJs": true,
		"checkJs": false,
		"allowSyntheticDefaultImports": true,
		"jsx": "preserve",
		"target": "esnext",
		"module": "esnext",
		"lib": [ "dom", "dom.iterable", "esnext" ],
		"declaration": true,
		"declarationMap": true,
		"composite": true,
		"emitDeclarationOnly": true,
		"isolatedModules": true,

		/* Strict Type-Checking Options */
		"strict": true,

		/* Additional Checks */
		"noUnusedLocals": true,
		"noUnusedParameters": true,
		"noImplicitReturns": true,
		"noFallthroughCasesInSwitch": true,
		"importsNotUsedAsValues": "error",

		/* Module Resolution Options */
		"moduleResolution": "node",

		"esModuleInterop": true,
		"resolveJsonModule": true,
		"types": []
	},
	"include": [ "**/*.ts", "**/*.tsx", "**/*.json" ],
	"exclude": [ "**/build/**", "**/test/**", "vendor", "node_modules" ]
}
