5.1.0 • Published 9 months ago

@prizm-ui/nx-mv v5.1.0

Weekly downloads
-
License
-
Repository
-
Last release
9 months ago

@prizm-ui/nx-mv:apply

Этот Nx генератор предназначен для обновления файлов проектов в рабочем пространстве на основе заданной конфигурации и схемы. Он позволяет автоматизировать процесс замены и модификации файлов в проектах.

Установка

Перед использованием генератора необходимо установить его в ваше рабочее пространство Nx. Добавьте его в зависимости вашего проекта:

npm install @prizm-ui/nx-mv --save-dev

Использование

Генератор запускается с помощью команды nx и требует указания схемы и конфигурационного файла.

Команда для запуска

nx generate @prizm-ui/nx-mv:apply --name=<project-name> --config=<config-file> [--var<VariableName>=<value>...]

Параметры

  • --name (обязательно): Имя проекта, для которого будет применяться обновление.
  • --config (обязательно): Путь к конфигурационному файлу, описывающему, какие изменения необходимо внести.
  • --var<VariableName> (опционально): Дополнительные переменные, которые могут быть использованы в шаблонах EJS.

Пример конфигурационного файла

Пример конфигурационного файла nxmv.config.js:

module.exports = {
  versions: {
    'my-project': {
      project: 'apps/my-project',
      remove: ['apps/my-project/old-file.ts'],
      extFile: ['.ejs'],
      consts: {
        appName: 'My Project',
      },
    },
  },
};

Обновление файлов с определенными расширениями

Генератор обновляет только файлы с расширениями, указанными в свойствах extFile для файлов и extFolder для папок в конфигурационном файле.

Пример конфигурационного файла с extFile и extFolder

module.exports = {
  versions: {
    v18: {
      extFolder: ['.ng18'],
      extFile: ['.ng18'],
      all: true,
      rootChange: true,
      remove: ['angular.json'],
      consts: {
        ngVersion: '18.1.3',
      },
    },
  },
};

Пояснение свойств

  • extFolder: Список расширений папок, которые будут обновлены. Например, если указано .ng18, все папки с этим расширением будут обработаны.
  • extFile: Список расширений файлов, которые будут обновлены. Например, если указано .ng18, все файлы с этим расширением будут обработаны.
  • all: Если установлено в true, обновляет все проекты в рабочем пространстве. Если false, обновляет только указанные проекты.
  • rootChange: Если установлено в true, обновляет файлы в корневой директории проекта.
  • remove: Список файлов, которые будут удалены перед выполнением обновлений.
  • consts: Константы, которые будут доступны в шаблонах EJS для динамического создания файлов. В данном примере, ngVersion будет доступен в шаблонах как переменная.

Пример запуска генератора

Пример 1: Базовый запуск

nx generate @prizm-ui/nx-mv:apply --name=my-project --config=./nxmv.config.js

Пример 2: Запуск с дополнительными переменными

nx generate @prizm-ui/nx-mv:apply --name=my-project --config=./nxmv.config.js --varAPIEndpoint=https://api.example.com --varFeatureFlag=true

Пример использования шаблонов EJS

Генератор поддерживает использование шаблонов EJS для динамического создания файлов. Пример использования:

Шаблонный файл exampleFile.ejs

export const API_ENDPOINT = "<%= APIEndpoint %>";
export const FEATURE_FLAG = <%= featureFlag %>;

Конфигурация для шаблона

module.exports = {
  versions: {
    'my-project': {
      project: 'apps/my-project',
      extFile: ['.ejs'],
      consts: {
        APIEndpoint: 'https://api.default.com',
        featureFlag: false,
      },
    },
  },
};

Запуск генератора с переменными

nx generate @prizm-ui/nx-mv:apply --name=my-project --config=./nxmv.config.js --varAPIEndpoint=https://api.example.com --varFeatureFlag=true

После выполнения этой команды, файл exampleFile.ejs будет преобразован в:

export const API_ENDPOINT = 'https://api.example.com';
export const FEATURE_FLAG = true;

Пример конфигурационного файла для Angular 18

Конфигурационный файл nxmv.config.js для проекта с Angular 18:

module.exports = {
  versions: {
    v18: {
      extFolder: ['.ng18'],
      extFile: ['.ng18'],
      all: true,
      rootChange: true,
      remove: ['angular.json'],
      consts: {
        ngVersion: '18.1.3',
      },
    },
  },
};

Пояснение свойств

  • extFolder: Список расширений папок, которые будут обновлены. Например, если указано .ng18, все папки с этим расширением будут обработаны.
  • extFile: Список расширений файлов, которые будут обновлены. Например, если указано .ng18, все файлы с этим расширением будут обработаны.
  • all: Если установлено в true, обновляет все проекты в рабочем пространстве. Если false, обновляет только указанные проекты.
  • rootChange: Если установлено в true, обновляет файлы в корневой директории проекта.
  • remove: Список файлов, которые будут удалены перед выполнением обновлений.
  • consts: Константы, которые будут доступны в шаблонах EJS для динамического создания файлов. В данном примере, ngVersion будет доступен в шаблонах как переменная.

Пример запуска генератора

nx generate @prizm-ui/nx-mv:apply --name=v18 --config=./nxmv.config.js

Игнорирование файлов

Генератор использует файл nxmv.ignore для указания файлов и директорий, которые следует игнорировать при обновлении. Формат файла аналогичен .gitignore.

Пример файла nxmv.ignore:

node_modules/
dist/

Заключение

Генератор @prizm-ui/nx-mv:apply предоставляет мощный и гибкий способ автоматизировать обновление файлов проектов в рабочем пространстве Nx. Используйте конфигурационные файлы и шаблоны EJS для создания и модификации файлов на лету. Убедитесь, что вы указали необходимые расширения файлов и папок в конфигурационном файле, чтобы генератор знал, какие файлы обновлять.

Если у вас возникнут вопросы или проблемы, пожалуйста, откройте issue в репозитории проекта на GitHub.

4.6.0

9 months ago

5.1.0

9 months ago

4.5.0

9 months ago

4.4.0

10 months ago

1.18.1

1 year ago

1.18.0

1 year ago

5.0.0-rc.1

11 months ago

3.13.2

1 year ago

3.13.1

1 year ago

4.3.0-next.1

1 year ago

1.19.0

12 months ago

5.0.0

11 months ago

1.19.1

11 months ago

3.14.1

1 year ago

3.14.0

1 year ago

2.16.1

11 months ago

2.16.0

12 months ago

2.15.0

1 year ago

2.15.1

1 year ago

2.14.1

1 year ago

2.14.2

1 year ago

4.3.1

1 year ago

4.3.4

1 year ago

4.3.3

1 year ago

4.3.0

1 year ago

4.3.6

12 months ago

4.3.5

1 year ago

4.3.8

11 months ago

4.3.7

12 months ago

3.15.0

12 months ago

3.15.1

11 months ago

1.17.2

1 year ago

1.17.1

1 year ago

3.13.0

1 year ago

2.14.0

1 year ago

1.17.0

1 year ago

4.2.0

1 year ago

4.1.2

1 year ago

3.12.0

1 year ago

1.16.0

1 year ago

2.13.0

1 year ago

4.1.0

1 year ago

4.0.1-next.1

1 year ago

4.0.0

1 year ago

3.11.1-beta.1

1 year ago

3.11.1-next.1

1 year ago

2.12.1-next.1

1 year ago

3.11.1

1 year ago

1.15.1-next.1

1 year ago

1.15.1

1 year ago

2.12.1

1 year ago

2.12.0-next.1

1 year ago

3.11.0-next.1

1 year ago

3.11.0

1 year ago

1.15.0-next.1

1 year ago

1.15.0

1 year ago

2.12.0

1 year ago

4.0.0-next.3

1 year ago

2.11.0

1 year ago

3.10.0

1 year ago

1.14.0

1 year ago

3.9.0-beta.3

1 year ago

4.0.0-next.1

1 year ago

4.0.0-next.2

1 year ago

4.0.0-beta.2

1 year ago

4.0.0-beta.1

1 year ago

3.9.0-beta.2

1 year ago

2.9.1-ng15beta.1

2 years ago

2.9.1-ng15beta.2

2 years ago

2.9.1-ng15beta.3

2 years ago

3.9.0-beta.1

2 years ago

3.9.0

2 years ago

3.8.1-beta.1

2 years ago

3.8.1-beta.2

2 years ago

3.8.1

2 years ago

1.12.0

2 years ago

3.8.0

2 years ago

2.9.0

2 years ago

2.9.0-ng15beta.3

2 years ago

3.8.0-beta.3

2 years ago

2.9.0-ng15beta.2

2 years ago

3.8.0-beta.2

2 years ago

2.9.0-ng15beta.1

2 years ago

3.8.0-beta.1

2 years ago

1.12.0-beta.1

2 years ago

2.9.0-beta.1

2 years ago

3.8.0-next.1

2 years ago

2.9.0-next.1

2 years ago

3.7.0

2 years ago

2.8.0

2 years ago

1.12.0-next.1

2 years ago

1.11.0-next.1

2 years ago

1.11.0

2 years ago

1.11.0-beta.1

2 years ago

2.8.0-beta.1

2 years ago

3.6.0-beta.1

2 years ago

1.10.0

2 years ago

2.7.0

2 years ago

3.6.0

2 years ago

1.10.0-beta.1

2 years ago

1.9.2

2 years ago

2.6.1-beta.1

2 years ago

1.9.0-beta.1

2 years ago

2.6.2

2 years ago

3.5.2

2 years ago

3.5.1-beta.1

2 years ago

3.5.1-next.2

2 years ago

3.5.1-next.1

2 years ago

3.5.1

2 years ago

2.6.1

2 years ago

1.9.1

2 years ago

3.5.0

2 years ago

2.6.0

2 years ago

1.9.0

2 years ago

3.4.0

2 years ago

2.5.0

2 years ago

1.8.0

2 years ago

1.7.0-ng14beta.4

2 years ago

3.0.3-beta.29

2 years ago

1.7.0-ng14beta.3

2 years ago

3.0.3-beta.28

2 years ago

3.0.3-beta.27

2 years ago

1.7.0-ng14beta.2

2 years ago

3.0.3-beta.26

2 years ago

3.3.0

2 years ago

2.4.0

2 years ago

1.7.0-ng14beta.1

2 years ago

1.7.0

2 years ago

3.0.3-beta.25

2 years ago

3.0.3-beta.24

2 years ago

3.0.3-beta.23

2 years ago

3.0.3-beta.22

2 years ago

3.0.3-beta.21

2 years ago

1.6.0-ng14beta.9

2 years ago

3.0.3-beta.20

2 years ago

1.6.0-ng14beta.8

2 years ago

3.0.3-beta.19

2 years ago

3.2.0

2 years ago

2.3.0

2 years ago

1.6.0-ng14beta.7

2 years ago

1.6.0

2 years ago

3.0.3-beta.18

2 years ago

3.0.3-beta.17

2 years ago

1.6.0-ng14beta.6

2 years ago

3.0.3-beta.16

2 years ago

1.6.0-ng14beta.5

2 years ago

3.0.3-beta.15

2 years ago

3.2.0-next.2

2 years ago

2.3.0-ng15next.2

2 years ago

1.6.0-ng14next.2

2 years ago

2.2.0-ng15beta.9

2 years ago

1.6.0-ng14beta.4

2 years ago

3.0.3-beta.14

2 years ago

3.2.0-next.1

2 years ago

2.3.0-ng15next.1

2 years ago

1.6.0-ng14next.1

2 years ago

2.2.0-ng15beta.8

2 years ago

1.6.0-ng14beta.3

2 years ago

3.0.3-beta.13

2 years ago

3.0.3-beta.12

2 years ago

2.2.0-ng15beta.7

2 years ago

1.6.0-ng14beta.2

2 years ago

3.0.3-beta.11

2 years ago

3.0.3-beta.10

2 years ago

2.2.0-ng15beta.6

2 years ago

1.6.0-ng14beta.1

2 years ago

3.0.3-beta.9

2 years ago

2.2.0-ng15beta.5

2 years ago

1.5.0-ng14beta.5

2 years ago

3.0.3-beta.8

2 years ago

3.1.0

2 years ago

2.2.0

2 years ago

1.5.0-ng14beta.4

2 years ago

1.5.0

2 years ago

2.2.0-ng15beta.4

2 years ago

3.0.3-beta.7

2 years ago

2.2.0-ng15beta.3

2 years ago

1.5.0-ng14beta.3

2 years ago

3.0.3-beta.6

2 years ago

1.5.0-ng14beta.2

2 years ago

2.2.0-ng15beta.2

2 years ago

3.0.3-beta.5

2 years ago

2.2.0-ng15beta.1

2 years ago

1.5.0-ng14beta.1

2 years ago

3.0.3-beta.4

2 years ago

2.1.8-ng15beta.9

2 years ago

1.4.6-ng14beta.8

2 years ago

3.0.3-beta.3

2 years ago

2.1.8-ng15beta.8

2 years ago

1.4.6-ng14beta.7

2 years ago

3.0.3-beta.2

2 years ago

3.0.3-beta.1

2 years ago

2.1.8-ng15beta.7

2 years ago

3.0.2-beta.15

2 years ago

1.4.6-ng14beta.6

2 years ago

2.1.8

2 years ago

1.4.6

2 years ago

2.1.8-ng15beta.6

2 years ago

3.0.3

2 years ago

3.0.2-beta.13

2 years ago

1.4.6-ng14beta.5

2 years ago

2.1.8-ng15beta.5

2 years ago

3.0.2-beta.12

2 years ago

2.1.8-ng15next.5

2 years ago

1.4.6-ng14next.6

2 years ago

3.0.3-next.6

2 years ago

1.4.6-ng14beta.4

2 years ago

2.1.8-ng15beta.4

2 years ago

3.0.2-beta.11

2 years ago

2.1.8-ng15next.4

2 years ago

1.4.6-ng14next.5

2 years ago

3.0.3-next.5

2 years ago

1.4.6-ng14next.4

2 years ago

2.1.8-ng15next.3

2 years ago

3.0.3-next.4

2 years ago

1.4.6-ng14beta.3

2 years ago

2.1.8-ng15beta.3

2 years ago

3.0.2-beta.10

2 years ago

1.4.6-ng14next.3

2 years ago

3.0.3-next.3

2 years ago

1.4.6-ng14next.2

2 years ago

2.1.8-ng15next.2

2 years ago

2.1.8-ng15beta.2

2 years ago

1.4.6-ng14beta.2

2 years ago

3.0.3-next.2

2 years ago

3.0.2-beta.9

2 years ago

1.4.6-ng14next.1

2 years ago

1.4.6-ng14beta.1

2 years ago

2.1.8-ng15next.1

2 years ago

2.1.7-ng15beta.6

2 years ago

3.0.3-next.1

2 years ago

2.1.8-ng15beta.1

2 years ago

3.0.2-beta.8

2 years ago

1.4.5-ng14beta.7

2 years ago

2.1.7-ng15beta.5

2 years ago

2.1.7

2 years ago

1.4.5-ng14beta.6

2 years ago

1.4.5

2 years ago

3.0.2-beta.7

2 years ago

3.0.2

2 years ago

1.4.5-ng14beta.5

2 years ago

2.1.7-ng15beta.4

2 years ago

3.0.2-beta.6

2 years ago

1.4.5-ng14beta.4

2 years ago

2.1.7-ng15beta.3

2 years ago

3.0.2-beta.5

2 years ago

1.4.5-ng14beta.3

2 years ago

3.0.2-beta.4

2 years ago

2.1.7-ng15next.1

2 years ago

1.4.5-ng14beta.2

2 years ago

1.4.5-ng14next.1

2 years ago

2.1.7-ng15beta.2

2 years ago

3.0.2-beta.3

2 years ago

1.4.5-ng14beta.1

2 years ago

2.1.7-ng15beta.1

2 years ago

3.0.2-beta.2

2 years ago

2.1.7-next

2 years ago

1.4.5-beta

2 years ago

2.1.7-beta

2 years ago

3.0.2-beta.1

2 years ago

3.0.2-next.2

2 years ago

3.0.2-next.1

2 years ago

3.0.1-draft.6

2 years ago

1.4.4

2 years ago

2.1.6

2 years ago

3.0.1

2 years ago

1.4.4-next.7

2 years ago

2.1.6-next.7

2 years ago

3.0.1-next.7

2 years ago

2.1.6-next.6

2 years ago

1.4.4-next.6

2 years ago

3.0.1-next.6

2 years ago

1.4.4-next.5

2 years ago

3.0.1-next.5

2 years ago

2.1.6-next.5

2 years ago

2.1.6-next.4

2 years ago

1.4.4-next.4

2 years ago

3.0.1-next.4

2 years ago

2.1.6-next.3

2 years ago

1.4.4-next.3

2 years ago

3.0.1-next.3

2 years ago

2.1.6-next.2

2 years ago

1.4.4-next.2

2 years ago

3.0.1-next.2

2 years ago

1.4.4-draft.5

2 years ago

2.1.6-draft.5

2 years ago

3.0.1-draft.5

2 years ago

1.4.4-draft.4

2 years ago

2.1.6-draft.4

2 years ago

3.0.1-draft.4

2 years ago

1.4.4-next.1

2 years ago

2.1.6-next.1

2 years ago

3.0.1-next.1

2 years ago

1.4.4-draft.3

2 years ago

3.0.1-draft.3

2 years ago

2.1.6-draft.3

2 years ago

2.1.6-draft.2

2 years ago

3.0.1-draft.2

2 years ago

1.4.4-draft.2

2 years ago

1.4.4-draft.1

2 years ago

2.1.6-draft.1

2 years ago

3.0.1-draft.1

2 years ago

1.4.3-draft.4

2 years ago

2.1.5-draft.4

2 years ago

3.0.0-draft.4

2 years ago

1.4.3

2 years ago

2.1.5

2 years ago

3.0.0

2 years ago

1.4.3-next.5

2 years ago

2.1.5-next.5

2 years ago

3.0.0-next.5

2 years ago

2.1.5-draft.3

2 years ago

3.0.0-draft.3

2 years ago

1.4.3-draft.3

2 years ago

3.0.0-next.4

2 years ago

1.4.3-next.4

2 years ago

2.1.5-next.4

2 years ago

3.0.0-next.3

2 years ago

1.4.3-next.3

2 years ago

2.1.5-next.3

2 years ago

3.0.0-next.2

2 years ago

1.4.3-next.2

2 years ago

2.1.5-next.2

2 years ago

3.0.0-next.1

2 years ago

1.4.3-next.1

2 years ago

2.1.5-next.1

2 years ago

2.1.5-draft.2

2 years ago

1.4.3-draft.2

2 years ago

3.0.0-draft.2

2 years ago

1.4.3-draft.1

2 years ago

3.0.0-draft.1

2 years ago

2.1.5-draft.1

2 years ago

3.0.0-rc.1

2 years ago

1.4.2-next.1

2 years ago

2.1.4-next.1

2 years ago

2.1.4

2 years ago

1.4.2

2 years ago