@Sashqa

Как добавить проект в angular json?

Сделал схему angular schematics.
Все отлично создает при выполнении команды. Теперь появилась необходимость, чтоб конфигурация записывалась в angular.json.
Есть какие-то мысли как этого можно добиться?

export function customComponent(_options: SchemaD): Rule {
    return (tree: Tree, _context: SchematicContext) => {
        const workspaceConfigBuffer = tree.read('angular.json');
        if (!workspaceConfigBuffer) {
            throw new SchematicsException('Not angular cli workspace');
        }
        const workspaceConfig = JSON.parse(workspaceConfigBuffer.toString());
        const projectName = _options.project || workspaceConfig.defaultProject;
        const project = workspaceConfig.projects[projectName];
        const defaultProjectPath = buildDefaultPath(project);
        const parsedPath = parseName(defaultProjectPath, _options.name);
        const { name, path } = parsedPath;
        const sourceTemplates = url('./templateWithRouter');
        const sourceParametrizeTemplates = apply(sourceTemplates, [
            template({
                ..._options,
                ...strings,
                name,
            }),
            move(path),
        ]);
        return mergeWith(sourceParametrizeTemplates)(tree, _context);
    };
}
  • Вопрос задан
  • 36 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы