VSCode - Lerna - Typescript - Monorepo-kodenavigasjon
Vi har et monorepo for alle våre Javascript-relaterte SDK-er her hos Sentry. https://github.com/getsentry/sentry-javascript
Hvis du kloner dette repoet, setter det opp riktig med yarn install og deretter åpner en hvilken som helst fil som packages/node/src/backend.ts og prøver å hoppe til implementeringen av en annen pakke som funksjonen limitObjectDepthToSize som ligger i utils-pakken.
Først av alt, hvis du ikke har bygget prosjektet tidligere (har alle typedefinisjoner på plass), dukker denne feilen opp:
Men selv om du bygde alt før, CMD+Click på funksjonen hopper nå alltid til den bygde object.d.ts i stedet for det jeg egentlig ønsker, at den hopper til implementasjonskildefilen som kan finnes i packages/utils/src/object.ts i stedet for /packages/utils/object.d.ts.
Mitt spørsmål nå er, er oppsettet vårt feil, finnes det noen innstilling i VSCode eller kanskje tsconfig.json som fikser denne kodenavigasjonen?
Eller er dette en for øyeblikket kjent begrensning i VSCode i monorepo-miljøer?
Enhver hjelp blir satt pris på, og jeg håper det ikke er noe veldig åpenbart jeg bare har oversett, takk!
Svar #1
Sett declarationMap til true for å generere et sourcemap for hver tilsvarende '.d.ts'-fil. Det vil tillate IDE å hoppe til riktig linje i implementasjonsfilen.
TS-dokumentasjon:
Vi har også lagt til støtte for deklarasjonskildekart. Hvis du aktiverer --declarationMap, vil du kunne bruke redigeringsfunksjoner som "Gå til definisjon" og Endre navn for å navigere og redigere kode på tvers av prosjektgrenser i støttede redigerere.

