{
	"$schema": "https://json.schemastore.org/tsconfig.json",
	"compilerOptions": {
		"allowJs": true,
		"checkJs": true,
		"allowSyntheticDefaultImports": true,
		"jsx": "preserve",
		"target": "esnext",
		"module": "esnext",
		"lib": [ "DOM", "DOM.Iterable", "ESNext" ],
		"declaration": true,
		"declarationMap": true,
		"composite": true,
		"emitDeclarationOnly": true,
		"isolatedModules": true,

		"skipDefaultLibCheck": true,

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

		/* Additional Checks */
		"noImplicitReturns": true,
		"noFallthroughCasesInSwitch": true,

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

		/* This needs to be false so our types are possible to consume without setting this */
		"esModuleInterop": false,
		"resolveJsonModule": true,

		"typeRoots": [ "./typings", "./node_modules/@types" ],
		"types": []
	},
	"exclude": [
		"**/*.android.js",
		"**/*.ios.js",
		"**/*.native.js",
		"**/benchmark",
		"packages/*/build-*/**",
		"packages/*/build/**",
		"**/test/**",
		"packages/**/react-native-*/**"
	]
}