// tsconfig.json
{
	"compilerOptions":
	{
		"target": "ES2017",
		"module": "ESNext",
		"moduleResolution": "bundler",
		"lib": ["DOM", "DOM.Iterable", "ESNext"],
		"allowJs": true, // JS 파일도 컴파일 가능
		"strict": true, // 모든 엄격한 타입 검사 옵션을 활성화
		"noEmit": true, // 컴파일 시 JS 파일을 생성하지 않음
		"skipLibCheck": true, // 라이브러리 파일의 타입 검사 건너뛰기
		"esModuleInterop": true, // CommonJS 모듈을 ES 모듈처럼 가져올 수 있도록 설정
		"resolveJsonModule": true, // JSON 파일을 모듈로 가져올 수 있도록 설정
		"isolatedModules": true, // 모든 파일을 개별 모듈로 처리
		"jsx": "preserve", // JSX를 JSX로 변환
		"incremental": true, // 증분 컴파일을 활성화
		"noUnusedParameters": true, // 안쓰는 함수 오류 표시
		"forceConsistentCasingInFileNames": true, // 대소문자 구분
		"plugins": [
			{
				"name": "next"
			}
		],
		"baseUrl": "./",
		"paths": {
			"@/*": ["./*"],
			"@/component/*": ["./app/component/*"],
			"@/styles/*": ["./app/styles/*"],
			"@/contexts/*": ["./contexts/*"],
			"@/constants/*": ["./constants/*"],
			"@/hooks/*": ["./hooks/*"],
			"@/lib/*": ["./lib/*"],
			"@/types/*": ["./types/*"],
			"editor": ["public/editor/editor.min.js"]
		},
		"sourceMap": true,
		"types": [],
		"typeRoots": ["./node_modules/@types", "./app/types"],
	},
	"include": [
		"next-env.d.ts",
		".next/types/**/*.ts",
		"**/*.ts",
		"**/*.tsx",
		"types/*.d.ts",
		"types/**/*.d.ts",
		"lib/utils/server.js"
	],
	"exclude": [
		"node_modules",
		"**/*.spec.ts"
	]
}
