react native - Fiks automatisk import i TypeScript-monorepo


Jeg prøver å sette opp et monorepo siden jeg tenkte at det å dele felles kode er en flott idé i et økosystem av applikasjoner, ettersom de har mange felles typer, logikk og funksjoner. Repoet mitt inkluderer en React Native-app, en React-app, en Next-app og en Express-backendapplikasjon også.

Jeg bruker Yarn workspaces. Og jeg har lagt til shared-types som en avhengighet i React Native- og React-appene. Auto-importene fungerer fint i React-appen, men ikke i React Native. Når jeg legger til importen manuelt, fungerer alt fint, men auto-importene vil bare ikke fungere.

Jeg har gjort litt graving, men kunne ikke finne noe nyttig. Tingene jeg har undersøkt inkluderer dette spørsmålet om å dele vanlig kode og dette spørsmålet som bruker paths for å løse det. Ingenting har fungert for meg så langt.

rot package.json

"workspaces": [
    "apps/*",
    "backend/*",
    "packages/*"
]

Mappestrukturen er som følger.

|
|__ apps
|  |__react-native-app
|  |__react-app
|  |__next-app
|__ backend
|  |__express-app
|__ packages
   |__ shared-types

Svar #1

Etter en uke med konstant hodeskraping, fant jeg løsningen på dette problemet ved å se på standard tsconfig.json som ble opprettet av tsc --init.

Alt jeg trengte å gjøre var å legge til de følgende flaggene, og det begynte å fungere. Den oppdaterte tsconfig.json ser slik ut

{
    "declaration": true,
    "declarationMap": true
}

Relaterte artikler