TypeScript 사용하기

pnpm은 대부분의 경우 별도 설정 없이 TypeScript와 잘 작동합니다.

심볼릭 링크를 보존하지 마세요#

TypeScript를 사용할 때 preserveSymlinks를 true로 설정하지 마세요. TypeScript는 링크된 node_modules에서 타입 종속성을 올바르게 해석할 수 없습니다. 어떤 이유로 심볼릭 링크를 보존해야 한다면, pnpm의 nodeLinker 설정을 hoisted로 지정하세요.

워크스페이스 사용#

워크스페이스에 서로 다른 버전의 @types/ 종속성이 있으면 문제가 발생할 수 있습니다. 이러한 문제는 패키지가 종속성에 타입 종속성을 포함하지 않은 채 해당 타입을 요구할 때 발생합니다. 예를 들어, 종속성에 antd가 있고 이것이 @types/react에 의존하는 경우, 워크스페이스에 여러 버전의 @types/react가 있으면 컴파일 오류가 발생할 수 있습니다. 이는 사실 antd 측의 문제인데 @types/react를 peerDependencies에 추가했어야 하기 때문입니다. 다행히, 누락된 피어 종속성으로 antd를 확장하여 이 문제를 해결할 수 있습니다. pnpm-workspace.yaml에 다음을 추가하여 이를 수행할 수 있습니다:

packageExtensions:
  antd:
    peerDependencies:
      '@types/react': '*'

또는, 이러한 문제를 해결하기 위해 저희가 만든 설정 종속성 @pnpm/plugin-types-fixer를 설치할 수도 있습니다. 실행:

pnpm add @pnpm/plugin-types-fixer --config