{
	"compilerOptions": {
		"rootDir": "Source",
		//"sourceMap": true, // commented; doesn't work currently, so keeping Dist folder cleaner
		//"module": "ES2015",
		"module": "ESNext",
		"moduleResolution": "bundler",
		"target": "ES2018",
		"jsx": "react",
		"noImplicitAny": false,
		"allowSyntheticDefaultImports": true, // doesn't modify output, *or* own import code (it's just for type-checking)
		//"esModuleInterop": true, // doesn't modify output, only code for the stuff we import
		"outDir": "Dist",
		"declaration": true,
		"declarationDir": "Dist",

		//"useDefineForClassFields": true, // needed for mobx @observable
		"lib": [
			"ES2023",
			"ES2024",
			//"ESNext", // fixes AsyncIterator type-missing issue
			"DOM",
			"DOM.Iterable",
			"ESNext.Collection",
		], 

		//"strict": true, // enables all of the below (other than noImplicitReturns)
		//"noImplicitAny": true,
		//"noImplicitThis": true,
		//"noImplicitReturns": true,
		"alwaysStrict": true,
		//"strictBindCallApply": true,
		"strictNullChecks": true,
		//"strictFunctionTypes": true,
		// TS 7 defaulted these to true; we set them back to false for now, to band-aid fix the new errors (may fix properly later)
		"strictPropertyInitialization": false, // this project relies on fields being assigned outside the constructor
		"useUnknownInCatchVariables": false, // this project relies on catch-variables being `any`
		"noImplicitThis": false, // this project relies on loose `this` typing in some callbacks
	},
	"include": [
		"Typings/**/*.d.ts",
		"Source/**/*.ts",
		"Source/**/*.tsx"
	],
	"compileOnSave": true
}