Мне удается скопировать некоторые файлы из каталога schematics files
в целевую папку основного проекта:
function addTplFiles(path: string): Source {
// copy templates
return apply(url('./files'), [
move(path as string)
]);
}
export function ngAdd(options: ISchema): Rule {
return (host: Tree/*, context: SchematicContext*/) => {
// get the workspace config of the consuming project
// i.e. angular.json file
const workspace = getWorkspace(host);
// identify the project config which is using our library
// or default to the default project in consumer workspace
const project = getProjectFromWorkspace(
workspace,
options.project || workspace.defaultProject
);
const projectType = project.projectType === 'application' ? 'app' : 'lib';
const path = (options.path === undefined) ? `${project.sourceRoot}/${projectType}` : options.path;
const templateSource = addTplFiles(project.sourceRoot || '');
// return updated tree
try {
return chain([
mergeWith(templateSource)
]);
} catch (e) {
return host;
}
};
Код работает хорошо, за исключением случаев, когда файлы уже находятся в основном проекте приложения. :
ОШИБКА! src / assets / i18n / en. json уже существует. ОШИБКА! src / assets / i18n / it. json уже существует. Рабочий процесс Schemati c не выполнен. См. Выше.
Как я могу поймать и обработать это исключение?