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.

Relaterte artikler