문제

"build": "tsc -b && vite build",

npm run build 를 실행하게 되면 ts에러가 발생함

composite: true 옵션을 tsconfig.json이 references로 가지고 있는 파일들에 추가해야 한다는 에러를 포함하여

스크린샷 2024-11-06 오후 4.31.52.png

해결 과정

npm run buildtsc -bvite build를 실행

tsc -b 프로젝트 레퍼런스에서 지정한 이 프로젝트와 프로젝트의 모든 의존성을 빌드. 이 플래그는 이 페이지의 다른 플래그들과는 호환되지 않음.
vite build vite build 명령어는 프로덕션 빌드를 하기 위한 명령어. root/index.html이 파일 빌드를 위한 entry Point로 사용되고 정적 호스팅을 위한 형태로 진행됨

app.json, node.json에 각각 composite: true를 추가하고,

noEmit과 allowImportingTsExtensions를 삭제하니 에러가 사라지기는 함 (둘은 서로 연결되어 있는 속성)

// core/tsconfig.json
{
    "compilerOptions" : {
    	"declaration" : true
    }
    "composite" : true
}

하지만 에러는 계속해서 뜨고, 특히 references 속성에서 다른 참조로 가져온 tsconfig.app.jsontsconfig.node.json 에서 계속하여 emit과 관련된 에러가 뜨고, noEmit 설정을 없앤다면 allowImportingTsExtension을 따라 지워야 했음. 또 이 속성들을 지우게 되면 다시금 다른 에러로 연결됨. noEmit을 다시금 설정하지 않게 되면 각각의 파일에 대해 d.ts 파일과 js 파일이 컴파일되어 생성되고, 이를 어떻게 하면 에러를 해결하면서도 dist 파일에만 빌드의 결과물이 출력되어 나올 수 있도록 하고 싶었음.

tsconfig.app.jsontsconfig.node.json 에 대한 계속해서 참조 관련 문제가 나오자, 가장 처음으로 돌아가 tsconfig.app.jsontsconfig.node.json 이 왜 필요할까에 대해 생각하게 됨