javascript - Turborepo/Typescript-paket - underhålla importstruktur


Jag utvecklar en serie paket för TypeScript som en del av ett Turborepo-projekt. Ett exempel på importstrukturen för dessa paket skulle vara

import { Test } from "package-name"
import { Test } from "package-name/Test"

Problemet jag stöter på med detta är att i utveckling med Turborepo kan jag bara referera till det så här:

import { Test } from "package-name"
import { Test } from "package-name/dist/Test"
import { Test } from "package-name/src/Test"

Detta beror på att det inte ligger i rotkatalogen, utan istället i src (eller om byggt dist) katalogen.

Finns det något sätt att komma runt detta? Jag har provat flera alternativ i TSConfig för att se om detta skulle lösa problemet, men verkar inte kunna hitta något.

Svar #1

Så för att svara på min egen fråga, tror jag att huvudmekanismen här skulle vara (givet att det är ett begränsat antal paket) att jag kan åsidosätta importvägen med mina tsconfig.json-vägar i huvudapplikationen som använder det paketet, snarare än i paketet självt.

Det finns förmodligen ett renare sätt att göra detta på, men det fungerar.

t.ex.

"package-name": [
     "../../node_modules/package-name/src/*",
]

Jag kan nu göra:

import { Test } from "package-name"
import { Test } from "package-name/Test"

Istället för

import { Test } from "package-name"
import { Test } from "package-name/src/Test"