{
	"compilerOptions": {
		// add Bun type definitions
		"types": ["bun-types"],

		// enable latest features
		"lib": ["esnext"],
		"module": "esnext",
		"target": "esnext",

		// if TS 5.x+
		"moduleResolution": "bundler",
		"noEmit": true,
		"allowImportingTsExtensions": true,
		"moduleDetection": "force",
		// if TS 4.x or earlier
		// "moduleResolution": "nodenext",

		"jsx": "react-jsx", // support JSX
		"allowJs": true, // allow importing `.js` from `.ts`
		"esModuleInterop": true, // allow default imports for CommonJS modules

		// best practices
		"strict": true,
		"forceConsistentCasingInFileNames": true,
		"skipLibCheck": true,
		"composite": true,
		"downlevelIteration": true,
		"allowSyntheticDefaultImports": true
	}
}
