You can use TypeScript path mapping.
Example from a project I’m the author of:
Backend defined types inside SampleTypes.ts are reused in the client project to avoid duplicating the code.
client/tsconfig.json
:
{
"compilerOptions": {
"paths": { "@backend/*": ["../server/src/api/*"], },
}
}
../server/src/api/
-> https://github.com/winwiz1/crisp-react/tree/master/server/src/api
client/....ts
:
import { SampleRequest } from "@backend/types/SampleTypes";