Как я могу предотвратить кросс-проект в рабочем пространстве 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.*"]
    ]
  }
}
Другие вопросы по тегам