typescript - Placera TS-typdefinitioner tillsammans i dist när du använder rollup med preserveModules: true och inom ett monorepo


Jag har följande användningsfall: Ett mono-repo som använder turborepo, TypeScript, flera turborepo-paket, och varje paket använder rollup med inställningen preserveModules: true.

Jag använder preserveModules: true eftersom jag skulle vilja kunna importera varje komponent, fil, etc. oberoende.

Men om jag har packageA/components/Button.tsx som importerar en typ från packageB/types/BaseTypes.ts får jag en dist inuti packageA med

- dist
  - components
    - Button.js
  - packageA
    - components
      - Button.d.ts
  - packageB
    - BaseTypes.d.ts

Min förhoppning var att jag kunde sluta med något som:

- dist
  - components
    - Button.js
    - Button.d.ts
    - BaseTypes.d.ts

Men det verkar inte möjligt. Detta är ett GitHub-kodutrymme med problemet. Du behöver köra node 18.0.0, köra yarn build:ui från roten och inspektera ui-other-paketets dist. Därinne kommer du att se att komponenten @ui-other/components/Button importerar en typ från import { ButtonSize } from '@ui/Button';; dock flyttas typerna till en mapp av dist/ui-other/components men jag skulle vilja att de är på dist/components