Робота з TypeScript
pnpm має добре працювати з TypeScript "з коробки" у більшості випадків.
Не зберігайте символічні посилання
Не слід використовувати TypeScript з параметром preserveSymlinks, встановленим у значення true. TypeScript не зможе правильно розпізнати залежності типів у повʼязаних node_modules. Якщо вам з якихось причин потрібно зберегти симлінк, вам слід встановити параметр nodeLinker у pnpm у значення 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