타입 체크(type-check)를 수행했을 때, 아래와 같이 절대 경로에서 에러가 발생한다.

IDE상에서는 에러가 발생하지 않는다.

ts-check는 tsc —-noEmit 스크립트이다.
tsc는 타입스크립트 컴파일러 cli 명령어이고, —-noEmit은 TS파일을 트랜스파일한 JS파일을 만들지 말라는 의미이다.
절대 경로 설정을 잘못했다.
TODO : tsconfig.json을 확인한다.
{
"extends": "@extension/tsconfig/utils",
"compilerOptions": {
"baseUrl": ".",
},
"include": ["index.ts", "lib/**/*.ts", "bridge/**/*.ts"]
}
baseUrl : “.”으로 설정이 되어 있다.
<aside> 💡
baseUrl을 “./”로 설정할 경우, Typescript는 파일을 tsconfig.json과 같은 폴더 depth부터 탐색을 한다.
</aside>
typescript 버전을 workspace와 다르게 사용하고 있다.
TODO : shift + command + p로 typescript version을 확인한다.
typescript에서 에러를 뱉는 게 아니다.

실행했을 때 에러를 잘 읽어보면, vite에서 에러가 발생한 것임을 알리고 있다.
vite에서 절대경로 인식을 못하고 있는 게 아닐까?
// chrome-extension/vite.config.mts
// ..
const libDir = resolve(rootDir, 'lib');
export default defineConfig({
resolve: {
alias: {
'@root': rootDir,
'@lib': libDir,
'@assets': resolve(libDir, 'assets'),
},
},
// ..
});
lib폴더의 경우 lib폴더를 인식하여 @lib로 변환해주고 있다.
<aside> 💡
entries 옵션처럼 @rollup/plugin-alias를 넘긴다. 파일 시스템 경로를 aliasing할 때, 언제나 절대 경로를 사용해야 한다. 상대 alias 값은 파일 시스템에서 resolve되지 않을 것이다.
</aside>
<aside> 💡
: 기존 Rollup번들을 커스텀한다.
rollupOptions에 설정을 해도 에러가 계속 발생하여, 상대 경로로 지정함으로써 해결하였다.