{
	"compilerOptions": {
		/* Language and Environment */
		"target": "ES2022",								/* Specify ECMAScript target version. */
		"lib": [										/* Specify library files to be included in the compilation. */
			"ES2022",
		],

		/* Modules */
		"module": "node16",								/* Specify what module code is generated. */

		/* Basic Options */
		// "allowJs": false,							/* Allow javascript files to be compiled. */
		// "checkJs": false,							/* Report errors in '.js' files. */
		// "jsx": undefined,							/* Specify JSX code generation: 'preserve', 'react-native', 'react', 'react-jsx' or 'react-jsxdev'. */
		// "declaration": false,						/* Generates corresponding '.d.ts' file. */
		// "declarationDir": ""							/* Specify the output directory for generated declaration files. */
		// "declarationMap": false,						/* Generates a sourcemap for each corresponding '.d.ts' file. */
		// "outFile": "",								/* Specify a file that bundles all outputs into one JavaScript file. */
		// "outDir": "",								/* Specify an output folder for all emitted files. */
		// "rootDir": "",								/* Specify the root directory of input files. */
		// "incremental": false,						/* Save '.tsbuildinfo' files to allow for incremental compilation of projects. */
		// "composite": false,							/* Enable constraints that allow a TypeScript project to be used with project references. */
		// "tsBuildInfoFile": ".tsbuildinfo",			/* Specify the folder for '.tsbuildinfo' incremental compilation files. */
		// "removeComments": false,						/* Disable emitting comments. */
		// "noEmit": true,								/* Disable emitting file from a compilation. */
		// "importHelpers": false,						/* Allow importing helper functions from tslib once per project, instead of including them per-file. */
		// "downlevelIteration": false,					/* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */
		// "isolatedModules": false,					/* Ensure that each file can be safely transpiled without relying on other imports. */

		/* Strict Type-Checking Options */
		"strict": true,									/* Enable all strict type-checking options. */
		"strictNullChecks": true,						/* When type checking, take into account null and undefined. */
		// "strictFunctionTypes": false,				/* Enable strict checking of function types. */
		// "strictBindCallApply": false,				/* Enable strict 'bind', 'call', and 'apply' methods on functions. */
		// "strictPropertyInitialization": false,		/* Enable strict checking of property initialization in classes. */
		// "noImplicitThis": false,						/* Enable error reporting when 'this' is given the type 'any'. */
		"alwaysStrict": true,							/* Parse in strict mode and emit "use strict" for each source file. */

		/* Additional Checks */
		"noUnusedLocals": true,							/* Report errors on unused locals. */
		// "noUnusedParameters": false,					/* Report errors on unused parameters. */
		"noImplicitAny": false,							/* Report error for expressions and declarations with an implied any type.. */
		"noImplicitReturns": false,						/* Report error when not all code paths in function return a value. */
		// "noFallthroughCasesInSwitch": false,			/* Report errors for fallthrough cases in switch statement. */
		// "noUncheckedIndexedAccess": false,			/* Include 'undefined' in index signature results */
		// "noImplicitOverride": false,					/* Ensure overriding members in derived classes are marked with an 'override' modifier. */
		// "noPropertyAccessFromIndexSignature": false,	/* Require undeclared properties from index signatures to use element accesses. */

		/* Module Resolution Options */
		// "moduleResolution": "node",					/* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
		// "baseUrl": "",								/* Specify the base directory to resolve non-relative module names. */
		// "paths": {},									/* Specify a set of entries that re-map imports to additional lookup locations. */
		// "rootDirs": [],								/* Allow multiple folders to be treated as one when resolving modules. */
		// "typeRoots": [],								/* List of folders to include type definitions from. */
		// "types": [],									/* Specify type package names to be included without being referenced in a source file. */
		"esModuleInterop": true,						/* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
		"allowSyntheticDefaultImports": true,			/* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
		// "preserveSymlinks": false,					/* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */
		// "allowUmdGlobalAccess": false,				/* Allow accessing UMD globals from modules. */
		// "resolveJsonModule": false,					/* Enable importing .json files */

		/* Source Map Options */
		// "sourceMap": false,							/* Create source map files for emitted JavaScript files. */
		// "sourceRoot": "",							/* Specify the root path for debuggers to find the reference source code. */
		// "mapRoot": "",								/* Specify the location where debugger should locate map files instead of generated locations. */
		// "inlineSourceMap": false,					/* Include sourcemap files inside the emitted JavaScript. */
		// "inlineSources": false,						/* Include source code in the sourcemaps inside the emitted JavaScript. */

		/* Experimental Options */
		// "experimentalDecorators": false,				/* Enables experimental support for ES7 decorators. */
		// "emitDecoratorMetadata": false,				/* Emit design-type metadata for decorated declarations in source files. */

		/* Advanced Options */
		"skipLibCheck": true,							/* Skip type checking all .d.ts files. */
		"forceConsistentCasingInFileNames": true,		/* Ensure that casing is correct in imports. */
	},
}
