{
	// Visit https://aka.ms/tsconfig to read more about this file
	
	"compilerOptions": {
		// File Layout
		"rootDir": "./src",
		"outDir": "./dist",

		// Environment Settings
		// See also https://aka.ms/tsconfig/module
		"module": "nodenext",
		"target": "esnext",
		"types": ["node"],
		// For nodejs:
		// "lib": ["esnext"],
		// "types": ["node"],
		// and npm install -D @types/node

		// Other Outputs
		"sourceMap": true,
		"declaration": true,
		"declarationMap": true,

		// Stricter Typechecking Options
		// "noUncheckedIndexedAccess": true,
		// "exactOptionalPropertyTypes": true,

		// Style Options
		"noImplicitReturns": true,
		// "noImplicitOverride": true,
		// "noUnusedLocals": true,
		// "noUnusedParameters": true,
		// "noFallthroughCasesInSwitch": true,
		// "noPropertyAccessFromIndexSignature": true,

		// Recommended Options
		"strict": true,
		"jsx": "react-jsx",
		// "verbatimModuleSyntax": true,
		"isolatedModules": true,
		"noUncheckedSideEffectImports": true,
		"moduleDetection": "force",
		"skipLibCheck": true,

		// Extended options not in generated tsconfig.json
		"newLine": "lf",
		"forceConsistentCasingInFileNames": true,
		"alwaysStrict": true,

		"noImplicitThis": true,
		"strictBindCallApply": true,
		"strictFunctionTypes": true,

		"noErrorTruncation": true,
	}
}
