создать пользовательские .editorconfig, .eslintrc.json и .prettierrc в новой рабочей области nx
Когда я создаю новое рабочее пространство nx из предустановки angular, я хотел бы вставлять пользовательские (для всей компании) конфигурации .editorconfig, .eslintrc.json и .prettierrc вместо того, чтобы каждый раз копировать их.
Есть ли способ настроить create-nx-workspace?
В качестве запасного варианта я был бы удовлетворен чем-то вроде "ng add ..." (или правильной альтернативой nx), которая перезаписывает упомянутые файлы.
1 ответ
Я воспользовался этой возможностью, чтобы изучить Angular Schematics.
У меня есть небольшая схема "ng-add", которая перезаписывает файлы своими и устанавливает необходимые зависимости.
Поскольку все эти файлы находятся в корневом каталоге, правило схемы такое же простое, как (со всеми шаблонами в папке
files
вроде предложил):
import {
Rule,
SchematicContext,
Tree,
apply,
url,
mergeWith,
template,
MergeStrategy,
} from "@angular-devkit/schematics";
export function ngAdd(options: any): Rule {
return (tree: Tree, context: SchematicContext) => {
const templateSource = apply(url("./files"), [template(options)]);
const merged = mergeWith(templateSource, MergeStrategy.Overwrite);
return merged(tree, context);
};
}
Итак, после того, как я создал рабочее пространство с
npx create-nx-workspace --preset=angular
я могу просто
nx add my-schematics
и он имеет нужную мне форму.