Как я могу предотвратить кросс-проект в рабочем пространстве Angular?
Допустим, у меня есть проект с заданной структурой:
projects
|-app1
|-app2
|-common
node_modules
pakcage.json
tsconfig.json
angular.json
... (rest of the root files)
Теперь в файлах в app1
Я могу поставить примерно так:import { Repository } from '../../../app2/src/app/query/repository';
Несмотря на то, что он работает (строится правильно), я бы хотел избежать такого импорта, например, в случае, если в какой-то момент один из проектов перемещается в отдельное репо и, как правило, для сохранения чистой структуры проекта.
Есть ли способ указать angular / typescript выдавать ошибку во время обслуживания / сборки, что импорт кросс-проектов не разрешен?
1 ответ
Решение
Нашел решение для этого - это import-blacklist
собственность в tslint.json
. В моем сценарии это выглядит так:
{
"extends": "../../tslint.json",
"rules": {
"no-output-native": false,
"import-blacklist": [true,
[".*the-other-project.*"]
]
}
}