Как организовать code sharing в монорепо Node.js?

Senior
256 просмотров
AFK Offer AI

Shared packages в монорепо: packages/shared-types, packages/utils, packages/config. В package.json: "@company/shared-types": "workspace:*". TypeScript: tsconfig.base.json в корне, каждый пакет extends. Публичный API: index.ts экспортирует только то что нужно — не весь внутренний код. Версионирование: либо все пакеты одна версия (simpler), либо независимые версии (changesets tool). Breaking changes в shared: нужно обновить все потребители — TypeScript сразу покажет. tree-shaking: используй ESM exports для оптимальной bundle size.

Следующий вопрос

Что такое declaration files (.d.ts) в TypeScript?