У меня есть серия проектов Typescript (каждая из которых является реальной компиляционной целью, с ее собственным tsconfig.json). Они являются каталогами сестер в одном репозитории кода, например:
myrepo
--/common
--/project1
--/project2
Чтобы разделить код между project1
и project2
, я разделил код с общим кодом на common
. Я хотел бы разрешить project1
и project2
код для импорта классов из common
, но не друг от друга (и common
не сможет импортировать классы из двух других).
В идеале код в project1
может выглядеть следующим образом:
import {CommonClass} from 'common/commonclass';
Я нашел способ разрешить импорту работать правильно, поместив его в tsconfig.json из project1
:
"baseUrl":".",
"paths":{
"*":["*","../*"]
}
Однако я еще не нашел способа ограничить, какой из других подпроектов может быть предметом import
. Я попытался использовать rootDirs
, надеясь, что он ограничит допустимые исходные файлы тем же способом, что и rootDir
, но на самом деле этого не делает.
Как я могу настроить белый список того, какой код является импортируемым в каждом из моих проектов? Или есть только лучший способ создания подпроектов в Typescript, о котором я не знаю?