Интересно, что вы пытаетесь читать внешние конфигурационные файлы в своих схемах c, обычно люди пытаются передать всю конфигурацию через опции.
Как говорится, вот один из способов сделайте это - прочитайте angular. json в ваших схемах c и извлеките атрибут Root источника для проекта, который вам небезразличен:
import { SchematicsException, Tree } from '@angular-devkit/schematics';
import { experimental } from '@angular-devkit/core';
function getSourceRoot(sProjectName: string, cTree: Tree) {
const sWorkspaceConfig = cTree.read('/angular.json');
if (!sWorkspaceConfig) {
throw new SchematicsException('Could not find Angular workspace configuration');
}
const cWorkspace: experimental.workspace.WorkspaceSchema = JSON.parse(sWorkspaceConfig.toString());
return cWorkspace.projects[sProjectName].sourceRoot;
}
Как только у вас будет источник root, вы можете добавить свой относительный путь к файлу конфигурации. Если вы хотите избежать такого рода вещей, единственное, о чем я могу подумать, - это создать схему c для каждого файла конфигурации, а затем жестко закодировать конфигурацию в схему c (возможно, не идеально для вашей ситуации).