создать пользовательские .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и он имеет нужную мне форму.

Другие вопросы по тегам